From a73e61078de06599b3bd58a4b1f705c7b6f72b24 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 23 Jun 2020 19:58:00 -0500 Subject: [PATCH 001/277] Add Close / Lock actions --- .github/lock.yml | 40 +++++++++++++++++++++++++++++++ .github/workflows/close-stale.yml | 22 +++++++++++++++++ .github/workflows/lock-closed.yml | 18 ++++++++++++++ .github/workflows/test-builds.yml | 1 - 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 .github/lock.yml create mode 100644 .github/workflows/close-stale.yml create mode 100644 .github/workflows/lock-closed.yml diff --git a/.github/lock.yml b/.github/lock.yml new file mode 100644 index 000000000000..c5ceff66b0a7 --- /dev/null +++ b/.github/lock.yml @@ -0,0 +1,40 @@ +# +# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app +# + +# Number of days of inactivity before a closed issue or pull request is locked +daysUntilLock: 60 + +# Skip issues and pull requests created before a given timestamp. Timestamp must +# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable +skipCreatedBefore: false + +# Issues and pull requests with these labels will be ignored. Set to `[]` to disable +exemptLabels: [ 'no-locking' ] + +# Label to add before locking, such as `outdated`. Set to `false` to disable +lockLabel: false + +# Comment to post before locking. Set to `false` to disable +lockComment: > + This thread has been automatically locked since there has not been + any recent activity after it was closed. Please open a new issue for + related bugs. + +# Assign `resolved` as the reason for locking. Set to `false` to disable +setLockReason: true + +# Limit to only `issues` or `pulls` +# only: issues + +# Optionally, specify configuration settings just for `issues` or `pulls` +# issues: +# exemptLabels: +# - help-wanted +# lockLabel: outdated + +# pulls: +# daysUntilLock: 30 + +# Repository to extend settings from +# _extends: repo diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml new file mode 100644 index 000000000000..65604afa9186 --- /dev/null +++ b/.github/workflows/close-stale.yml @@ -0,0 +1,22 @@ +# +# close-stale.yml +# Close open issues after a period of inactivity +# + +name: "Close stale issues" + +on: + schedule: + - cron: "0 1 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.' + days-before-stale: 30 + days-before-close: 5 + stale-issue-label: 'stale-closing-soon' diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml new file mode 100644 index 000000000000..e3303e8c6e2b --- /dev/null +++ b/.github/workflows/lock-closed.yml @@ -0,0 +1,18 @@ +# +# lock-closed.yml +# Lock closed issues after a period of inactivity +# + +name: "Lock closed issue" + +on: + issues: + types: [closed] + +jobs: + lock: + runs-on: ubuntu-latest + steps: + - uses: OSDKDev/lock-issues@v1.1 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index b92b01528781..ebdd60b2d18d 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -9,7 +9,6 @@ on: pull_request: branches: - bugfix-2.0.x - - dev-2.1.x paths-ignore: - config/** - data/** From 842dea4bd5c35a5b2774f2687c8a021bb81f6ac9 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 30 Jun 2020 18:18:58 -0500 Subject: [PATCH 002/277] Updated lock / unlock actions --- .github/lock.yml | 40 --------------------------- .github/workflows/close-stale.yml | 3 +- .github/workflows/lock-closed.yml | 20 ++++++++++---- .github/workflows/unlock-reopened.yml | 18 ++++++++++++ 4 files changed, 35 insertions(+), 46 deletions(-) delete mode 100644 .github/lock.yml create mode 100644 .github/workflows/unlock-reopened.yml diff --git a/.github/lock.yml b/.github/lock.yml deleted file mode 100644 index c5ceff66b0a7..000000000000 --- a/.github/lock.yml +++ /dev/null @@ -1,40 +0,0 @@ -# -# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app -# - -# Number of days of inactivity before a closed issue or pull request is locked -daysUntilLock: 60 - -# Skip issues and pull requests created before a given timestamp. Timestamp must -# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable -skipCreatedBefore: false - -# Issues and pull requests with these labels will be ignored. Set to `[]` to disable -exemptLabels: [ 'no-locking' ] - -# Label to add before locking, such as `outdated`. Set to `false` to disable -lockLabel: false - -# Comment to post before locking. Set to `false` to disable -lockComment: > - This thread has been automatically locked since there has not been - any recent activity after it was closed. Please open a new issue for - related bugs. - -# Assign `resolved` as the reason for locking. Set to `false` to disable -setLockReason: true - -# Limit to only `issues` or `pulls` -# only: issues - -# Optionally, specify configuration settings just for `issues` or `pulls` -# issues: -# exemptLabels: -# - help-wanted -# lockLabel: outdated - -# pulls: -# daysUntilLock: 30 - -# Repository to extend settings from -# _extends: repo diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml index 65604afa9186..fae13f3a93b3 100644 --- a/.github/workflows/close-stale.yml +++ b/.github/workflows/close-stale.yml @@ -7,7 +7,7 @@ name: "Close stale issues" on: schedule: - - cron: "0 1 * * *" + - cron: "22 1 * * *" jobs: stale: @@ -20,3 +20,4 @@ jobs: days-before-stale: 30 days-before-close: 5 stale-issue-label: 'stale-closing-soon' + exempt-issue-labels: 'T: Feature Request' diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e3303e8c6e2b..a57e63d2a81e 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -3,16 +3,26 @@ # Lock closed issues after a period of inactivity # -name: "Lock closed issue" +name: 'Lock threads' on: - issues: - types: [closed] + schedule: + - cron: '59 * * * *' jobs: lock: runs-on: ubuntu-latest steps: - - uses: OSDKDev/lock-issues@v1.1 + - uses: dessant/lock-threads@v2 with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + github-token: ${{ github.token }} + process-only: 'issues' + issue-lock-inactive-days: '60' + issue-exclude-created-before: '' + issue-exclude-labels: 'no-locking' + issue-lock-labels: '' + issue-lock-comment: > + This issue has been automatically locked since there + has not been any recent activity after it was closed. + Please open a new issue for related bugs. + issue-lock-reason: '' diff --git a/.github/workflows/unlock-reopened.yml b/.github/workflows/unlock-reopened.yml new file mode 100644 index 000000000000..45e4d713e8d9 --- /dev/null +++ b/.github/workflows/unlock-reopened.yml @@ -0,0 +1,18 @@ +# +# unlock-reopened.yml +# Unlock an issue whenever it is re-opened +# + +name: "Unlock reopened issue" + +on: + issues: + types: [reopened] + +jobs: + lock: + runs-on: ubuntu-latest + steps: + - uses: OSDKDev/unlock-issues@v1.1 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" From ed7110838e60379835d537e620006020fbae2513 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 2 Jul 2020 18:10:33 -0500 Subject: [PATCH 003/277] Patch Bad PR action --- .github/workflows/bad-target.md | 7 ------- .github/workflows/check-pr.yml | 21 +++++++++++++-------- 2 files changed, 13 insertions(+), 15 deletions(-) delete mode 100644 .github/workflows/bad-target.md diff --git a/.github/workflows/bad-target.md b/.github/workflows/bad-target.md deleted file mode 100644 index 048e56cfd189..000000000000 --- a/.github/workflows/bad-target.md +++ /dev/null @@ -1,7 +0,0 @@ -Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases. - -Please redo this PR starting with the `bugfix-2.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR. - -It may help to set your fork's default branch to `bugfix-2.0.x`. - -See [this page](http://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions. diff --git a/.github/workflows/check-pr.yml b/.github/workflows/check-pr.yml index a6246a3786f5..744bdd20cf79 100644 --- a/.github/workflows/check-pr.yml +++ b/.github/workflows/check-pr.yml @@ -1,6 +1,6 @@ # -# comment-pr.yml -# Add a comment to any PR directed to a release branch +# check-pr.yml +# Close PRs directed at release branches # name: PR Bad Target @@ -19,9 +19,14 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: harupy/comment-on-pr@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - filename: bad-target.md + - uses: peter-evans/close-pull@v1 + with: + delete-branch: false + comment: > + Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases. + + Please redo this PR starting with the `bugfix-2.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR. + + It may help to set your fork's default branch to `bugfix-2.0.x`. + + See [this page](http://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions. From 7bf89f2b9f9e55b518d6b18841a860321711aaf1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 4 Jul 2020 17:28:23 -0500 Subject: [PATCH 004/277] Two lock-closed per day --- .github/workflows/lock-closed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index a57e63d2a81e..e500e9e8d272 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -7,7 +7,7 @@ name: 'Lock threads' on: schedule: - - cron: '59 * * * *' + - cron: '* */12 * * *' jobs: lock: From 481b8ff2d91d8c1fb66ed3975a3a054c81b77425 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 5 Jul 2020 15:23:07 -0500 Subject: [PATCH 005/277] Limit actions to main --- .github/workflows/bump-date.yml | 3 ++- .github/workflows/check-pr.yml | 3 ++- .github/workflows/close-stale.yml | 6 +++++- .github/workflows/lock-closed.yml | 6 +++++- .github/workflows/test-builds.yml | 2 ++ .github/workflows/unlock-reopened.yml | 6 +++++- 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bump-date.yml b/.github/workflows/bump-date.yml index ecf4a4f0ecba..54902da8c908 100644 --- a/.github/workflows/bump-date.yml +++ b/.github/workflows/bump-date.yml @@ -11,6 +11,8 @@ on: jobs: bump_date: + name: Bump Distribution Date + if: github.repository == 'MarlinFirmware/Marlin' runs-on: ubuntu-latest @@ -24,7 +26,6 @@ jobs: - name: Bump Distribution Date run: | # Inline Bump Script - [[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0 DIST=$( date +"%Y-%m-%d" ) eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \ git config user.name "${GITHUB_ACTOR}" && \ diff --git a/.github/workflows/check-pr.yml b/.github/workflows/check-pr.yml index 744bdd20cf79..aa4a2c59c9a4 100644 --- a/.github/workflows/check-pr.yml +++ b/.github/workflows/check-pr.yml @@ -14,8 +14,9 @@ on: jobs: bad_target: - name: PR Bad Target + if: github.repository == 'MarlinFirmware/Marlin' + runs-on: ubuntu-latest steps: diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml index fae13f3a93b3..083e844e9040 100644 --- a/.github/workflows/close-stale.yml +++ b/.github/workflows/close-stale.yml @@ -3,7 +3,7 @@ # Close open issues after a period of inactivity # -name: "Close stale issues" +name: Close Stale Issues on: schedule: @@ -11,7 +11,11 @@ on: jobs: stale: + name: Close Stale Issues + if: github.repository == 'MarlinFirmware/Marlin' + runs-on: ubuntu-latest + steps: - uses: actions/stale@v3 with: diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e500e9e8d272..8420fdc0e4d7 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -3,7 +3,7 @@ # Lock closed issues after a period of inactivity # -name: 'Lock threads' +name: Lock Closed Issues on: schedule: @@ -11,7 +11,11 @@ on: jobs: lock: + name: Lock Closed Issues + if: github.repository == 'MarlinFirmware/Marlin' + runs-on: ubuntu-latest + steps: - uses: dessant/lock-threads@v2 with: diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index ebdd60b2d18d..60f9a48c5b59 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -17,6 +17,8 @@ on: jobs: test_builds: + name: Run All Tests + if: github.repository == 'MarlinFirmware/Marlin' runs-on: ubuntu-latest diff --git a/.github/workflows/unlock-reopened.yml b/.github/workflows/unlock-reopened.yml index 45e4d713e8d9..614ef3fab297 100644 --- a/.github/workflows/unlock-reopened.yml +++ b/.github/workflows/unlock-reopened.yml @@ -10,8 +10,12 @@ on: types: [reopened] jobs: - lock: + unlock: + name: Unlock Reopened + if: github.repository == 'MarlinFirmware/Marlin' + runs-on: ubuntu-latest + steps: - uses: OSDKDev/unlock-issues@v1.1 with: From 697ef2636e561f89d941b5c1e1f6a76c7868eabf Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 5 Jul 2020 15:45:14 -0500 Subject: [PATCH 006/277] Add CI for pushed commits Co-Authored-By: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> --- .github/workflows/test-builds.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index 60f9a48c5b59..54c0de98ee46 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -14,6 +14,14 @@ on: - data/** - docs/** - '**/*.md' + push: + branches: + - bugfix-2.0.x + paths-ignore: + - config/** + - data/** + - docs/** + - '**/*.md' jobs: test_builds: From ee4910c5d7e1ef66afb5a99eb9f1a6b6f6255a9a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 5 Jul 2020 19:56:33 -0500 Subject: [PATCH 007/277] Temporarily use patched lock-threads --- .github/workflows/lock-closed.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 8420fdc0e4d7..f5992d520baa 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -7,7 +7,7 @@ name: Lock Closed Issues on: schedule: - - cron: '* */12 * * *' + - cron: '0 1/13 * * *' jobs: lock: @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v2 + - uses: netniV/lock-threads@patch-1 with: github-token: ${{ github.token }} process-only: 'issues' From 354a9e5970c4a873a5b32d825da177d072df6b61 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 8 Jul 2020 04:38:35 -0500 Subject: [PATCH 008/277] Lock threads updated --- .github/workflows/lock-closed.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index f5992d520baa..8cdcd7a8369e 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: netniV/lock-threads@patch-1 + - uses: dessant/lock-threads@v2 with: github-token: ${{ github.token }} process-only: 'issues' From 5513e67512481024e0d571d84487f7c636996803 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 8 Jul 2020 19:36:09 -0500 Subject: [PATCH 009/277] 2.0.5.4 : Use ststm32 < 6.2 --- Marlin/Version.h | 4 +-- Marlin/src/inc/Version.h | 4 +-- platformio.ini | 62 ++++++++++++++++++++-------------------- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index b4e51841b38c..1f65f4d49c28 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.5.3" +//#define SHORT_BUILD_VERSION "2.0.5.4" /** * Verbose version identifier which should contain a reference to the location @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2020-01-31" +//#define STRING_DISTRIBUTION_DATE "2020-07-09" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index a5960c16b21c..33d867acac09 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.5.3" + #define SHORT_BUILD_VERSION "2.0.5.4" #endif /** @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-03-31" + #define STRING_DISTRIBUTION_DATE "2020-07-09" #endif /** diff --git a/platformio.ini b/platformio.ini index f578ff8646a8..9e41afa326d7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -249,7 +249,7 @@ lib_deps = Servo # STM32F103RC # [env:STM32F103RC] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -265,7 +265,7 @@ monitor_speed = 115200 # STM32F103RC_fysetc # [env:STM32F103RC_fysetc] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC #board_build.core = maple platform_packages = tool-stm32duino @@ -291,7 +291,7 @@ upload_protocol = serial # [env:STM32F103RC_btt] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -306,7 +306,7 @@ lib_ignore = Adafruit NeoPixel, SPI monitor_speed = 115200 [env:STM32F103RC_btt_USB] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -321,7 +321,7 @@ lib_ignore = Adafruit NeoPixel, SPI monitor_speed = 115200 [env:STM32F103RC_btt_512K] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC board_upload.maximum_size=524288 platform_packages = tool-stm32duino @@ -337,7 +337,7 @@ lib_ignore = Adafruit NeoPixel, SPI monitor_speed = 115200 [env:STM32F103RC_btt_512K_USB] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC board_upload.maximum_size=524288 platform_packages = tool-stm32duino @@ -356,7 +356,7 @@ monitor_speed = 115200 # STM32F103RE # [env:STM32F103RE] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RE platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -373,7 +373,7 @@ monitor_speed = 115200 # STM32F103RE_btt_USB ......... RET6 (USB mass storage) # [env:STM32F103RE_btt] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RE platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -389,7 +389,7 @@ upload_protocol = stlink monitor_speed = 115200 [env:STM32F103RE_btt_USB] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RE platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -408,7 +408,7 @@ monitor_speed = 115200 # STM32F4 with STM32GENERIC # [env:STM32F4] -platform = ststm32 +platform = ststm32@<6.2.0 board = disco_f407vg build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F4 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED lib_ignore = Adafruit NeoPixel, TMCStepper @@ -418,7 +418,7 @@ src_filter = ${common.default_src_filter} + - - # Geeetech GTM32 (STM32F103VET6) # [env:STM32F103VE_GTM32] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103VE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -DDEBUG_LEVEL=DEBUG_NONE -std=gnu++14 -MMD -ffunction-sections -fdata-sections -nostdlib @@ -456,7 +456,7 @@ upload_protocol = serial # Longer 3D board in Alfawise U20 (STM32F103VET6) # [env:STM32F103VE_longer] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103VE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -USERIAL_USB @@ -470,7 +470,7 @@ lib_ignore = Adafruit NeoPixel, LiquidTWI2, SPI # MKS Robin Mini (STM32F103VET6) # [env:mks_robin_mini] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103VE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 @@ -483,7 +483,7 @@ lib_ignore = Adafruit NeoPixel, SPI # MKS Robin Nano (STM32F103VET6) # [env:mks_robin_nano] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103VE platform_packages = tool-stm32duino build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -499,7 +499,7 @@ lib_ignore = Adafruit NeoPixel, SPI # MKS Robin (STM32F103ZET6) # [env:mks_robin] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103ZE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL -DSS_TIMER=4 -DSTM32_XL_DENSITY @@ -514,7 +514,7 @@ lib_ignore = Adafruit NeoPixel, SPI # MKS Robin Pro (STM32F103ZET6) # [env:mks_robin_pro] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_pro.py build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -528,7 +528,7 @@ lib_ignore = Adafruit NeoPixel, SPI, TMCStepper # MKS Robin Lite/Lite2 (STM32F103RCT6) # [env:mks_robin_lite] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 @@ -541,7 +541,7 @@ lib_ignore = Adafruit NeoPixel, SPI # MKS ROBIN LITE3 (STM32F103RCT6) # [env:mks_robin_lite3] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103RC extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_lite3.py build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py @@ -555,7 +555,7 @@ lib_ignore = Adafruit NeoPixel, SPI # JGAurora A5S A1 (STM32F103ZET6) # [env:jgaurora_a5s_a1] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103ZE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -DSTM32F1xx -std=gnu++14 -DSTM32_XL_DENSITY @@ -568,7 +568,7 @@ lib_ignore = Adafruit NeoPixel, SPI # Malyan M200 (STM32F103CB) # [env:STM32F103CB_malyan] -platform = ststm32 +platform = ststm32@<6.2.0 board = malyanM200 build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ @@ -579,7 +579,7 @@ lib_ignore = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-H # Chitu boards like Tronxy X5s (STM32F103ZET6) # [env:chitu_f103] -platform = ststm32 +platform = ststm32@<6.2.0 board = genericSTM32F103ZE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -DSTM32F1xx -std=gnu++14 -DSTM32_XL_DENSITY @@ -593,7 +593,7 @@ lib_ignore = Adafruit NeoPixel # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html # [env:STM32F401VE_STEVAL] -platform = ststm32 +platform = ststm32@<6.2.0 board = STEVAL_STM32F401VE platform_packages = framework-arduinoststm32@>=3.107,<4 build_flags = ${common.build_flags} @@ -611,7 +611,7 @@ src_filter = ${common.default_src_filter} + # FLYF407ZG # [env:FLYF407ZG] -platform = ststm32 +platform = ststm32@<6.2.0 board = FLYF407ZG platform_packages = framework-arduinoststm32@>=3.107,<4 build_flags = ${common.build_flags} @@ -628,7 +628,7 @@ src_filter = ${common.default_src_filter} + # FYSETC S6 (STM32F446VET6 ARM Cortex-M4) # [env:FYSETC_S6] -platform = ststm32 +platform = ststm32@<6.2.0 board = fysetc_s6 platform_packages = tool-stm32duino @@ -651,7 +651,7 @@ upload_protocol = serial # Shield - https://github.com/jmz52/Hardware # [env:STM32F407VE_black] -platform = ststm32 +platform = ststm32@<6.2.0 board = blackSTM32F407VET6 platform_packages = framework-arduinoststm32@>=3.107,<4 build_flags = ${common.build_flags} @@ -667,7 +667,7 @@ src_filter = ${common.default_src_filter} + # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) # [env:BIGTREE_SKR_PRO] -platform = ststm32 +platform = ststm32@<6.2.0 board = BigTree_SKR_Pro platform_packages = framework-arduinoststm32@>=3.107,<4 build_flags = ${common.build_flags} @@ -687,7 +687,7 @@ debug_init_break = # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) # [env:BIGTREE_GTR_V1_0] -platform = ststm32@>=5.7.0 +platform = ststm32@>=5.7.0,<6.2.0 framework = arduino platform_packages = framework-arduinoststm32@>=3.107,<4 board = BigTree_SKR_Pro @@ -799,7 +799,7 @@ debug_tool = jlink # RUMBA32 # [env:rumba32_f446ve] -platform = ststm32 +platform = ststm32@<6.2.0 board = rumba32_f446ve build_flags = ${common.build_flags} -DSTM32F4xx @@ -825,7 +825,7 @@ upload_protocol = dfu # MKS RUMBA32 (adds TMC2208/2209 UART interface and AUX-1) # [env:rumba32_mks] -platform = ststm32 +platform = ststm32@<6.2.0 board = rumba32_f446ve build_flags = ${common.build_flags} -DSTM32F4xx -DARDUINO_RUMBA32_F446VE -DARDUINO_ARCH_STM32 "-DBOARD_NAME=\"RUMBA32_F446VE\"" From 5e0958edbf8abab0588ed9db866952f67c2dd4fc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 11 Jul 2020 07:14:54 -0500 Subject: [PATCH 010/277] Fix pid_debug_flag --- Marlin/src/module/temperature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 4018c7586c74..dfb905bc062c 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -831,7 +831,7 @@ void Temperature::min_temp_error(const heater_ind_t heater) { #if HOTENDS #if ENABLED(PID_DEBUG) - extern bool PID_Debug_Flag; + extern bool pid_debug_flag; #endif float Temperature::get_pid_output_hotend(const uint8_t E_NAME) { @@ -914,7 +914,7 @@ void Temperature::min_temp_error(const heater_ind_t heater) { #endif // PID_OPENLOOP #if ENABLED(PID_DEBUG) - if (ee == active_extruder && PID_Debug_Flag) { + if (ee == active_extruder && pid_debug_flag) { SERIAL_ECHO_START(); SERIAL_ECHOPAIR(STR_PID_DEBUG, ee, STR_PID_DEBUG_INPUT, temp_hotend[ee].celsius, STR_PID_DEBUG_OUTPUT, pid_output); #if DISABLED(PID_OPENLOOP) From c1b237920430c0944df9db6c9050977211745820 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 11 Jul 2020 07:38:19 -0500 Subject: [PATCH 011/277] Specify supported library versions --- platformio.ini | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9e41afa326d7..eb24dff43188 100644 --- a/platformio.ini +++ b/platformio.ini @@ -25,16 +25,16 @@ default_src_filter = + - - + extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants lib_deps = - LiquidCrystal - TMCStepper@>=0.6.2,<1.0.0 - Adafruit NeoPixel - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip - Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/master.zip - LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip - Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/0.8.0.zip + LiquidCrystal@1.5.0 + TMCStepper@~0.7.1 + Adafruit NeoPixel@1.5.0 + U8glib-HAL@0.4.1 + Adafruit MAX31865 library@~1.1.0 + LiquidTWI2@1.2.7 + Arduino-L6470@0.8.0 + SlowSoftI2CMaster SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip SailfishRGB_LED=https://github.com/mikeshub/SailfishRGB_LED/archive/master.zip - SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip # Globally defined properties # inherited by all environments @@ -221,10 +221,10 @@ lib_compat_mode = strict extra_scripts = Marlin/src/HAL/LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + lib_deps = Servo - LiquidCrystal - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip - TMCStepper@>=0.6.1,<1.0.0 - Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/release.zip + LiquidCrystal@1.5.0 + U8glib-HAL@0.4.1 + TMCStepper@~0.7.1 + Adafruit NeoPixel@1.5.0 SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip [env:LPC1769] @@ -239,10 +239,10 @@ lib_compat_mode = strict extra_scripts = Marlin/src/HAL/LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + lib_deps = Servo - LiquidCrystal - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip - TMCStepper@>=0.6.1,<1.0.0 - Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/release.zip + LiquidCrystal@1.5.0 + U8glib-HAL@0.4.1 + TMCStepper@~0.7.1 + Adafruit NeoPixel@1.5.0 SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip # @@ -697,12 +697,12 @@ build_flags = ${common.build_flags} -DTARGET_STM32F4 -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000 -IMarlin/src/HAL/STM32 lib_deps = - U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip - LiquidCrystal - TMCStepper@>=0.5.2,<1.0.0 - Adafruit NeoPixel - LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip - Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/0.7.0.zip + U8glib-HAL@0.4.1 + LiquidCrystal@1.5.0 + TMCStepper@~0.7.1 + Adafruit NeoPixel@1.5.0 + LiquidTWI2@1.2.7 + Arduino-L6470@0.8.0 lib_ignore = SoftwareSerial, SoftwareSerialM src_filter = ${common.default_src_filter} + monitor_speed = 250000 From 7ed66d06a086d326c77fa4ae968167dda5ec5e17 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 12 Jul 2020 22:35:13 -0500 Subject: [PATCH 012/277] LiquidCrystal@1.0.0 for LPC --- platformio.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index eb24dff43188..1c00060e9dec 100644 --- a/platformio.ini +++ b/platformio.ini @@ -221,7 +221,7 @@ lib_compat_mode = strict extra_scripts = Marlin/src/HAL/LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + lib_deps = Servo - LiquidCrystal@1.5.0 + LiquidCrystal@1.0.0 U8glib-HAL@0.4.1 TMCStepper@~0.7.1 Adafruit NeoPixel@1.5.0 @@ -239,7 +239,7 @@ lib_compat_mode = strict extra_scripts = Marlin/src/HAL/LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + lib_deps = Servo - LiquidCrystal@1.5.0 + LiquidCrystal@1.0.0 U8glib-HAL@0.4.1 TMCStepper@~0.7.1 Adafruit NeoPixel@1.5.0 From b73ac40fa3abde7a10eb9d2708cd8d01b83d9de3 Mon Sep 17 00:00:00 2001 From: Chris Pepper Date: Tue, 14 Jul 2020 15:15:19 +0100 Subject: [PATCH 013/277] LPC fix NeoPixel fork --- platformio.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 1c00060e9dec..702f52db0024 100644 --- a/platformio.ini +++ b/platformio.ini @@ -224,7 +224,7 @@ lib_deps = Servo LiquidCrystal@1.0.0 U8glib-HAL@0.4.1 TMCStepper@~0.7.1 - Adafruit NeoPixel@1.5.0 + Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip [env:LPC1769] @@ -242,7 +242,7 @@ lib_deps = Servo LiquidCrystal@1.0.0 U8glib-HAL@0.4.1 TMCStepper@~0.7.1 - Adafruit NeoPixel@1.5.0 + Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip # From 8b637e436c775c7566820eb1defd00bb209d06b4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 23 Jul 2020 20:59:43 -0500 Subject: [PATCH 014/277] Update links, README, contributing, etc. --- .github/FUNDING.yml | 2 +- .github/contributing.md | 13 ++++++------- Marlin/Configuration.h | 2 +- Marlin/Marlin.ino | 2 +- Marlin/src/HAL/AVR/fastio.h | 2 +- Marlin/src/HAL/DUE/Tone.cpp | 2 +- Marlin/src/HAL/DUE/fastio.h | 2 +- Marlin/src/HAL/DUE/usb/arduino_due_x.h | 2 +- Marlin/src/HAL/DUE/usb/compiler.h | 2 +- Marlin/src/HAL/DUE/usb/conf_access.h | 2 +- Marlin/src/HAL/DUE/usb/conf_clock.h | 2 +- Marlin/src/HAL/DUE/usb/conf_usb.h | 2 +- Marlin/src/HAL/DUE/usb/ctrl_access.c | 2 +- Marlin/src/HAL/DUE/usb/ctrl_access.h | 2 +- Marlin/src/HAL/DUE/usb/genclk.h | 2 +- Marlin/src/HAL/DUE/usb/mrepeat.h | 2 +- Marlin/src/HAL/DUE/usb/osc.h | 2 +- Marlin/src/HAL/DUE/usb/pll.h | 2 +- Marlin/src/HAL/DUE/usb/preprocessor.h | 2 +- Marlin/src/HAL/DUE/usb/sbc_protocol.h | 2 +- Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h | 2 +- Marlin/src/HAL/DUE/usb/spc_protocol.h | 2 +- Marlin/src/HAL/DUE/usb/stringz.h | 2 +- Marlin/src/HAL/DUE/usb/sysclk.c | 2 +- Marlin/src/HAL/DUE/usb/sysclk.h | 2 +- Marlin/src/HAL/DUE/usb/tpaste.h | 2 +- Marlin/src/HAL/DUE/usb/udc.c | 2 +- Marlin/src/HAL/DUE/usb/udc.h | 2 +- Marlin/src/HAL/DUE/usb/udc_desc.h | 2 +- Marlin/src/HAL/DUE/usb/udd.h | 2 +- Marlin/src/HAL/DUE/usb/udi.h | 2 +- Marlin/src/HAL/DUE/usb/udi_cdc.c | 2 +- Marlin/src/HAL/DUE/usb/udi_cdc.h | 4 ++-- Marlin/src/HAL/DUE/usb/udi_cdc_conf.h | 2 +- Marlin/src/HAL/DUE/usb/udi_cdc_desc.c | 2 +- Marlin/src/HAL/DUE/usb/udi_composite_desc.c | 2 +- Marlin/src/HAL/DUE/usb/udi_msc.c | 2 +- Marlin/src/HAL/DUE/usb/udi_msc.h | 4 ++-- Marlin/src/HAL/DUE/usb/uotghs_device_due.c | 2 +- Marlin/src/HAL/DUE/usb/uotghs_device_due.h | 2 +- Marlin/src/HAL/DUE/usb/uotghs_otg.h | 2 +- Marlin/src/HAL/DUE/usb/usb_protocol.h | 2 +- Marlin/src/HAL/DUE/usb/usb_protocol_cdc.h | 2 +- Marlin/src/HAL/DUE/usb/usb_protocol_msc.h | 2 +- Marlin/src/HAL/DUE/usb/usb_task.c | 2 +- Marlin/src/HAL/DUE/usb/usb_task.h | 2 +- Marlin/src/HAL/LINUX/fastio.h | 2 +- Marlin/src/HAL/LPC1768/fastio.h | 2 +- Marlin/src/HAL/STM32F1/SPI.cpp | 2 +- Marlin/src/HAL/TEENSY31_32/fastio.h | 2 +- Marlin/src/HAL/TEENSY35_36/fastio.h | 2 +- Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp | 2 +- Marlin/src/feature/dac/dac_mcp4728.cpp | 2 +- Marlin/src/gcode/motion/G5.cpp | 2 +- .../ftdi_eve_touch_ui/ftdi_eve_lib/basic/boards.h | 6 +++--- Marlin/src/module/scara.cpp | 2 +- Marlin/src/module/thermistor/thermistor_2.h | 2 +- Marlin/src/module/thermistor/thermistor_5.h | 2 +- Marlin/src/module/thermistor/thermistor_52.h | 2 +- Marlin/src/module/thermistor/thermistor_55.h | 2 +- Marlin/src/pins/sam/pins_ALLIGATOR_R2.h | 2 +- Marlin/src/pins/sanguino/pins_OMCA.h | 4 ++-- Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h | 2 +- Marlin/src/sd/SdFatStructs.h | 2 +- Marlin/src/sd/SdInfo.h | 2 +- README.md | 2 +- buildroot/etc/udev/rules.d/99-platformio-udev.rules | 4 ++-- .../share/PlatformIO/boards/BigTree_Btt002.json | 2 +- .../share/PlatformIO/boards/BigTree_SKR_Pro.json | 2 +- buildroot/share/PlatformIO/boards/FLYF407ZG.json | 2 +- .../share/PlatformIO/boards/blackSTM32F407VET6.json | 2 +- buildroot/share/PlatformIO/boards/malyanM200.json | 2 +- buildroot/share/fonts/README.md | 4 ++-- buildroot/share/fonts/uxggenpages.md | 6 +++--- .../share/scripts/createTemperatureLookupMarlin.py | 4 ++-- platformio.ini | 2 +- 76 files changed, 91 insertions(+), 92 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 70734d4972cc..a9732429326e 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,3 @@ github: [thinkyhead] patreon: thinkyhead -custom: ["http://www.thinkyhead.com/donate-to-marlin"] +custom: ["https://www.thinkyhead.com/donate-to-marlin"] diff --git a/.github/contributing.md b/.github/contributing.md index 808c87bb04ae..ad67718eef23 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -34,16 +34,15 @@ This project and everyone participating in it is governed by the [Marlin Code of We have a Message Board and a Facebook group where our knowledgable user community can provide helpful advice if you have questions. -* [Marlin RepRap forum](http://forums.reprap.org/list.php?415) +* [Marlin RepRap forum](https://reprap.org/forum/list.php?415) * [MarlinFirmware on Facebook](https://www.facebook.com/groups/1049718498464482/) -If chat is more your speed, you can join the MarlinFirmware Slack team: +If chat is more your speed, you can join the MarlinFirmware Discord server: -* Join the Marlin Slack Team - * To obtain group access, please [send a request](http://www.thinkyhead.com/contact/9) to @thinkyhead. - * Even though Slack is a chat service, sometimes it takes several hours for community members to respond — please be patient! - * Use the `#general` channel for general questions or discussion about Marlin. - * Other channels exist for certain topics. Check the channel list. +* Use the link https://discord.gg/n5NJ59y to join up as a General User. +* Even though our Discord is pretty active, it may take a while for community members to respond — please be patient! +* Use the `#general` channel for general questions or discussion about Marlin. +* Other channels exist for certain topics or are limited to Patrons. Check the channel list. ## How Can I Contribute? diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f02e69ee5a6f..2efe284ac315 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -463,7 +463,7 @@ //=========================================================================== //============================= PID Settings ================================ //=========================================================================== -// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning +// PID Tuning Guide here: https://reprap.org/wiki/PID_Tuning // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP diff --git a/Marlin/Marlin.ino b/Marlin/Marlin.ino index ae5bca1dfed1..9bfb2881be8b 100644 --- a/Marlin/Marlin.ino +++ b/Marlin/Marlin.ino @@ -35,7 +35,7 @@ Configuration Getting Help - - http://forums.reprap.org/list.php?415 + - https://reprap.org/forum/list.php?415 The Marlin Discussion Forum is a great place to get help from other Marlin users who may have experienced similar issues to your own. diff --git a/Marlin/src/HAL/AVR/fastio.h b/Marlin/src/HAL/AVR/fastio.h index a45e0f2bebb7..787275271ac1 100644 --- a/Marlin/src/HAL/AVR/fastio.h +++ b/Marlin/src/HAL/AVR/fastio.h @@ -57,7 +57,7 @@ * * Now you can simply SET_OUTPUT(PIN); WRITE(PIN, HIGH); WRITE(PIN, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/cpp/Stringification.html */ #define _READ(IO) TEST(DIO ## IO ## _RPORT, DIO ## IO ## _PIN) diff --git a/Marlin/src/HAL/DUE/Tone.cpp b/Marlin/src/HAL/DUE/Tone.cpp index 9b580b8b4c0b..44bb52b42113 100644 --- a/Marlin/src/HAL/DUE/Tone.cpp +++ b/Marlin/src/HAL/DUE/Tone.cpp @@ -24,7 +24,7 @@ /** * Description: Tone function for Arduino Due and compatible (SAM3X8E) - * Derived from http://forum.arduino.cc/index.php?topic=136500.msg2903012#msg2903012 + * Derived from https://forum.arduino.cc/index.php?topic=136500.msg2903012#msg2903012 */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/fastio.h b/Marlin/src/HAL/DUE/fastio.h index 01abd8204946..ba801b5b79c7 100644 --- a/Marlin/src/HAL/DUE/fastio.h +++ b/Marlin/src/HAL/DUE/fastio.h @@ -58,7 +58,7 @@ * * Now you can simply SET_OUTPUT(STEP); WRITE(STEP, HIGH); WRITE(STEP, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/cpp/Stringification.html */ // Read a pin diff --git a/Marlin/src/HAL/DUE/usb/arduino_due_x.h b/Marlin/src/HAL/DUE/usb/arduino_due_x.h index 7355f74f6d9b..b5be621791d2 100644 --- a/Marlin/src/HAL/DUE/usb/arduino_due_x.h +++ b/Marlin/src/HAL/DUE/usb/arduino_due_x.h @@ -43,7 +43,7 @@ #pragma once /** - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ /** diff --git a/Marlin/src/HAL/DUE/usb/compiler.h b/Marlin/src/HAL/DUE/usb/compiler.h index 33df080e2f89..7b746543c4c6 100644 --- a/Marlin/src/HAL/DUE/usb/compiler.h +++ b/Marlin/src/HAL/DUE/usb/compiler.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef UTILS_COMPILER_H diff --git a/Marlin/src/HAL/DUE/usb/conf_access.h b/Marlin/src/HAL/DUE/usb/conf_access.h index fdac1ab7e848..f401685223cb 100644 --- a/Marlin/src/HAL/DUE/usb/conf_access.h +++ b/Marlin/src/HAL/DUE/usb/conf_access.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _CONF_ACCESS_H_ diff --git a/Marlin/src/HAL/DUE/usb/conf_clock.h b/Marlin/src/HAL/DUE/usb/conf_clock.h index d0f68500ad71..97e70e99a5b9 100644 --- a/Marlin/src/HAL/DUE/usb/conf_clock.h +++ b/Marlin/src/HAL/DUE/usb/conf_clock.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef CONF_CLOCK_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/conf_usb.h b/Marlin/src/HAL/DUE/usb/conf_usb.h index 8d5924d375e8..697314212ca4 100644 --- a/Marlin/src/HAL/DUE/usb/conf_usb.h +++ b/Marlin/src/HAL/DUE/usb/conf_usb.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _CONF_USB_H_ diff --git a/Marlin/src/HAL/DUE/usb/ctrl_access.c b/Marlin/src/HAL/DUE/usb/ctrl_access.c index 0ec14e0b8f8d..99f97f62cb80 100644 --- a/Marlin/src/HAL/DUE/usb/ctrl_access.c +++ b/Marlin/src/HAL/DUE/usb/ctrl_access.c @@ -53,7 +53,7 @@ * ******************************************************************************/ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/ctrl_access.h b/Marlin/src/HAL/DUE/usb/ctrl_access.h index af6c8ceb963e..b33839076eae 100644 --- a/Marlin/src/HAL/DUE/usb/ctrl_access.h +++ b/Marlin/src/HAL/DUE/usb/ctrl_access.h @@ -53,7 +53,7 @@ * ******************************************************************************/ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ diff --git a/Marlin/src/HAL/DUE/usb/genclk.h b/Marlin/src/HAL/DUE/usb/genclk.h index 895aba035229..cde03bc0d107 100644 --- a/Marlin/src/HAL/DUE/usb/genclk.h +++ b/Marlin/src/HAL/DUE/usb/genclk.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef CHIP_GENCLK_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/mrepeat.h b/Marlin/src/HAL/DUE/usb/mrepeat.h index 5a2017be99e9..8363d9cde380 100644 --- a/Marlin/src/HAL/DUE/usb/mrepeat.h +++ b/Marlin/src/HAL/DUE/usb/mrepeat.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _MREPEAT_H_ diff --git a/Marlin/src/HAL/DUE/usb/osc.h b/Marlin/src/HAL/DUE/usb/osc.h index 3a9543507bb8..953bcbbed1d3 100644 --- a/Marlin/src/HAL/DUE/usb/osc.h +++ b/Marlin/src/HAL/DUE/usb/osc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef CHIP_OSC_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/pll.h b/Marlin/src/HAL/DUE/usb/pll.h index d3d2174870e5..8eaf27672b25 100644 --- a/Marlin/src/HAL/DUE/usb/pll.h +++ b/Marlin/src/HAL/DUE/usb/pll.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef CHIP_PLL_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/preprocessor.h b/Marlin/src/HAL/DUE/usb/preprocessor.h index 184c03ae7103..c12d01cb642f 100644 --- a/Marlin/src/HAL/DUE/usb/preprocessor.h +++ b/Marlin/src/HAL/DUE/usb/preprocessor.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _PREPROCESSOR_H_ diff --git a/Marlin/src/HAL/DUE/usb/sbc_protocol.h b/Marlin/src/HAL/DUE/usb/sbc_protocol.h index 082b735fa619..ab845739fd48 100644 --- a/Marlin/src/HAL/DUE/usb/sbc_protocol.h +++ b/Marlin/src/HAL/DUE/usb/sbc_protocol.h @@ -52,7 +52,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _SBC_PROTOCOL_H_ #define _SBC_PROTOCOL_H_ diff --git a/Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h b/Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h index 6df82c146b75..d77e4f95232b 100644 --- a/Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h +++ b/Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h @@ -42,7 +42,7 @@ * ******************************************************************************/ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ diff --git a/Marlin/src/HAL/DUE/usb/spc_protocol.h b/Marlin/src/HAL/DUE/usb/spc_protocol.h index 6fadb9f36caa..d67cc5c78803 100644 --- a/Marlin/src/HAL/DUE/usb/spc_protocol.h +++ b/Marlin/src/HAL/DUE/usb/spc_protocol.h @@ -45,7 +45,7 @@ */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _SPC_PROTOCOL_H_ #define _SPC_PROTOCOL_H_ diff --git a/Marlin/src/HAL/DUE/usb/stringz.h b/Marlin/src/HAL/DUE/usb/stringz.h index b914b7348933..fc9aaf38a4cf 100644 --- a/Marlin/src/HAL/DUE/usb/stringz.h +++ b/Marlin/src/HAL/DUE/usb/stringz.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _STRINGZ_H_ diff --git a/Marlin/src/HAL/DUE/usb/sysclk.c b/Marlin/src/HAL/DUE/usb/sysclk.c index 899244dd88d0..cbb4e2c9ef22 100644 --- a/Marlin/src/HAL/DUE/usb/sysclk.c +++ b/Marlin/src/HAL/DUE/usb/sysclk.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/sysclk.h b/Marlin/src/HAL/DUE/usb/sysclk.h index 48c99de2983e..16db8c86d373 100644 --- a/Marlin/src/HAL/DUE/usb/sysclk.h +++ b/Marlin/src/HAL/DUE/usb/sysclk.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef CHIP_SYSCLK_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/tpaste.h b/Marlin/src/HAL/DUE/usb/tpaste.h index f8ec44a41def..2ad3f2758e8a 100644 --- a/Marlin/src/HAL/DUE/usb/tpaste.h +++ b/Marlin/src/HAL/DUE/usb/tpaste.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _TPASTE_H_ diff --git a/Marlin/src/HAL/DUE/usb/udc.c b/Marlin/src/HAL/DUE/usb/udc.c index 048a902d3b5e..60bf0cfff35c 100644 --- a/Marlin/src/HAL/DUE/usb/udc.c +++ b/Marlin/src/HAL/DUE/usb/udc.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/udc.h b/Marlin/src/HAL/DUE/usb/udc.h index 885bdf04d651..8d92eb5c038a 100644 --- a/Marlin/src/HAL/DUE/usb/udc.h +++ b/Marlin/src/HAL/DUE/usb/udc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDC_H_ diff --git a/Marlin/src/HAL/DUE/usb/udc_desc.h b/Marlin/src/HAL/DUE/usb/udc_desc.h index 88ed08a96118..052ca08eca78 100644 --- a/Marlin/src/HAL/DUE/usb/udc_desc.h +++ b/Marlin/src/HAL/DUE/usb/udc_desc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDC_DESC_H_ diff --git a/Marlin/src/HAL/DUE/usb/udd.h b/Marlin/src/HAL/DUE/usb/udd.h index c87763de23fa..7ec8c03dee63 100644 --- a/Marlin/src/HAL/DUE/usb/udd.h +++ b/Marlin/src/HAL/DUE/usb/udd.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDD_H_ diff --git a/Marlin/src/HAL/DUE/usb/udi.h b/Marlin/src/HAL/DUE/usb/udi.h index 709908cad947..febf03b7181e 100644 --- a/Marlin/src/HAL/DUE/usb/udi.h +++ b/Marlin/src/HAL/DUE/usb/udi.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDI_H_ diff --git a/Marlin/src/HAL/DUE/usb/udi_cdc.c b/Marlin/src/HAL/DUE/usb/udi_cdc.c index 60c9546ce236..cbe23dbb68fb 100644 --- a/Marlin/src/HAL/DUE/usb/udi_cdc.c +++ b/Marlin/src/HAL/DUE/usb/udi_cdc.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/udi_cdc.h b/Marlin/src/HAL/DUE/usb/udi_cdc.h index 526419c86002..0ecf7bb00e5e 100644 --- a/Marlin/src/HAL/DUE/usb/udi_cdc.h +++ b/Marlin/src/HAL/DUE/usb/udi_cdc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDI_CDC_H_ @@ -701,7 +701,7 @@ iram_size_t udi_cdc_multi_write_buf(uint8_t port, const void* buf, iram_size_t s * another "Composite Device" module, like "USB HID Mouse (Composite Device)". * * Also, you can refer to application note - * + * * AVR4902 ASF - USB Composite Device. * * \section udi_cdc_use_case_composite_setup Setup steps diff --git a/Marlin/src/HAL/DUE/usb/udi_cdc_conf.h b/Marlin/src/HAL/DUE/usb/udi_cdc_conf.h index cbd3eb00ae71..d406a87743f3 100644 --- a/Marlin/src/HAL/DUE/usb/udi_cdc_conf.h +++ b/Marlin/src/HAL/DUE/usb/udi_cdc_conf.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDI_CDC_CONF_H_ diff --git a/Marlin/src/HAL/DUE/usb/udi_cdc_desc.c b/Marlin/src/HAL/DUE/usb/udi_cdc_desc.c index 8f730ba823d1..97c334e2a854 100644 --- a/Marlin/src/HAL/DUE/usb/udi_cdc_desc.c +++ b/Marlin/src/HAL/DUE/usb/udi_cdc_desc.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/udi_composite_desc.c b/Marlin/src/HAL/DUE/usb/udi_composite_desc.c index 07bdd1b9d692..da74fbe60dfe 100644 --- a/Marlin/src/HAL/DUE/usb/udi_composite_desc.c +++ b/Marlin/src/HAL/DUE/usb/udi_composite_desc.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/udi_msc.c b/Marlin/src/HAL/DUE/usb/udi_msc.c index 627bca0d4f5a..b7c3bb5ea016 100644 --- a/Marlin/src/HAL/DUE/usb/udi_msc.c +++ b/Marlin/src/HAL/DUE/usb/udi_msc.c @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/udi_msc.h b/Marlin/src/HAL/DUE/usb/udi_msc.h index c632ee4aacee..730dbc8eec56 100644 --- a/Marlin/src/HAL/DUE/usb/udi_msc.h +++ b/Marlin/src/HAL/DUE/usb/udi_msc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _UDI_MSC_H_ @@ -290,7 +290,7 @@ bool udi_msc_trans_block(bool b_read, uint8_t * block, iram_size_t block_size, * another "Composite Device" module, like "USB HID Mouse (Composite Device)". * * Also, you can refer to application note - * + * * AVR4902 ASF - USB Composite Device. * * \section udi_msc_use_case_composite_setup Setup steps diff --git a/Marlin/src/HAL/DUE/usb/uotghs_device_due.c b/Marlin/src/HAL/DUE/usb/uotghs_device_due.c index 2a10190c7eca..e13232a39c7d 100644 --- a/Marlin/src/HAL/DUE/usb/uotghs_device_due.c +++ b/Marlin/src/HAL/DUE/usb/uotghs_device_due.c @@ -42,7 +42,7 @@ */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/uotghs_device_due.h b/Marlin/src/HAL/DUE/usb/uotghs_device_due.h index 97877994bf66..6df26d63dfd4 100644 --- a/Marlin/src/HAL/DUE/usb/uotghs_device_due.h +++ b/Marlin/src/HAL/DUE/usb/uotghs_device_due.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef UOTGHS_DEVICE_DUE_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/uotghs_otg.h b/Marlin/src/HAL/DUE/usb/uotghs_otg.h index 86c903b2c18f..eca5e938bbe1 100644 --- a/Marlin/src/HAL/DUE/usb/uotghs_otg.h +++ b/Marlin/src/HAL/DUE/usb/uotghs_otg.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef UOTGHS_OTG_H_INCLUDED diff --git a/Marlin/src/HAL/DUE/usb/usb_protocol.h b/Marlin/src/HAL/DUE/usb/usb_protocol.h index 31c783f974cf..ea51a8689649 100644 --- a/Marlin/src/HAL/DUE/usb/usb_protocol.h +++ b/Marlin/src/HAL/DUE/usb/usb_protocol.h @@ -44,7 +44,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _USB_PROTOCOL_H_ diff --git a/Marlin/src/HAL/DUE/usb/usb_protocol_cdc.h b/Marlin/src/HAL/DUE/usb/usb_protocol_cdc.h index 49fc7387ef31..d594db52e33b 100644 --- a/Marlin/src/HAL/DUE/usb/usb_protocol_cdc.h +++ b/Marlin/src/HAL/DUE/usb/usb_protocol_cdc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _USB_PROTOCOL_CDC_H_ #define _USB_PROTOCOL_CDC_H_ diff --git a/Marlin/src/HAL/DUE/usb/usb_protocol_msc.h b/Marlin/src/HAL/DUE/usb/usb_protocol_msc.h index db8f9cafd081..0fef30804662 100644 --- a/Marlin/src/HAL/DUE/usb/usb_protocol_msc.h +++ b/Marlin/src/HAL/DUE/usb/usb_protocol_msc.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _USB_PROTOCOL_MSC_H_ diff --git a/Marlin/src/HAL/DUE/usb/usb_task.c b/Marlin/src/HAL/DUE/usb/usb_task.c index 29d02faef703..66bdb265d881 100644 --- a/Marlin/src/HAL/DUE/usb/usb_task.c +++ b/Marlin/src/HAL/DUE/usb/usb_task.c @@ -41,7 +41,7 @@ * */ -// Support and FAQ: visit Atmel Support +// Support and FAQ: visit Atmel Support #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/usb/usb_task.h b/Marlin/src/HAL/DUE/usb/usb_task.h index fad62fda504b..e9831ae0628a 100644 --- a/Marlin/src/HAL/DUE/usb/usb_task.h +++ b/Marlin/src/HAL/DUE/usb/usb_task.h @@ -41,7 +41,7 @@ * */ /* - * Support and FAQ: visit Atmel Support + * Support and FAQ: visit Atmel Support */ #ifndef _USB_TASK_H_ diff --git a/Marlin/src/HAL/LINUX/fastio.h b/Marlin/src/HAL/LINUX/fastio.h index 8b0526710dc7..08dca77805c9 100644 --- a/Marlin/src/HAL/LINUX/fastio.h +++ b/Marlin/src/HAL/LINUX/fastio.h @@ -44,7 +44,7 @@ * * Now you can simply SET_OUTPUT(STEP); WRITE(STEP, HIGH); WRITE(STEP, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/gcc-4.8.5/cpp/Stringification.html */ /// Read a pin diff --git a/Marlin/src/HAL/LPC1768/fastio.h b/Marlin/src/HAL/LPC1768/fastio.h index 8e8e66db7225..1772881b30d1 100644 --- a/Marlin/src/HAL/LPC1768/fastio.h +++ b/Marlin/src/HAL/LPC1768/fastio.h @@ -56,7 +56,7 @@ * * Now you can simply SET_OUTPUT(STEP); WRITE(STEP, HIGH); WRITE(STEP, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/gcc-4.8.5/cpp/Stringification.html */ /// Read a pin diff --git a/Marlin/src/HAL/STM32F1/SPI.cpp b/Marlin/src/HAL/STM32F1/SPI.cpp index 8eb8f9aa88c9..1cd064c359e7 100644 --- a/Marlin/src/HAL/STM32F1/SPI.cpp +++ b/Marlin/src/HAL/STM32F1/SPI.cpp @@ -216,7 +216,7 @@ void SPIClass::setDataMode(uint8_t dataMode) { /** * Notes: * As far as we know the AVR numbers for dataMode match the numbers required by the STM32. - * From the AVR doc http://www.atmel.com/images/doc2585.pdf section 2.4 + * From the AVR doc https://www.atmel.com/images/doc2585.pdf section 2.4 * * SPI Mode CPOL CPHA Shift SCK-edge Capture SCK-edge * 0 0 0 Falling Rising diff --git a/Marlin/src/HAL/TEENSY31_32/fastio.h b/Marlin/src/HAL/TEENSY31_32/fastio.h index e74920d49334..5bfb8d3a02fe 100644 --- a/Marlin/src/HAL/TEENSY31_32/fastio.h +++ b/Marlin/src/HAL/TEENSY31_32/fastio.h @@ -39,7 +39,7 @@ * * Now you can simply SET_OUTPUT(PIN); WRITE(PIN, HIGH); WRITE(PIN, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/gcc-4.8.5/cpp/Stringification.html */ #define _READ(P) bool(CORE_PIN ## P ## _PINREG & CORE_PIN ## P ## _BITMASK) diff --git a/Marlin/src/HAL/TEENSY35_36/fastio.h b/Marlin/src/HAL/TEENSY35_36/fastio.h index e74920d49334..5bfb8d3a02fe 100644 --- a/Marlin/src/HAL/TEENSY35_36/fastio.h +++ b/Marlin/src/HAL/TEENSY35_36/fastio.h @@ -39,7 +39,7 @@ * * Now you can simply SET_OUTPUT(PIN); WRITE(PIN, HIGH); WRITE(PIN, LOW); * - * Why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html + * Why double up on these macros? see https://gcc.gnu.org/onlinedocs/gcc-4.8.5/cpp/Stringification.html */ #define _READ(P) bool(CORE_PIN ## P ## _PINREG & CORE_PIN ## P ## _BITMASK) diff --git a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp index 207cd56aa82e..f524673ecd74 100644 --- a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp @@ -4,7 +4,7 @@ * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * file, You can obtain one at https://mozilla.org/MPL/2.0/. * * This library was modified, some bugs fixed, stack address validated * and adapted to be used in Marlin 3D printer firmware as backtracer diff --git a/Marlin/src/feature/dac/dac_mcp4728.cpp b/Marlin/src/feature/dac/dac_mcp4728.cpp index 39f873f0cb82..cfb4dc462e66 100644 --- a/Marlin/src/feature/dac/dac_mcp4728.cpp +++ b/Marlin/src/feature/dac/dac_mcp4728.cpp @@ -24,7 +24,7 @@ * mcp4728.cpp - Arduino library for MicroChip MCP4728 I2C D/A converter * * For implementation details, please take a look at the datasheet: - * http://ww1.microchip.com/downloads/en/DeviceDoc/22187a.pdf + * https://ww1.microchip.com/downloads/en/DeviceDoc/22187a.pdf * * For discussion and feedback, please go to: * http://arduino.cc/forum/index.php/topic,51842.0.html diff --git a/Marlin/src/gcode/motion/G5.cpp b/Marlin/src/gcode/motion/G5.cpp index 5d289e11d815..89b45ce8fca3 100644 --- a/Marlin/src/gcode/motion/G5.cpp +++ b/Marlin/src/gcode/motion/G5.cpp @@ -29,7 +29,7 @@ /** * Parameters interpreted according to: - * http://linuxcnc.org/docs/2.6/html/gcode/parser.html#sec:G5-Cubic-Spline + * https://linuxcnc.org/docs/2.6/html/gcode/gcode.html#sec:G5-Cubic-Spline * However I, J omission is not supported at this point; all * parameters can be omitted and default to zero. */ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/boards.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/boards.h index 854b8897b375..68fc06f528eb 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/boards.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/boards.h @@ -125,11 +125,11 @@ /* * Settings for the 4D Systems, 4.3" Embedded SPI Display 480x272, SPI, FT800 (4DLCD-FT843) * - * http://www.4dsystems.com.au/product/4DLCD_FT843/ + * https://4dsystems.com.au/4dlcd-ft843 * * Datasheet: * - * http://www.4dsystems.com.au/productpages/4DLCD-FT843/downloads/FT843-4.3-Display_datasheet_R_1_2.pdf + * https://4dsystems.com.au/mwdownloads/download/link/id/52/ * */ @@ -157,7 +157,7 @@ * * Datasheet: * - * http://www.hantronix.com/files/data/s1501799605s500-gh7.pdf + * https://www.hantronix.com/files/data/s1501799605s500-gh7.pdf * */ #elif defined(LCD_ALEPHOBJECTS_CLCD_UI) diff --git a/Marlin/src/module/scara.cpp b/Marlin/src/module/scara.cpp index 5fbbfd65a6bc..0bb8757a6d4a 100644 --- a/Marlin/src/module/scara.cpp +++ b/Marlin/src/module/scara.cpp @@ -100,7 +100,7 @@ void inverse_kinematics(const xyz_pos_t &raw) { /** * Morgan SCARA Inverse Kinematics. Results in 'delta'. * - * See http://forums.reprap.org/read.php?185,283327 + * See https://reprap.org/forum/read.php?185,283327 * * Maths and first version by QHARLEY. * Integrated into Marlin and slightly restructured by Joachim Cerny. diff --git a/Marlin/src/module/thermistor/thermistor_2.h b/Marlin/src/module/thermistor/thermistor_2.h index f3fe470603c9..efd64194d35e 100644 --- a/Marlin/src/module/thermistor/thermistor_2.h +++ b/Marlin/src/module/thermistor/thermistor_2.h @@ -23,7 +23,7 @@ // // R25 = 200 kOhm, beta25 = 4338 K, 4.7 kOhm pull-up, ATC Semitec 204GT-2 -// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf +// Verified by linagee. Source: https://www.mouser.com/datasheet/2/362/semitec%20usa%20corporation_gtthermistor-1202937.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance // const short temptable_2[][2] PROGMEM = { diff --git a/Marlin/src/module/thermistor/thermistor_5.h b/Marlin/src/module/thermistor/thermistor_5.h index 8f414de15e8f..2f7208260845 100644 --- a/Marlin/src/module/thermistor/thermistor_5.h +++ b/Marlin/src/module/thermistor/thermistor_5.h @@ -24,7 +24,7 @@ // R25 = 100 kOhm, beta25 = 4267 K, 4.7 kOhm pull-up // 100k ParCan thermistor (104GT-2) // ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan) -// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf +// Verified by linagee. Source: https://www.mouser.com/datasheet/2/362/semitec%20usa%20corporation_gtthermistor-1202937.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance const short temptable_5[][2] PROGMEM = { { OV( 1), 713 }, diff --git a/Marlin/src/module/thermistor/thermistor_52.h b/Marlin/src/module/thermistor/thermistor_52.h index 9a54ef4b6f66..29832d7501a6 100644 --- a/Marlin/src/module/thermistor/thermistor_52.h +++ b/Marlin/src/module/thermistor/thermistor_52.h @@ -23,7 +23,7 @@ // R25 = 200 kOhm, beta25 = 4338 K, 1 kOhm pull-up, // 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!) -// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf +// Verified by linagee. Source: https://www.mouser.com/datasheet/2/362/semitec%20usa%20corporation_gtthermistor-1202937.pdf // Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance // Advantage: More resolution and better linearity from 150C to 200C const short temptable_52[][2] PROGMEM = { diff --git a/Marlin/src/module/thermistor/thermistor_55.h b/Marlin/src/module/thermistor/thermistor_55.h index ead481e8655a..54fe1be8937c 100644 --- a/Marlin/src/module/thermistor/thermistor_55.h +++ b/Marlin/src/module/thermistor/thermistor_55.h @@ -23,7 +23,7 @@ // R25 = 100 kOhm, beta25 = 4267 K, 1 kOhm pull-up, // 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!) -// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf +// Verified by linagee. Source: https://www.mouser.com/datasheet/2/362/semitec%20usa%20corporation_gtthermistor-1202937.pdf // Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance // Advantage: More resolution and better linearity from 150C to 200C const short temptable_55[][2] PROGMEM = { diff --git a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h index 8b035e887604..c74e1b72ebb2 100644 --- a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h +++ b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h @@ -23,7 +23,7 @@ /** * Alligator Board R2 - * http://www.3dartists.org/ + * https://reprap.org/wiki/Alligator_Board */ #ifndef __SAM3X8E__ diff --git a/Marlin/src/pins/sanguino/pins_OMCA.h b/Marlin/src/pins/sanguino/pins_OMCA.h index 774910bd7d46..6d9d0f25050e 100644 --- a/Marlin/src/pins/sanguino/pins_OMCA.h +++ b/Marlin/src/pins/sanguino/pins_OMCA.h @@ -49,7 +49,7 @@ * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM * +--------+ * - * REF http://sanguino.cc/hardware + * REF http://sanguino.wikidot.com/hardware */ /** @@ -70,7 +70,7 @@ * * When installing select 1.0.2 * - * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino + * Installation instructions can be found at http://learn.sparkfun.com/pages/CustomBoardsArduino * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. diff --git a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h index 170b90368bdd..524f4892b8f1 100644 --- a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h +++ b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h @@ -23,7 +23,7 @@ /** * STM32F407VET6 with RAMPS-like shield - * 'Black' STM32F407VET6 board - http://wiki.stm32duino.com/index.php?title=STM32F407 + * 'Black' STM32F407VET6 board - https://www.stm32duino.com/viewtopic.php?t=485 * Shield - https://github.com/jmz52/Hardware */ diff --git a/Marlin/src/sd/SdFatStructs.h b/Marlin/src/sd/SdFatStructs.h index 0412852cdd01..b09a6d289aee 100644 --- a/Marlin/src/sd/SdFatStructs.h +++ b/Marlin/src/sd/SdFatStructs.h @@ -39,7 +39,7 @@ /** * mostly from Microsoft document fatgen103.doc - * http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx + * https://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx */ uint8_t const BOOTSIG0 = 0x55, // Value for byte 510 of boot block or MBR diff --git a/Marlin/src/sd/SdInfo.h b/Marlin/src/sd/SdInfo.h index 9d6674dfa1fa..61d2804ddbb6 100644 --- a/Marlin/src/sd/SdInfo.h +++ b/Marlin/src/sd/SdInfo.h @@ -39,7 +39,7 @@ // Version 3.01 // May 18, 2010 // -// http://www.sdcard.org/developers/tech/sdcard/pls/simplified_specs +// https://www.sdcard.org/downloads/pls/index.html // SD card commands uint8_t const CMD0 = 0x00, // GO_IDLE_STATE - init card in spi mode if CS low diff --git a/README.md b/README.md index 0ff486589bd3..17f3e3ea0606 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ The current Marlin dev team consists of: - Chris Pepper [[@p3p](https://github.com/p3p)] - UK - Bob Kuhn [[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)] - USA - João Brazio [[@jbrazio](https://github.com/jbrazio)] - Portugal - - Erik van der Zalm [[@ErikZalm](https://github.com/ErikZalm)] - Netherlands   [![Flattr Erik](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software) + - Erik van der Zalm [[@ErikZalm](https://github.com/ErikZalm)] - Netherlands   [![Flattr Erik](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software) ## License diff --git a/buildroot/etc/udev/rules.d/99-platformio-udev.rules b/buildroot/etc/udev/rules.d/99-platformio-udev.rules index 6daaf922bff5..3c829882d1cd 100644 --- a/buildroot/etc/udev/rules.d/99-platformio-udev.rules +++ b/buildroot/etc/udev/rules.d/99-platformio-udev.rules @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# 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, @@ -16,7 +16,7 @@ # # INSTALLATION # -# Please visit > http://docs.platformio.org/en/latest/faq.html#platformio-udev-rules +# Please visit > https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules # ##################################################################################### diff --git a/buildroot/share/PlatformIO/boards/BigTree_Btt002.json b/buildroot/share/PlatformIO/boards/BigTree_Btt002.json index 2fbf5ae8ac38..6137aa69480f 100644 --- a/buildroot/share/PlatformIO/boards/BigTree_Btt002.json +++ b/buildroot/share/PlatformIO/boards/BigTree_Btt002.json @@ -41,6 +41,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/en/microcontrollers/stm32f407ve.html", + "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407vg.html", "vendor": "Generic" } diff --git a/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json b/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json index a949e00a350d..dbbe8c8a6e95 100644 --- a/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json +++ b/buildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json @@ -41,6 +41,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/en/microcontrollers/stm32f407zg.html", + "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407zg.html", "vendor": "Generic" } diff --git a/buildroot/share/PlatformIO/boards/FLYF407ZG.json b/buildroot/share/PlatformIO/boards/FLYF407ZG.json index 944dc7a9d8fa..87a533be6e5e 100644 --- a/buildroot/share/PlatformIO/boards/FLYF407ZG.json +++ b/buildroot/share/PlatformIO/boards/FLYF407ZG.json @@ -60,6 +60,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/en/microcontrollers/stm32f407ZG.html", + "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407ZG.html", "vendor": "Generic" } diff --git a/buildroot/share/PlatformIO/boards/blackSTM32F407VET6.json b/buildroot/share/PlatformIO/boards/blackSTM32F407VET6.json index c55d7cc80ace..33f688e06f77 100644 --- a/buildroot/share/PlatformIO/boards/blackSTM32F407VET6.json +++ b/buildroot/share/PlatformIO/boards/blackSTM32F407VET6.json @@ -60,6 +60,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/en/microcontrollers/stm32f407ve.html", + "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407ve.html", "vendor": "Generic" } diff --git a/buildroot/share/PlatformIO/boards/malyanM200.json b/buildroot/share/PlatformIO/boards/malyanM200.json index dc0cf51f9eef..eea7c13c00f1 100644 --- a/buildroot/share/PlatformIO/boards/malyanM200.json +++ b/buildroot/share/PlatformIO/boards/malyanM200.json @@ -31,6 +31,6 @@ "use_1200bps_touch": false, "wait_for_upload_port": false }, - "url": "http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f103/stm32f103cb.html", + "url": "https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f103/stm32f103cb.html", "vendor": "Generic" } diff --git a/buildroot/share/fonts/README.md b/buildroot/share/fonts/README.md index 4e6f6f9b1528..05d1adc85347 100644 --- a/buildroot/share/fonts/README.md +++ b/buildroot/share/fonts/README.md @@ -5,7 +5,7 @@ The original author of the following font files is [A. Hardtung](https://github.com/AnHardt). Any copyright is dedicated to the Public Domain. -http://creativecommons.org/publicdomain/zero/1.0/ +https://creativecommons.org/publicdomain/zero/1.0/ - HD44780_C.fon ([fe2bd23](https://github.com/MarlinFirmware/Marlin/commit/fe2bd237d556439499dfdee852c1550c7a16430a)) - HD44780_J.fon ([fe2bd23](https://github.com/MarlinFirmware/Marlin/commit/fe2bd237d556439499dfdee852c1550c7a16430a)) @@ -20,4 +20,4 @@ Additional changes to the original font files distributed with Marlin are copyri ## Documentation -For detailed information about [adding new fonts](http://www.marlinfw.org/docs/development/fonts.html) to Marlin visit our documentation website. +For detailed information about [adding new fonts](https://www.marlinfw.org/docs/development/fonts.html) to Marlin visit our documentation website. diff --git a/buildroot/share/fonts/uxggenpages.md b/buildroot/share/fonts/uxggenpages.md index 314b5d5c06c3..5e40c392f7f6 100644 --- a/buildroot/share/fonts/uxggenpages.md +++ b/buildroot/share/fonts/uxggenpages.md @@ -99,12 +99,12 @@ At this time, the font file `marlin-6x12-3.bdf` is used to generate the font dat - [WQY](http://wenq.org/) - [WQY 9pt bitmap font](http://wenq.org/daily/wqy-bitmapfont-bdf-gb18030-nightly_build.tar.gz) -- [unifont (16x8 or 16x16)](http://unifoundry.com/unifont.html) +- [unifont (16x8 or 16x16)](https://unifoundry.com/unifont.html) Documents related to the old version of the language engine: -- [Marlin Fonts Documentation](http://www.marlinfw.org/docs/development/fonts.html) -- [Marlin LCD Language](http://marlinfw.org/docs/development/lcd_language.html) +- [Marlin Fonts Documentation](https://www.marlinfw.org/docs/development/fonts.html) +- [Marlin LCD Language](https://marlinfw.org/docs/development/lcd_language.html) - [U8GLIB](https://github.com/olikraus/u8glib.git) - [UTF-8 for U8GLIB](https://github.com/yhfudev/u8glib-fontutf8.git) - [Standalone test project for the Marlin UTF-8 language engine](https://github.com/yhfudev/marlin-fontutf8.git) diff --git a/buildroot/share/scripts/createTemperatureLookupMarlin.py b/buildroot/share/scripts/createTemperatureLookupMarlin.py index 03450bc0e0be..b2d8964f556c 100755 --- a/buildroot/share/scripts/createTemperatureLookupMarlin.py +++ b/buildroot/share/scripts/createTemperatureLookupMarlin.py @@ -2,10 +2,10 @@ """Thermistor Value Lookup Table Generator Generates lookup to temperature values for use in a microcontroller in C format based on: -http://en.wikipedia.org/wiki/Steinhart-Hart_equation +https://en.wikipedia.org/wiki/Steinhart-Hart_equation The main use is for Arduino programs that read data from the circuit board described here: -http://reprap.org/wiki/Temperature_Sensor_v2.0 +https://reprap.org/wiki/Temperature_Sensor_v2.0 Usage: python createTemperatureLookupMarlin.py [options] diff --git a/platformio.ini b/platformio.ini index 702f52db0024..91cdd739f8d3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -647,7 +647,7 @@ upload_protocol = serial # # STM32F407VET6 with RAMPS-like shield -# 'Black' STM32F407VET6 board - http://wiki.stm32duino.com/index.php?title=STM32F407 +# 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407 # Shield - https://github.com/jmz52/Hardware # [env:STM32F407VE_black] From 92076c65601de5fdfe0facf32dd60c57aab05747 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 26 Jul 2020 20:03:06 -0500 Subject: [PATCH 015/277] Marlin Release 2.0.6 --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- config/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 723ccef7008b..37112317dd57 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.5.4" +//#define SHORT_BUILD_VERSION "2.0.6" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 8513cd759e05..49e7cc6a2bcc 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.5.4" + #define SHORT_BUILD_VERSION "2.0.6" #endif /** diff --git a/config/README.md b/config/README.md index f4dfd9aedfe9..e7d7bd8d859c 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.5.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.zip From de37196760e1c41489293d23fbb826e51dd4f163 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Tue, 28 Jul 2020 23:15:17 -0300 Subject: [PATCH 016/277] DISABLE_DEBUG required to free Robin nano Z_DIR_PIN (#18832) --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index dd0d1e9465ef..ee88962e12bf 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -37,7 +37,7 @@ // Release PB4 (Y_ENABLE_PIN) from JTAG NRST role // -//#define DISABLE_DEBUG +#define DISABLE_DEBUG // // EEPROM From b160e8b93f610e4c3b2da620815fdc3f69c43e06 Mon Sep 17 00:00:00 2001 From: MoellerDi Date: Wed, 29 Jul 2020 03:19:12 +0200 Subject: [PATCH 017/277] Fix NEOPIXEL_LED compile w/out PRINTER_EVENT_LEDS (#18824) --- Marlin/src/inc/Conditionals_LCD.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 66e83c5299e4..992a788eb54e 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -752,6 +752,6 @@ /** * To check if we need the folder src/features/leds */ -#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU) +#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU, NEOPIXEL_LED) #define HAS_LED_FEATURE 1 #endif From 3dd21a2770d14555bb5f5a0b44dc1dbc3ae276c0 Mon Sep 17 00:00:00 2001 From: natemason Date: Wed, 29 Jul 2020 09:18:02 +0800 Subject: [PATCH 018/277] Add TEMP_PROBE_PIN for Einsy Rambo (#18823) --- Marlin/src/pins/rambo/pins_EINSY_RAMBO.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h index 76c3f131a96e..8fb3be47da54 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h @@ -109,6 +109,7 @@ #define TEMP_0_PIN 0 // Analog Input #define TEMP_1_PIN 1 // Analog Input #define TEMP_BED_PIN 2 // Analog Input +#define TEMP_PROBE_PIN 3 // Analog Input // // Heaters / Fans From 5804761b5d18b9e99abd705d0f14306e7a94b93a Mon Sep 17 00:00:00 2001 From: swissnorp <67485708+swissnorp@users.noreply.github.com> Date: Wed, 29 Jul 2020 04:28:58 +0200 Subject: [PATCH 019/277] Fix Cancel Objects index display (zero-based) (#18841) --- Marlin/src/feature/cancel_object.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/feature/cancel_object.cpp b/Marlin/src/feature/cancel_object.cpp index 7eb471543534..16f876f13686 100644 --- a/Marlin/src/feature/cancel_object.cpp +++ b/Marlin/src/feature/cancel_object.cpp @@ -45,7 +45,7 @@ void CancelObject::set_active_object(const int8_t obj) { #if HAS_DISPLAY if (active_object >= 0) - ui.status_printf_P(0, PSTR(S_FMT " %i"), GET_TEXT(MSG_PRINTING_OBJECT), int(active_object + 1)); + ui.status_printf_P(0, PSTR(S_FMT " %i"), GET_TEXT(MSG_PRINTING_OBJECT), int(active_object)); else ui.reset_status(); #endif From cf1c57a04d36f91a30ba32449f02c04ad87183a5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 29 Jul 2020 20:43:35 -0500 Subject: [PATCH 020/277] Fix UNKNOWN_Z_NO_RAISE in G28 Bug introduced in 73fc0778b86 --- Marlin/src/gcode/calibrate/G28.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 1fbb3dd35332..0b2bb9801b42 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -312,7 +312,7 @@ void GcodeSuite::G28() { #endif const float z_homing_height = - ENABLED(UNKNOWN_Z_NO_RAISE) && TEST(axis_known_position, Z_AXIS) + ENABLED(UNKNOWN_Z_NO_RAISE) && !TEST(axis_known_position, Z_AXIS) ? 0 : (parser.seenval('R') ? parser.value_linear_units() : Z_HOMING_HEIGHT); From 121cd42c41f3208327c93d84fa32a95f27dde227 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 29 Jul 2020 20:50:10 -0500 Subject: [PATCH 021/277] In G28 Z is sort-of known --- Marlin/src/gcode/calibrate/G28.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 0b2bb9801b42..78695bc05b40 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -319,7 +319,7 @@ void GcodeSuite::G28() { if (z_homing_height && (doX || doY || (ENABLED(Z_SAFE_HOMING) && doZ))) { // Raise Z before homing any other axes and z is not already high enough (never lower z) if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Raise Z (before homing) by ", z_homing_height); - do_z_clearance(z_homing_height, TEST(axis_known_position, Z_AXIS), DISABLED(UNKNOWN_Z_NO_RAISE)); + do_z_clearance(z_homing_height, true, DISABLED(UNKNOWN_Z_NO_RAISE)); } #if ENABLED(QUICK_HOME) From ad59adfe24e57b242408e0de4e567512559c1bea Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 28 Jul 2020 18:13:20 -0500 Subject: [PATCH 022/277] Update include_tree --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 543b837f54d3..8fe8df5ce44c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -968,4 +968,4 @@ src_filter = ${common.default_src_filter} + platform = atmelavr board = megaatmega2560 build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ -src_filter = + +src_filter = + From 37b56d6347e2b53751a80eb9892ffda3b2c59ee3 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 30 Jul 2020 02:07:29 -0500 Subject: [PATCH 023/277] Add monitor_flags --- platformio.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platformio.ini b/platformio.ini index 8fe8df5ce44c..fee199fc454b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -88,6 +88,16 @@ extra_scripts = ${common.extra_scripts} build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} monitor_speed = 250000 +monitor_flags = + --quiet + --echo + --eol + LF + --filter + colorize + --filter + time + ################################# # # From 01359cff6b5884873114e4cff4322fedee73d848 Mon Sep 17 00:00:00 2001 From: Sebastien Andrivet Date: Mon, 3 Aug 2020 03:10:16 +0200 Subject: [PATCH 024/277] Fix Duplicator i3 Plus pin diagram (#18862) --- Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h index 21c3f6dbfee8..de80851df00c 100644 --- a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h +++ b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h @@ -113,7 +113,7 @@ * # Pin | ATMEGA2560 Pin | Arduino # * ################################## * # 1 | 52 / PG1 (!RD) | 40 # - * # 2 | 95 / PF2 (A2) | 2 # + * # 2 | 95 / PF2 (A2) | 56 # * # 3 | 54 / PC1 (A9) | 36 # * # 4 | 53 / PC0 (A8) | 37 # * # 5 | 56 / PC3 (A11) | 34 # From fa5ca8678cced97fe63ece21bb01c169afdf4c71 Mon Sep 17 00:00:00 2001 From: FLYmaker <49380822+FLYmaker@users.noreply.github.com> Date: Mon, 3 Aug 2020 09:13:57 +0800 Subject: [PATCH 025/277] Fix FLYF407ZG pins (#18865) --- Marlin/src/pins/stm32f4/pins_FLYF407ZG.h | 42 ++- .../variants/FLY_F407ZG/PeripheralPins.c | 338 +++++++++--------- .../variants/FLY_F407ZG/variant.cpp | 226 ++++++------ .../PlatformIO/variants/FLY_F407ZG/variant.h | 237 ++++++------ 4 files changed, 443 insertions(+), 400 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h index 497db5817b76..499edc8dc0a7 100644 --- a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h +++ b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h @@ -31,7 +31,26 @@ #define BOARD_WEBSITE_URL "github.com/FLYmaker/FLYF407ZG" #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME -#define MARLIN_EEPROM_SIZE 0x1000 // 4KB +// +// EEPROM Emulation +// +#if NO_EEPROM_SELECTED + #define FLASH_EEPROM_EMULATION + //#define SRAM_EEPROM_EMULATION + //#define I2C_EEPROM +#endif + +#if ENABLED(FLASH_EEPROM_EMULATION) + // Decrease delays and flash wear by spreading writes across + // the 128kB sector allocated for EEPROM emulation. + #define FLASH_EEPROM_LEVELING +#elif ENABLED(I2C_EEPROM) + #define MARLIN_EEPROM_SIZE 0x2000 // 8KB +#endif + +#ifndef MARLIN_EEPROM_SIZE + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB +#endif // // Servos @@ -139,14 +158,14 @@ #define HEATER_2_PIN PE6 #define HEATER_3_PIN PE5 #define HEATER_4_PIN PE4 -#define HEATER_5_PIN PA2 +#define HEATER_5_PIN PE3 #define HEATER_BED_PIN PE2 #ifndef FAN_PIN #define FAN_PIN PF8 #endif #define FAN1_PIN PF9 -#define FAN2_PIN PE3 +#define FAN2_PIN PA2 #define FAN3_PIN PA1 #define FAN4_PIN PE13 #define FAN5_PIN PB11 @@ -168,8 +187,8 @@ #endif #if SD_CONNECTION_IS(ONBOARD) - #define SDIO_SUPPORT // Use SDIO for onboard SD + #define SDIO_SUPPORT // Use SDIO for onboard SD #ifndef SDIO_SUPPORT #define SOFTWARE_SPI // Use soft SPI for onboard SD #define SDSS SDIO_D3_PIN @@ -177,6 +196,15 @@ #define MISO_PIN SDIO_D0_PIN #define MOSI_PIN SDIO_CMD_PIN #endif + +#elif SD_CONNECTION_IS(LCD) + + #define SCK_PIN PB13 + #define MISO_PIN PB14 + #define MOSI_PIN PB15 + #define SDSS PF11 + #define SD_DETECT_PIN PB2 + #endif // @@ -232,11 +260,7 @@ // // LCD / Controller // -#define SCK_PIN PB13 -#define MISO_PIN PB14 -#define MOSI_PIN PB15 -#define SDSS PF11 -#define SD_DETECT_PIN PB2 + #define BEEPER_PIN PB10 #define LCD_PINS_RS PE12 #define LCD_PINS_ENABLE PE14 diff --git a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c index 5cce88b175a0..d621325aa3a4 100644 --- a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c +++ b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c @@ -45,26 +45,26 @@ const PinMap PinMap_ADC[] = { {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 // {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 // {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 - {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 + //{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 // {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 // {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 // {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 - {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 + //{PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 // {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 // {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 // {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 - {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 - {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 + //{PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 + //{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 // {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 // {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 - {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 - {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 + //{PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 + //{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 // {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 - {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 + //{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 // {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 - {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 - {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 + //{PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 + //{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 // {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 // {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 // {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 @@ -73,21 +73,21 @@ const PinMap PinMap_ADC[] = { // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 // {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 - {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 + //{PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 // {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 // {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 // {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 - {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 + //{PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 // {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 - {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 + //{PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 // {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 - {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 + //{PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 {PF_5, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15 - {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 - {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 - {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 + //{PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 + //{PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 + //{PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 // {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 {NC, NP, 0} @@ -98,8 +98,8 @@ const PinMap PinMap_ADC[] = { #ifdef HAL_DAC_MODULE_ENABLED const PinMap PinMap_DAC[] = { - {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 - {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 + // {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + // {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 {NC, NP, 0} }; #endif @@ -109,21 +109,21 @@ const PinMap PinMap_DAC[] = { #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SDA[] = { {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, - {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, - {PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + //{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + //{PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + //{PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + //{PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, {NC, NP, 0} }; #endif #ifdef HAL_I2C_MODULE_ENABLED const PinMap PinMap_I2C_SCL[] = { - {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + //{PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, - {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, - {PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + //{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + //{PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + //{PF_1, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, {NC, NP, 0} }; #endif @@ -132,78 +132,93 @@ const PinMap PinMap_I2C_SCL[] = { #ifdef HAL_TIM_MODULE_ENABLED const PinMap PinMap_PWM[] = { - {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + + + + {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 + //{PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + //{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 // {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + // {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 - {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 // {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - // {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 + //{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + // {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 // {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + // {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 // {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + // {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 // {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 // {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 +// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 // {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N // {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + + // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 // {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 // {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 +// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 // {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N // {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 // {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N // {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 - {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 - {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + //{PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + //{PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + //{PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + //{PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + + // {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + + // {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 + // {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + + // {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + // {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + //{PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + //{PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 + //{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + // {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + // {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 + + //{PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 + + //{PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 + // {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + // {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 + // {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + // {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 + + //{PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + //{PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + //{PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + + // {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + + //{PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {NC, NP, 0} }; #endif @@ -212,17 +227,17 @@ const PinMap PinMap_PWM[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_TX[] = { - {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, - {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + //{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, - // {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, - {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, - {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + //{PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + //{PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + //{PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + //{PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; @@ -230,17 +245,17 @@ const PinMap PinMap_UART_TX[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_RX[] = { - {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, - {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + //{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, - // {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, - {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, - {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + //{PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + //{PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + //{PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + //{PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; @@ -248,26 +263,26 @@ const PinMap PinMap_UART_RX[] = { #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_RTS[] = { - {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, - {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; #endif #ifdef HAL_UART_MODULE_ENABLED const PinMap PinMap_UART_CTS[] = { - {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, - {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, - {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, - {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, - {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, +// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, +// {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, +// {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +// {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; #endif @@ -277,11 +292,11 @@ const PinMap PinMap_UART_CTS[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MOSI[] = { {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +//{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +//{PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +//{PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; #endif @@ -289,11 +304,11 @@ const PinMap PinMap_SPI_MOSI[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_MISO[] = { {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +//{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +//{PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +//{PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; #endif @@ -301,11 +316,11 @@ const PinMap PinMap_SPI_MISO[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SCLK[] = { {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +//{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +//{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +//{PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; #endif @@ -313,11 +328,11 @@ const PinMap PinMap_SPI_SCLK[] = { #ifdef HAL_SPI_MODULE_ENABLED const PinMap PinMap_SPI_SSEL[] = { {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +//{PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +//{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, +//{PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, +//{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, +//{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif @@ -326,22 +341,22 @@ const PinMap PinMap_SPI_SSEL[] = { #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_RD[] = { - {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, - {PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, - {PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +//{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +//{PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; #endif #ifdef HAL_CAN_MODULE_ENABLED const PinMap PinMap_CAN_TD[] = { - {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, - {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, - {PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, - {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +//{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +//{PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, +//{PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; #endif @@ -349,7 +364,7 @@ const PinMap PinMap_CAN_TD[] = { //*** ETHERNET *** #ifdef HAL_ETH_MODULE_ENABLED -const PinMap PinMap_Ethernet[] = { +const PinMap PinMap_Ethernet[] = {/* {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO @@ -374,6 +389,7 @@ const PinMap PinMap_Ethernet[] = { {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 {NC, NP, 0} + */ }; #endif @@ -394,26 +410,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { -#ifdef USE_USB_HS_IN_FS - {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID - {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS - {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#else - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 - {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK - {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 - {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 - {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 - {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 - {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 - {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 - {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP - {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR - {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT -#endif /* USE_USB_HS_IN_FS */ +//#ifdef USE_USB_HS_IN_FS +// {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF +// {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID +// {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS +// {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM +// {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +// #else +// {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 +// {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK +// {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 +// {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 +// {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 +// {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 +// {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 +// {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 +// {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 +// {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP +// {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR +// {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +//#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.cpp b/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.cpp index 82cfc573dce2..1c7aedd9ac9c 100644 --- a/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.cpp +++ b/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.cpp @@ -36,118 +36,120 @@ extern "C" { const PinName digitalPin[] = { - PB_12, - PB_13, - PB_14, - PB_15, - PD_8, - PD_9, - PD_10, - PD_11, - PD_12, - PD_13, - PD_14, - PD_15, - PG_2, - PG_3, - PG_4, - PG_5, - PG_6, - PG_7, - PG_8, - PC_6, - PC_7, - PC_8, - PC_9, - PA_8, - PA_9, - PA_10, - PA_11, - PA_12, - PA_13, - PA_14, - PA_15, - PC_10, - PC_11, - PC_12, - PD_0, - PD_1, - PD_2, - PD_3, - PD_4, - PD_5, - PD_6, - PD_7, - PG_9, - PG_10, - PG_11, - PG_12, - PG_13, - PG_14, - PG_15, - PB_3, - PB_4, - PB_5, - PB_6, - PB_7, - PB_8, - PB_9, - PB_10, - PB_11, - PE_14, - PE_15, - PE_12, - PE_13, - PE_10, - PE_11, - PE_8, - PE_9, - PG_1, - PE_7, - PF_15, - PG_0, - PF_13, - PF_14, - PF_11, - PF_12, - PB_2, - PB_1, - PC_5, - PB_0, - PA_7, - PC_4, - PA_5, - PA_6, - PA_3, - PA_4, - PA_1, - PA_2, - PC_3, - PA_0, - PC_1, - PC_2, - PC_0, - PF_8, - PF_6, - PF_7, - PF_9, - PF_10, - PF_4, - PF_5, - PF_2, - PF_3, - PF_0, - PF_1, - PE_6, - PC_13, - PE_4, - PE_5, - PE_2, - PE_3, - PE_0, - PE_1, - PC_14, - PC_15, +PA_1, +PA_2, +PA_3, +PA_4, +PA_5, +PA_6, +PA_7, +PA_8, +PA_9, +PA_10, +PA_11, +PA_12, +PA_13, +PA_14, +PA_15, +PB_0, +PB_1, +PB_2, +PB_3, +PB_4, +PB_5, +PB_6, +PB_7, +PB_8, +PB_9, +PB_10, +PB_11, +PB_12, +PB_13, +PB_14, +PB_15, +PC_2, +PC_3, +PC_4, +PC_5, +PC_6, +PC_7, +PC_8, +PC_9, +PC_10, +PC_11, +PC_12, +PC_13, +PC_14, +PC_15, +PD_0, +PD_1, +PD_2, +PD_3, +PD_4, +PD_5, +PD_6, +PD_7, +PD_8, +PD_9, +PD_10, +PD_11, +PD_12, +PD_13, +PD_14, +PD_15, +PE_0, +PE_1, +PE_11, +PE_3, +PE_4, +PE_5, +PE_6, +PE_7, +PE_8, +PE_9, +PE_10, +PE_2, +PE_12, +PE_13, +PE_14, +PE_15, +PF_0, +PF_1, +PF_2, +PF_6, +PF_7, +PF_8, +PF_9, +PF_11, +PF_12, +PF_13, +PF_14, +PF_15, +PG_0, +PG_1, +PG_2, +PG_3, +PG_4, +PG_5, +PG_6, +PG_7, +PG_8, +PG_9, +PG_10, +PG_11, +PG_12, +PG_13, +PG_14, +PG_15, +PH_0, +PH_1, +PA_0, +PC_1, +PC_0, +PF_10, +PF_5, +PF_4, +PF_3, }; #ifdef __cplusplus diff --git a/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.h b/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.h index 87033a68e5f6..ae973c89c527 100644 --- a/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.h +++ b/buildroot/share/PlatformIO/variants/FLY_F407ZG/variant.h @@ -38,126 +38,127 @@ extern "C" { * Pins *----------------------------------------------------------------------------*/ -// Left Side -#define PB12 0 -#define PB13 1 -#define PB14 2 -#define PB15 3 -#define PD8 4 -#define PD9 5 -#define PD10 6 -#define PD11 7 -#define PD12 8 -#define PD13 9 -#define PD14 10 -#define PD15 11 -#define PG2 12 -#define PG3 13 -#define PG4 14 -#define PG5 15 -#define PG6 16 -#define PG7 17 -#define PG8 18 -#define PC6 19 -#define PC7 20 -#define PC8 21 -#define PC9 22 -#define PA8 23 -#define PA9 24 -#define PA10 25 -#define PA11 26 // USB_DM -#define PA12 27 // USB_DP -#define PA13 28 -#define PA14 29 -#define PA15 30 -#define PC10 31 -#define PC11 32 -#define PC12 33 -#define PD0 34 -#define PD1 35 -#define PD2 36 -#define PD3 37 -#define PD4 38 -#define PD5 39 -#define PD6 40 -#define PD7 41 -#define PG9 42 -#define PG10 43 -#define PG11 44 -#define PG12 45 -#define PG13 46 -#define PG14 47 -#define PG15 48 -#define PB3 49 -#define PB4 50 -#define PB5 51 -#define PB6 52 -#define PB7 53 -#define PB8 54 -#define PB9 55 - -// Right Side -#define PB10 56 -#define PB11 57 -#define PE14 58 -#define PE15 59 -#define PE12 60 -#define PE13 61 -#define PE10 62 -#define PE11 63 -#define PE8 64 -#define PE9 65 -#define PG1 66 -#define PE7 67 -#define PF15 68 -#define PG0 69 -#define PF13 70 -#define PF14 71 -#define PF11 72 -#define PF12 73 -#define PB2 74 -#define PB1 75 // A0 -#define PC5 76 // A1 -#define PB0 77 // A2 -#define PA7 78 // A3 -#define PC4 79 // A4 -#define PA5 80 // A5 -#define PA6 81 // A6 -#define PA3 82 // A7 -#define PA4 83 // A8 -#define PA1 84 // A9 -#define PA2 85 // A10 -#define PC3 86 // A11 -#define PA0 87 // A12/PA_0(WK_UP): BUT K_UP) -#define PC1 88 // A13 -#define PC2 89 // A14 -#define PC0 90 // A15 -#define PF8 91 // A16 -#define PF6 92 // A17 -#define PF7 93 // A18 -#define PF9 94 // LED D1 (active low) -#define PF10 95 // LED D2 (active low) -#define PF4 96 -#define PF5 97 -#define PF2 98 -#define PF3 99 -#define PF0 100 -#define PF1 101 -#define PE6 102 -#define PC13 103 -#define PE4 104 // BUT K0 -#define PE5 105 // BUT K1 -#define PE2 106 -#define PE3 107 -#define PE0 108 -#define PE1 109 -#define PC14 110 -#define PC15 111 + +#define PA1 0 +#define PA2 1 +#define PA3 2 +#define PA4 3 +#define PA5 4 +#define PA6 5 +#define PA7 6 +#define PA8 7 +#define PA9 8 +#define PA10 9 +#define PA11 10 +#define PA12 11 +#define PA13 12 +#define PA14 13 +#define PA15 14 +#define PB0 15 +#define PB1 16 +#define PB2 17 +#define PB3 18 +#define PB4 19 +#define PB5 20 +#define PB6 21 +#define PB7 22 +#define PB8 23 +#define PB9 24 +#define PB10 25 +#define PB11 26 +#define PB12 27 +#define PB13 28 +#define PB14 29 +#define PB15 30 +#define PC2 31 +#define PC3 32 +#define PC4 33 +#define PC5 34 +#define PC6 35 +#define PC7 36 +#define PC8 37 +#define PC9 38 +#define PC10 39 +#define PC11 40 +#define PC12 41 +#define PC13 42 +#define PC14 43 +#define PC15 44 +#define PD0 45 +#define PD1 46 +#define PD2 47 +#define PD3 48 +#define PD4 49 +#define PD5 50 +#define PD6 51 +#define PD7 52 +#define PD8 53 +#define PD9 54 +#define PD10 55 +#define PD11 56 +#define PD12 57 +#define PD13 58 +#define PD14 59 +#define PD15 60 +#define PE0 61 +#define PE1 62 +#define PE11 63 +#define PE3 64 +#define PE4 65 +#define PE5 66 +#define PE6 67 +#define PE7 68 +#define PE8 69 +#define PE9 70 +#define PE10 71 +#define PE2 72 +#define PE12 73 +#define PE13 74 +#define PE14 75 +#define PE15 76 +#define PF0 77 +#define PF1 78 +#define PF2 79 +#define PF6 80 +#define PF7 81 +#define PF8 82 +#define PF9 83 +#define PF11 84 +#define PF12 85 +#define PF13 86 +#define PF14 87 +#define PF15 88 +#define PG0 89 +#define PG1 90 +#define PG2 91 +#define PG3 92 +#define PG4 93 +#define PG5 94 +#define PG6 95 +#define PG7 96 +#define PG8 97 +#define PG9 98 +#define PG10 99 +#define PG11 100 +#define PG12 101 +#define PG13 102 +#define PG14 103 +#define PG15 104 +#define PH0 105 +#define PH1 106 +#define PA0 107 +#define PC1 108 +#define PC0 109 +#define PF10 110 +#define PF5 111 +#define PF4 112 +#define PF3 113 + // This must be a literal -#define NUM_DIGITAL_PINS 112 +#define NUM_DIGITAL_PINS 114 // This must be a literal with a value less than or equal to MAX_ANALOG_INPUTS -#define NUM_ANALOG_INPUTS 23 -#define NUM_ANALOG_FIRST 75 +#define NUM_ANALOG_INPUTS 7 +#define NUM_ANALOG_FIRST 107 // Below SPI and I2C definitions already done in the core From 02a500dc937da09595d10612e77b05d87a4a099f Mon Sep 17 00:00:00 2001 From: ellensp Date: Mon, 3 Aug 2020 13:16:12 +1200 Subject: [PATCH 026/277] Fix Spindle/Laser PWM DC (#18871) --- Marlin/src/feature/spindle_laser.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Marlin/src/feature/spindle_laser.cpp b/Marlin/src/feature/spindle_laser.cpp index 3dcf6e928a26..68261f2fc581 100644 --- a/Marlin/src/feature/spindle_laser.cpp +++ b/Marlin/src/feature/spindle_laser.cpp @@ -66,6 +66,9 @@ void SpindleLaser::init() { void SpindleLaser::set_ocr(const uint8_t ocr) { WRITE(SPINDLE_LASER_ENA_PIN, SPINDLE_LASER_ACTIVE_HIGH); // turn spindle on analogWrite(pin_t(SPINDLE_LASER_PWM_PIN), ocr ^ SPINDLE_LASER_PWM_OFF); + #if NEEDS_HARDWARE_PWM && SPINDLE_LASER_FREQUENCY + set_pwm_duty(pin_t(SPINDLE_LASER_PWM_PIN), ocr ^ SPINDLE_LASER_PWM_OFF); + #endif } void SpindleLaser::ocr_off() { WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_HIGH); // Turn spindle off From 978e0e49c715f41024406fd7795e753986e81e20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus=20N=C3=A4veke?= Date: Mon, 3 Aug 2020 03:17:43 +0200 Subject: [PATCH 027/277] No mks_robin extra_scripts in Trigorilla build (#18872) --- platformio.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio.ini b/platformio.ini index fee199fc454b..15316d156d35 100644 --- a/platformio.ini +++ b/platformio.ini @@ -629,6 +629,7 @@ extra_scripts = ${common.extra_scripts} [env:trigorilla_pro] platform = ${common_stm32f1.platform} extends = env:mks_robin +extra_scripts = ${common.extra_scripts} # # MKS Robin E3D (STM32F103RCT6) and From ad2d1b6e31de9d5ea08be61f7f323a1758c3e76a Mon Sep 17 00:00:00 2001 From: cbaugher Date: Fri, 7 Aug 2020 18:06:25 -0500 Subject: [PATCH 028/277] Fix Z height after tool change (#18951) --- Marlin/src/module/tool_change.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 225f4cbb916b..5d2dc7d3be3f 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -1132,7 +1132,8 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { #if ENABLED(TOOLCHANGE_PARK) if (toolchange_settings.enable_park) do_blocking_move_to_xy_z(destination, destination.z, MMM_TO_MMS(TOOLCHANGE_PARK_XY_FEEDRATE)); #else - do_blocking_move_to_xy(destination); + do_blocking_move_to_xy(destination, planner.settings.max_feedrate_mm_s[X_AXIS]); + do_blocking_move_to_z(destination, planner.settings.max_feedrate_mm_s[Z_AXIS]); #endif #endif From 242064fa994275c69147d1fd6da2cecb7977da08 Mon Sep 17 00:00:00 2001 From: swissnorp <67485708+swissnorp@users.noreply.github.com> Date: Thu, 6 Aug 2020 05:38:23 +0200 Subject: [PATCH 029/277] Move Cancel Object menu, fix canceled item index (#18930) --- Marlin/src/lcd/menu/menu_advanced.cpp | 5 ----- Marlin/src/lcd/menu/menu_cancelobject.cpp | 2 +- Marlin/src/lcd/menu/menu_main.cpp | 6 ++++++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 81baa6156aa7..1c37b2f2d331 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -53,7 +53,6 @@ void menu_tmc(); void menu_backlash(); -void menu_cancelobject(); #if ENABLED(DAC_STEPPER_CURRENT) @@ -560,10 +559,6 @@ void menu_advanced_settings() { SUBMENU(MSG_BACKLASH, menu_backlash); #endif - #if ENABLED(CANCEL_OBJECTS) - SUBMENU(MSG_CANCEL_OBJECT, []{ editable.int8 = -1; ui.goto_screen(menu_cancelobject); }); - #endif - #if ENABLED(DAC_STEPPER_CURRENT) SUBMENU(MSG_DRIVE_STRENGTH, menu_dac); #endif diff --git a/Marlin/src/lcd/menu/menu_cancelobject.cpp b/Marlin/src/lcd/menu/menu_cancelobject.cpp index 095e4eb7b1ad..55b88c45b033 100644 --- a/Marlin/src/lcd/menu/menu_cancelobject.cpp +++ b/Marlin/src/lcd/menu/menu_cancelobject.cpp @@ -43,7 +43,7 @@ static void lcd_cancel_object_confirm() { }; MenuItem_confirm::confirm_screen( []{ - cancelable.cancel_object(MenuItemBase::itemIndex - 1); + cancelable.cancel_object(MenuItemBase::itemIndex); ui.completion_feedback(); ui.goto_previous_screen(); }, diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index 51b67209dc5b..059290c5237e 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -51,6 +51,7 @@ #endif void menu_tune(); +void menu_cancelobject(); void menu_motion(); void menu_temperature(); void menu_configuration(); @@ -110,7 +111,12 @@ void menu_main() { ); }); #endif + SUBMENU(MSG_TUNE, menu_tune); + + #if ENABLED(CANCEL_OBJECTS) && DISABLED(SLIM_LCD_MENUS) + SUBMENU(MSG_CANCEL_OBJECT, []{ editable.int8 = -1; ui.goto_screen(menu_cancelobject); }); + #endif } else { From 1d92badecddb91b2b2952b77aecda854239647cb Mon Sep 17 00:00:00 2001 From: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Date: Tue, 4 Aug 2020 07:32:25 +0200 Subject: [PATCH 030/277] Update Italian language (#18886) --- Marlin/src/lcd/language/language_it.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 6de5d9e0323e..1a5bdb22e98e 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -64,6 +64,7 @@ namespace Language_it { PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home asse Y"); PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home asse Z"); PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Allineam.automat. Z"); + PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Tramming assistito"); PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Home assi XYZ"); PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Premi per iniziare"); PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Punto successivo"); From da144dcf3b7f79e143837384bb54af3d8523dc8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Morav=C4=8D=C3=ADk?= Date: Tue, 4 Aug 2020 07:32:47 +0200 Subject: [PATCH 031/277] Update Slovak language (#18884) --- Marlin/src/lcd/language/language_sk.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 321fa5e05f4f..736e2069d999 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -66,6 +66,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Domov os Y"); PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Domov os Z"); PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto-zarovn. Z"); + PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Asist. vyrovnanie"); PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Parkovanie XYZ"); PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Kliknutím začnete"); PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Ďalší bod"); @@ -153,14 +154,12 @@ namespace Language_sk { PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Koniec úprav siete"); PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Vlastná sieť"); PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Vytvoriť sieť"); - #if PREHEAT_COUNT - PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Sieť bodov $"); - PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Kontrola siete $"); - #endif + PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Sieť bodov ($)"); PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Studená sieť bodov"); PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Upraviť výšku siete"); PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Výška"); PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Skontrolovať sieť"); + PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Kontrola siete ($)"); PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Kontrola vlast.siete"); PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 ohrev podlž."); PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 ohrev trysky"); @@ -309,7 +308,9 @@ namespace Language_sk { PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Teplota"); PROGMEM Language_Str MSG_MOTION = _UxGT("Pohyb"); PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament"); - PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E na mm³"); + PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E v mm³"); + PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Limit v mm³"); + PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Limit *"); PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Priem. fil."); PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Priem. fil. *"); PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Vysunúť mm"); @@ -331,6 +332,10 @@ namespace Language_sk { PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info. obrazovka"); PROGMEM Language_Str MSG_PREPARE = _UxGT("Príprava tlače"); PROGMEM Language_Str MSG_TUNE = _UxGT("Doladenie tlače"); + PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Monitor napájania"); + PROGMEM Language_Str MSG_CURRENT = _UxGT("Prúd"); + PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Napätie"); + PROGMEM Language_Str MSG_POWER = _UxGT("Výkon"); PROGMEM Language_Str MSG_START_PRINT = _UxGT("Spustiť tlač"); PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Ďalší"); PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Inicial."); From fd9c6983d30f70171d9d9a9c55962689fa4cdd85 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 8 Aug 2020 10:59:09 +1200 Subject: [PATCH 032/277] HW PWM sanity checks for SPINDLE_LASER_FREQUENCY (#18947) --- Marlin/src/HAL/DUE/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/ESP32/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/LINUX/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/LPC1768/fast_pwm.cpp | 2 +- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 4 ++++ Marlin/src/HAL/SAMD51/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/STM32/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/STM32F1/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/STM32_F4_F7/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h | 4 ++-- Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h | 4 ++-- 11 files changed, 23 insertions(+), 19 deletions(-) diff --git a/Marlin/src/HAL/DUE/inc/SanityCheck.h b/Marlin/src/HAL/DUE/inc/SanityCheck.h index cdea34436e87..688069650630 100644 --- a/Marlin/src/HAL/DUE/inc/SanityCheck.h +++ b/Marlin/src/HAL/DUE/inc/SanityCheck.h @@ -52,8 +52,8 @@ #endif #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on DUE." #endif #if HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/ESP32/inc/SanityCheck.h b/Marlin/src/HAL/ESP32/inc/SanityCheck.h index 7653f6fe7ff1..f57a6c591028 100644 --- a/Marlin/src/HAL/ESP32/inc/SanityCheck.h +++ b/Marlin/src/HAL/ESP32/inc/SanityCheck.h @@ -25,8 +25,8 @@ #error "EMERGENCY_PARSER is not yet implemented for ESP32. Disable EMERGENCY_PARSER to continue." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on ESP32." #endif #if HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/LINUX/inc/SanityCheck.h b/Marlin/src/HAL/LINUX/inc/SanityCheck.h index 8d23cdabbf8f..84167c97a144 100644 --- a/Marlin/src/HAL/LINUX/inc/SanityCheck.h +++ b/Marlin/src/HAL/LINUX/inc/SanityCheck.h @@ -30,8 +30,8 @@ #error "SPINDLE_LASER_PWM_PIN must use SERVO0, SERVO1 or SERVO3 connector" #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on LINUX." #endif #if HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/LPC1768/fast_pwm.cpp b/Marlin/src/HAL/LPC1768/fast_pwm.cpp index 46507ac0dabc..dd440b5e7730 100644 --- a/Marlin/src/HAL/LPC1768/fast_pwm.cpp +++ b/Marlin/src/HAL/LPC1768/fast_pwm.cpp @@ -35,5 +35,5 @@ void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=255 LPC176x::pwm_write_ratio(pin, invert ? 1.0f - (float)v / v_size : (float)v / v_size); } -#endif // FAST_PWM_FAN || SPINDLE_LASER_PWM +#endif // NEEDS_HARDWARE_PWM #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index 964538962ce5..0a4e59c6c459 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -59,6 +59,10 @@ */ static_assert(!(NUM_SERVOS && ENABLED(FAST_PWM_FAN)), "BLTOUCH and Servos are incompatible with FAST_PWM_FAN on LPC176x boards."); +#if SPINDLE_LASER_FREQUENCY + static_assert(!NUM_SERVOS, "BLTOUCH and Servos are incompatible with SPINDLE_LASER_FREQUENCY on LPC176x boards."); +#endif + /** * Test LPC176x-specific configuration values for errors at compile-time. */ diff --git a/Marlin/src/HAL/SAMD51/inc/SanityCheck.h b/Marlin/src/HAL/SAMD51/inc/SanityCheck.h index ee04e2e2e0c7..5d610acac85c 100644 --- a/Marlin/src/HAL/SAMD51/inc/SanityCheck.h +++ b/Marlin/src/HAL/SAMD51/inc/SanityCheck.h @@ -47,6 +47,6 @@ #error "SDIO_SUPPORT is not supported on SAMD51." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on SAMD51." #endif diff --git a/Marlin/src/HAL/STM32/inc/SanityCheck.h b/Marlin/src/HAL/STM32/inc/SanityCheck.h index 37ca3d5a30ab..30d0750d90e0 100644 --- a/Marlin/src/HAL/STM32/inc/SanityCheck.h +++ b/Marlin/src/HAL/STM32/inc/SanityCheck.h @@ -28,8 +28,8 @@ // #error "SPINDLE_LASER_PWM_PIN must use SERVO0, SERVO1 or SERVO3 connector" //#endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on STM32." #endif #if ENABLED(SDCARD_EEPROM_EMULATION) && DISABLED(SDSUPPORT) diff --git a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h index 5559b3d4a480..5e5b9097d87f 100644 --- a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h +++ b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h @@ -29,8 +29,8 @@ #error "EMERGENCY_PARSER is not yet implemented for STM32F1. Disable EMERGENCY_PARSER to continue." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on STM32F1." #endif #if !defined(HAVE_SW_SERIAL) && HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/STM32_F4_F7/inc/SanityCheck.h b/Marlin/src/HAL/STM32_F4_F7/inc/SanityCheck.h index 53b15ba1909a..9bb36f3bbbca 100644 --- a/Marlin/src/HAL/STM32_F4_F7/inc/SanityCheck.h +++ b/Marlin/src/HAL/STM32_F4_F7/inc/SanityCheck.h @@ -32,8 +32,8 @@ #error "EMERGENCY_PARSER is not yet implemented for STM32F4/7. Disable EMERGENCY_PARSER to continue." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on STM32F4/F7." #endif #if HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h index 0b731a61d3b6..3932ee6a76c1 100644 --- a/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h +++ b/Marlin/src/HAL/TEENSY31_32/inc/SanityCheck.h @@ -29,8 +29,8 @@ #error "EMERGENCY_PARSER is not yet implemented for Teensy 3.1/3.2. Disable EMERGENCY_PARSER to continue." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 3.1/3.2." #endif #if HAS_TMC_SW_SERIAL diff --git a/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h index 36b8018085c4..ee80e42696fa 100644 --- a/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h +++ b/Marlin/src/HAL/TEENSY35_36/inc/SanityCheck.h @@ -29,8 +29,8 @@ #error "EMERGENCY_PARSER is not yet implemented for Teensy 3.5/3.6. Disable EMERGENCY_PARSER to continue." #endif -#if ENABLED(FAST_PWM_FAN) - #error "FAST_PWM_FAN is not yet implemented for this platform." +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 3.5/3.6." #endif #if HAS_TMC_SW_SERIAL From 96e29cd7e5aa91fad72788251caf6ffd38df4624 Mon Sep 17 00:00:00 2001 From: Julius Mumme Date: Sun, 16 Aug 2020 05:50:28 +0200 Subject: [PATCH 033/277] Fix IS_PROBE_PIN macro (#19024) --- Marlin/src/inc/Conditionals_post.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index e12310e07c51..b26523a98666 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -1618,7 +1618,7 @@ // // Is an endstop plug used for extra Z endstops or the probe? -#define IS_PROBE_PIN(A,M) (HAS_CUSTOM_PROBE_PIN && Z_MIN_PROBE_PIN == P) +#define IS_PROBE_PIN(A,M) (HAS_CUSTOM_PROBE_PIN && Z_MIN_PROBE_PIN == A##_##M##_PIN) #define IS_X2_ENDSTOP(A,M) (ENABLED(X_DUAL_ENDSTOPS) && X2_USE_ENDSTOP == _##A##M##_) #define IS_Y2_ENDSTOP(A,M) (ENABLED(Y_DUAL_ENDSTOPS) && Y2_USE_ENDSTOP == _##A##M##_) #define IS_Z2_ENDSTOP(A,M) (ENABLED(Z_MULTI_ENDSTOPS) && Z2_USE_ENDSTOP == _##A##M##_) From ca194ca52ee63fe319305a79e396b8b013b4c935 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 27 Aug 2020 22:19:41 -0500 Subject: [PATCH 034/277] Version 2.0.6.1 --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- config/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 37112317dd57..5ce04b290367 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.6" +//#define SHORT_BUILD_VERSION "2.0.6.1" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index d032b7c2aed6..74d0cf2ab5af 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.6" + #define SHORT_BUILD_VERSION "2.0.6.1" #endif /** diff --git a/config/README.md b/config/README.md index e7d7bd8d859c..906c9dd71cb5 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.1.zip From 9913333c33d234264a9072630e8b5ffbf07bad7e Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 3 Sep 2020 21:27:59 -0700 Subject: [PATCH 035/277] Auto-label Feature Requests (#19258) --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index ff3b6b06d844..24de8d01419b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -2,7 +2,7 @@ name: Feature request about: Request a Feature title: "[FR] (feature request title)" -labels: '' +labels: 'T: Feature Request' assignees: '' --- From 049fbc92a99d83178a5b99b14539b4ceeba8d5d4 Mon Sep 17 00:00:00 2001 From: bilsef Date: Wed, 9 Sep 2020 16:57:20 -0700 Subject: [PATCH 036/277] Support for Teensy 4 (#19311) --- Marlin/src/HAL/TEENSY40_41/HAL.cpp | 167 ++++++++++++++++ Marlin/src/HAL/TEENSY40_41/HAL.h | 180 ++++++++++++++++++ Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp | 138 ++++++++++++++ Marlin/src/HAL/TEENSY40_41/Servo.cpp | 57 ++++++ Marlin/src/HAL/TEENSY40_41/Servo.h | 39 ++++ Marlin/src/HAL/TEENSY40_41/eeprom.cpp | 77 ++++++++ .../src/HAL/TEENSY40_41/endstop_interrupts.h | 66 +++++++ Marlin/src/HAL/TEENSY40_41/fastio.h | 58 ++++++ .../HAL/TEENSY40_41/inc/Conditionals_LCD.h | 26 +++ .../HAL/TEENSY40_41/inc/Conditionals_adv.h | 22 +++ .../HAL/TEENSY40_41/inc/Conditionals_post.h | 26 +++ Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h | 38 ++++ Marlin/src/HAL/TEENSY40_41/pinsDebug.h | 146 ++++++++++++++ Marlin/src/HAL/TEENSY40_41/spi_pins.h | 27 +++ Marlin/src/HAL/TEENSY40_41/timers.cpp | 114 +++++++++++ Marlin/src/HAL/TEENSY40_41/timers.h | 119 ++++++++++++ Marlin/src/HAL/TEENSY40_41/watchdog.cpp | 52 +++++ Marlin/src/HAL/TEENSY40_41/watchdog.h | 30 +++ Marlin/src/HAL/platforms.h | 2 + .../src/HAL/shared/backtrace/unwmemaccess.cpp | 13 ++ Marlin/src/HAL/shared/servo.h | 2 + Marlin/src/core/boards.h | 5 + Marlin/src/libs/private_spi.h | 2 +- Marlin/src/module/motion.h | 16 +- Marlin/src/pins/pins.h | 4 + Marlin/src/pins/teensy4/pins_T41U5XBB.h | 119 ++++++++++++ Marlin/src/pins/teensy4/pins_TEENSY41.h | 129 +++++++++++++ README.md | 7 + buildroot/share/git/mftest | 4 +- buildroot/tests/teensy41-tests | 123 ++++++++++++ platformio.ini | 13 ++ 31 files changed, 1814 insertions(+), 7 deletions(-) create mode 100644 Marlin/src/HAL/TEENSY40_41/HAL.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/HAL.h create mode 100644 Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/Servo.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/Servo.h create mode 100644 Marlin/src/HAL/TEENSY40_41/eeprom.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h create mode 100644 Marlin/src/HAL/TEENSY40_41/fastio.h create mode 100644 Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h create mode 100644 Marlin/src/HAL/TEENSY40_41/inc/Conditionals_adv.h create mode 100644 Marlin/src/HAL/TEENSY40_41/inc/Conditionals_post.h create mode 100644 Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h create mode 100644 Marlin/src/HAL/TEENSY40_41/pinsDebug.h create mode 100644 Marlin/src/HAL/TEENSY40_41/spi_pins.h create mode 100644 Marlin/src/HAL/TEENSY40_41/timers.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/timers.h create mode 100644 Marlin/src/HAL/TEENSY40_41/watchdog.cpp create mode 100644 Marlin/src/HAL/TEENSY40_41/watchdog.h create mode 100644 Marlin/src/pins/teensy4/pins_T41U5XBB.h create mode 100644 Marlin/src/pins/teensy4/pins_TEENSY41.h create mode 100644 buildroot/tests/teensy41-tests diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.cpp b/Marlin/src/HAL/TEENSY40_41/HAL.cpp new file mode 100644 index 000000000000..f5d37f5fc44d --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/HAL.cpp @@ -0,0 +1,167 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Description: HAL for Teensy40 (IMXRT1062) + */ + +#ifdef __IMXRT1062__ + +#include "HAL.h" +#include "../shared/Delay.h" +#include "timers.h" + +#include + +uint16_t HAL_adc_result, HAL_adc_select; + +static const uint8_t pin2sc1a[] = { + 0x07, // 0/A0 AD_B1_02 + 0x08, // 1/A1 AD_B1_03 + 0x0C, // 2/A2 AD_B1_07 + 0x0B, // 3/A3 AD_B1_06 + 0x06, // 4/A4 AD_B1_01 + 0x05, // 5/A5 AD_B1_00 + 0x0F, // 6/A6 AD_B1_10 + 0x00, // 7/A7 AD_B1_11 + 0x0D, // 8/A8 AD_B1_08 + 0x0E, // 9/A9 AD_B1_09 + 0x01, // 24/A10 AD_B0_12 + 0x02, // 25/A11 AD_B0_13 + 0x83, // 26/A12 AD_B1_14 - only on ADC2, 3 + 0x84, // 27/A13 AD_B1_15 - only on ADC2, 4 + 0x07, // 14/A0 AD_B1_02 + 0x08, // 15/A1 AD_B1_03 + 0x0C, // 16/A2 AD_B1_07 + 0x0B, // 17/A3 AD_B1_06 + 0x06, // 18/A4 AD_B1_01 + 0x05, // 19/A5 AD_B1_00 + 0x0F, // 20/A6 AD_B1_10 + 0x00, // 21/A7 AD_B1_11 + 0x0D, // 22/A8 AD_B1_08 + 0x0E, // 23/A9 AD_B1_09 + 0x01, // 24/A10 AD_B0_12 + 0x02, // 25/A11 AD_B0_13 + 0x83, // 26/A12 AD_B1_14 - only on ADC2, 3 + 0x84, // 27/A13 AD_B1_15 - only on ADC2, 4 + #ifdef ARDUINO_TEENSY41 + 0xFF, // 28 + 0xFF, // 29 + 0xFF, // 30 + 0xFF, // 31 + 0xFF, // 32 + 0xFF, // 33 + 0xFF, // 34 + 0xFF, // 35 + 0xFF, // 36 + 0xFF, // 37 + 0x81, // 38/A14 AD_B1_12 - only on ADC2, 1 + 0x82, // 39/A15 AD_B1_13 - only on ADC2, 2 + 0x09, // 40/A16 AD_B1_04 + 0x0A, // 41/A17 AD_B1_05 + #endif +}; + +/* +// disable interrupts +void cli() { noInterrupts(); } + +// enable interrupts +void sei() { interrupts(); } +*/ + +void HAL_adc_init() { + analog_init(); + while (ADC1_GC & ADC_GC_CAL) ; + while (ADC2_GC & ADC_GC_CAL) ; +} + +void HAL_clear_reset_source() { + uint32_t reset_source = SRC_SRSR; + SRC_SRSR = reset_source; + } + +uint8_t HAL_get_reset_source() { + switch (SRC_SRSR & 0xFF) { + case 1: return RST_POWER_ON; break; + case 2: return RST_SOFTWARE; break; + case 4: return RST_EXTERNAL; break; + // case 8: return RST_BROWN_OUT; break; + case 16: return RST_WATCHDOG; break; + case 64: return RST_JTAG; break; + // case 128: return RST_OVERTEMP; break; + } + return 0; +} + +#define __bss_end _ebss + +extern "C" { + extern char __bss_end; + extern char __heap_start; + extern void* __brkval; + + // Doesn't work on Teensy 4.x + uint32_t freeMemory() { + uint32_t free_memory; + if ((uint32_t)__brkval == 0) + free_memory = ((uint32_t)&free_memory) - ((uint32_t)&__bss_end); + else + free_memory = ((uint32_t)&free_memory) - ((uint32_t)__brkval); + return free_memory; + } +} + +void HAL_adc_start_conversion(const uint8_t adc_pin) { + const uint16_t pin = pin2sc1a[adc_pin]; + if (pin == 0xFF) { + HAL_adc_select = -1; // Digital only + } + else if (pin & 0x80) { + HAL_adc_select = 1; + ADC2_HC0 = pin & 0x7F; + } + else { + HAL_adc_select = 0; + ADC1_HC0 = pin; + } +} + +uint16_t HAL_adc_get_result() { + switch (HAL_adc_select) { + case 0: + while (!(ADC1_HS & ADC_HS_COCO0)) ; // wait + return ADC1_R0; + case 1: + while (!(ADC2_HS & ADC_HS_COCO0)) ; // wait + return ADC2_R0; + } + return 0; +} + +bool is_output(uint8_t pin) { + const struct digital_pin_bitband_and_config_table_struct *p; + p = digital_pin_to_info_PGM + pin; + return (*(p->reg + 1) & p->mask); +} + +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h new file mode 100644 index 000000000000..0626d4ee9cda --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -0,0 +1,180 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Description: HAL for Teensy 4.0 and Teensy 4.1 + */ + +#define CPU_32_BIT + +#include "../shared/Marduino.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" + +#include "fastio.h" +#include "watchdog.h" + +#include +#include + +//#define ST7920_DELAY_1 DELAY_NS(600) +//#define ST7920_DELAY_2 DELAY_NS(750) +//#define ST7920_DELAY_3 DELAY_NS(750) + +// ------------------------ +// Defines +// ------------------------ + +#ifdef __IMXRT1062__ + #define IS_32BIT_TEENSY 1 + #define IS_TEENSY41 1 +#endif + +#if SERIAL_PORT == -1 + #define MYSERIAL0 SerialUSB +#elif SERIAL_PORT == 0 + #define MYSERIAL0 Serial +#elif SERIAL_PORT == 1 + #define MYSERIAL0 Serial1 +#elif SERIAL_PORT == 2 + #define MYSERIAL0 Serial2 +#elif SERIAL_PORT == 3 + #define MYSERIAL0 Serial3 +#elif SERIAL_PORT == 4 + #define MYSERIAL0 Serial4 +#elif SERIAL_PORT == 5 + #define MYSERIAL0 Serial5 +#elif SERIAL_PORT == 6 + #define MYSERIAL0 Serial6 +#elif SERIAL_PORT == 7 + #define MYSERIAL0 Serial7 +#elif SERIAL_PORT == 8 + #define MYSERIAL0 Serial8 +#else + #error "The required SERIAL_PORT must be from -1 to 8. Please update your configuration." +#endif + +#ifdef SERIAL_PORT_2 + #if SERIAL_PORT_2 == SERIAL_PORT + #error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration." + #elif SERIAL_PORT_2 == -1 + #define MYSERIAL1 usbSerial + #elif SERIAL_PORT_2 == 0 + #define MYSERIAL1 Serial + #elif SERIAL_PORT_2 == 1 + #define MYSERIAL1 Serial1 + #elif SERIAL_PORT_2 == 2 + #define MYSERIAL1 Serial2 + #elif SERIAL_PORT_2 == 3 + #define MYSERIAL1 Serial3 + #elif SERIAL_PORT_2 == 4 + #define MYSERIAL1 Serial4 + #elif SERIAL_PORT_2 == 5 + #define MYSERIAL1 Serial5 + #elif SERIAL_PORT_2 == 6 + #define MYSERIAL1 Serial6 + #elif SERIAL_PORT_2 == 7 + #define MYSERIAL1 Serial7 + #elif SERIAL_PORT_2 == 8 + #define MYSERIAL1 Serial8 + #else + #error "SERIAL_PORT_2 must be from -1 to 8. Please update your configuration." + #endif + #define NUM_SERIAL 2 +#else + #define NUM_SERIAL 1 +#endif + +#define HAL_SERVO_LIB libServo + +typedef int8_t pin_t; + +#ifndef analogInputToDigitalPin + #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) +#endif + +#define CRITICAL_SECTION_START() uint32_t primask = __get_primask(); __disable_irq() +#define CRITICAL_SECTION_END() if (!primask) __enable_irq() +#define ISRS_ENABLED() (!__get_primask()) +#define ENABLE_ISRS() __enable_irq() +#define DISABLE_ISRS() __disable_irq() + +#undef sq +#define sq(x) ((x)*(x)) + +#ifndef strncpy_P + #define strncpy_P(dest, src, num) strncpy((dest), (src), (num)) +#endif + +// Don't place string constants in PROGMEM +#undef PSTR +#define PSTR(str) ({static const char *data = (str); &data[0];}) + +// Fix bug in pgm_read_ptr +#undef pgm_read_ptr +#define pgm_read_ptr(addr) (*((void**)(addr))) +// Add type-checking to pgm_read_word +#undef pgm_read_word +#define pgm_read_word(addr) (*((uint16_t*)(addr))) + +// Enable hooks into idle and setup for HAL +#define HAL_IDLETASK 1 +FORCE_INLINE void HAL_idletask() {} +FORCE_INLINE void HAL_init() {} + +// Clear reset reason +void HAL_clear_reset_source(); + +// Reset reason +uint8_t HAL_get_reset_source(); + +FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-function" +extern "C" { + uint32_t freeMemory(); +} +#pragma GCC diagnostic pop + +// ADC + +void HAL_adc_init(); + +#define HAL_ADC_VREF 3.3 +#define HAL_ADC_RESOLUTION 10 +#define HAL_ADC_FILTERED // turn off ADC oversampling +#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin) +#define HAL_READ_ADC() HAL_adc_get_result() +#define HAL_ADC_READY() true + +#define HAL_ANALOG_SELECT(pin) + +void HAL_adc_start_conversion(const uint8_t adc_pin); +uint16_t HAL_adc_get_result(); + +#define GET_PIN_MAP_PIN(index) index +#define GET_PIN_MAP_INDEX(pin) pin +#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) + +bool is_output(uint8_t pin); diff --git a/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp b/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp new file mode 100644 index 000000000000..9ccbb3a1f45b --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp @@ -0,0 +1,138 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#ifdef __IMXRT1062__ + +#include "HAL.h" +#include +#include +#include "spi_pins.h" +#include "../../core/macros.h" + +static SPISettings spiConfig; + +// ------------------------ +// Public functions +// ------------------------ + +#if ENABLED(SOFTWARE_SPI) + // ------------------------ + // Software SPI + // ------------------------ + #error "Software SPI not supported for Teensy 4. Use Hardware SPI." +#else + +// ------------------------ +// Hardware SPI +// ------------------------ + +void spiBegin() { + #ifndef SS_PIN + #error "SS_PIN is not defined!" + #endif + + OUT_WRITE(SS_PIN, HIGH); + + //SET_OUTPUT(SCK_PIN); + //SET_INPUT(MISO_PIN); + //SET_OUTPUT(MOSI_PIN); + + #if 0 && DISABLED(SOFTWARE_SPI) + // set SS high - may be chip select for another SPI device + #if SET_SPI_SS_HIGH + WRITE(SS_PIN, HIGH); + #endif + // set a default rate + spiInit(SPI_HALF_SPEED); // 1 + #endif +} + +void spiInit(uint8_t spiRate) { + // Use Marlin data-rates + uint32_t clock; + switch (spiRate) { + case SPI_FULL_SPEED: clock = 10000000; break; + case SPI_HALF_SPEED: clock = 5000000; break; + case SPI_QUARTER_SPEED: clock = 2500000; break; + case SPI_EIGHTH_SPEED: clock = 1250000; break; + case SPI_SPEED_5: clock = 625000; break; + case SPI_SPEED_6: clock = 312500; break; + default: + clock = 4000000; // Default from the SPI libarary + } + spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); + SPI.begin(); +} + +uint8_t spiRec() { + SPI.beginTransaction(spiConfig); + uint8_t returnByte = SPI.transfer(0xFF); + SPI.endTransaction(); + return returnByte; + //SPDR = 0xFF; + //while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + //return SPDR; +} + +void spiRead(uint8_t* buf, uint16_t nbyte) { + SPI.beginTransaction(spiConfig); + SPI.transfer(buf, nbyte); + SPI.endTransaction(); + //if (nbyte-- == 0) return; + // SPDR = 0xFF; + //for (uint16_t i = 0; i < nbyte; i++) { + // while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + // buf[i] = SPDR; + // SPDR = 0xFF; + //} + //while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } + //buf[nbyte] = SPDR; +} + +void spiSend(uint8_t b) { + SPI.beginTransaction(spiConfig); + SPI.transfer(b); + SPI.endTransaction(); + //SPDR = b; + //while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } +} + +void spiSendBlock(uint8_t token, const uint8_t* buf) { + SPI.beginTransaction(spiConfig); + SPDR = token; + for (uint16_t i = 0; i < 512; i += 2) { + while (!TEST(SPSR, SPIF)) { /* nada */ }; + SPDR = buf[i]; + while (!TEST(SPSR, SPIF)) { /* nada */ }; + SPDR = buf[i + 1]; + } + while (!TEST(SPSR, SPIF)) { /* nada */ }; + SPI.endTransaction(); +} + +// Begin SPI transaction, set clock, bit order, data mode +void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) { + spiConfig = SPISettings(spiClock, bitOrder, dataMode); + SPI.beginTransaction(spiConfig); +} + +#endif // SOFTWARE_SPI +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/Servo.cpp b/Marlin/src/HAL/TEENSY40_41/Servo.cpp new file mode 100644 index 000000000000..e3d0d034499d --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/Servo.cpp @@ -0,0 +1,57 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#ifdef __IMXRT1062__ + +#include "../../inc/MarlinConfig.h" + +#if HAS_SERVOS + +#include "Servo.h" + +int8_t libServo::attach(const int inPin) { + if (inPin > 0) servoPin = inPin; + return super::attach(servoPin); +} + +int8_t libServo::attach(const int inPin, const int inMin, const int inMax) { + if (inPin > 0) servoPin = inPin; + return super::attach(servoPin, inMin, inMax); +} + +void libServo::move(const int value) { + constexpr uint16_t servo_delay[] = SERVO_DELAY; + static_assert(COUNT(servo_delay) == NUM_SERVOS, "SERVO_DELAY must be an array NUM_SERVOS long."); + if (attach(0) >= 0) { + write(value); + safe_delay(servo_delay[servoIndex]); + TERN_(DEACTIVATE_SERVOS_AFTER_MOVE, detach()); + } +} + +void libServo::detach() { + // PWMServo library does not have detach() function + //super::detach(); +} + +#endif // HAS_SERVOS + +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/Servo.h b/Marlin/src/HAL/TEENSY40_41/Servo.h new file mode 100644 index 000000000000..ce910ed8a854 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/Servo.h @@ -0,0 +1,39 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include + +// Inherit and expand on core Servo library +class libServo : public PWMServo { + public: + int8_t attach(const int pin); + int8_t attach(const int pin, const int min, const int max); + void move(const int value); + void detach(void); + private: + typedef PWMServo super; + uint8_t servoPin; + uint16_t min_ticks; + uint16_t max_ticks; + uint8_t servoIndex; // Index into the channel data for this servo +}; diff --git a/Marlin/src/HAL/TEENSY40_41/eeprom.cpp b/Marlin/src/HAL/TEENSY40_41/eeprom.cpp new file mode 100644 index 000000000000..5491e04fbcc7 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/eeprom.cpp @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#ifdef __IMXRT1062__ + +#include "../../inc/MarlinConfig.h" + +#if USE_WIRED_EEPROM + +/** + * PersistentStore for Arduino-style EEPROM interface + * with implementations supplied by the framework. + */ + +#include "../shared/eeprom_api.h" +#include + +#ifndef MARLIN_EEPROM_SIZE + #define MARLIN_EEPROM_SIZE size_t(E2END + 1) +#endif +size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; } + +bool PersistentStore::access_start() { return true; } +bool PersistentStore::access_finish() { return true; } + +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { + while (size--) { + uint8_t * const p = (uint8_t * const)pos; + uint8_t v = *value; + // EEPROM has only ~100,000 write cycles, + // so only write bytes that have changed! + if (v != eeprom_read_byte(p)) { + eeprom_write_byte(p, v); + if (eeprom_read_byte(p) != v) { + SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE); + return true; + } + } + crc16(crc, &v, 1); + pos++; + value++; + } + return false; +} + +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) { + do { + uint8_t c = eeprom_read_byte((uint8_t*)pos); + if (writing) *value = c; + crc16(crc, &c, 1); + pos++; + value++; + } while (--size); + return false; +} + +#endif // USE_WIRED_EEPROM +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h new file mode 100644 index 000000000000..92e22efc0fe6 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Endstop Interrupts + * + * Without endstop interrupts the endstop pins must be polled continually in + * the temperature-ISR via endstops.update(), most of the time finding no change. + * With this feature endstops.update() is called only when we know that at + * least one endstop has changed state, saving valuable CPU cycles. + * + * This feature only works when all used endstop pins can generate an 'external interrupt'. + * + * Test whether pins issue interrupts on your board by flashing 'pin_interrupt_test.ino'. + * (Located in Marlin/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino) + */ + +#include "../../module/endstops.h" + +// One ISR for all EXT-Interrupts +void endstop_ISR() { endstops.update(); } + +/** + * Endstop interrupts for Due based targets. + * On Due, all pins support external interrupt capability. + */ +void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) + TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN, _ATTACH(Z_MIN_PIN)); + TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); +} diff --git a/Marlin/src/HAL/TEENSY40_41/fastio.h b/Marlin/src/HAL/TEENSY40_41/fastio.h new file mode 100644 index 000000000000..19b8114509b7 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/fastio.h @@ -0,0 +1,58 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * Copyright (c) 2017 Victor Perez + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Fast I/O interfaces for Teensy 4 + * These use GPIO functions instead of Direct Port Manipulation, as on AVR. + */ + +#ifndef PWM + #define PWM OUTPUT +#endif + +#define READ(IO) digitalRead(IO) +#define WRITE(IO,V) digitalWrite(IO,V) + +#define _GET_MODE(IO) !is_output(IO) +#define _SET_MODE(IO,M) pinMode(IO, M) +#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) /*!< Output Push Pull Mode & GPIO_NOPULL */ + +#define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) + +#define SET_INPUT(IO) _SET_MODE(IO, INPUT) /*!< Input Floating Mode */ +#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) /*!< Input with Pull-up activation */ +#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, INPUT_PULLDOWN) /*!< Input with Pull-down activation */ +#define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) +#define SET_PWM(IO) _SET_MODE(IO, PWM) + +#define TOGGLE(IO) OUT_WRITE(IO, !READ(IO)) + +#define IS_INPUT(IO) !is_output(IO) +#define IS_OUTPUT(IO) is_output(IO) + +#define PWM_PIN(P) digitalPinHasPWM(P) + +// digitalRead/Write wrappers +#define extDigitalRead(IO) digitalRead(IO) +#define extDigitalWrite(IO,V) digitalWrite(IO,V) diff --git a/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h new file mode 100644 index 000000000000..6a8540927b97 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_LCD.h @@ -0,0 +1,26 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/TEENSY40_41." +#endif diff --git a/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_adv.h b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_adv.h new file mode 100644 index 000000000000..5f1c4b16019d --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_adv.h @@ -0,0 +1,22 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once diff --git a/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_post.h b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_post.h new file mode 100644 index 000000000000..998f1dcc0d73 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/inc/Conditionals_post.h @@ -0,0 +1,26 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#if USE_FALLBACK_EEPROM + #define USE_WIRED_EEPROM 1 +#endif diff --git a/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h b/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h new file mode 100644 index 000000000000..fbfe7b0fc3d4 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/inc/SanityCheck.h @@ -0,0 +1,38 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Test TEENSY41 specific configuration values for errors at compile-time. + */ + +#if ENABLED(EMERGENCY_PARSER) + #error "EMERGENCY_PARSER is not yet implemented for Teensy 4.0/4.1. Disable EMERGENCY_PARSER to continue." +#endif + +#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY + #error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on Teensy 4.0/4.1." +#endif + +#if HAS_TMC_SW_SERIAL + #error "TMC220x Software Serial is not supported on this platform." +#endif diff --git a/Marlin/src/HAL/TEENSY40_41/pinsDebug.h b/Marlin/src/HAL/TEENSY40_41/pinsDebug.h new file mode 100644 index 000000000000..890f66865011 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/pinsDebug.h @@ -0,0 +1,146 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#warning "PINS_DEBUGGING is not fully supported for Teensy 4.0 / 4.1 so 'M43' may cause hangs." + +#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS + +#define digitalRead_mod(p) extDigitalRead(p) // AVR digitalRead disabled PWM before it read the pin +#define PRINT_PORT(p) +#define PRINT_ARRAY_NAME(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0) +#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%02d"), p); SERIAL_ECHO(buffer); }while(0) +#define GET_ARRAY_PIN(p) pin_array[p].pin +#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital +#define VALID_PIN(pin) (pin >= 0 && pin < (int8_t)NUMBER_PINS_TOTAL ? 1 : 0) +#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0)) +#define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(0) && (P) <= analogInputToDigitalPin(13)) || ((P) >= analogInputToDigitalPin(14) && (P) <= analogInputToDigitalPin(17)) +#define pwm_status(pin) HAL_pwm_status(pin) +#define GET_PINMODE(PIN) (VALID_PIN(pin) && IS_OUTPUT(pin)) +#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin + +struct pwm_pin_info_struct { + uint8_t type; // 0=no pwm, 1=flexpwm, 2=quad + uint8_t module; // 0-3, 0-3 + uint8_t channel; // 0=X, 1=A, 2=B + uint8_t muxval; // +}; + +#define M(a, b) ((((a) - 1) << 4) | (b)) + +const struct pwm_pin_info_struct pwm_pin_info[] = { + {1, M(1, 1), 0, 4}, // FlexPWM1_1_X 0 // AD_B0_03 + {1, M(1, 0), 0, 4}, // FlexPWM1_0_X 1 // AD_B0_02 + {1, M(4, 2), 1, 1}, // FlexPWM4_2_A 2 // EMC_04 + {1, M(4, 2), 2, 1}, // FlexPWM4_2_B 3 // EMC_05 + {1, M(2, 0), 1, 1}, // FlexPWM2_0_A 4 // EMC_06 + {1, M(2, 1), 1, 1}, // FlexPWM2_1_A 5 // EMC_08 + {1, M(2, 2), 1, 2}, // FlexPWM2_2_A 6 // B0_10 + {1, M(1, 3), 2, 6}, // FlexPWM1_3_B 7 // B1_01 + {1, M(1, 3), 1, 6}, // FlexPWM1_3_A 8 // B1_00 + {1, M(2, 2), 2, 2}, // FlexPWM2_2_B 9 // B0_11 + {2, M(1, 0), 0, 1}, // QuadTimer1_0 10 // B0_00 + {2, M(1, 2), 0, 1}, // QuadTimer1_2 11 // B0_02 + {2, M(1, 1), 0, 1}, // QuadTimer1_1 12 // B0_01 + {2, M(2, 0), 0, 1}, // QuadTimer2_0 13 // B0_03 + {2, M(3, 2), 0, 1}, // QuadTimer3_2 14 // AD_B1_02 + {2, M(3, 3), 0, 1}, // QuadTimer3_3 15 // AD_B1_03 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {2, M(3, 1), 0, 1}, // QuadTimer3_1 18 // AD_B1_01 + {2, M(3, 0), 0, 1}, // QuadTimer3_0 19 // AD_B1_00 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {1, M(4, 0), 1, 1}, // FlexPWM4_0_A 22 // AD_B1_08 + {1, M(4, 1), 1, 1}, // FlexPWM4_1_A 23 // AD_B1_09 + {1, M(1, 2), 0, 4}, // FlexPWM1_2_X 24 // AD_B0_12 + {1, M(1, 3), 0, 4}, // FlexPWM1_3_X 25 // AD_B0_13 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {1, M(3, 1), 2, 1}, // FlexPWM3_1_B 28 // EMC_32 + {1, M(3, 1), 1, 1}, // FlexPWM3_1_A 29 // EMC_31 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {1, M(2, 0), 2, 1}, // FlexPWM2_0_B 33 // EMC_07 + #ifdef ARDUINO_TEENSY40 + {1, M(1, 1), 2, 1}, // FlexPWM1_1_B 34 // SD_B0_03 + {1, M(1, 1), 1, 1}, // FlexPWM1_1_A 35 // SD_B0_02 + {1, M(1, 0), 2, 1}, // FlexPWM1_0_B 36 // SD_B0_01 + {1, M(1, 0), 1, 1}, // FlexPWM1_0_A 37 // SD_B0_00 + {1, M(1, 2), 2, 1}, // FlexPWM1_2_B 38 // SD_B0_05 + {1, M(1, 2), 1, 1}, // FlexPWM1_2_A 39 // SD_B0_04 + #endif + #ifdef ARDUINO_TEENSY41 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {1, M(2, 3), 1, 6}, // FlexPWM2_3_A 36 // B1_00 + {1, M(2, 3), 2, 6}, // FlexPWM2_3_B 37 // B1_01 + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {0, M(1, 0), 0, 0}, + {1, M(1, 1), 2, 1}, // FlexPWM1_1_B 42 // SD_B0_03 + {1, M(1, 1), 1, 1}, // FlexPWM1_1_A 43 // SD_B0_02 + {1, M(1, 0), 2, 1}, // FlexPWM1_0_B 44 // SD_B0_01 + {1, M(1, 0), 1, 1}, // FlexPWM1_0_A 45 // SD_B0_00 + {1, M(1, 2), 2, 1}, // FlexPWM1_2_B 46 // SD_B0_05 + {1, M(1, 2), 1, 1}, // FlexPWM1_2_A 47 // SD_B0_04 + {0, M(1, 0), 0, 0}, // duplicate FlexPWM1_0_B + {0, M(1, 0), 0, 0}, // duplicate FlexPWM1_2_A + {0, M(1, 0), 0, 0}, // duplicate FlexPWM1_2_B + {1, M(3, 3), 2, 1}, // FlexPWM3_3_B 51 // EMC_22 + {0, M(1, 0), 0, 0}, // duplicate FlexPWM1_1_B + {0, M(1, 0), 0, 0}, // duplicate FlexPWM1_1_A + {1, M(3, 0), 1, 1}, // FlexPWM3_0_A 53 // EMC_29 + #endif +}; + +void HAL_print_analog_pin(char buffer[], int8_t pin) { + if (pin <= 23) sprintf_P(buffer, PSTR("(A%2d) "), int(pin - 14)); + else if (pin <= 41) sprintf_P(buffer, PSTR("(A%2d) "), int(pin - 24)); +} + +void HAL_analog_pin_state(char buffer[], int8_t pin) { + if (pin <= 23) sprintf_P(buffer, PSTR("Analog in =% 5d"), analogRead(pin - 14)); + else if (pin <= 41) sprintf_P(buffer, PSTR("Analog in =% 5d"), analogRead(pin - 24)); +} + +#define PWM_PRINT(V) do{ sprintf_P(buffer, PSTR("PWM: %4d"), V); SERIAL_ECHO(buffer); }while(0) + +/** + * Print a pin's PWM status. + * Return true if it's currently a PWM pin. + */ +bool HAL_pwm_status(int8_t pin) { + char buffer[20]; // for the sprintf statements + const struct pwm_pin_info_struct *info; + + if (pin >= CORE_NUM_DIGITAL) return 0; + info = pwm_pin_info + pin; + + if (info->type == 0) return 0; + + /* TODO decode pwm value from timers */ + // for now just indicate if output is set as pwm + PWM_PRINT(*(portConfigRegister(pin)) == info->muxval); + return (*(portConfigRegister(pin)) == info->muxval); +} + +static void pwm_details(uint8_t pin) { /* TODO */ } diff --git a/Marlin/src/HAL/TEENSY40_41/spi_pins.h b/Marlin/src/HAL/TEENSY40_41/spi_pins.h new file mode 100644 index 000000000000..276d4f456a7f --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/spi_pins.h @@ -0,0 +1,27 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define SCK_PIN 13 +#define MISO_PIN 12 +#define MOSI_PIN 11 +#define SS_PIN 20 // SDSS // A.28, A.29, B.21, C.26, C.29 diff --git a/Marlin/src/HAL/TEENSY40_41/timers.cpp b/Marlin/src/HAL/TEENSY40_41/timers.cpp new file mode 100644 index 000000000000..15f5185a6ba0 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/timers.cpp @@ -0,0 +1,114 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * Teensy4.0/4.1 (__IMXRT1062__) + */ + +#ifdef __IMXRT1062__ + +#include "../../inc/MarlinConfig.h" + +void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { + switch (timer_num) { + case 0: + CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL; // turn off 24mhz mode + CCM_CCGR1 |= CCM_CCGR1_GPT1_BUS(CCM_CCGR_ON); + + GPT1_CR = 0; // disable timer + GPT1_SR = 0x3F; // clear all prior status + GPT1_PR = GPT1_TIMER_PRESCALE - 1; + GPT1_CR |= GPT_CR_CLKSRC(1); //clock selection #1 (peripheral clock = 150 MHz) + GPT1_CR |= GPT_CR_ENMOD; //reset count to zero before enabling + GPT1_CR |= GPT_CR_OM1(1); // toggle mode + GPT1_OCR1 = (GPT1_TIMER_RATE / frequency) -1; // Initial compare value + GPT1_IR = GPT_IR_OF1IE; // Compare3 value + GPT1_CR |= GPT_CR_EN; //enable GPT2 counting at 150 MHz + + OUT_WRITE(15, HIGH); + attachInterruptVector(IRQ_GPT1, &stepTC_Handler); + NVIC_SET_PRIORITY(IRQ_GPT1, 16); + break; + case 1: + CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL; // turn off 24mhz mode + CCM_CCGR0 |= CCM_CCGR0_GPT2_BUS(CCM_CCGR_ON); + + GPT2_CR = 0; // disable timer + GPT2_SR = 0x3F; // clear all prior status + GPT2_PR = GPT2_TIMER_PRESCALE - 1; + GPT2_CR |= GPT_CR_CLKSRC(1); //clock selection #1 (peripheral clock = 150 MHz) + GPT2_CR |= GPT_CR_ENMOD; //reset count to zero before enabling + GPT2_CR |= GPT_CR_OM1(1); // toggle mode + GPT2_OCR1 = (GPT2_TIMER_RATE / frequency) -1; // Initial compare value + GPT2_IR = GPT_IR_OF1IE; // Compare3 value + GPT2_CR |= GPT_CR_EN; //enable GPT2 counting at 150 MHz + + OUT_WRITE(14, HIGH); + attachInterruptVector(IRQ_GPT2, &tempTC_Handler); + NVIC_SET_PRIORITY(IRQ_GPT2, 32); + break; + } +} + +void HAL_timer_enable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case 0: + NVIC_ENABLE_IRQ(IRQ_GPT1); + break; + case 1: + NVIC_ENABLE_IRQ(IRQ_GPT2); + break; + } +} + +void HAL_timer_disable_interrupt(const uint8_t timer_num) { + switch (timer_num) { + case 0: NVIC_DISABLE_IRQ(IRQ_GPT1); break; + case 1: NVIC_DISABLE_IRQ(IRQ_GPT2); break; + } + + // We NEED memory barriers to ensure Interrupts are actually disabled! + // ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the ) + asm volatile("dsb"); +} + +bool HAL_timer_interrupt_enabled(const uint8_t timer_num) { + switch (timer_num) { + case 0: return (NVIC_IS_ENABLED(IRQ_GPT1)); + case 1: return (NVIC_IS_ENABLED(IRQ_GPT2)); + } + return false; +} + +void HAL_timer_isr_prologue(const uint8_t timer_num) { + switch (timer_num) { + case 0: + GPT1_SR = GPT_IR_OF1IE; // clear OF3 bit + break; + case 1: + GPT2_SR = GPT_IR_OF1IE; // clear OF3 bit + break; + } + asm volatile("dsb"); +} + +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/timers.h b/Marlin/src/HAL/TEENSY40_41/timers.h new file mode 100644 index 000000000000..9c4bf8c274cc --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/timers.h @@ -0,0 +1,119 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +/** + * Description: HAL for + * Teensy4.0/4.1 (__IMXRT1062__) + */ + +#include + +// ------------------------ +// Defines +// ------------------------ + +#define FORCE_INLINE __attribute__((always_inline)) inline + +typedef uint32_t hal_timer_t; +#define HAL_TIMER_TYPE_MAX 0xFFFFFFFE + +#define GPT_TIMER_RATE F_BUS_ACTUAL // 150MHz + +#define GPT1_TIMER_PRESCALE 2 +#define GPT2_TIMER_PRESCALE 10 + +#define GPT1_TIMER_RATE (GPT_TIMER_RATE / GPT1_TIMER_PRESCALE) // 75MHz +#define GPT2_TIMER_RATE (GPT_TIMER_RATE / GPT2_TIMER_PRESCALE) // 15MHz + +#ifndef STEP_TIMER_NUM + #define STEP_TIMER_NUM 0 // Timer Index for Stepper +#endif +#ifndef PULSE_TIMER_NUM + #define PULSE_TIMER_NUM STEP_TIMER_NUM +#endif +#ifndef TEMP_TIMER_NUM + #define TEMP_TIMER_NUM 1 // Timer Index for Temperature +#endif + +#define TEMP_TIMER_RATE 1000000 +#define TEMP_TIMER_FREQUENCY 1000 + +#define STEPPER_TIMER_RATE GPT1_TIMER_RATE +#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) +#define STEPPER_TIMER_PRESCALE ((GPT_TIMER_RATE / 1000000) / STEPPER_TIMER_TICKS_PER_US) + +#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer +#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE +#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US + +#define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM) +#define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM) +#define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(STEP_TIMER_NUM) + +#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM) +#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM) + +#ifndef HAL_STEP_TIMER_ISR + #define HAL_STEP_TIMER_ISR() extern "C" void stepTC_Handler() // GPT1_Handler() +#endif +#ifndef HAL_TEMP_TIMER_ISR + #define HAL_TEMP_TIMER_ISR() extern "C" void tempTC_Handler() // GPT2_Handler() +#endif + +extern "C" void stepTC_Handler(); +extern "C" void tempTC_Handler(); + +void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency); + +FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) { + switch (timer_num) { + case 0: + GPT1_OCR1 = compare - 1; + break; + case 1: + GPT2_OCR1 = compare - 1; + break; + } +} + +FORCE_INLINE static hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) { + switch (timer_num) { + case 0: return GPT1_OCR1; + case 1: return GPT2_OCR1; + } + return 0; +} + +FORCE_INLINE static hal_timer_t HAL_timer_get_count(const uint8_t timer_num) { + switch (timer_num) { + case 0: return GPT1_CNT; + case 1: return GPT2_CNT; + } + return 0; +} + +void HAL_timer_enable_interrupt(const uint8_t timer_num); +void HAL_timer_disable_interrupt(const uint8_t timer_num); +bool HAL_timer_interrupt_enabled(const uint8_t timer_num); + +void HAL_timer_isr_prologue(const uint8_t timer_num); +//void HAL_timer_isr_epilogue(const uint8_t timer_num) {} +#define HAL_timer_isr_epilogue(TIMER_NUM) diff --git a/Marlin/src/HAL/TEENSY40_41/watchdog.cpp b/Marlin/src/HAL/TEENSY40_41/watchdog.cpp new file mode 100644 index 000000000000..4253944f2b79 --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/watchdog.cpp @@ -0,0 +1,52 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#ifdef __IMXRT1062__ + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(USE_WATCHDOG) + +#include "watchdog.h" + +// 4 seconds timeout +#define WDTO 4 //seconds + +uint8_t timeoutval = (WDTO - 0.5f) / 0.5f; + +void watchdog_init() { + + CCM_CCGR3 |= CCM_CCGR3_WDOG1(3); // enable WDOG1 clocks + WDOG1_WMCR = 0; // disable power down PDE + WDOG1_WCR |= WDOG_WCR_SRS | WDOG_WCR_WT(timeoutval); + WDOG1_WCR |= WDOG_WCR_WDE | WDOG_WCR_WDT | WDOG_WCR_SRE; + +} + +void HAL_watchdog_refresh() { + // Watchdog refresh sequence + WDOG1_WSR = 0x5555; + WDOG1_WSR = 0xAAAA; +} + +#endif // USE_WATCHDOG + +#endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/watchdog.h b/Marlin/src/HAL/TEENSY40_41/watchdog.h new file mode 100644 index 000000000000..f10ecb5aef9c --- /dev/null +++ b/Marlin/src/HAL/TEENSY40_41/watchdog.h @@ -0,0 +1,30 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Watchdog for Teensy4.0/4.1 (__IMXRT1062__) + */ + +void watchdog_init(); + +void HAL_watchdog_refresh(); diff --git a/Marlin/src/HAL/platforms.h b/Marlin/src/HAL/platforms.h index d4cec6426774..ef17d19170cc 100644 --- a/Marlin/src/HAL/platforms.h +++ b/Marlin/src/HAL/platforms.h @@ -31,6 +31,8 @@ #define HAL_PATH(PATH, NAME) XSTR(PATH/TEENSY31_32/NAME) #elif defined(__MK64FX512__) || defined(__MK66FX1M0__) #define HAL_PATH(PATH, NAME) XSTR(PATH/TEENSY35_36/NAME) +#elif defined(__IMXRT1062__) + #define HAL_PATH(PATH, NAME) XSTR(PATH/TEENSY40_41/NAME) #elif defined(TARGET_LPC1768) #define HAL_PATH(PATH, NAME) XSTR(PATH/LPC1768/NAME) #elif defined(__STM32F1__) || defined(TARGET_STM32F1) diff --git a/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp b/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp index 02a6ad34f0c7..4b085f90cef5 100644 --- a/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp @@ -129,6 +129,19 @@ #define START_FLASH_ADDR 0x00000000 #define END_FLASH_ADDR 0x00140000 +#elif defined(__IMXRT1062__) + + // For IMXRT1062 in TEENSY 4.0/4/1 + // ITCM (rwx): ORIGIN = 0x00000000, LENGTH = 512K + // DTCM (rwx): ORIGIN = 0x20000000, LENGTH = 512K + // RAM (rwx): ORIGIN = 0x20200000, LENGTH = 512K + // FLASH (rwx): ORIGIN = 0x60000000, LENGTH = 1984K + // + #define START_SRAM_ADDR 0x00000000 + #define END_SRAM_ADDR 0x20280000 + #define START_FLASH_ADDR 0x60000000 + #define END_FLASH_ADDR 0x601F0000 + #elif defined(__SAMD51P20A__) // For SAMD51x20, valid address ranges are diff --git a/Marlin/src/HAL/shared/servo.h b/Marlin/src/HAL/shared/servo.h index f9c478411852..ccaf1f0255df 100644 --- a/Marlin/src/HAL/shared/servo.h +++ b/Marlin/src/HAL/shared/servo.h @@ -71,6 +71,8 @@ #include "../TEENSY31_32/Servo.h" #elif IS_TEENSY35 || IS_TEENSY36 #include "../TEENSY35_36/Servo.h" +#elif IS_TEENSY40 || IS_TEENSY41 + #include "../TEENSY40_41/Servo.h" #elif defined(TARGET_LPC1768) #include "../LPC1768/Servo.h" #elif defined(__STM32F1__) || defined(TARGET_STM32F1) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index c8e1f287548d..e10c49309708 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -356,10 +356,13 @@ #define BOARD_THE_BORG 5000 // THE-BORG (Power outputs: Hotend0, Hotend1, Bed, Fan) #define BOARD_REMRAM_V1 5001 // RemRam v1 +#define BOARD_TEENSY41 5002 // Teensy4.0 and Teensy4.1 +#define BOARD_T41U5XBB 5003 // T41U5XBB Teensy4.1 breakout board // // Espressif ESP32 WiFi // + #define BOARD_ESPRESSIF_ESP32 6000 // Generic ESP32 #define BOARD_MRR_ESPA 6001 // MRR ESPA board based on ESP32 (native pins only) #define BOARD_MRR_ESPE 6002 // MRR ESPE board based on ESP32 (with I2S stepper stream) @@ -368,11 +371,13 @@ // // SAMD51 ARM Cortex M4 // + #define BOARD_AGCM4_RAMPS_144 6100 // RAMPS 1.4.4 // // Custom board // + #define BOARD_CUSTOM 9998 // Custom pins definition for development and/or rare boards // diff --git a/Marlin/src/libs/private_spi.h b/Marlin/src/libs/private_spi.h index c2a054235b48..9c0ffe7486d7 100644 --- a/Marlin/src/libs/private_spi.h +++ b/Marlin/src/libs/private_spi.h @@ -43,7 +43,7 @@ class SPIclass { SET_INPUT_PULLUP(MISO_PIN); } FORCE_INLINE static uint8_t receive() { - #if defined(__AVR__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) + #if defined(__AVR__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1062__) SPDR = 0; for (;!TEST(SPSR, SPIF);); return SPDR; diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index c3f2d9b779a4..052e3180c86e 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -108,22 +108,28 @@ extern int16_t feedrate_percentage; extern float e_move_accumulator; #endif -inline float pgm_read_any(const float *p) { return pgm_read_float(p); } -inline signed char pgm_read_any(const signed char *p) { return pgm_read_byte(p); } +#ifdef __IMXRT1062__ + #define DEFS_PROGMEM +#else + #define DEFS_PROGMEM PROGMEM +#endif + +inline float pgm_read_any(const float *p) { return TERN(__IMXRT1062__, *p, pgm_read_float(p)); } +inline int8_t pgm_read_any(const int8_t *p) { return TERN(__IMXRT1062__, *p, pgm_read_byte(p)); } #define XYZ_DEFS(T, NAME, OPT) \ inline T NAME(const AxisEnum axis) { \ - static const XYZval NAME##_P PROGMEM = { X_##OPT, Y_##OPT, Z_##OPT }; \ + static const XYZval NAME##_P DEFS_PROGMEM = { X_##OPT, Y_##OPT, Z_##OPT }; \ return pgm_read_any(&NAME##_P[axis]); \ } XYZ_DEFS(float, base_min_pos, MIN_POS); XYZ_DEFS(float, base_max_pos, MAX_POS); XYZ_DEFS(float, base_home_pos, HOME_POS); XYZ_DEFS(float, max_length, MAX_LENGTH); -XYZ_DEFS(signed char, home_dir, HOME_DIR); +XYZ_DEFS(int8_t, home_dir, HOME_DIR); inline float home_bump_mm(const AxisEnum axis) { - static const xyz_pos_t home_bump_mm_P PROGMEM = HOMING_BUMP_MM; + static const xyz_pos_t home_bump_mm_P DEFS_PROGMEM = HOMING_BUMP_MM; return pgm_read_any(&home_bump_mm_P[axis]); } diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 9f120b8b0091..7aff582c6df1 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -619,6 +619,10 @@ #include "stm32f7/pins_THE_BORG.h" // STM32F7 env:STM32F7 #elif MB(REMRAM_V1) #include "stm32f7/pins_REMRAM_V1.h" // STM32F7 env:STM32F7 +#elif MB(TEENSY40_41) + #include "teensy4/pins_TEENSY41.h" // Teensy-4.x env:teensy41 +#elif MB(T41U5XBB) + #include "teensy4/pins_T41U5XBB.h" // Teensy-4.x env:teensy41 // // Espressif ESP32 diff --git a/Marlin/src/pins/teensy4/pins_T41U5XBB.h b/Marlin/src/pins/teensy4/pins_T41U5XBB.h new file mode 100644 index 000000000000..1541bfbd62e8 --- /dev/null +++ b/Marlin/src/pins/teensy4/pins_T41U5XBB.h @@ -0,0 +1,119 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/**************************************************************************************** +* Teensy 4.1 (IMXRT1062) Breadboard pin assignments +* Requires the Teensyduino software with Teensy 4.1 selected in Arduino IDE! +* https://www.pjrc.com/teensy/teensyduino.html +****************************************************************************************/ + +#if !IS_32BIT_TEENSY || !IS_TEENSY41 + #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" +#else + #define BOARD_INFO_NAME "Teensy4.1" +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. +#define USBCON //1286 // Disable MarlinSerial etc. +/* + + plan for Teensy4.0 and Teensy4.1: + USB + GND |-----#####-----| VIN (3.65 TO 5.5V) + RX1 CS1 RX1 PWM 0 | ##### | GND + TX1 MISO1 TX1 PWM 1 | | 3.3V + STPX PWM 2 | | 23 A9 PWM + DIRX PWM 3 | | 22 A8 PWM LIMZ + STPY PWM 4 | | 21 A7 RX5 LIMY + DIRY PWM 5 | | 20 A6 TX5 LIMX + STPZ PWM 6 | | 19 A5 PWM SCL0 COOL + DIRZ RX2 PWM 7 | | 18 A4 PWM SDA0 MIST + STPA TX2 PWM 8 | | 17 A3 RX4 SDA1 CYST + DIRA PWM 9 | | 16 A2 TX4 SCL1 EHOLD + STEN PWM 10 | | 15 A1 PWM RX3 PRB + SPDI MOSI0 PWM 11 | | 14 A0 PWM TX3 PANIC + SPEN MISO0 PWM 12 | | 13 LED PWM SCK0 SPWM + 3.3V | | GND + SCL PWM 24 | | 41 A17 KPSTR + SDA PWM 25 | | 40 A16 STENY + STPB MOSI1 26 | | 39 A15 MISO1 STENZ + DIRB SCK1 27 | * * * * * | 38 A14 STENA + LIMB RX7 PWM 28 | | 37 PWM STENB + DOOR TX7 PWM 29 | | 36 PWM ST0 + ST1 30 | | 35 TX8 ST3 + AUX0 31 | SDCARD | 34 RX8 ST2 + AUX1 32 |_______________| 33 PWM AUX2 + + +*/ + +// +// Limit Switches +// +#define X_STOP_PIN 20 +#define Y_STOP_PIN 21 +#define Z_STOP_PIN 22 + +// +// Steppers +// +#define X_STEP_PIN 2 +#define X_DIR_PIN 3 +#define X_ENABLE_PIN 10 +//#define X_CS_PIN 30 + +#define Y_STEP_PIN 4 +#define Y_DIR_PIN 5 +#define Y_ENABLE_PIN 40 +//#define Y_CS_PIN 31 + +#define Z_STEP_PIN 6 +#define Z_DIR_PIN 7 +#define Z_ENABLE_PIN 39 +//#define Z_CS_PIN 32 + +#define E0_STEP_PIN 8 +#define E0_DIR_PIN 9 +#define E0_ENABLE_PIN 38 + +#define E1_STEP_PIN 26 +#define E1_DIR_PIN 27 +#define E1_ENABLE_PIN 37 + +#define HEATER_0_PIN 31 +#define HEATER_1_PIN 32 +#define HEATER_BED_PIN 33 + +#define TEMP_0_PIN 5 // Extruder / Analog pin numbering: 2 => A2 +#define TEMP_1_PIN 4 +#define TEMP_BED_PIN 15 // Bed / Analog pin numbering + +#define LED_PIN 13 + +#define SOL0_PIN 17 +#define SERVO0_PIN 24 +#define SERVO1_PIN 25 + +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif diff --git a/Marlin/src/pins/teensy4/pins_TEENSY41.h b/Marlin/src/pins/teensy4/pins_TEENSY41.h new file mode 100644 index 000000000000..08a3f5e0d139 --- /dev/null +++ b/Marlin/src/pins/teensy4/pins_TEENSY41.h @@ -0,0 +1,129 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/**************************************************************************************** +* Teensy 4.1 (IMXRT1062) Breadboard pin assignments +* Requires the Teensyduino software with Teensy 4.1 selected in Arduino IDE! +* https://www.pjrc.com/teensy/teensyduino.html +****************************************************************************************/ + +#if !IS_32BIT_TEENSY || !IS_TEENSY41 + #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" +#else + #define BOARD_INFO_NAME "Teensy4.1" +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. +#define USBCON //1286 // Disable MarlinSerial etc. +/* + + plan for Teensy4.0 and Teensy4.1: + USB + GND |-----#####-----| VIN (3.65 TO 5.5V) + X_STEP_PIN CS1 RX1 PWM 0 | ##### | GND + X_DIR_PIN MISO1 TX1 PWM 1 | | 3.3V + Y_STEP_PIN PWM 2 | | 23 A9 PWM SERVO1_PIN + Y_DIR_PIN PWM 3 | | 22 A8 PWM SERVO0_PIN + Z_STEP_PIN PWM 4 | | 21 A7 RX5 + Z_DIR_PIN PWM 5 | | 20 A6 TX5 FILWIDTH_PIN + X_ENABLE_PIN PWM 6 | | 19 A5 PWM SCL0 + Y_ENABLE_PIN RX2 PWM 7 | | 18 A4 PWM SDA0 HEATER_1_PIN + Z_ENABLE_PIN TX2 PWM 8 | | 17 A3 RX4 SDA1 + E0_STEP_PIN PWM 9 | | 16 A2 TX4 SCL1 TEMP_0_PIN + E0_DIR_PIN PWM 10 | | 15 A1 PWM RX3 TEMP_BED_PIN + MOSI_PIN MOSI0 PWM 11 | | 14 A0 PWM TX3 TEMP_1_PIN + MISO_PIN MISO0 PWM 12 | | 13 LED PWM SCK0 SCK_PIN + 3.3V | | GND + Z_STOP_PIN PWM 24 | | 41 A17 + E0_ENABLE_PIN PWM 25 | | 40 A16 + FAN_PIN MOSI1 26 | | 39 A15 MISO1 X_STOP_PIN + Z-PROBE PWR SCK1 27 | * * * * * | 38 A14 Y_STOP_PIN + SOL1_PIN RX7 PWM 28 | | 37 PWM HEATER_0_PIN + FAN_PIN TX7 PWM 29 | | 36 PWM HEATER_BED_PIN + X_CS_PIN 30 | | 35 TX8 E1_ENABLE_PIN + y_CS_PIN 31 | SDCARD | 34 RX8 E1_DIR_PIN + Z_CS_PIN 32 |_______________| 33 PWM E1_STEP_PIN + + +*/ + +// +// Limit Switches +// +#define X_STOP_PIN 39 +#define Y_STOP_PIN 38 +#define Z_STOP_PIN 24 + +// +// Steppers +// +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 6 +//#define X_CS_PIN 30 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 7 +//#define Y_CS_PIN 31 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 8 +//#define Z_CS_PIN 32 + +#define E0_STEP_PIN 9 +#define E0_DIR_PIN 10 +#define E0_ENABLE_PIN 25 + +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 34 +#define E1_ENABLE_PIN 35 + +#define HEATER_0_PIN 37 +#define HEATER_1_PIN 18 +#define HEATER_BED_PIN 36 +#ifndef FAN_PIN + #define FAN_PIN 29 +#endif + +#define TEMP_0_PIN 2 // Extruder / Analog pin numbering: 2 => A2 +#define TEMP_1_PIN 0 +#define TEMP_BED_PIN 1 // Bed / Analog pin numbering + +#define LED_PIN 13 +//#define PS_ON_PIN 1 +//#define ALARM_PIN -1 + +//#define FILWIDTH_PIN 6 // A6 +#define SOL0_PIN 28 +#define SERVO0_PIN 22 +#define SERVO1_PIN 23 + +//#define SCK_PIN 13 +//#define MISO_PIN 12 +//#define MOSI_PIN 11 + +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif diff --git a/README.md b/README.md index 042cf3303b8a..839b9f3f6578 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,13 @@ Marlin 2.0 introduces a layer of abstraction so that all the existing high-level [Teensy 3.5](https://www.pjrc.com/store/teensy35.html)|[MK64FX512VMD12](https://www.mouser.com/ProductDetail/NXP-Freescale/MK64FX512VMD12) ARM-Cortex M4|120MHz|512k|192k|3.3-5V|yes [Teensy 3.6](https://www.pjrc.com/store/teensy36.html)|[MK66FX1M0VMD18](https://www.mouser.com/ProductDetail/NXP-Freescale/MK66FX1M0VMD18) ARM-Cortex M4|180MHz|1M|256k|3.3V|yes + #### Teensy 4.0 / 4.1 + + boards|processor|speed|flash|sram|logic|fpu + ----|---------|-----|-----|----|-----|--- + [Teensy 4.0](https://www.pjrc.com/store/teensy40.html)|[IMXRT1062](https://www.mouser.com/new/nxp-semiconductors/nxp-imx-rt1060-crossover-processor/) ARM-Cortex M7|600MHz|1M|2M|3.3V|yes + [Teensy 4.1](https://www.pjrc.com/store/teensy41.html)|[IMXRT1062](https://www.mouser.com/new/nxp-semiconductors/nxp-imx-rt1060-crossover-processor/) ARM-Cortex M7|600MHz|1M|2M|3.3V|yes + ## Submitting Patches Proposed patches should be submitted as a Pull Request against the ([bugfix-2.0.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x)) branch. diff --git a/buildroot/share/git/mftest b/buildroot/share/git/mftest index 3a88bf5f286c..cfb5dd05f357 100755 --- a/buildroot/share/git/mftest +++ b/buildroot/share/git/mftest @@ -48,6 +48,8 @@ case $TESTENV in t32) TESTENV='teensy31' ;; t35) TESTENV='teensy35' ;; t36) TESTENV='teensy35' ;; + t40) TESTENV='teensy41' ;; + t41) TESTENV='teensy41' ;; -h|--help) echo -e "$(basename $0) : Marlin Firmware test, build, and upload\n" echo "Usage: $(basename $0) ................. Select env and test to apply / run" @@ -56,7 +58,7 @@ case $TESTENV in echo " $(basename $0) -b [variant] .... Auto-build the specified variant" echo " $(basename $0) -u [variant] .... Auto-build and upload the specified variant" echo - echo "env shortcuts: tree due esp lin lpc|lpc8 lpc9 m128 m256|mega stm|f1 f4 f7 s6 teensy|t31|t32 t35|t36" + echo "env shortcuts: tree due esp lin lpc|lpc8 lpc9 m128 m256|mega stm|f1 f4 f7 s6 teensy|t31|t32 t35|t36 t40|t41" exit ;; diff --git a/buildroot/tests/teensy41-tests b/buildroot/tests/teensy41-tests new file mode 100644 index 000000000000..04baf029d9cc --- /dev/null +++ b/buildroot/tests/teensy41-tests @@ -0,0 +1,123 @@ +#!/usr/bin/env bash +# +# Build tests for Teensy 4.0/4.1 (ARM Cortex-M7) +# + +# exit on first failure +set -e + +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +exec_test $1 $2 "Teensy4.1 with default config" + +# +# Test as many features together as possible +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_0 1 +opt_set TEMP_SENSOR_1 5 +opt_set TEMP_SENSOR_BED 1 +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LCD_INFO_MENU SDSUPPORT SDCARD_SORT_ALPHA \ + FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY CALIBRATION_GCODE BAUD_RATE_GCODE \ + FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ + BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \ + PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \ + ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \ + PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \ + HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT +opt_set I2C_SLAVE_ADDRESS 63 +opt_set GRID_MAX_POINTS_X 16 +exec_test $1 $2 "Teensy4.1 with many features" + +# +# Test a Sled Z Probe with Linear leveling +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_enable EEPROM_SETTINGS Z_PROBE_SLED Z_SAFE_HOMING AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE GCODE_MACROS +exec_test $1 $2 "Sled Z Probe with Linear leveling" + +# +# Test a Servo Probe +# +# restore_configs +# opt_set MOTHERBOARD BOARD_TEENSY41 +# opt_enable Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE \ +# AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS +# opt_set NUM_SERVOS 1 +# exec_test $1 $2 "Servo Probe" +# +# ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES +# +# opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS \ +# EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES +# exec_test $1 $2 "...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES" + +# +# Test MAGNETIC_PARKING_EXTRUDER with LCD +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_1 1 +opt_enable MAGNETIC_PARKING_EXTRUDER ULTIMAKERCONTROLLER +exec_test $1 $2 "MAGNETIC_PARKING_EXTRUDER with LCD" + +# +# Mixing Extruder +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 GRADIENT_MIX GRADIENT_VTOOL REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +opt_set MIXING_STEPPERS 2 +exec_test $1 $2 "Mixing Extruder" + +# +# Test SWITCHING_EXTRUDER +# +# restore_configs +# opt_set MOTHERBOARD BOARD_TEENSY41 +# opt_set EXTRUDERS 2 +# opt_set NUM_SERVOS 1 +# opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER +# exec_test $1 $2 "SWITCHING_EXTRUDER" + +# +# Enable COREXY +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_enable COREXY +opt_set X_DRIVER_TYPE TMC5160 +opt_set Y_DRIVER_TYPE TMC5160 +opt_set X_MIN_ENDSTOP_INVERTING true +opt_set Y_MIN_ENDSTOP_INVERTING true +opt_add X_CS_PIN 46 +opt_add Y_CS_PIN 47 +opt_enable USE_ZMIN_PLUG MONITOR_DRIVER_STATUS SENSORLESS_HOMING +exec_test $1 $2 "Teensy 4.0/4.1 COREXY" + +# +# Enable COREXZ +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_enable COREXZ +exec_test $1 $2 "Teensy 4.0/4.1 COREXZ" + +# +# Enable Dual Z with Dual Z endstops +# +restore_configs +opt_set MOTHERBOARD BOARD_TEENSY41 +opt_enable Z_MULTI_ENDSTOPS +opt_set NUM_Z_STEPPER_DRIVERS 2 +pins_set ramps/RAMPS X_MAX_PIN -1 +opt_add Z2_MAX_PIN 2 +opt_enable USE_XMAX_PLUG +exec_test $1 $2 "Dual Z with Dual Z endstops" + +# Clean up +restore_configs diff --git a/platformio.ini b/platformio.ini index f46e60996917..38d874d86525 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1264,6 +1264,19 @@ platform = teensy board = teensy35 src_filter = ${common.default_src_filter} + +[env:teensy36] +platform = teensy +board = teensy36 +src_filter = ${common.default_src_filter} + + +# +# Teensy 4.0 / 4.1 (ARM Cortex-M7) +# +[env:teensy41] +platform = teensy +board = teensy41 +src_filter = ${common.default_src_filter} + + # # Native # No supported Arduino libraries, base Marlin only From 0b01aa8276788009b731bfec1f8918aeb675a9c2 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 10 Sep 2020 00:12:33 +0000 Subject: [PATCH 037/277] [cron] Bump distribution date (2020-09-10) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 0ef5c28f7e47..91c646965974 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-09" + #define STRING_DISTRIBUTION_DATE "2020-09-10" #endif /** From 6eebcb5e48abfde3875d186d162e812a7d66b42a Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Wed, 9 Sep 2020 19:23:01 -0700 Subject: [PATCH 038/277] Fix compile with Danish, Basque (#19325) --- Marlin/src/lcd/language/language_da.h | 4 ++-- Marlin/src/lcd/language/language_eu.h | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index 7a9321d001d1..c6f5647d5af6 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -52,7 +52,7 @@ namespace Language_da { #if PREHEAT_COUNT PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Forvarm ") PREHEAT_1_LABEL; PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Forvarm ") PREHEAT_1_LABEL " ~"; - PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end") + PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end"); PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ~"); PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Alle"); PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Bed"); @@ -60,7 +60,7 @@ namespace Language_da { PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Forvarm $"); PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Forvarm $ ~"); - PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Forvarm $ end") + PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Forvarm $ end"); PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Forvarm $ end ~"); PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Forvarm $ Alle"); PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Forvarm $ Bed"); diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 5b38299e76fe..36586fd2fa0f 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -278,8 +278,7 @@ namespace Language_eu { PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudioak"); PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokoloa"); PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Kabina Argia"); - PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS - = ; + PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Argiaren Distira"); #if LCD_WIDTH >= 20 PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Inprim. Zenbaketa"); PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Burututa"); From 006b7f3f179e7a9b7d82936f72d792a730819860 Mon Sep 17 00:00:00 2001 From: makerbase <4164049@qq.com> Date: Thu, 10 Sep 2020 10:48:42 +0800 Subject: [PATCH 039/277] MKS Gen L V2.1 (#19314) --- Marlin/Makefile | 8 +- Marlin/src/core/boards.h | 7 +- Marlin/src/pins/pins.h | 2 + Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h | 85 ++++++++++++++++++++++ 4 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h diff --git a/Marlin/Makefile b/Marlin/Makefile index 5ab0d1eefd11..9f2d18d268d7 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -268,12 +268,14 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1148) else ifeq ($(HARDWARE_MOTHERBOARD),1149) # MKS GEN L V2 else ifeq ($(HARDWARE_MOTHERBOARD),1150) -# Copymaster 3D +# MKS GEN L V2.1 else ifeq ($(HARDWARE_MOTHERBOARD),1151) -# Ortur 4 +# Copymaster 3D else ifeq ($(HARDWARE_MOTHERBOARD),1152) -# Tenlog D3 Hero +# Ortur 4 else ifeq ($(HARDWARE_MOTHERBOARD),1153) +# Tenlog D3 Hero +else ifeq ($(HARDWARE_MOTHERBOARD),1154) # # RAMBo and derivatives diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index e10c49309708..b93314712126 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -104,9 +104,10 @@ #define BOARD_HJC2560C_REV2 1148 // ADIMLab Gantry v2 #define BOARD_TANGO 1149 // BIQU Tango V1 #define BOARD_MKS_GEN_L_V2 1150 // MKS GEN L V2 -#define BOARD_COPYMASTER_3D 1151 // Copymaster 3D -#define BOARD_ORTUR_4 1152 // Ortur 4 -#define BOARD_TENLOG_D3_HERO 1153 // Tenlog D3 Hero IDEX printer +#define BOARD_MKS_GEN_L_V21 1151 // MKS GEN L V2.1 +#define BOARD_COPYMASTER_3D 1152 // Copymaster 3D +#define BOARD_ORTUR_4 1153 // Ortur 4 +#define BOARD_TENLOG_D3_HERO 1154 // Tenlog D3 Hero IDEX printer // // RAMBo and derivatives diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 7aff582c6df1..9dce52b4204f 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -196,6 +196,8 @@ #include "ramps/pins_ORTUR_4.h" // ATmega2560 env:mega2560 #elif MB(TENLOG_D3_HERO) #include "ramps/pins_TENLOG_D3_HERO.h" // ATmega2560 env:mega2560 +#elif MB(MKS_GEN_L_V21) + #include "ramps/pins_MKS_GEN_L_V21.h" // ATmega2560 env:mega2560 // // RAMBo and derivatives diff --git a/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h new file mode 100644 index 000000000000..24e04a39ff1f --- /dev/null +++ b/Marlin/src/pins/ramps/pins_MKS_GEN_L_V21.h @@ -0,0 +1,85 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * MKS GEN L V2 – Arduino Mega2560 with RAMPS v1.4 pin assignments + */ + +#if HOTENDS > 2 || E_STEPPERS > 2 + #error "MKS GEN L V2.1 supports up to 2 hotends / E-steppers. Comment out this line to continue." +#endif + +#define BOARD_INFO_NAME "MKS GEN L V2.1" + +// +// Heaters / Fans +// +// Power outputs EFBF or EFBE +#define MOSFET_D_PIN 7 + +// +// CS Pins wired to avoid conflict with the LCD +// See https://www.thingiverse.com/asset:66604 +// + +#ifndef X_CS_PIN + #define X_CS_PIN 63 +#endif +#ifndef Y_CS_PIN + #define Y_CS_PIN 64 +#endif +#ifndef Z_CS_PIN + #define Z_CS_PIN 65 +#endif +#ifndef E0_CS_PIN + #define E0_CS_PIN 66 +#endif +#ifndef E1_CS_PIN + #define E1_CS_PIN 12 +#endif + +// TMC2130 Diag Pins (currently just for reference) +#define X_DIAG_PIN 3 +#define Y_DIAG_PIN 14 +#define Z_DIAG_PIN 18 +#define E0_DIAG_PIN 2 +#define E1_DIAG_PIN 15 + +#ifndef SERVO1_PIN + #define SERVO1_PIN 21 +#endif +#ifndef SERVO2_PIN + #define SERVO2_PIN 39 +#endif +#ifndef SERVO3_PIN + #define SERVO3_PIN 32 +#endif + +#ifndef E1_SERIAL_TX_PIN + #define E1_SERIAL_TX_PIN 20 +#endif +#ifndef E1_SERIAL_RX_PIN + #define E1_SERIAL_RX_PIN 12 +#endif + +#include "pins_RAMPS.h" From 328d8b59529edcdc1beae4287ec6827fae3cab82 Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Tue, 8 Sep 2020 14:31:20 -0600 Subject: [PATCH 040/277] Fix ExtUI SD sorting, compile issues --- Marlin/src/HAL/STM32F1/MarlinSerial.cpp | 4 ++++ Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp | 2 +- Marlin/src/lcd/extui/ui_api.cpp | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp index f965bc99cf06..61fde718b357 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp @@ -20,6 +20,8 @@ * */ +#ifdef __STM32F1__ + #include "../../inc/MarlinConfigPre.h" #include "MarlinSerial.h" #include @@ -91,3 +93,5 @@ static inline __always_inline void my_usart_irq(ring_buffer *rb, ring_buffer *wb #if SERIAL_PORT == 5 || SERIAL_PORT_2 == 5 || DGUS_SERIAL_PORT == 5 DEFINE_HWSERIAL_UART_MARLIN(MSerial5, 5); #endif + +#endif // __STM32F1__ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp index e06f9f3a29de..270ec5581905 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp @@ -61,7 +61,7 @@ namespace ExtUI { if (AT_SCREEN(StatusScreen) || isPrintingFromMedia()) StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED)); - if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen) + if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen); } void onMediaError() { diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 31449fcef4c7..c40a86942100 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -1003,7 +1003,7 @@ namespace ExtUI { bool FileList::seek(const uint16_t pos, const bool skip_range_check) { #if ENABLED(SDSUPPORT) if (!skip_range_check && (pos + 1) > count()) return false; - card.getfilename_sorted(pos); + card.getfilename_sorted(SD_ORDER(pos, count())); return card.filename[0] != '\0'; #else UNUSED(pos); From 700e0fe7d736de45cb7b1e82271dfa46e0288440 Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Wed, 9 Sep 2020 19:59:42 -0700 Subject: [PATCH 041/277] Warn in platformio.ini about RCT6 512K (#19312) --- platformio.ini | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platformio.ini b/platformio.ini index 38d874d86525..4a2abf583048 100644 --- a/platformio.ini +++ b/platformio.ini @@ -739,6 +739,11 @@ upload_protocol = serial # STM32F103RC_btt_512K ........ RCT6 with 512K # STM32F103RC_btt_512K_USB .... RCT6 with 512K (USB mass storage) # +# WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP +# and experience a printer freeze, re-flash Marlin using the regular (non-512K) +# build option. 256K chips may be re-branded 512K chips, but this means the +# upper 256K is sketchy, and failure is very likely. +# [env:STM32F103RC_btt] platform = ${common_stm32f1.platform} From 20ac0faa86dbd5ea21211abfb2338e7277e47eaa Mon Sep 17 00:00:00 2001 From: Zachary Annand Date: Wed, 9 Sep 2020 22:04:10 -0500 Subject: [PATCH 042/277] Fix Separate Neopixel menu labels (#19303) --- Marlin/src/lcd/menu/menu_item.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h index bee05141bb28..a92f917f9f38 100644 --- a/Marlin/src/lcd/menu/menu_item.h +++ b/Marlin/src/lcd/menu/menu_item.h @@ -342,8 +342,8 @@ class MenuItem_bool : public MenuEditItemBase { #define PSTRING_ITEM(LABEL, V...) PSTRING_ITEM_P(GET_TEXT(LABEL), ##V) -#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) -#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V) +#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) +#define STATIC_ITEM_N(LABEL, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V) #define MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, false, PLABEL, ##V) #define MENU_ITEM_N_S(TYPE, N, S, LABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) From b98946b5c1b46e9399dae8d1cc41a15b2a5ee15f Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Thu, 10 Sep 2020 00:46:50 -0300 Subject: [PATCH 043/277] Raise STM32F1 UART IRQ Priority, add error handling (#19301) (Error handling for Overrun, Framing and Parity.) --- Marlin/src/HAL/STM32/MarlinSerial.cpp | 6 +-- Marlin/src/HAL/STM32F1/MarlinSerial.cpp | 55 ++++++++++++++++--------- Marlin/src/HAL/STM32F1/MarlinSerial.h | 15 +++++++ 3 files changed, 52 insertions(+), 24 deletions(-) diff --git a/Marlin/src/HAL/STM32/MarlinSerial.cpp b/Marlin/src/HAL/STM32/MarlinSerial.cpp index 8d99ab78558e..2d799ea54db0 100644 --- a/Marlin/src/HAL/STM32/MarlinSerial.cpp +++ b/Marlin/src/HAL/STM32/MarlinSerial.cpp @@ -55,10 +55,8 @@ void MarlinSerial::begin(unsigned long baud, uint8_t config) { HardwareSerial::begin(baud, config); - // replace the IRQ callback with the one we have defined - #if ENABLED(EMERGENCY_PARSER) - _serial.rx_callback = _rx_callback; - #endif + // Replace the IRQ callback with the one we have defined + TERN_(EMERGENCY_PARSER, _serial.rx_callback = _rx_callback); } // This function is Copyright (c) 2006 Nicholas Zambetti. diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp index 61fde718b357..9a48e901f42d 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp @@ -29,28 +29,43 @@ // Copied from ~/.platformio/packages/framework-arduinoststm32-maple/STM32F1/system/libmaple/usart_private.h // Changed to handle Emergency Parser static inline __always_inline void my_usart_irq(ring_buffer *rb, ring_buffer *wb, usart_reg_map *regs, MarlinSerial &serial) { - /* Handle RXNEIE and TXEIE interrupts. - * RXNE signifies availability of a byte in DR. - * - * See table 198 (sec 27.4, p809) in STM document RM0008 rev 15. - * We enable RXNEIE. - */ - if ((regs->CR1 & USART_CR1_RXNEIE) && (regs->SR & USART_SR_RXNE)) { - uint8_t c = (uint8)regs->DR; - #ifdef USART_SAFE_INSERT - // If the buffer is full and the user defines USART_SAFE_INSERT, - // ignore new bytes. - rb_safe_insert(rb, c); - #else - // By default, push bytes around in the ring buffer. - rb_push_insert(rb, c); - #endif - #if ENABLED(EMERGENCY_PARSER) - emergency_parser.update(serial.emergency_state, c); - #endif + /* Handle RXNEIE and TXEIE interrupts. + * RXNE signifies availability of a byte in DR. + * + * See table 198 (sec 27.4, p809) in STM document RM0008 rev 15. + * We enable RXNEIE. + */ + uint32_t srflags = regs->SR, cr1its = regs->CR1; + + if ((cr1its & USART_CR1_RXNEIE) && (srflags & USART_SR_RXNE)) { + if (srflags & USART_SR_FE || srflags & USART_SR_PE ) { + // framing error or parity error + regs->DR; // Read and throw away the data, which also clears FE and PE + } + else { + uint8_t c = (uint8)regs->DR; + #ifdef USART_SAFE_INSERT + // If the buffer is full and the user defines USART_SAFE_INSERT, + // ignore new bytes. + rb_safe_insert(rb, c); + #else + // By default, push bytes around in the ring buffer. + rb_push_insert(rb, c); + #endif + #if ENABLED(EMERGENCY_PARSER) + emergency_parser.update(serial.emergency_state, c); + #endif + } + } + else if (srflags & USART_SR_ORE) { + // overrun and empty data, just do a dummy read to clear ORE + // and prevent a raise condition where a continous interrupt stream (due to ORE set) occurs + // (see chapter "Overrun error" ) in STM32 reference manual + regs->DR; } + // TXE signifies readiness to send a byte to DR. - if ((regs->CR1 & USART_CR1_TXEIE) && (regs->SR & USART_SR_TXE)) { + if ((cr1its & USART_CR1_TXEIE) && (srflags & USART_SR_TXE)) { if (!rb_is_empty(wb)) regs->DR=rb_remove(wb); else diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.h b/Marlin/src/HAL/STM32F1/MarlinSerial.h index 4e8a47d2f909..eb0059bfbcae 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.h +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.h @@ -22,6 +22,7 @@ #pragma once #include +#include #include #include "../../inc/MarlinConfigPre.h" @@ -29,6 +30,8 @@ #include "../../feature/e_parser.h" #endif +#define UART_IRQ_PRIO 1 + class MarlinSerial : public HardwareSerial { public: MarlinSerial(struct usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin) : @@ -38,6 +41,18 @@ class MarlinSerial : public HardwareSerial { #endif { } + #ifdef UART_IRQ_PRIO + // shadow the parent methods to set irq priority after the begin + void begin(uint32 baud) { + MarlinSerial::begin(baud, SERIAL_8N1); + } + + void begin(uint32 baud, uint8_t config) { + HardwareSerial::begin(baud, config); + nvic_irq_set_priority(c_dev()->irq_num, UART_IRQ_PRIO); + } + #endif + #if ENABLED(EMERGENCY_PARSER) EmergencyParser::State emergency_state; #endif From 160f70be6374d752a88ea5a98d351bc8d3a3903e Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Thu, 10 Sep 2020 02:41:26 -0300 Subject: [PATCH 044/277] LPC: Finish DMA transfer, use HW SPI class (#19191) --- Marlin/src/HAL/LPC1768/HAL_SPI.cpp | 109 ++++++-------------- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 2 +- Marlin/src/HAL/LPC1768/include/SPI.h | 22 +++- Marlin/src/HAL/LPC1768/tft/xpt2046.cpp | 1 - Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 17 ++- platformio.ini | 1 + 6 files changed, 61 insertions(+), 91 deletions(-) diff --git a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp index 00b4310d1dc7..3c64ea812f78 100644 --- a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp +++ b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp @@ -100,72 +100,25 @@ #else - // decide which HW SPI device to use - #ifndef LPC_HW_SPI_DEV - #if (SCK_PIN == P0_07 && MISO_PIN == P0_08 && MOSI_PIN == P0_09) - #define LPC_HW_SPI_DEV 1 - #else - #if (SCK_PIN == P0_15 && MISO_PIN == P0_17 && MOSI_PIN == P0_18) - #define LPC_HW_SPI_DEV 0 - #else - #error "Invalid pins selected for hardware SPI" - #endif - #endif - #endif - #if LPC_HW_SPI_DEV == 0 - #define LPC_SSPn LPC_SSP0 - #else - #define LPC_SSPn LPC_SSP1 - #endif - void spiBegin() { // setup SCK, MOSI & MISO pins for SSP0 - PINSEL_CFG_Type PinCfg; // data structure to hold init values - PinCfg.Funcnum = 2; - PinCfg.OpenDrain = 0; - PinCfg.Pinmode = 0; - PinCfg.Pinnum = LPC176x::pin_bit(SCK_PIN); - PinCfg.Portnum = LPC176x::pin_port(SCK_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(SCK_PIN); - - PinCfg.Pinnum = LPC176x::pin_bit(MISO_PIN); - PinCfg.Portnum = LPC176x::pin_port(MISO_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_INPUT(MISO_PIN); - - PinCfg.Pinnum = LPC176x::pin_bit(MOSI_PIN); - PinCfg.Portnum = LPC176x::pin_port(MOSI_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(MOSI_PIN); - // divide PCLK by 2 for SSP0 - CLKPWR_SetPCLKDiv(LPC_HW_SPI_DEV == 0 ? CLKPWR_PCLKSEL_SSP0 : CLKPWR_PCLKSEL_SSP1, CLKPWR_PCLKSEL_CCLK_DIV_2); - spiInit(0); - SSP_Cmd(LPC_SSPn, ENABLE); // start SSP running + spiInit(SPI_SPEED); } void spiInit(uint8_t spiRate) { - // table to convert Marlin spiRates (0-5 plus default) into bit rates - uint32_t Marlin_speed[7]; // CPSR is always 2 - Marlin_speed[0] = 8333333; //(SCR: 2) desired: 8,000,000 actual: 8,333,333 +4.2% SPI_FULL_SPEED - Marlin_speed[1] = 4166667; //(SCR: 5) desired: 4,000,000 actual: 4,166,667 +4.2% SPI_HALF_SPEED - Marlin_speed[2] = 2083333; //(SCR: 11) desired: 2,000,000 actual: 2,083,333 +4.2% SPI_QUARTER_SPEED - Marlin_speed[3] = 1000000; //(SCR: 24) desired: 1,000,000 actual: 1,000,000 SPI_EIGHTH_SPEED - Marlin_speed[4] = 500000; //(SCR: 49) desired: 500,000 actual: 500,000 SPI_SPEED_5 - Marlin_speed[5] = 250000; //(SCR: 99) desired: 250,000 actual: 250,000 SPI_SPEED_6 - Marlin_speed[6] = 125000; //(SCR:199) desired: 125,000 actual: 125,000 Default from HAL.h - // setup for SPI mode - SSP_CFG_Type HW_SPI_init; // data structure to hold init values - SSP_ConfigStructInit(&HW_SPI_init); // set values for SPI mode - HW_SPI_init.ClockRate = Marlin_speed[_MIN(spiRate, 6)]; // put in the specified bit rate - HW_SPI_init.Mode |= SSP_CR1_SSP_EN; - SSP_Init(LPC_SSPn, &HW_SPI_init); // puts the values into the proper bits in the SSP0 registers + #if MISO_PIN == BOARD_SPI1_MISO_PIN + SPI.setModule(1); + #elif MISO_PIN == BOARD_SPI2_MISO_PIN + SPI.setModule(2); + #endif + SPI.setDataSize(DATA_SIZE_8BIT); + SPI.setDataMode(SPI_MODE0); + + SPI.setClock(SPISettings::spiRate2Clock(spiRate)); + SPI.begin(); } static uint8_t doio(uint8_t b) { - /* send and receive a single byte */ - SSP_SendData(LPC_SSPn, b & 0x00FF); - while (SSP_GetStatus(LPC_SSPn, SSP_STAT_BUSY)); // wait for it to finish - return SSP_ReceiveData(LPC_SSPn) & 0x00FF; + return SPI.transfer(b & 0x00FF) & 0x00FF; } void spiSend(uint8_t b) { doio(b); } @@ -224,6 +177,9 @@ SPIClass::SPIClass(uint8_t device) { PINSEL_CFG_Type PinCfg; // data structure to hold init values #if BOARD_NR_SPI >= 1 _settings[0].spi_d = LPC_SSP0; + _settings[0].dataMode = SPI_MODE0; + _settings[0].dataSize = DATA_SIZE_8BIT; + _settings[0].clock = SPI_CLOCK_MAX; // _settings[0].clockDivider = determine_baud_rate(_settings[0].spi_d, _settings[0].clock); PinCfg.Funcnum = 2; PinCfg.OpenDrain = 0; @@ -246,6 +202,9 @@ SPIClass::SPIClass(uint8_t device) { #if BOARD_NR_SPI >= 2 _settings[1].spi_d = LPC_SSP1; + _settings[1].dataMode = SPI_MODE0; + _settings[1].dataSize = DATA_SIZE_8BIT; + _settings[1].clock = SPI_CLOCK_MAX; // _settings[1].clockDivider = determine_baud_rate(_settings[1].spi_d, _settings[1].clock); PinCfg.Funcnum = 2; PinCfg.OpenDrain = 0; @@ -320,7 +279,7 @@ void SPIClass::dmaSend(void *buf, uint16_t length, bool minc) { // Destination memory - Not used GPDMACfg.DstMemAddr = 0; // Transfer size - GPDMACfg.TransferSize = (minc ? length : 1); + GPDMACfg.TransferSize = length; // Transfer width GPDMACfg.TransferWidth = (_currentSetting->dataSize == DATA_SIZE_16BIT) ? GPDMA_WIDTH_HALFWORD : GPDMA_WIDTH_BYTE; // Transfer type @@ -335,26 +294,24 @@ void SPIClass::dmaSend(void *buf, uint16_t length, bool minc) { // Enable dma on SPI SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, ENABLE); - // if minc=false, I'm repeating the same byte 'length' times, as I could not find yet how do GPDMA without memory increment - do { - // Setup channel with given parameter - GPDMA_Setup(&GPDMACfg); + // only increase memory if minc is true + GPDMACfg.MemoryIncrease = (minc ? GPDMA_DMACCxControl_SI : 0); - // enabled dma - GPDMA_ChannelCmd(0, ENABLE); + // Setup channel with given parameter + GPDMA_Setup(&GPDMACfg); - // wait data transfer - while (!GPDMA_IntGetStatus(GPDMA_STAT_INTTC, 0) && !GPDMA_IntGetStatus(GPDMA_STAT_INTERR, 0)) { } + // enabled dma + GPDMA_ChannelCmd(0, ENABLE); - // clear err and int - GPDMA_ClearIntPending (GPDMA_STATCLR_INTTC, 0); - GPDMA_ClearIntPending (GPDMA_STATCLR_INTERR, 0); + // wait data transfer + while (!GPDMA_IntGetStatus(GPDMA_STAT_RAWINTTC, 0) && !GPDMA_IntGetStatus(GPDMA_STAT_RAWINTERR, 0)) { } - // dma disable - GPDMA_ChannelCmd(0, DISABLE); + // clear err and int + GPDMA_ClearIntPending (GPDMA_STATCLR_INTTC, 0); + GPDMA_ClearIntPending (GPDMA_STATCLR_INTERR, 0); - --length; - } while (!minc && length > 0); + // dma disable + GPDMA_ChannelCmd(0, DISABLE); waitSpiTxEnd(_currentSetting->spi_d); @@ -382,7 +339,7 @@ void SPIClass::setBitOrder(uint8_t bitOrder) { } void SPIClass::setDataMode(uint8_t dataMode) { - _currentSetting->dataSize = dataMode; + _currentSetting->dataMode = dataMode; } void SPIClass::setDataSize(uint32_t ds) { diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index 0a4e59c6c459..caec347bf599 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -24,7 +24,7 @@ #if PIO_PLATFORM_VERSION < 1001 #error "nxplpc-arduino-lpc176x package is out of date, Please update the PlatformIO platforms, frameworks and libraries. You may need to remove the platform and let it reinstall automatically." #endif -#if PIO_FRAMEWORK_VERSION < 2002 +#if PIO_FRAMEWORK_VERSION < 2005 #error "framework-arduino-lpc176x package is out of date, Please update the PlatformIO platforms, frameworks and libraries." #endif diff --git a/Marlin/src/HAL/LPC1768/include/SPI.h b/Marlin/src/HAL/LPC1768/include/SPI.h index e2645b9290db..9da2a32556e7 100644 --- a/Marlin/src/HAL/LPC1768/include/SPI.h +++ b/Marlin/src/HAL/LPC1768/include/SPI.h @@ -61,7 +61,9 @@ class SPISettings { public: - SPISettings(uint32_t speed, int, int) : spi_speed(speed) {}; + SPISettings(uint32_t spiRate, int inBitOrder, int inDataMode) { + init_AlwaysInline(spiRate2Clock(spiRate), inBitOrder, inDataMode, DATA_SIZE_8BIT); + } SPISettings(uint32_t inClock, uint8_t inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { if (__builtin_constant_p(inClock)) init_AlwaysInline(inClock, inBitOrder, inDataMode, inDataSize); @@ -72,7 +74,19 @@ class SPISettings { init_AlwaysInline(4000000, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); } - uint32_t spiRate() const { return spi_speed; } + //uint32_t spiRate() const { return spi_speed; } + + static inline uint32_t spiRate2Clock(uint32_t spiRate) { + uint32_t Marlin_speed[7]; // CPSR is always 2 + Marlin_speed[0] = 8333333; //(SCR: 2) desired: 8,000,000 actual: 8,333,333 +4.2% SPI_FULL_SPEED + Marlin_speed[1] = 4166667; //(SCR: 5) desired: 4,000,000 actual: 4,166,667 +4.2% SPI_HALF_SPEED + Marlin_speed[2] = 2083333; //(SCR: 11) desired: 2,000,000 actual: 2,083,333 +4.2% SPI_QUARTER_SPEED + Marlin_speed[3] = 1000000; //(SCR: 24) desired: 1,000,000 actual: 1,000,000 SPI_EIGHTH_SPEED + Marlin_speed[4] = 500000; //(SCR: 49) desired: 500,000 actual: 500,000 SPI_SPEED_5 + Marlin_speed[5] = 250000; //(SCR: 99) desired: 250,000 actual: 250,000 SPI_SPEED_6 + Marlin_speed[6] = 125000; //(SCR:199) desired: 125,000 actual: 125,000 Default from HAL.h + return Marlin_speed[spiRate > 6 ? 6 : spiRate]; + } private: void init_MightInline(uint32_t inClock, uint8_t inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { @@ -85,7 +99,7 @@ class SPISettings { dataSize = inDataSize; } - uint32_t spi_speed; + //uint32_t spi_speed; uint32_t clock; uint32_t dataSize; //uint32_t clockDivider; @@ -122,7 +136,7 @@ class SPIClass { void end(); void beginTransaction(const SPISettings&); - void endTransaction() {}; + void endTransaction() {} // Transfer using 1 "Data Size" uint8_t transfer(uint16_t data); diff --git a/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp b/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp index c72e5f0eac44..5f96630043c1 100644 --- a/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp +++ b/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp @@ -72,7 +72,6 @@ bool XPT2046::getRawPoint(int16_t *x, int16_t *y) { if (!isTouched()) return false; *x = getRawData(XPT2046_X); *y = getRawData(XPT2046_Y); - SERIAL_ECHOLNPAIR("X: ", *x, ", Y: ", *y); return isTouched(); } diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index b32f99c68db0..49c4dffa04ed 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -275,9 +275,6 @@ #define LCD_BACKLIGHT_PIN -1 #elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI - #define SS_PIN -1 - //#define ONBOARD_SD_CS_PIN -1 - #define TFT_CS_PIN P1_22 #define TFT_A0_PIN P1_23 #define TFT_DC_PIN P1_23 @@ -285,7 +282,6 @@ #define TFT_BACKLIGHT_PIN P1_18 #define TFT_RESET_PIN P1_19 - #define LPC_HW_SPI_DEV 0 #define LCD_USE_DMA_SPI #define TOUCH_INT_PIN P1_21 @@ -297,15 +293,18 @@ #define GRAPHICAL_TFT_UPSCALE 3 #endif - // SPI 1 - #define SCK_PIN P0_15 - #define MISO_PIN P0_17 - #define MOSI_PIN P0_18 - // Disable any LCD related PINs config #define LCD_PINS_ENABLE -1 #define LCD_PINS_RS -1 + // Emulated DOGM have xpt calibration values independent of display resolution + #if ENABLED(SPI_GRAPHICAL_TFT) + #define XPT2046_X_CALIBRATION -11245 + #define XPT2046_Y_CALIBRATION 8629 + #define XPT2046_X_OFFSET 685 + #define XPT2046_Y_OFFSET -285 + #endif + #else #define BTN_ENC P0_28 // (58) open-drain diff --git a/platformio.ini b/platformio.ini index 4a2abf583048..0c301a40443f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -623,6 +623,7 @@ debug_tool = jlink # [common_LPC] platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip +platform_packages = framework-arduino-lpc176x@^0.2.5 board = nxp_lpc1768 lib_ldf_mode = off lib_compat_mode = strict From 9b78138600da8a069fd0bda5919b37be96b07d48 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 9 Sep 2020 17:56:01 -0500 Subject: [PATCH 045/277] General cleanup --- Marlin/src/HAL/LPC1768/HAL_SPI.cpp | 8 ++++---- Marlin/src/HAL/STM32F1/sdio.cpp | 2 +- Marlin/src/gcode/motion/G2_G3.cpp | 4 +--- Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp | 10 +++++----- Marlin/src/lcd/dwin/e3v2/rotary_encoder.h | 6 +++--- Marlin/src/pins/stm32f1/pins_CREALITY_V4.h | 8 ++++---- 6 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp index 3c64ea812f78..e13f2d98cbb9 100644 --- a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp +++ b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp @@ -370,19 +370,19 @@ void SPIClass::updateSettings() { switch (_currentSetting->dataMode) { case SPI_MODE0: HW_SPI_init.CPHA = SSP_CPHA_FIRST; - HW_SPI_init.CPOL = SSP_CPOL_HI; + HW_SPI_init.CPOL = SSP_CPOL_HI; break; case SPI_MODE1: HW_SPI_init.CPHA = SSP_CPHA_SECOND; - HW_SPI_init.CPOL = SSP_CPOL_HI; + HW_SPI_init.CPOL = SSP_CPOL_HI; break; case SPI_MODE2: HW_SPI_init.CPHA = SSP_CPHA_FIRST; - HW_SPI_init.CPOL = SSP_CPOL_LO; + HW_SPI_init.CPOL = SSP_CPOL_LO; break; case SPI_MODE3: HW_SPI_init.CPHA = SSP_CPHA_SECOND; - HW_SPI_init.CPOL = SSP_CPOL_LO; + HW_SPI_init.CPOL = SSP_CPOL_LO; break; default: break; diff --git a/Marlin/src/HAL/STM32F1/sdio.cpp b/Marlin/src/HAL/STM32F1/sdio.cpp index 0e8a74581015..0e9a3b2d0450 100644 --- a/Marlin/src/HAL/STM32F1/sdio.cpp +++ b/Marlin/src/HAL/STM32F1/sdio.cpp @@ -108,7 +108,7 @@ bool SDIO_ReadBlock_DMA(uint32_t blockAddress, uint8_t *data) { SDIO_CLEAR_FLAG(SDIO_ICR_CMD_FLAGS | SDIO_ICR_DATA_FLAGS); dma_disable(SDIO_DMA_DEV, SDIO_DMA_CHANNEL); return false; - } + } //Wait for DMA transaction to complete while ((DMA2_BASE->ISR & (DMA_ISR_TEIF4|DMA_ISR_TCIF4)) == 0 ) { /* wait */ } diff --git a/Marlin/src/gcode/motion/G2_G3.cpp b/Marlin/src/gcode/motion/G2_G3.cpp index 59a5346356b2..61d9f1d3a66d 100644 --- a/Marlin/src/gcode/motion/G2_G3.cpp +++ b/Marlin/src/gcode/motion/G2_G3.cpp @@ -115,9 +115,7 @@ void plan_arc( ); // Divide total travel by nominal segment length uint16_t segments = FLOOR(mm_of_travel / seg_length); - if (segments < min_segments) { // Too few segments? - segments = min_segments; // More segments - } + NOLESS(segments, min_segments); // At least some segments seg_length = mm_of_travel / segments; /** diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp index e4c563cf6b98..82a1bcae2c10 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp @@ -127,15 +127,15 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { // if must encoder rati multiplier if (EncoderRate.encoderRateEnabled) { - const float abs_diff = ABS(temp_diff); - const float encoderMovementSteps = abs_diff / (ENCODER_PULSES_PER_STEP); + const float abs_diff = ABS(temp_diff), + encoderMovementSteps = abs_diff / (ENCODER_PULSES_PER_STEP); if (EncoderRate.lastEncoderTime) { // Note that the rate is always calculated between two passes through the // loop and that the abs of the temp_diff value is tracked. const float encoderStepRate = encoderMovementSteps / float(ms - EncoderRate.lastEncoderTime) * 1000; - if (encoderStepRate >= ENCODER_100X_STEPS_PER_SEC) encoderMultiplier = 100; - else if (encoderStepRate >= ENCODER_10X_STEPS_PER_SEC) encoderMultiplier = 10; - else if (encoderStepRate >= ENCODER_5X_STEPS_PER_SEC) encoderMultiplier = 5; + if (encoderStepRate >= ENCODER_100X_STEPS_PER_SEC) encoderMultiplier = 100; + else if (encoderStepRate >= ENCODER_10X_STEPS_PER_SEC) encoderMultiplier = 10; + else if (encoderStepRate >= ENCODER_5X_STEPS_PER_SEC) encoderMultiplier = 5; } EncoderRate.lastEncoderTime = ms; } diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h index db074098ebf1..72327725cd00 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h @@ -55,9 +55,9 @@ extern ENCODER_Rate EncoderRate; typedef enum { ENCODER_DIFF_NO = 0, - ENCODER_DIFF_CW = 1, + ENCODER_DIFF_CW = 1, ENCODER_DIFF_CCW = 2, - ENCODER_DIFF_ENTER = 3 + ENCODER_DIFF_ENTER = 3 } ENCODER_DiffState; /*编码器初始化 PB12:Encoder_A PB13:Encoder_B PB14:Encoder_C*/ @@ -87,7 +87,7 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void); /*状态LED初始化*/ void STATE_LED_Configuration(void); - /*LED灯操作*/ + /*LED灯操作*/ void LED_Action(void); /*LED初始化*/ diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index 090f3ee3f8f9..f122a2b7c2ba 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -161,7 +161,7 @@ #if ENABLED(RET6_12864_LCD) - /* RET6 12864 LCD */ + // RET6 12864 LCD #define LCD_PINS_RS PB12 #define LCD_PINS_ENABLE PB15 #define LCD_PINS_D4 PB13 @@ -174,7 +174,7 @@ #elif ENABLED(VET6_12864_LCD) - /* VET6 12864 LCD */ + // VET6 12864 LCD #define LCD_PINS_RS PA4 #define LCD_PINS_ENABLE PA7 #define LCD_PINS_D4 PA5 @@ -185,7 +185,7 @@ #elif ENABLED(DWIN_CREALITY_LCD) - /* RET6 DWIN ENCODER LCD */ + // RET6 DWIN ENCODER LCD #define BTN_ENC PB14 #define BTN_EN1 PB15 #define BTN_EN2 PB12 @@ -198,7 +198,7 @@ #elif ENABLED(DWIN_VET6_CREALITY_LCD) - /* VET6 DWIN ENCODER LCD */ + // VET6 DWIN ENCODER LCD #define BTN_ENC PA6 #define BTN_EN1 PA7 #define BTN_EN2 PA4 From 21ee7be30aafa22297c788b582865823d4f2bef9 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 02:50:38 -0500 Subject: [PATCH 046/277] Warning if SDCARD_READONLY should be disabled --- Marlin/src/inc/SanityCheck.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 775899febb16..1ee082720d7d 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -2182,16 +2182,16 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #endif /** - * Make sure features that need to write to the SD card are - * disabled unless write support is enabled. + * Make sure features that need to write to the SD card can */ -#if ENABLED(SDCARD_READONLY) +#if ENABLED(SDCARD_READONLY) && ANY(POWER_LOSS_RECOVERY, BINARY_FILE_TRANSFER, SDCARD_EEPROM_EMULATION) + #undef SDCARD_READONLY #if ENABLED(POWER_LOSS_RECOVERY) - #error "POWER_LOSS_RECOVERY is incompatible with SDCARD_READONLY." + #warning "Either disable SDCARD_READONLY or disable POWER_LOSS_RECOVERY." #elif ENABLED(BINARY_FILE_TRANSFER) - #error "BINARY_FILE_TRANSFER is incompatible with SDCARD_READONLY." + #warning "Either disable SDCARD_READONLY or disable BINARY_FILE_TRANSFER." #elif ENABLED(SDCARD_EEPROM_EMULATION) - #error "SDCARD_EEPROM_EMULATION is incompatible with SDCARD_READONLY." + #warning "Either disable SDCARD_READONLY or disable SDCARD_EEPROM_EMULATION." #endif #endif From b2ba9009d045fc21e7a923e92ab9a91e4275247d Mon Sep 17 00:00:00 2001 From: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Date: Thu, 10 Sep 2020 23:47:58 +0200 Subject: [PATCH 047/277] Fix "too cold" in M600 (#19332) --- Marlin/src/feature/pause.cpp | 26 ++++++++---------------- Marlin/src/gcode/feature/pause/M600.cpp | 3 --- Marlin/src/lcd/language/language_cz.h | 1 - Marlin/src/lcd/language/language_de.h | 1 - Marlin/src/lcd/language/language_en.h | 1 - Marlin/src/lcd/language/language_es.h | 1 - Marlin/src/lcd/language/language_eu.h | 1 - Marlin/src/lcd/language/language_fr.h | 1 - Marlin/src/lcd/language/language_gl.h | 1 - Marlin/src/lcd/language/language_hu.h | 1 - Marlin/src/lcd/language/language_it.h | 1 - Marlin/src/lcd/language/language_pl.h | 1 - Marlin/src/lcd/language/language_pt_br.h | 1 - Marlin/src/lcd/language/language_ro.h | 1 - Marlin/src/lcd/language/language_ru.h | 1 - Marlin/src/lcd/language/language_sk.h | 1 - Marlin/src/lcd/language/language_tr.h | 1 - Marlin/src/lcd/language/language_uk.h | 1 - Marlin/src/lcd/language/language_vi.h | 1 - Marlin/src/lcd/language/language_zh_CN.h | 1 - Marlin/src/lcd/language/language_zh_TW.h | 1 - 21 files changed, 8 insertions(+), 40 deletions(-) diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index 4089e2b87b05..efc6510756ee 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -381,7 +381,7 @@ uint8_t did_pause_print = 0; bool pause_print(const float &retract, const xyz_pos_t &park_point, const float &unload_length/*=0*/, const bool show_lcd/*=false*/ DXC_ARGS) { DEBUG_SECTION(pp, "pause_print", true); - DEBUG_ECHOLNPAIR("... retract:", retract, " park.x:", park_point.x, " y:", park_point.y, " z:", park_point.z, " unloadlen:", unload_length, " showlcd:", int(show_lcd) DXC_SAY); + DEBUG_ECHOLNPAIR("... park.x:", park_point.x, " y:", park_point.y, " z:", park_point.z, " unloadlen:", unload_length, " showlcd:", int(show_lcd) DXC_SAY); UNUSED(show_lcd); @@ -397,19 +397,6 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float TERN_(HOST_PROMPT_SUPPORT, host_prompt_open(PROMPT_INFO, PSTR("Pause"), DISMISS_STR)); - if (!DEBUGGING(DRYRUN) && unload_length && thermalManager.targetTooColdToExtrude(active_extruder)) { - SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD); - - #if HAS_LCD_MENU - if (show_lcd) { // Show status screen - lcd_pause_show_message(PAUSE_MESSAGE_STATUS); - LCD_MESSAGEPGM(MSG_M600_TOO_COLD); - } - #endif - - return false; // unable to reach safe temperature - } - // Indicate that the printer is paused ++did_pause_print; @@ -434,8 +421,10 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float #endif // Initial retract before move to filament change position - if (retract && thermalManager.hotEnoughToExtrude(active_extruder)) + if (retract && thermalManager.hotEnoughToExtrude(active_extruder)) { + DEBUG_ECHOLNPAIR("... retract:", retract); unscaled_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); + } // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) if (!axes_should_home()) @@ -603,11 +592,12 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le thermalManager.reset_hotend_idle_timer(e); } - if (targetTemp > thermalManager.degTargetHotend(active_extruder)) + if (targetTemp > thermalManager.degTargetHotend(active_extruder)) { thermalManager.setTargetHotend(targetTemp, active_extruder); + } - if (nozzle_timed_out || thermalManager.hotEnoughToExtrude(active_extruder)) // Load the new filament - load_filament(slow_load_length, fast_load_length, purge_length, max_beep_count, true, nozzle_timed_out, PAUSE_MODE_SAME DXC_PASS); + // Load the new filament + load_filament(slow_load_length, fast_load_length, purge_length, max_beep_count, true, nozzle_timed_out, PAUSE_MODE_SAME DXC_PASS); if (targetTemp > 0) { thermalManager.setTargetHotend(targetTemp, active_extruder); diff --git a/Marlin/src/gcode/feature/pause/M600.cpp b/Marlin/src/gcode/feature/pause/M600.cpp index b78608f7aee7..fe1d90109eef 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -162,9 +162,6 @@ void GcodeSuite::M600() { beep_count, (parser.seenval('R') ? parser.value_celsius() : 0) DXC_PASS); #endif } - else { - TERN_(HAS_FILAMENT_SENSOR, runout.reset()); - } #if EXTRUDERS > 1 // Restore toolhead if it was changed diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index 069a8e5a55a0..e7d2611bc413 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -501,7 +501,6 @@ namespace Language_cz { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Délka mm senz.fil."); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Parkování selhalo"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Kalibrace selhala"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Moc studený"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("VYBERTE FILAMENT"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 84b304c242be..e353229daacf 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -536,7 +536,6 @@ namespace Language_de { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout-Weg mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing gescheitert"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing gescheitert"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: zu kalt"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("FILAMENT WÄHLEN"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 8ae40304bdf3..fadce16439e5 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -541,7 +541,6 @@ namespace Language_en { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout Dist mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing Failed"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Failed"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Too Cold"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOOSE FILAMENT"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index 5beab6c1c90f..11cb8cc2a91f 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -504,7 +504,6 @@ namespace Language_es { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist. filamento mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Ir a origen Fallado"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondeo Fallado"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Muy Frio"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ELIJE FILAMENTO"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 36586fd2fa0f..d04b3037ab4e 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -309,7 +309,6 @@ namespace Language_eu { PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Pita: "); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Hasi. huts egin du"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Neurketak huts egin du"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: hotzegi"); PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Inprimagailu okerra"); diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 0042a30f8e5f..c1980a9141de 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -485,7 +485,6 @@ namespace Language_fr { PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Capteur fil."); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Echec origine"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Echec sonde"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Trop froid"); PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("MAJ firmware MMU!!"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOISIR FILAMENT"); diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 90e4129abd7c..d47ec0b67d36 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -526,7 +526,6 @@ namespace Language_gl { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist mm Sensor Fil"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Fallo ao ir á Orixe"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Fallo ao Sondar"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Moi Frío"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ESCOLLE FILAMENTO"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 64ea482249ef..962fb17511a8 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -528,7 +528,6 @@ namespace Language_hu { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Túlfutás Táv. mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Tájolási hiba"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Szondázás hiba"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Túl hideg"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("SZÁLVÁLASZTÁS"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 0a56fdf5ecfe..39980b846e4b 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -535,7 +535,6 @@ namespace Language_it { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist mm filo term."); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Home fallito"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondaggio fallito"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600:Troppo freddo"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("SCELTA FILAMENTO"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 17ca0bd00f45..7c3f9c1bb100 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -474,7 +474,6 @@ namespace Language_pl { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dystans do czujnika mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Zerowanie nieudane"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondowanie nieudane"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: za zimne"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("WYBIERZ FILAMENT"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index 2c6c2af1486e..b9fd91fa293f 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -432,7 +432,6 @@ namespace Language_pt_br { PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Sensor filamento"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Falha ao ir à origem"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Falha ao sondar"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Muito frio"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ESCOLHER FILAMENTO"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index dc5591117602..0d5b1568a71a 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -532,7 +532,6 @@ namespace Language_ro { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout Dist mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing Failed"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Failed"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Too Cold"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOOSE FILAMENT"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index e1abfa542972..0e2c63ca139f 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -640,7 +640,6 @@ namespace Language_ru { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("До конца, мм"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Ошибка парковки"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Ошибка зондирования"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Низкая Т") LCD_STR_DEGREE; PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ВЫБИРЕТЕ ФИЛАМЕНТ"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("Настройки MMU"); diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 71949014b7c7..ace2ba6da4b3 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -525,7 +525,6 @@ namespace Language_sk { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Vzd. mm fil. senz."); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Parkovanie zlyhalo"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Kalibrácia zlyhala"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Príliš studený"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("VYBERTE FILAMENT"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU2"); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index c0ce4bfdc5d0..ed11ec87c5a8 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -500,7 +500,6 @@ namespace Language_tr { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Aşınma Farkı mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Sıfırlama Başarısız"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Başarısız"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Çok Soğuk"); PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("FILAMAN SEÇ"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 30d45338d98d..99d70cc2520e 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -650,7 +650,6 @@ namespace Language_uk { #endif PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Помилка паркування"); PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Помилка зондування"); - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: низька Т") LCD_STR_DEGREE; PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ОБЕРІТЬ ПРУТОК"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("Налаштування MMU"); diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index 02453e58792f..507490188308 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -405,7 +405,6 @@ namespace Language_vi { PROGMEM Language_Str MSG_RUNOUT_SENSOR_ENABLE = _UxGT("Cảm Biến Hết"); // Runout Sensor PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Sự nhà không thành công"); // Homing failed PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT(" không thành công"); // Probing failed - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: Quá lạnh"); // // Filament Change screens show up to 3 lines on a 4-line display diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 49d7acd94cc8..2a98d58e819e 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -532,7 +532,6 @@ namespace Language_zh_CN { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("断料距离mm"); PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("归原位失败"); // "Homing failed" PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("探针探测失败"); // "Probing failed" - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: 太凉"); // "M600: Too cold" PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("选择料"); PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU"); diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index ac543585347f..532886d45116 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -472,7 +472,6 @@ namespace Language_zh_TW { PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("絲距離mm"); //"Runout Dist mm" PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("歸原位失敗"); // "Homing failed" PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("探針探測失敗"); // "Probing failed" - PROGMEM Language_Str MSG_M600_TOO_COLD = _UxGT("M600: 太冷"); // "M600: Too cold" // // Filament Change screens show up to 3 lines on a 4-line display From abf1222f1d78c17b971327634e20775e3de75c55 Mon Sep 17 00:00:00 2001 From: riodoro1 Date: Fri, 11 Sep 2020 00:06:37 +0200 Subject: [PATCH 048/277] Fix missing BOARD_K8800 (#19331) --- Marlin/Makefile | 106 ++++++++++++++++++++------------------- Marlin/src/core/boards.h | 103 ++++++++++++++++++------------------- 2 files changed, 106 insertions(+), 103 deletions(-) diff --git a/Marlin/Makefile b/Marlin/Makefile index 9f2d18d268d7..68dd05bdfbad 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -170,112 +170,114 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1100) else ifeq ($(HARDWARE_MOTHERBOARD),1101) # Velleman K8400 Controller (derived from 3Drag Controller) else ifeq ($(HARDWARE_MOTHERBOARD),1102) -# Velleman K8600 Controller (derived from 3Drag Controller) +# Velleman K8600 Controller (Vertex Nano) else ifeq ($(HARDWARE_MOTHERBOARD),1103) -# 2PrintBeta BAM&DICE with STK drivers +# Velleman K8800 Controller (Vertex Delta) else ifeq ($(HARDWARE_MOTHERBOARD),1104) -# 2PrintBeta BAM&DICE Due with STK drivers +# 2PrintBeta BAM&DICE with STK drivers else ifeq ($(HARDWARE_MOTHERBOARD),1105) -# MKS BASE v1.0 +# 2PrintBeta BAM&DICE Due with STK drivers else ifeq ($(HARDWARE_MOTHERBOARD),1106) -# MKS v1.4 with A4982 stepper drivers +# MKS BASE v1.0 else ifeq ($(HARDWARE_MOTHERBOARD),1107) -# MKS v1.5 with Allegro A4982 stepper drivers +# MKS v1.4 with A4982 stepper drivers else ifeq ($(HARDWARE_MOTHERBOARD),1108) -# MKS v1.6 with Allegro A4982 stepper drivers +# MKS v1.5 with Allegro A4982 stepper drivers else ifeq ($(HARDWARE_MOTHERBOARD),1109) -# MKS BASE 1.0 with Heroic HR4982 stepper drivers +# MKS v1.6 with Allegro A4982 stepper drivers else ifeq ($(HARDWARE_MOTHERBOARD),1110) -# MKS GEN v1.3 or 1.4 +# MKS BASE 1.0 with Heroic HR4982 stepper drivers else ifeq ($(HARDWARE_MOTHERBOARD),1111) -# MKS GEN L +# MKS GEN v1.3 or 1.4 else ifeq ($(HARDWARE_MOTHERBOARD),1112) -# zrib V2.0 control board (Chinese knock off RAMPS replica) +# MKS GEN L else ifeq ($(HARDWARE_MOTHERBOARD),1113) -# BigTreeTech or BIQU KFB2.0 +# zrib V2.0 control board (Chinese knock off RAMPS replica) else ifeq ($(HARDWARE_MOTHERBOARD),1114) -# Felix 2.0+ Electronics Board (RAMPS like) +# BigTreeTech or BIQU KFB2.0 else ifeq ($(HARDWARE_MOTHERBOARD),1115) -# Invent-A-Part RigidBoard +# Felix 2.0+ Electronics Board (RAMPS like) else ifeq ($(HARDWARE_MOTHERBOARD),1116) -# Invent-A-Part RigidBoard V2 +# Invent-A-Part RigidBoard else ifeq ($(HARDWARE_MOTHERBOARD),1117) -# Sainsmart 2-in-1 board +# Invent-A-Part RigidBoard V2 else ifeq ($(HARDWARE_MOTHERBOARD),1118) -# Ultimaker +# Sainsmart 2-in-1 board else ifeq ($(HARDWARE_MOTHERBOARD),1119) -# Ultimaker (Older electronics. Pre 1.5.4. This is rare) +# Ultimaker else ifeq ($(HARDWARE_MOTHERBOARD),1120) +# Ultimaker (Older electronics. Pre 1.5.4. This is rare) +else ifeq ($(HARDWARE_MOTHERBOARD),1121) MCU ?= atmega1280 # Azteeg X3 -else ifeq ($(HARDWARE_MOTHERBOARD),1121) -# Azteeg X3 Pro else ifeq ($(HARDWARE_MOTHERBOARD),1122) -# Ultimainboard 2.x (Uses TEMP_SENSOR 20) +# Azteeg X3 Pro else ifeq ($(HARDWARE_MOTHERBOARD),1123) -# Rumba +# Ultimainboard 2.x (Uses TEMP_SENSOR 20) else ifeq ($(HARDWARE_MOTHERBOARD),1124) -# Raise3D Rumba +# Rumba else ifeq ($(HARDWARE_MOTHERBOARD),1125) -# Rapide Lite RL200 Rumba +# Raise3D Rumba else ifeq ($(HARDWARE_MOTHERBOARD),1126) -# Formbot T-Rex 2 Plus +# Rapide Lite RL200 Rumba else ifeq ($(HARDWARE_MOTHERBOARD),1127) -# Formbot T-Rex 3 +# Formbot T-Rex 2 Plus else ifeq ($(HARDWARE_MOTHERBOARD),1128) -# Formbot Raptor +# Formbot T-Rex 3 else ifeq ($(HARDWARE_MOTHERBOARD),1129) -# Formbot Raptor 2 +# Formbot Raptor else ifeq ($(HARDWARE_MOTHERBOARD),1130) -# bq ZUM Mega 3D +# Formbot Raptor 2 else ifeq ($(HARDWARE_MOTHERBOARD),1131) -# MakeBoard Mini v2.1.2 is a control board sold by MicroMake +# bq ZUM Mega 3D else ifeq ($(HARDWARE_MOTHERBOARD),1132) -# TriGorilla Anycubic version 1.3 based on RAMPS EFB +# MakeBoard Mini v2.1.2 is a control board sold by MicroMake else ifeq ($(HARDWARE_MOTHERBOARD),1133) -# TriGorilla Anycubic version 1.4 based on RAMPS EFB +# TriGorilla Anycubic version 1.3 based on RAMPS EFB else ifeq ($(HARDWARE_MOTHERBOARD),1134) -# TriGorilla Anycubic version 1.4 Rev 1.1 +# TriGorilla Anycubic version 1.4 based on RAMPS EFB else ifeq ($(HARDWARE_MOTHERBOARD),1135) -# Creality: Ender-4, CR-8 +# TriGorilla Anycubic version 1.4 Rev 1.1 else ifeq ($(HARDWARE_MOTHERBOARD),1136) -# Creality: CR10S, CR20, CR-X +# Creality: Ender-4, CR-8 else ifeq ($(HARDWARE_MOTHERBOARD),1137) -# Dagoma F5 +# Creality: CR10S, CR20, CR-X else ifeq ($(HARDWARE_MOTHERBOARD),1138) -# FYSETC F6 1.3 +# Dagoma F5 else ifeq ($(HARDWARE_MOTHERBOARD),1139) -# FYSETC F6 1.5 +# FYSETC F6 1.3 else ifeq ($(HARDWARE_MOTHERBOARD),1140) -# Duplicator i3 Plus +# FYSETC F6 1.5 else ifeq ($(HARDWARE_MOTHERBOARD),1141) -# VORON +# Duplicator i3 Plus else ifeq ($(HARDWARE_MOTHERBOARD),1142) -# TRONXY V3 1.0 +# VORON else ifeq ($(HARDWARE_MOTHERBOARD),1143) -# Z-Bolt X Series +# TRONXY V3 1.0 else ifeq ($(HARDWARE_MOTHERBOARD),1144) -# TT OSCAR +# Z-Bolt X Series else ifeq ($(HARDWARE_MOTHERBOARD),1145) -# Overlord/Overlord Pro +# TT OSCAR else ifeq ($(HARDWARE_MOTHERBOARD),1146) -# ADIMLab Gantry v1 +# Overlord/Overlord Pro else ifeq ($(HARDWARE_MOTHERBOARD),1147) -# ADIMLab Gantry v2 +# ADIMLab Gantry v1 else ifeq ($(HARDWARE_MOTHERBOARD),1148) -# BIQU Tango V1 +# ADIMLab Gantry v2 else ifeq ($(HARDWARE_MOTHERBOARD),1149) -# MKS GEN L V2 +# BIQU Tango V1 else ifeq ($(HARDWARE_MOTHERBOARD),1150) -# MKS GEN L V2.1 +# MKS GEN L V2 else ifeq ($(HARDWARE_MOTHERBOARD),1151) -# Copymaster 3D +# MKS GEN L V2.1 else ifeq ($(HARDWARE_MOTHERBOARD),1152) -# Ortur 4 +# Copymaster 3D else ifeq ($(HARDWARE_MOTHERBOARD),1153) -# Tenlog D3 Hero +# Ortur 4 else ifeq ($(HARDWARE_MOTHERBOARD),1154) +# Tenlog D3 Hero +else ifeq ($(HARDWARE_MOTHERBOARD),1155) # # RAMBo and derivatives diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index b93314712126..581c801feb88 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -57,57 +57,58 @@ #define BOARD_K8200 1101 // Velleman K8200 Controller (derived from 3Drag Controller) #define BOARD_K8400 1102 // Velleman K8400 Controller (derived from 3Drag Controller) #define BOARD_K8600 1103 // Velleman K8600 Controller (Vertex Nano) -#define BOARD_BAM_DICE 1104 // 2PrintBeta BAM&DICE with STK drivers -#define BOARD_BAM_DICE_DUE 1105 // 2PrintBeta BAM&DICE Due with STK drivers -#define BOARD_MKS_BASE 1106 // MKS BASE v1.0 -#define BOARD_MKS_BASE_14 1107 // MKS BASE v1.4 with Allegro A4982 stepper drivers -#define BOARD_MKS_BASE_15 1108 // MKS BASE v1.5 with Allegro A4982 stepper drivers -#define BOARD_MKS_BASE_16 1109 // MKS BASE v1.6 with Allegro A4982 stepper drivers -#define BOARD_MKS_BASE_HEROIC 1110 // MKS BASE 1.0 with Heroic HR4982 stepper drivers -#define BOARD_MKS_GEN_13 1111 // MKS GEN v1.3 or 1.4 -#define BOARD_MKS_GEN_L 1112 // MKS GEN L -#define BOARD_KFB_2 1113 // BigTreeTech or BIQU KFB2.0 -#define BOARD_ZRIB_V20 1114 // zrib V2.0 control board (Chinese knock off RAMPS replica) -#define BOARD_FELIX2 1115 // Felix 2.0+ Electronics Board (RAMPS like) -#define BOARD_RIGIDBOARD 1116 // Invent-A-Part RigidBoard -#define BOARD_RIGIDBOARD_V2 1117 // Invent-A-Part RigidBoard V2 -#define BOARD_SAINSMART_2IN1 1118 // Sainsmart 2-in-1 board -#define BOARD_ULTIMAKER 1119 // Ultimaker -#define BOARD_ULTIMAKER_OLD 1120 // Ultimaker (Older electronics. Pre 1.5.4. This is rare) -#define BOARD_AZTEEG_X3 1121 // Azteeg X3 -#define BOARD_AZTEEG_X3_PRO 1122 // Azteeg X3 Pro -#define BOARD_ULTIMAIN_2 1123 // Ultimainboard 2.x (Uses TEMP_SENSOR 20) -#define BOARD_RUMBA 1124 // Rumba -#define BOARD_RUMBA_RAISE3D 1125 // Raise3D N series Rumba derivative -#define BOARD_RL200 1126 // Rapide Lite 200 (v1, low-cost RUMBA clone with drv) -#define BOARD_FORMBOT_TREX2PLUS 1127 // Formbot T-Rex 2 Plus -#define BOARD_FORMBOT_TREX3 1128 // Formbot T-Rex 3 -#define BOARD_FORMBOT_RAPTOR 1129 // Formbot Raptor -#define BOARD_FORMBOT_RAPTOR2 1130 // Formbot Raptor 2 -#define BOARD_BQ_ZUM_MEGA_3D 1131 // bq ZUM Mega 3D -#define BOARD_MAKEBOARD_MINI 1132 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake -#define BOARD_TRIGORILLA_13 1133 // TriGorilla Anycubic version 1.3-based on RAMPS EFB -#define BOARD_TRIGORILLA_14 1134 // ... Ver 1.4 -#define BOARD_TRIGORILLA_14_11 1135 // ... Rev 1.1 (new servo pin order) -#define BOARD_RAMPS_ENDER_4 1136 // Creality: Ender-4, CR-8 -#define BOARD_RAMPS_CREALITY 1137 // Creality: CR10S, CR20, CR-X -#define BOARD_RAMPS_DAGOMA 1138 // Dagoma F5 -#define BOARD_FYSETC_F6_13 1139 // FYSETC F6 1.3 -#define BOARD_FYSETC_F6_14 1140 // FYSETC F6 1.4 -#define BOARD_DUPLICATOR_I3_PLUS 1141 // Wanhao Duplicator i3 Plus -#define BOARD_VORON 1142 // VORON Design -#define BOARD_TRONXY_V3_1_0 1143 // Tronxy TRONXY-V3-1.0 -#define BOARD_Z_BOLT_X_SERIES 1144 // Z-Bolt X Series -#define BOARD_TT_OSCAR 1145 // TT OSCAR -#define BOARD_OVERLORD 1146 // Overlord/Overlord Pro -#define BOARD_HJC2560C_REV1 1147 // ADIMLab Gantry v1 -#define BOARD_HJC2560C_REV2 1148 // ADIMLab Gantry v2 -#define BOARD_TANGO 1149 // BIQU Tango V1 -#define BOARD_MKS_GEN_L_V2 1150 // MKS GEN L V2 -#define BOARD_MKS_GEN_L_V21 1151 // MKS GEN L V2.1 -#define BOARD_COPYMASTER_3D 1152 // Copymaster 3D -#define BOARD_ORTUR_4 1153 // Ortur 4 -#define BOARD_TENLOG_D3_HERO 1154 // Tenlog D3 Hero IDEX printer +#define BOARD_K8800 1104 // Velleman K8800 Controller (Vertex Delta) +#define BOARD_BAM_DICE 1105 // 2PrintBeta BAM&DICE with STK drivers +#define BOARD_BAM_DICE_DUE 1106 // 2PrintBeta BAM&DICE Due with STK drivers +#define BOARD_MKS_BASE 1107 // MKS BASE v1.0 +#define BOARD_MKS_BASE_14 1108 // MKS BASE v1.4 with Allegro A4982 stepper drivers +#define BOARD_MKS_BASE_15 1109 // MKS BASE v1.5 with Allegro A4982 stepper drivers +#define BOARD_MKS_BASE_16 1110 // MKS BASE v1.6 with Allegro A4982 stepper drivers +#define BOARD_MKS_BASE_HEROIC 1111 // MKS BASE 1.0 with Heroic HR4982 stepper drivers +#define BOARD_MKS_GEN_13 1112 // MKS GEN v1.3 or 1.4 +#define BOARD_MKS_GEN_L 1113 // MKS GEN L +#define BOARD_KFB_2 1114 // BigTreeTech or BIQU KFB2.0 +#define BOARD_ZRIB_V20 1115 // zrib V2.0 control board (Chinese knock off RAMPS replica) +#define BOARD_FELIX2 1116 // Felix 2.0+ Electronics Board (RAMPS like) +#define BOARD_RIGIDBOARD 1117 // Invent-A-Part RigidBoard +#define BOARD_RIGIDBOARD_V2 1118 // Invent-A-Part RigidBoard V2 +#define BOARD_SAINSMART_2IN1 1119 // Sainsmart 2-in-1 board +#define BOARD_ULTIMAKER 1120 // Ultimaker +#define BOARD_ULTIMAKER_OLD 1121 // Ultimaker (Older electronics. Pre 1.5.4. This is rare) +#define BOARD_AZTEEG_X3 1122 // Azteeg X3 +#define BOARD_AZTEEG_X3_PRO 1123 // Azteeg X3 Pro +#define BOARD_ULTIMAIN_2 1124 // Ultimainboard 2.x (Uses TEMP_SENSOR 20) +#define BOARD_RUMBA 1125 // Rumba +#define BOARD_RUMBA_RAISE3D 1126 // Raise3D N series Rumba derivative +#define BOARD_RL200 1127 // Rapide Lite 200 (v1, low-cost RUMBA clone with drv) +#define BOARD_FORMBOT_TREX2PLUS 1128 // Formbot T-Rex 2 Plus +#define BOARD_FORMBOT_TREX3 1129 // Formbot T-Rex 3 +#define BOARD_FORMBOT_RAPTOR 1130 // Formbot Raptor +#define BOARD_FORMBOT_RAPTOR2 1131 // Formbot Raptor 2 +#define BOARD_BQ_ZUM_MEGA_3D 1132 // bq ZUM Mega 3D +#define BOARD_MAKEBOARD_MINI 1133 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake +#define BOARD_TRIGORILLA_13 1134 // TriGorilla Anycubic version 1.3-based on RAMPS EFB +#define BOARD_TRIGORILLA_14 1135 // ... Ver 1.4 +#define BOARD_TRIGORILLA_14_11 1136 // ... Rev 1.1 (new servo pin order) +#define BOARD_RAMPS_ENDER_4 1137 // Creality: Ender-4, CR-8 +#define BOARD_RAMPS_CREALITY 1138 // Creality: CR10S, CR20, CR-X +#define BOARD_RAMPS_DAGOMA 1139 // Dagoma F5 +#define BOARD_FYSETC_F6_13 1140 // FYSETC F6 1.3 +#define BOARD_FYSETC_F6_14 1141 // FYSETC F6 1.4 +#define BOARD_DUPLICATOR_I3_PLUS 1142 // Wanhao Duplicator i3 Plus +#define BOARD_VORON 1143 // VORON Design +#define BOARD_TRONXY_V3_1_0 1144 // Tronxy TRONXY-V3-1.0 +#define BOARD_Z_BOLT_X_SERIES 1145 // Z-Bolt X Series +#define BOARD_TT_OSCAR 1146 // TT OSCAR +#define BOARD_OVERLORD 1147 // Overlord/Overlord Pro +#define BOARD_HJC2560C_REV1 1148 // ADIMLab Gantry v1 +#define BOARD_HJC2560C_REV2 1149 // ADIMLab Gantry v2 +#define BOARD_TANGO 1150 // BIQU Tango V1 +#define BOARD_MKS_GEN_L_V2 1151 // MKS GEN L V2 +#define BOARD_MKS_GEN_L_V21 1152 // MKS GEN L V2.1 +#define BOARD_COPYMASTER_3D 1153 // Copymaster 3D +#define BOARD_ORTUR_4 1154 // Ortur 4 +#define BOARD_TENLOG_D3_HERO 1155 // Tenlog D3 Hero IDEX printer // // RAMBo and derivatives From 4d65ab5a0b483886143ae2cd937ed95ea496cbb0 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 11 Sep 2020 00:12:52 +0000 Subject: [PATCH 049/277] [cron] Bump distribution date (2020-09-11) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 91c646965974..49073535d751 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-10" + #define STRING_DISTRIBUTION_DATE "2020-09-11" #endif /** From 85089898be798e86f3eb4efc8a702781b7245e56 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 18:06:29 -0500 Subject: [PATCH 050/277] Translate encoder comments --- Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp | 43 ++++++++++--------- Marlin/src/lcd/dwin/e3v2/rotary_encoder.h | 47 ++++++++++----------- 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp index 82a1bcae2c10..dbbd356eff2d 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp @@ -20,15 +20,13 @@ * */ -/** - ****************************************************************************** - * @file rotary_encoder.cpp - * @author LEO / Creality3D - * @date 2019/07/06 - * @version 2.0.1 - * @brief 旋转编码器操作函数 - ****************************************************************************** -**/ +/***************************************************************************** + * @file rotary_encoder.cpp + * @author LEO / Creality3D + * @date 2019/07/06 + * @version 2.0.1 + * @brief Rotary encoder functions + *****************************************************************************/ #include "../../../inc/MarlinConfigPre.h" @@ -47,14 +45,14 @@ ENCODER_Rate EncoderRate; -/*蜂鸣器响*/ +// Buzzer void Encoder_tick(void) { WRITE(BEEPER_PIN, 1); delay(10); WRITE(BEEPER_PIN, 0); } -/*编码器初始化 PB12:Encoder_A PB13:Encoder_B PB14:Encoder_C*/ +// Encoder initialization void Encoder_Configuration(void) { #if BUTTON_EXISTS(EN1) SET_INPUT_PULLUP(BTN_EN1); @@ -70,8 +68,7 @@ void Encoder_Configuration(void) { #endif } -millis_t next_click_update_ms; -/*接收数据解析 返回值:ENCODER_DIFF_NO,无状态; ENCODER_DIFF_CW,顺时针旋转; ENCODER_DIFF_CCW,逆时针旋转; ENCODER_DIFF_ENTER,按下*/ +// Analyze encoder value and return state ENCODER_DiffState Encoder_ReceiveAnalyze(void) { const millis_t now = millis(); static unsigned char lastEncoderBits; @@ -82,6 +79,7 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { if (BUTTON_PRESSED(EN1)) newbutton |= 0x01; if (BUTTON_PRESSED(EN2)) newbutton |= 0x02; if (BUTTON_PRESSED(ENC)) { + static millis_t next_click_update_ms; if (ELAPSED(now, next_click_update_ms)) { next_click_update_ms = millis() + 300; Encoder_tick(); @@ -154,22 +152,22 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { #if PIN_EXISTS(LCD_LED) - /*取低24位有效 24Bit: G7 G6 G5 G4 G3 G2 G1 G0 R7 R6 R5 R4 R3 R2 R1 R0 B7 B6 B5 B4 B3 B2 B1 B0*/ + // Take the low 24 valid bits 24Bit: G7 G6 G5 G4 G3 G2 G1 G0 R7 R6 R5 R4 R3 R2 R1 R0 B7 B6 B5 B4 B3 B2 B1 B0 unsigned int LED_DataArray[LED_NUM]; - /*LED灯操作*/ + // LED light operation void LED_Action(void) { LED_Control(RGB_SCALE_WARM_WHITE,0x0F); delay(30); LED_Control(RGB_SCALE_WARM_WHITE,0x00); } - /*LED初始化*/ + // LED initialization void LED_Configuration(void) { SET_OUTPUT(LCD_LED_PIN); } - /*LED写数据*/ + // LED write data void LED_WriteData(void) { unsigned char tempCounter_LED, tempCounter_Bit; for (tempCounter_LED = 0; tempCounter_LED < LED_NUM; tempCounter_LED++) { @@ -189,7 +187,9 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { } } - /*LED控制 RGB_Scale:RGB色彩配比 luminance:亮度(0~0xFF)*/ + // LED control + // RGB_Scale: RGB color ratio + // luminance: brightness (0~0xFF) void LED_Control(unsigned char RGB_Scale, unsigned char luminance) { unsigned char temp_Counter; for (temp_Counter = 0; temp_Counter < LED_NUM; temp_Counter++) { @@ -203,7 +203,10 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { LED_WriteData(); } - /*LED渐变控制 RGB_Scale:RGB色彩配比 luminance:亮度(0~0xFF) change_Time:渐变时间(ms)*/ + // LED gradient control + // RGB_Scale: RGB color ratio + // luminance: brightness (0~0xFF) + // change_Time: gradient time (ms) void LED_GraduallyControl(unsigned char RGB_Scale, unsigned char luminance, unsigned int change_Interval) { unsigned char temp_Counter; unsigned char LED_R_Data[LED_NUM], LED_G_Data[LED_NUM], LED_B_Data[LED_NUM]; @@ -246,6 +249,6 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { } } -#endif +#endif // LCD_LED #endif // DWIN_CREALITY_LCD diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h index 72327725cd00..fb8102f8b22a 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h @@ -21,15 +21,13 @@ */ #pragma once -/** - ****************************************************************************** +/***************************************************************************** * @file rotary_encoder.h * @author LEO / Creality3D * @date 2019/07/06 * @version 2.0.1 - * @brief 旋转编码器操作函数 - ****************************************************************************** -**/ + * @brief Rotary encoder functions + ****************************************************************************/ #include "../../../inc/MarlinConfig.h" #include "../../../MarlinCore.h" @@ -54,19 +52,18 @@ typedef struct { extern ENCODER_Rate EncoderRate; typedef enum { - ENCODER_DIFF_NO = 0, - ENCODER_DIFF_CW = 1, - ENCODER_DIFF_CCW = 2, - ENCODER_DIFF_ENTER = 3 + ENCODER_DIFF_NO = 0, // no state + ENCODER_DIFF_CW = 1, // clockwise rotation + ENCODER_DIFF_CCW = 2, // counterclockwise rotation + ENCODER_DIFF_ENTER = 3 // click } ENCODER_DiffState; -/*编码器初始化 PB12:Encoder_A PB13:Encoder_B PB14:Encoder_C*/ +// Encoder initialization void Encoder_Configuration(void); -/*接收数据解析 返回值:ENCODER_DIFF_NO,无状态; ENCODER_DIFF_CW,顺时针旋转; ENCODER_DIFF_CCW,逆时针旋转; ENCODER_DIFF_ENTER,按下*/ +// Analyze encoder value and return state ENCODER_DiffState Encoder_ReceiveAnalyze(void); - /*********************** Encoder LED ***********************/ #if PIN_EXISTS(LCD_LED) @@ -78,28 +75,30 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void); #define RGB_SCALE_R10_G7_B5 1 #define RGB_SCALE_R10_G7_B4 2 #define RGB_SCALE_R10_G8_B7 3 - #define RGB_SCALE_NEUTRAL_WHITE RGB_SCALE_R10_G7_B5 //正白 - #define RGB_SCALE_WARM_WHITE RGB_SCALE_R10_G7_B4 //暖白 - #define RGB_SCALE_COOL_WHITE RGB_SCALE_R10_G8_B7 //冷白 + #define RGB_SCALE_NEUTRAL_WHITE RGB_SCALE_R10_G7_B5 + #define RGB_SCALE_WARM_WHITE RGB_SCALE_R10_G7_B4 + #define RGB_SCALE_COOL_WHITE RGB_SCALE_R10_G8_B7 extern unsigned int LED_DataArray[LED_NUM]; - /*状态LED初始化*/ - void STATE_LED_Configuration(void); - - /*LED灯操作*/ + // LED light operation void LED_Action(void); - /*LED初始化*/ + // LED initialization void LED_Configuration(void); - /*LED写数据*/ + // LED write data void LED_WriteData(void); - /*LED控制 RGB_Scale:RGB色彩配比 luminance:亮度(0~0xFF)*/ + // LED control + // RGB_Scale: RGB color ratio + // luminance: brightness (0~0xFF) void LED_Control(unsigned char RGB_Scale, unsigned char luminance); - /*LED渐变控制 RGB_Scale:RGB色彩配比 luminance:亮度(0~0xFF) change_Time:渐变时间(ms)*/ + // LED gradient control + // RGB_Scale: RGB color ratio + // luminance: brightness (0~0xFF) + // change_Time: gradient time (ms) void LED_GraduallyControl(unsigned char RGB_Scale, unsigned char luminance, unsigned int change_Interval); -#endif +#endif // LCD_LED From b33f4ba30030c04bbb958020076d8f782bdf2f85 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 20:52:00 -0500 Subject: [PATCH 051/277] Use F() for Ender 3 V2 DWIN --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 138 +++++++++++++++--------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 1d9c83e6da8a..b7e72f09a19a 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -215,11 +215,11 @@ void HMI_SetAndSaveLanguageChinese(void) { void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { if (value < 0) { - DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, (char*)"-"); + DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, F("-")); DWIN_Draw_FloatValue(true, true, 0, size, White, bColor, iNum, fNum, x, y, -value); } else { - DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, (char*)" "); + DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, F(" ")); DWIN_Draw_FloatValue(true, true, 0, size, White, bColor, iNum, fNum, x, y, value); } } @@ -557,11 +557,11 @@ inline void Prepare_Item_Cool(const uint8_t row) { inline void Prepare_Item_Lang(const uint8_t row) { if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 239, 134, 271 - 5, 479 - 333, LBLX, MBASE(row)); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), (char*)"CN"); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("CN")); } else { DWIN_Frame_AreaCopy(1, 0, 194, 271 - 150, 479 - 272, LBLX, MBASE(row)); // "Language selection" - DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), (char*)"EN"); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("EN")); } Draw_Menu_Icon(row, ICON_Language); } @@ -622,13 +622,13 @@ inline void Draw_Control_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_CONTROL)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_LOAD_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)GET_TEXT_F(MSG_RESTORE_DEFAULTS)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); if (CVISI(6)) - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), (char*)"Info"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), F("Info")); #else DWIN_Frame_AreaCopy(1, 128, 2, 271 - 95, 479 - 467, 14, 8); DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX, CLINE(1));// Temperature > @@ -669,11 +669,11 @@ inline void Draw_Tune_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TUNE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else DWIN_Frame_AreaCopy(1, 94, 2, 271 - 145, 479 - 467, 14, 9); DWIN_Frame_AreaCopy(1, 1, 179, 271 - 179, 479 - 287 - 2, LBLX, MBASE(1)); // print speed @@ -748,10 +748,10 @@ inline void Draw_Motion_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Feedrate"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STEPS_PER_MM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Feedrate")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_ACCELERATION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_JERK)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STEPS_PER_MM)); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); draw_max_en(MBASE(1)); draw_speed_en(24 + 3, MBASE(1)); // "Max Speed" @@ -787,8 +787,8 @@ void Popup_Window_Temperature(const bool toohigh) { DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, (char*)"Nozzle or Bed temperature"); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, (char*)"is too high"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too high")); } } else { @@ -798,8 +798,8 @@ void Popup_Window_Temperature(const bool toohigh) { DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, (char*)"Nozzle or Bed temperature"); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, (char*)"is too low"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too low")); } } } @@ -820,7 +820,7 @@ inline void Draw_Popup_Bkgd_60() { DWIN_ICON_Show(ICON, ICON_Confirm_C, 86, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 20, 235, (char*)"Nozzle is too cold"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 20, 235, F("Nozzle is too cold")); DWIN_ICON_Show(ICON, ICON_Confirm_E, 86, 280); } } @@ -837,9 +837,9 @@ void Popup_Window_Resume(void) { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 307); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 120, 115, (char*)"Tips"); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 192, (char*)"I see the file stopped"); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 68, 212, (char*)"unexpectedly last time"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 120, 115, F("Tips")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 192, F("I see the file stopped")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 68, 212, F("unexpectedly last time")); DWIN_ICON_Show(ICON, ICON_Continue_E, 26, 307); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 307); } @@ -855,8 +855,8 @@ void Popup_Window_Home(void) { DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 80, 230, (char*)GET_TEXT_F(MSG_LEVEL_BED_HOMING)); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, (char*)"Please wait until completed"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 80, 230, GET_TEXT_F(MSG_LEVEL_BED_HOMING)); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, F("Please wait until completed")); } } @@ -869,8 +869,8 @@ void Popup_Window_Leveling(void) { DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 76, 230, (char*)GET_TEXT_F(MSG_BED_LEVELING)); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, (char*)"Please wait until completed"); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 76, 230, GET_TEXT_F(MSG_BED_LEVELING)); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, F("Please wait until completed")); } } @@ -895,8 +895,8 @@ void Popup_window_PauseOrStop(void) { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 280); } else { - if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 88, 150, (char*)GET_TEXT_F(MSG_PAUSE_PRINT)); - else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 150, (char*)GET_TEXT_F(MSG_STOP_PRINT)); + if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 88, 150, GET_TEXT_F(MSG_PAUSE_PRINT)); + else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 150, GET_TEXT_F(MSG_STOP_PRINT)); DWIN_ICON_Show(ICON, ICON_Confirm_E, 26, 280); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 280); } @@ -920,19 +920,19 @@ void Draw_Print_ProgressBar() { DWIN_ICON_Show(ICON, ICON_Bar, 15, 93); DWIN_Draw_Rectangle(1, BarFill_Color, 16 + Percentrecord * 240 / 100, 93, 256, 113); DWIN_Draw_IntValue(true, true, 0, font8x16, Percent_Color, Background_black, 2, 117, 133, Percentrecord); - DWIN_Draw_String(false, false, font8x16, Percent_Color, Background_black, 117 + 16, 133, (char*)"%"); + DWIN_Draw_String(false, false, font8x16, Percent_Color, Background_black, 117 + 16, 133, F("%")); } void Draw_Print_ProgressElapsed() { duration_t elapsed = print_job_timer.duration(); // print timer DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 42, 212, elapsed.value / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 42 + 16, 212, (char*)":"); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 42 + 16, 212, F(":")); DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 42 + 24, 212, (elapsed.value % 3600) / 60); } void Draw_Print_ProgressRemain() { DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 176, 212, remain_time / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 176 + 16, 212, (char*)":"); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 176 + 16, 212, F(":")); DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 176 + 24, 212, (remain_time % 3600) / 60); } @@ -1595,7 +1595,7 @@ inline void Draw_SDItem(const uint16_t item, int16_t row=-1) { if (row < 0) row = item + 1 + MROWS - index_file; const bool is_subdir = !card.flag.workDirIsRoot; if (is_subdir && item == 0) { - Draw_Menu_Line(row, ICON_Folder, (char*)".."); + Draw_Menu_Line(row, ICON_Folder, ".."); return; } @@ -1712,11 +1712,11 @@ void HMI_StartFrame(const bool with_update) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + (2 + 3) * STAT_CHR_W + 2, 429, (char*)"%"); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + (2 + 3) * STAT_CHR_W + 2, 429, F("%")); show_plus_or_minus(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, (char*)"/"); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, (char*)"/"); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); if (with_update) { DWIN_UpdateLCD(); @@ -2287,11 +2287,11 @@ void Draw_Temperature_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"PLA Preheat Settings"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)"ABS Preheat Settings"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("PLA Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), F("ABS Preheat Settings")); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(1)); // Nozzle... @@ -2561,10 +2561,10 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("PLA Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Nozzle Temp"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Bed Temp"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(1)); @@ -2614,10 +2614,10 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("ABS Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Nozzle Temp"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Bed Temp"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(1)); @@ -2673,10 +2673,10 @@ inline void Draw_Max_Speed_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title("Max Speed (mm/s)"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Feedrate X"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Feedrate Y"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Feedrate Z"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Feedrate E"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Feedrate X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Feedrate Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Feedrate Z")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Feedrate E")); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); @@ -2728,10 +2728,10 @@ inline void Draw_Max_Accel_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Accel X"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Accel Y"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Accel Z"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Accel E"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Accel X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Accel Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Accel Z")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Accel E")); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); draw_max_accel_en(MBASE(1)); say_x(24 + 78 + 6, MBASE(1)); // "Max Acceleration X" @@ -2776,10 +2776,10 @@ inline void Draw_Max_Jerk_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Jerk X"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Jerk Y"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Jerk Z"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Jerk E"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Jerk X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Jerk Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Jerk Z")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Jerk E")); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); draw_max_en(MBASE(1)); // "Max" @@ -2831,10 +2831,10 @@ inline void Draw_Steps_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_STEPS_PER_MM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Steps/mm X"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Steps/mm Y"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Steps/mm Z"); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Steps/mm E"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Steps/mm X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Steps/mm Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Steps/mm Z")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Steps/mm E")); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); draw_steps_per_mm(MBASE(1)); say_x(100 + 3, MBASE(1)); // "Steps-per-mm X" From 6759aff22036a9fd4ae9f9398cd6e142a31ebd3b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 17:34:41 -0500 Subject: [PATCH 052/277] Clean up W25QXXFlash class --- Marlin/src/gcode/control/M993_M994.cpp | 4 ---- Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp | 2 -- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp | 1 - Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h | 2 -- Marlin/src/libs/W25Qxx.cpp | 3 ++- Marlin/src/libs/W25Qxx.h | 10 ++-------- 6 files changed, 4 insertions(+), 18 deletions(-) diff --git a/Marlin/src/gcode/control/M993_M994.cpp b/Marlin/src/gcode/control/M993_M994.cpp index 4e13aa9d77df..ddc95238bf89 100644 --- a/Marlin/src/gcode/control/M993_M994.cpp +++ b/Marlin/src/gcode/control/M993_M994.cpp @@ -41,8 +41,6 @@ void GcodeSuite::M993() { return; } - W25QXXFlash W25QXX; - uint8_t buf[1024]; uint32_t addr = 0; W25QXX.init(SPI_QUARTER_SPEED); @@ -71,8 +69,6 @@ void GcodeSuite::M994() { return; } - W25QXXFlash W25QXX; - uint8_t buf[1024]; uint32_t addr = 0; W25QXX.init(SPI_QUARTER_SPEED); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp index 979c916e5cad..9d3adc1bab93 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp @@ -27,8 +27,6 @@ #include "../../../../inc/MarlinConfig.h" #include "SPIFlashStorage.h" -extern W25QXXFlash W25QXX; - uint8_t SPIFlashStorage::m_pageData[SPI_FLASH_PageSize]; uint32_t SPIFlashStorage::m_currentPage; uint16_t SPIFlashStorage::m_pageDataUsed; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index ff9d0518d378..6bdea3fd2101 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -49,7 +49,6 @@ #include "../../../../feature/pause.h" #endif -W25QXXFlash W25QXX; CFG_ITMES gCfgItems; UI_CFG uiCfg; DISP_STATE_STACK disp_state_stack; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index 4d9d08a9b4e3..f1086fd1b941 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -156,8 +156,6 @@ extern void spi_flash_read_test(); extern void default_view_Read(uint8_t *default_view_Rbuff, uint32_t default_view_Readsize); extern void flash_view_Read(uint8_t *flash_view_Rbuff, uint32_t flash_view_Readsize); -extern W25QXXFlash W25QXX; - #ifdef __cplusplus } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/libs/W25Qxx.cpp b/Marlin/src/libs/W25Qxx.cpp index d51dfb819de9..9abe45fbaf7c 100644 --- a/Marlin/src/libs/W25Qxx.cpp +++ b/Marlin/src/libs/W25Qxx.cpp @@ -24,9 +24,10 @@ #if HAS_SPI_FLASH +#include "W25Qxx.h" #include -#include "W25Qxx.h" +W25QXXFlash W25QXX; #ifndef SPI_FLASH_MISO_PIN #define SPI_FLASH_MISO_PIN W25QXX_MISO_PIN diff --git a/Marlin/src/libs/W25Qxx.h b/Marlin/src/libs/W25Qxx.h index 81e964345010..ac3e8a169b24 100644 --- a/Marlin/src/libs/W25Qxx.h +++ b/Marlin/src/libs/W25Qxx.h @@ -1,4 +1,4 @@ -/** +/** * Marlin 3D Printer Firmware * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * @@ -21,10 +21,6 @@ */ #pragma once -//#ifdef __cplusplus -//extern "C" { /* C-declarations for C++ */ -//#endif - #include #define W25X_WriteEnable 0x06 @@ -71,6 +67,4 @@ class W25QXXFlash { static void SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); }; -//#ifdef __cplusplus -//} /* C-declarations for C++ */ -//#endif +extern W25QXXFlash W25QXX; From cb9a34c6f75bed9d8782658d7680d77ea428f48d Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Fri, 11 Sep 2020 00:12:49 -0700 Subject: [PATCH 053/277] Fix Creality RET6 env - RE (#19340) --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 0c301a40443f..d0a4cb7b10ea 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1065,7 +1065,7 @@ build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX [env:STM32F103RET6_creality] platform = ${common_stm32f1.platform} extends = common_stm32f1 -board = genericSTM32F103RC +board = genericSTM32F103RE build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DSTM32_XL_DENSITY -DTEMP_TIMER_CHAN=4 extra_scripts = ${common.extra_scripts} From 4f390ea18f85120993cf2899753361b1e8031c67 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 12 Sep 2020 00:12:50 +0000 Subject: [PATCH 054/277] [cron] Bump distribution date (2020-09-12) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 49073535d751..51014f5577eb 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-11" + #define STRING_DISTRIBUTION_DATE "2020-09-12" #endif /** From 6f8282f01ebdb0f5594b84a1ff2462a8aba10961 Mon Sep 17 00:00:00 2001 From: Haxk20 <16738302+Haxk20@users.noreply.github.com> Date: Sat, 12 Sep 2020 02:53:06 +0200 Subject: [PATCH 055/277] Fix Print Stats appearance (#19348) --- Marlin/src/lcd/menu/menu_info.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_info.cpp b/Marlin/src/lcd/menu/menu_info.cpp index 00ab9ad195e3..864e855df23d 100644 --- a/Marlin/src/lcd/menu/menu_info.cpp +++ b/Marlin/src/lcd/menu/menu_info.cpp @@ -34,6 +34,9 @@ #include "game/game.h" #endif +#define VALUE_ITEM(MSG, VALUE, STYL) do{ char msg[21]; strcpy_P(msg, PSTR(": ")); strcpy(msg + 2, VALUE); STATIC_ITEM(MSG, STYL, msg); }while(0) +#define VALUE_ITEM_P(MSG, PVALUE, STYL) do{ char msg[21]; strcpy_P(msg, PSTR(": ")); strcpy_P(msg + 2, PSTR(PVALUE)); STATIC_ITEM(MSG, STYL, msg); }while(0) + #if ENABLED(PRINTCOUNTER) #include "../../module/printcounter.h" @@ -49,8 +52,8 @@ char buffer[21]; START_SCREEN(); // 12345678901234567890 - STATIC_ITEM(MSG_INFO_PRINT_COUNT, SS_LEFT, i16tostr3left(stats.totalPrints)); // Print Count: 999 - STATIC_ITEM(MSG_INFO_COMPLETED_PRINTS, SS_LEFT, i16tostr3left(stats.finishedPrints)); // Completed : 666 + VALUE_ITEM(MSG_INFO_PRINT_COUNT, i16tostr3left(stats.totalPrints), SS_LEFT); // Print Count: 999 + VALUE_ITEM(MSG_INFO_COMPLETED_PRINTS, i16tostr3left(stats.finishedPrints), SS_LEFT); // Completed : 666 STATIC_ITEM(MSG_INFO_PRINT_TIME, SS_LEFT); // Total print Time: STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.printTime).toString(buffer)); // > 99y 364d 23h 59m 59s From 1917ed8741ed5c27c6a505c3936050e4f461d075 Mon Sep 17 00:00:00 2001 From: Neskik Date: Sat, 12 Sep 2020 05:51:19 +0200 Subject: [PATCH 056/277] M872 wait for probe temperature (#19344) --- .../{G76_M871.cpp => G76_M871-M872.cpp} | 46 +++++-- Marlin/src/gcode/gcode.cpp | 1 + Marlin/src/gcode/gcode.h | 6 +- Marlin/src/lcd/language/language_en.h | 2 + Marlin/src/lcd/language/language_fr.h | 2 + Marlin/src/module/temperature.cpp | 116 +++++++++++++++--- Marlin/src/module/temperature.h | 3 + 7 files changed, 150 insertions(+), 26 deletions(-) rename Marlin/src/gcode/calibrate/{G76_M871.cpp => G76_M871-M872.cpp} (90%) diff --git a/Marlin/src/gcode/calibrate/G76_M871.cpp b/Marlin/src/gcode/calibrate/G76_M871-M872.cpp similarity index 90% rename from Marlin/src/gcode/calibrate/G76_M871.cpp rename to Marlin/src/gcode/calibrate/G76_M871-M872.cpp index 9870d9fbe567..4f7c2874b17f 100644 --- a/Marlin/src/gcode/calibrate/G76_M871.cpp +++ b/Marlin/src/gcode/calibrate/G76_M871-M872.cpp @@ -37,6 +37,17 @@ #include "../../module/probe.h" #include "../../feature/probe_temp_comp.h" +#include "../../lcd/ultralcd.h" +#include "../../MarlinCore.h" // for wait_for_heatup and idle() + +#if ENABLED(PRINTJOB_TIMER_AUTOSTART) + #include "../../module/printcounter.h" +#endif + +#if ENABLED(PRINTER_EVENTS_LEDS) + #include "../../feature/leds/leds.h" +#endif + /** * G76: calibrate probe and/or bed temperature offsets * Notes: @@ -303,17 +314,17 @@ void GcodeSuite::M871() { } else if (parser.seen("BPE")) { if (!parser.seenval('V')) return; - const int16_t val = parser.value_int(); + const int16_t offset_val = parser.value_int(); if (!parser.seenval('I')) return; const int16_t idx = parser.value_int(); const TempSensorID mod = (parser.seen('B') ? TSI_BED : - #if ENABLED(USE_TEMP_EXT_COMPENSATION) - parser.seen('E') ? TSI_EXT : - #endif - TSI_PROBE + #if ENABLED(USE_TEMP_EXT_COMPENSATION) + parser.seen('E') ? TSI_EXT : + #endif + TSI_PROBE ); - if (idx > 0 && temp_comp.set_offset(mod, idx - 1, val)) - SERIAL_ECHOLNPAIR("Set value: ", val); + if (idx > 0 && temp_comp.set_offset(mod, idx - 1, offset_val)) + SERIAL_ECHOLNPAIR("Set value: ", offset_val); else SERIAL_ECHOLNPGM("!Invalid index. Failed to set value (note: value at index 0 is constant)."); @@ -322,4 +333,25 @@ void GcodeSuite::M871() { temp_comp.print_offsets(); } +/** + * M872: Wait for probe temperature sensor to reach a target + * + * Select only one of these flags: + * R - Wait for heating or cooling + * S - Wait only for heating + */ +void GcodeSuite::M872() { + if (DEBUGGING(DRYRUN)) return; + + const bool no_wait_for_cooling = parser.seenval('S'); + if (!no_wait_for_cooling && ! parser.seenval('R')) { + SERIAL_ERROR_MSG("No target temperature set."); + return; + } + + const float target_temp = parser.value_celsius(); + ui.set_status_P(thermalManager.isProbeBelowTemp(target_temp) ? GET_TEXT(MSG_PROBE_HEATING) : GET_TEXT(MSG_PROBE_COOLING)); + thermalManager.wait_for_probe(target_temp, no_wait_for_cooling); +} + #endif // PROBE_TEMP_COMPENSATION diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index c0a795025fc7..bace7adc7501 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -819,6 +819,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #if ENABLED(PROBE_TEMP_COMPENSATION) case 871: M871(); break; // M871: Print/reset/clear first layer temperature offset values + case 872: M872(); break; // M872: Wait for probe temp #endif #if ENABLED(LIN_ADVANCE) diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 23bf2c0ce5b1..72a2d0966f22 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -253,6 +253,7 @@ * M868 - Report or set position encoder module error correction threshold. * M869 - Report position encoder module error. * M871 - Print/reset/clear first layer temperature offset values. (Requires PROBE_TEMP_COMPENSATION) + * M872 - Wait for probe temp (Requires PROBE_TEMP_COMPENSATION) * M876 - Handle Prompt Response. (Requires HOST_PROMPT_SUPPORT and not EMERGENCY_PARSER) * M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE) * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660 or L6470) @@ -820,7 +821,10 @@ class GcodeSuite { FORCE_INLINE static void M869() { I2CPEM.M869(); } #endif - TERN_(PROBE_TEMP_COMPENSATION, static void M871()); + #if ENABLED(PROBE_TEMP_COMPENSATION) + static void M871(); + static void M872(); + #endif TERN_(LIN_ADVANCE, static void M900()); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index fadce16439e5..f5ba320881c2 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -470,6 +470,8 @@ namespace Language_en { PROGMEM Language_Str MSG_COOLING = _UxGT("Cooling..."); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bed Heating..."); PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Bed Cooling..."); + PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Probe Heating..."); + PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Probe Cooling..."); PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Chamber Heating..."); PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Chamber Cooling..."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Calibration"); diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index c1980a9141de..21f7757fa953 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -413,6 +413,8 @@ namespace Language_fr { PROGMEM Language_Str MSG_COOLING = _UxGT("Refroidissement"); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Lit en chauffe..."); PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Refroid. du lit..."); + PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Probe en chauffe..."); + PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Refroid. Probe..."); PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Chauffe caisson..."); PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Refroid. caisson..."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibration Delta"); diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 6b22c50a7b14..fbdd1fd6ec5f 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -440,7 +440,6 @@ volatile bool Temperature::raw_temps_ready = false; SHV(bias = d = (MAX_BED_POWER) >> 1, bias = d = (PID_MAX) >> 1); - wait_for_heatup = true; // Can be interrupted with M108 #if ENABLED(PRINTER_EVENT_LEDS) const float start_temp = GHV(temp_bed.celsius, temp_hotend[heater].celsius); LEDColor color = ONHEATINGSTART(); @@ -449,6 +448,7 @@ volatile bool Temperature::raw_temps_ready = false; TERN_(NO_FAN_SLOWING_IN_PID_TUNING, adaptive_fan_slowing = false); // PID Tuning loop + wait_for_heatup = true; // Can be interrupted with M108 while (wait_for_heatup) { const millis_t ms = millis(); @@ -632,6 +632,7 @@ volatile bool Temperature::raw_temps_ready = false; } TERN(DWIN_CREALITY_LCD, DWIN_Update(), ui.update()); } + wait_for_heatup = false; disable_all_heaters(); @@ -3060,10 +3061,10 @@ void Temperature::tick() { printerEventLEDs.onHotendHeatingStart(); #endif - float target_temp = -1.0, old_temp = 9999.0; bool wants_to_cool = false; - wait_for_heatup = true; + float target_temp = -1.0, old_temp = 9999.0; millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; + wait_for_heatup = true; do { // Target temperature might be changed during the loop if (target_temp != degTargetHotend(target_extruder)) { @@ -3137,6 +3138,7 @@ void Temperature::tick() { } while (wait_for_heatup && TEMP_CONDITIONS); if (wait_for_heatup) { + wait_for_heatup = false; #if ENABLED(DWIN_CREALITY_LCD) HMI_flag.heat_flag = 0; duration_t elapsed = print_job_timer.duration(); // print timer @@ -3145,9 +3147,10 @@ void Temperature::tick() { ui.reset_status(); #endif TERN_(PRINTER_EVENT_LEDS, printerEventLEDs.onHeatingDone()); + return true; } - return wait_for_heatup; + return false; } #endif // HAS_TEMP_HOTEND @@ -3176,11 +3179,6 @@ void Temperature::tick() { #define TEMP_BED_CONDITIONS (wants_to_cool ? isCoolingBed() : isHeatingBed()) #endif - float target_temp = -1, old_temp = 9999; - bool wants_to_cool = false; - wait_for_heatup = true; - millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; - #if DISABLED(BUSY_WHILE_HEATING) && ENABLED(HOST_KEEPALIVE_FEATURE) KEEPALIVE_STATE(NOT_BUSY); #endif @@ -3190,6 +3188,10 @@ void Temperature::tick() { printerEventLEDs.onBedHeatingStart(); #endif + bool wants_to_cool = false; + float target_temp = -1, old_temp = 9999; + millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; + wait_for_heatup = true; do { // Target temperature might be changed during the loop if (target_temp != degTargetBed()) { @@ -3264,9 +3266,13 @@ void Temperature::tick() { } while (wait_for_heatup && TEMP_BED_CONDITIONS); - if (wait_for_heatup) ui.reset_status(); + if (wait_for_heatup) { + wait_for_heatup = false; + ui.reset_status(); + return true; + } - return wait_for_heatup; + return false; } void Temperature::wait_for_bed_heating() { @@ -3280,6 +3286,77 @@ void Temperature::tick() { #endif // HAS_HEATED_BED + #if HAS_TEMP_PROBE + + #ifndef MIN_DELTA_SLOPE_DEG_PROBE + #define MIN_DELTA_SLOPE_DEG_PROBE 1.0 + #endif + #ifndef MIN_DELTA_SLOPE_TIME_PROBE + #define MIN_DELTA_SLOPE_TIME_PROBE 600 + #endif + + bool Temperature::wait_for_probe(const float target_temp, bool no_wait_for_cooling/*=true*/) { + + const bool wants_to_cool = isProbeAboveTemp(target_temp); + const bool will_wait = !(wants_to_cool && no_wait_for_cooling); + if (will_wait) + SERIAL_ECHOLNPAIR("Waiting for probe to ", (wants_to_cool ? PSTR("cool down") : PSTR("heat up")), " to ", target_temp, " degrees."); + + #if DISABLED(BUSY_WHILE_HEATING) && ENABLED(HOST_KEEPALIVE_FEATURE) + KEEPALIVE_STATE(NOT_BUSY); + #endif + + float old_temp = 9999; + millis_t next_temp_ms = 0, next_delta_check_ms = 0; + wait_for_heatup = true; + while (will_wait && wait_for_heatup) { + + // Print Temp Reading every 10 seconds while heating up. + millis_t now = millis(); + if (!next_temp_ms || ELAPSED(now, next_temp_ms)) { + next_temp_ms = now + 10000UL; + print_heater_states(active_extruder); + SERIAL_EOL(); + } + + idle(); + gcode.reset_stepper_timeout(); // Keep steppers powered + + // Break after MIN_DELTA_SLOPE_TIME_PROBE seconds if the temperature + // did not drop at least MIN_DELTA_SLOPE_DEG_PROBE. This avoids waiting + // forever as the probe is not actively heated. + if (!next_delta_check_ms || ELAPSED(now, next_delta_check_ms)) { + const float temp = degProbe(), + delta_temp = old_temp > temp ? old_temp - temp : temp - old_temp; + if (delta_temp < float(MIN_DELTA_SLOPE_DEG_PROBE)) { + SERIAL_ECHOLNPGM("Timed out waiting for probe temperature."); + break; + } + next_delta_check_ms = now + 1000UL * MIN_DELTA_SLOPE_TIME_PROBE; + old_temp = temp; + } + + // Loop until the temperature is very close target + if (!(wants_to_cool ? isProbeAboveTemp(target_temp) : isProbeBelowTemp(target_temp))) { + SERIAL_ECHOLN(wants_to_cool ? PSTR("Cooldown") : PSTR("Heatup")); + SERIAL_ECHOLNPGM(" complete, target probe temperature reached."); + break; + } + } + + if (wait_for_heatup) { + wait_for_heatup = false; + ui.reset_status(); + return true; + } + else if (will_wait) + SERIAL_ECHOLNPGM("Canceled wait for probe temperature."); + + return false; + } + + #endif // HAS_TEMP_PROBE + #if HAS_HEATED_CHAMBER #ifndef MIN_COOLING_SLOPE_DEG_CHAMBER @@ -3300,15 +3377,14 @@ void Temperature::tick() { #define TEMP_CHAMBER_CONDITIONS (wants_to_cool ? isCoolingChamber() : isHeatingChamber()) #endif - float target_temp = -1, old_temp = 9999; - bool wants_to_cool = false; - wait_for_heatup = true; - millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; - #if DISABLED(BUSY_WHILE_HEATING) && ENABLED(HOST_KEEPALIVE_FEATURE) KEEPALIVE_STATE(NOT_BUSY); #endif + bool wants_to_cool = false; + float target_temp = -1, old_temp = 9999; + millis_t now, next_temp_ms = 0, next_cool_check_ms = 0; + wait_for_heatup = true; do { // Target temperature might be changed during the loop if (target_temp != degTargetChamber()) { @@ -3367,9 +3443,13 @@ void Temperature::tick() { } } while (wait_for_heatup && TEMP_CHAMBER_CONDITIONS); - if (wait_for_heatup) ui.reset_status(); + if (wait_for_heatup) { + wait_for_heatup = false; + ui.reset_status(); + return true; + } - return wait_for_heatup; + return false; } #endif // HAS_HEATED_CHAMBER diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 4d3efceafd75..2148f4cb68ed 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -654,6 +654,9 @@ class Temperature { FORCE_INLINE static int16_t rawProbeTemp() { return temp_probe.raw; } #endif FORCE_INLINE static float degProbe() { return temp_probe.celsius; } + FORCE_INLINE static bool isProbeBelowTemp(const float target_temp) { return temp_probe.celsius < target_temp; } + FORCE_INLINE static bool isProbeAboveTemp(const float target_temp) { return temp_probe.celsius > target_temp; } + static bool wait_for_probe(const float target_temp, bool no_wait_for_cooling=true); #endif #if WATCH_PROBE From ed39317203555d4a9ea17f7802ad89f6d5b16fbc Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 13 Sep 2020 00:13:14 +0000 Subject: [PATCH 057/277] [cron] Bump distribution date (2020-09-13) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 51014f5577eb..0b7879fd95e9 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-12" + #define STRING_DISTRIBUTION_DATE "2020-09-13" #endif /** From 94244c1d933a859676a81e3ed241d5a7e74b98a9 Mon Sep 17 00:00:00 2001 From: Jesse S Date: Sat, 12 Sep 2020 19:50:15 -0700 Subject: [PATCH 058/277] Highlight Creality DWIN menu icons (#19368) --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index b7e72f09a19a..8aa908e423fd 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -227,6 +227,7 @@ void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNu void ICON_Print() { if (select_page.now == 0) { DWIN_ICON_Show(ICON, ICON_Print_1, 17, 130); + DWIN_Draw_Rectangle(0, White, 17, 130, 126, 229); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 58, 201); else @@ -244,6 +245,7 @@ void ICON_Print() { void ICON_Prepare() { if (select_page.now == 1) { DWIN_ICON_Show(ICON, ICON_Prepare_1, 145, 130); + DWIN_Draw_Rectangle(0, White, 145, 130, 254, 229); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 31, 447, 271 - 213, 479 - 19, 186, 201); else @@ -261,6 +263,7 @@ void ICON_Prepare() { void ICON_Control() { if (select_page.now == 2) { DWIN_ICON_Show(ICON, ICON_Control_1, 17, 246); + DWIN_Draw_Rectangle(0, White, 17, 246, 126, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 61, 447, 271 - 183, 479 - 19, 58, 318); else @@ -278,6 +281,7 @@ void ICON_Control() { void ICON_StartInfo(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Info_1, 145, 246); + DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 91, 447, 271 - 153, 479 - 19, 186, 318); else @@ -295,6 +299,7 @@ void ICON_StartInfo(bool show) { void ICON_Leveling(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Leveling_1, 145, 246); + DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 211, 447, 238, 479 - 19, 186, 318); else @@ -312,6 +317,7 @@ void ICON_Leveling(bool show) { void ICON_Tune() { if (select_print.now == 0) { DWIN_ICON_Show(ICON, ICON_Setup_1, 8, 252); + DWIN_Draw_Rectangle(0, White, 8, 252, 87, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 447, 271 - 123, 479 - 21, 34, 325); else @@ -329,6 +335,7 @@ void ICON_Tune() { void ICON_Pause() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Pause_1, 96, 252); + DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 181, 447, 271 - 63, 479 - 20, 124, 325); else @@ -346,6 +353,7 @@ void ICON_Pause() { void ICON_Continue() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Continue_1, 96, 252); + DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 124, 325); else @@ -363,6 +371,7 @@ void ICON_Continue() { void ICON_Stop() { if (select_print.now == 2) { DWIN_ICON_Show(ICON, ICON_Stop_1, 184, 252); + DWIN_Draw_Rectangle(0, White, 184, 252, 263, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 151, 447, 271 - 93, 479 - 20, 210, 325); else From dcf3587d9ac2a34638de6e3fb8daa2df47f0591a Mon Sep 17 00:00:00 2001 From: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Date: Sun, 13 Sep 2020 04:51:20 +0200 Subject: [PATCH 059/277] Update Italian language (#19365) --- Marlin/src/lcd/language/language_it.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 39980b846e4b..27087e5a5562 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -46,6 +46,7 @@ namespace Language_it { PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media inserito"); PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media rimosso"); PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Aspettando media"); + PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Inizial.SD fallita"); PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Err.leggendo media"); PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Dispos.USB rimosso"); PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Avvio USB fallito"); @@ -221,6 +222,10 @@ namespace Language_it { PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Viola"); PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Bianco"); PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Predefinito"); + PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Canale ="); + PROGMEM Language_Str MSG_LEDS2 = _UxGT("Luci #2"); + PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Luce #2 Presets"); + PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Luminosità"); PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Luci personalizzate"); PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensità rosso"); PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensità verde"); @@ -465,6 +470,8 @@ namespace Language_it { PROGMEM Language_Str MSG_COOLING = _UxGT("Raffreddamento.."); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Risc. piatto..."); PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Raffr. piatto..."); + PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Risc. sonda..."); + PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Raffr. sonda..."); PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Risc. camera..."); PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Raffr. camera..."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibraz. Delta"); @@ -585,6 +592,17 @@ namespace Language_it { PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Indice pag. errato"); PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Vel. pag. errata"); + PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Modif.password"); + PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login richiesto"); + PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Impostaz.password"); + PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Inserisci cifra"); + PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Imp./Modif.password"); + PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Elimina password"); + PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("La password è "); + PROGMEM Language_Str MSG_START_OVER = _UxGT("Ricominciare"); + PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Ricordati di mem.!"); + PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Password eliminata"); + // // Le schermate di Cambio Filamento possono visualizzare fino a 3 linee su un display a 4 righe // ...o fino a 2 linee su un display a 3 righe. From d07ce9ef2192267b2f3629581ce90372563b4127 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sat, 12 Sep 2020 19:52:46 -0700 Subject: [PATCH 060/277] Fix EXP2 pin define for MKS SGEN_L (#19369) --- Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index 733751eb0a8e..23558b2e0474 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -229,7 +229,7 @@ * _____ _____ * (BEEPER) 1.31 | · · | 1.30 (BTN_ENC) (MISO) 0.8 | · · | 0.7 (SD_SCK) * (LCD_EN) 0.18 | · · | 0.16 (LCD_RS) (BTN_EN1) 3.25 | · · | 0.28 (SD_CS2) - * (LCD_D4) 0.15 | · · | 0.17 (LCD_D5) (BTN_EN2) 3.26 | · · | 1.20 (SD_MOSI) + * (LCD_D4) 0.15 | · · | 0.17 (LCD_D5) (BTN_EN2) 3.26 | · · | 0.9 (SD_MOSI) * (LCD_D6) 1.0 | · · | 1.22 (LCD_D7) (SD_DETECT) 0.27 | · · | RST * GND | · · | 5V GND | · · | NC * ----- ----- @@ -279,7 +279,7 @@ #define DOGLCD_CS P0_18 #define DOGLCD_A0 P0_16 #define DOGLCD_SCK P0_07 - #define DOGLCD_MOSI P1_20 + #define DOGLCD_MOSI P0_09 #define LCD_BACKLIGHT_PIN -1 From c04d5624da568c1069065902373f1abce11e03ba Mon Sep 17 00:00:00 2001 From: ManuelMcLure Date: Sat, 12 Sep 2020 20:59:20 -0700 Subject: [PATCH 061/277] Read from backup TMC StealthChop state (#19364) --- Marlin/src/feature/tmc_util.h | 3 ++ Marlin/src/module/settings.cpp | 64 +++++++++++++++++----------------- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index 2779ae4ef4b4..d96939c91611 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -105,6 +105,7 @@ class TMCMarlin : public TMC, public TMCStorage { #if HAS_STEALTHCHOP inline void refresh_stepping_mode() { this->en_pwm_mode(this->stored.stealthChop_enabled); } inline bool get_stealthChop_status() { return this->en_pwm_mode(); } + inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; } #endif #if ENABLED(HYBRID_THRESHOLD) @@ -171,6 +172,7 @@ class TMCMarlin : public TMC220 #if HAS_STEALTHCHOP inline void refresh_stepping_mode() { en_spreadCycle(!this->stored.stealthChop_enabled); } inline bool get_stealthChop_status() { return !this->en_spreadCycle(); } + inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; } #endif #if ENABLED(HYBRID_THRESHOLD) @@ -216,6 +218,7 @@ class TMCMarlin : public TMC220 #if HAS_STEALTHCHOP inline void refresh_stepping_mode() { en_spreadCycle(!this->stored.stealthChop_enabled); } inline bool get_stealthChop_status() { return !this->en_spreadCycle(); } + inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; } #endif #if ENABLED(HYBRID_THRESHOLD) diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 8af2071e3600..2c679068b936 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -1191,60 +1191,60 @@ void MarlinSettings::postprocess() { #if HAS_STEALTHCHOP #if AXIS_HAS_STEALTHCHOP(X) - tmc_stealth_enabled.X = stepperX.get_stealthChop_status(); + tmc_stealth_enabled.X = stepperX.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Y) - tmc_stealth_enabled.Y = stepperY.get_stealthChop_status(); + tmc_stealth_enabled.Y = stepperY.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Z) - tmc_stealth_enabled.Z = stepperZ.get_stealthChop_status(); + tmc_stealth_enabled.Z = stepperZ.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(X2) - tmc_stealth_enabled.X2 = stepperX2.get_stealthChop_status(); + tmc_stealth_enabled.X2 = stepperX2.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Y2) - tmc_stealth_enabled.Y2 = stepperY2.get_stealthChop_status(); + tmc_stealth_enabled.Y2 = stepperY2.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Z2) - tmc_stealth_enabled.Z2 = stepperZ2.get_stealthChop_status(); + tmc_stealth_enabled.Z2 = stepperZ2.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Z3) - tmc_stealth_enabled.Z3 = stepperZ3.get_stealthChop_status(); + tmc_stealth_enabled.Z3 = stepperZ3.get_stored_stealthChop_status(); #endif #if AXIS_HAS_STEALTHCHOP(Z4) - tmc_stealth_enabled.Z4 = stepperZ4.get_stealthChop_status(); + tmc_stealth_enabled.Z4 = stepperZ4.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS #if AXIS_HAS_STEALTHCHOP(E0) - tmc_stealth_enabled.E0 = stepperE0.get_stealthChop_status(); + tmc_stealth_enabled.E0 = stepperE0.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 1 #if AXIS_HAS_STEALTHCHOP(E1) - tmc_stealth_enabled.E1 = stepperE1.get_stealthChop_status(); + tmc_stealth_enabled.E1 = stepperE1.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 2 #if AXIS_HAS_STEALTHCHOP(E2) - tmc_stealth_enabled.E2 = stepperE2.get_stealthChop_status(); + tmc_stealth_enabled.E2 = stepperE2.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 3 #if AXIS_HAS_STEALTHCHOP(E3) - tmc_stealth_enabled.E3 = stepperE3.get_stealthChop_status(); + tmc_stealth_enabled.E3 = stepperE3.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 4 #if AXIS_HAS_STEALTHCHOP(E4) - tmc_stealth_enabled.E4 = stepperE4.get_stealthChop_status(); + tmc_stealth_enabled.E4 = stepperE4.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 5 #if AXIS_HAS_STEALTHCHOP(E5) - tmc_stealth_enabled.E5 = stepperE5.get_stealthChop_status(); + tmc_stealth_enabled.E5 = stepperE5.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 6 #if AXIS_HAS_STEALTHCHOP(E6) - tmc_stealth_enabled.E6 = stepperE6.get_stealthChop_status(); + tmc_stealth_enabled.E6 = stepperE6.get_stored_stealthChop_status(); #endif #if MAX_EXTRUDERS > 7 #if AXIS_HAS_STEALTHCHOP(E7) - tmc_stealth_enabled.E7 = stepperE7.get_stealthChop_status(); + tmc_stealth_enabled.E7 = stepperE7.get_stored_stealthChop_status(); #endif #endif // MAX_EXTRUDERS > 7 #endif // MAX_EXTRUDERS > 6 @@ -3595,17 +3595,17 @@ void MarlinSettings::reset() { #if HAS_STEALTHCHOP CONFIG_ECHO_HEADING("Driver stepping mode:"); #if AXIS_HAS_STEALTHCHOP(X) - const bool chop_x = stepperX.get_stealthChop_status(); + const bool chop_x = stepperX.get_stored_stealthChop_status(); #else constexpr bool chop_x = false; #endif #if AXIS_HAS_STEALTHCHOP(Y) - const bool chop_y = stepperY.get_stealthChop_status(); + const bool chop_y = stepperY.get_stored_stealthChop_status(); #else constexpr bool chop_y = false; #endif #if AXIS_HAS_STEALTHCHOP(Z) - const bool chop_z = stepperZ.get_stealthChop_status(); + const bool chop_z = stepperZ.get_stored_stealthChop_status(); #else constexpr bool chop_z = false; #endif @@ -3619,17 +3619,17 @@ void MarlinSettings::reset() { } #if AXIS_HAS_STEALTHCHOP(X2) - const bool chop_x2 = stepperX2.get_stealthChop_status(); + const bool chop_x2 = stepperX2.get_stored_stealthChop_status(); #else constexpr bool chop_x2 = false; #endif #if AXIS_HAS_STEALTHCHOP(Y2) - const bool chop_y2 = stepperY2.get_stealthChop_status(); + const bool chop_y2 = stepperY2.get_stored_stealthChop_status(); #else constexpr bool chop_y2 = false; #endif #if AXIS_HAS_STEALTHCHOP(Z2) - const bool chop_z2 = stepperZ2.get_stealthChop_status(); + const bool chop_z2 = stepperZ2.get_stored_stealthChop_status(); #else constexpr bool chop_z2 = false; #endif @@ -3643,36 +3643,36 @@ void MarlinSettings::reset() { } #if AXIS_HAS_STEALTHCHOP(Z3) - if (stepperZ3.get_stealthChop_status()) { say_M569(forReplay, PSTR("I2 Z"), true); } + if (stepperZ3.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("I2 Z"), true); } #endif #if AXIS_HAS_STEALTHCHOP(Z4) - if (stepperZ4.get_stealthChop_status()) { say_M569(forReplay, PSTR("I3 Z"), true); } + if (stepperZ4.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("I3 Z"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E0) - if (stepperE0.get_stealthChop_status()) { say_M569(forReplay, PSTR("T0 E"), true); } + if (stepperE0.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T0 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E1) - if (stepperE1.get_stealthChop_status()) { say_M569(forReplay, PSTR("T1 E"), true); } + if (stepperE1.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T1 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E2) - if (stepperE2.get_stealthChop_status()) { say_M569(forReplay, PSTR("T2 E"), true); } + if (stepperE2.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T2 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E3) - if (stepperE3.get_stealthChop_status()) { say_M569(forReplay, PSTR("T3 E"), true); } + if (stepperE3.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T3 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E4) - if (stepperE4.get_stealthChop_status()) { say_M569(forReplay, PSTR("T4 E"), true); } + if (stepperE4.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T4 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E5) - if (stepperE5.get_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); } + if (stepperE5.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E6) - if (stepperE6.get_stealthChop_status()) { say_M569(forReplay, PSTR("T6 E"), true); } + if (stepperE6.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T6 E"), true); } #endif #if AXIS_HAS_STEALTHCHOP(E7) - if (stepperE7.get_stealthChop_status()) { say_M569(forReplay, PSTR("T7 E"), true); } + if (stepperE7.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T7 E"), true); } #endif #endif // HAS_STEALTHCHOP From 7c7e663911f859b511eaf5066e7c331f59148704 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sun, 13 Sep 2020 16:01:03 +1200 Subject: [PATCH 062/277] Fix extra string substitution bug (#19351) --- Marlin/src/lcd/lcdprint.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Marlin/src/lcd/lcdprint.cpp b/Marlin/src/lcd/lcdprint.cpp index 0f7f945a9925..1355dbbf2ddb 100644 --- a/Marlin/src/lcd/lcdprint.cpp +++ b/Marlin/src/lcd/lcdprint.cpp @@ -57,7 +57,10 @@ lcd_uint_t lcd_put_u8str_ind_P(PGM_P const pstr, const int8_t ind, PGM_P const i PGM_P const b = ind == -2 ? GET_TEXT(MSG_CHAMBER) : GET_TEXT(MSG_BED); n -= lcd_put_u8str_max_P(b, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); } - if (n) n -= lcd_put_u8str_max_P((PGM_P)p, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); + if (n) { + n -= lcd_put_u8str_max_P((PGM_P)p, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); + break; + } } else if (ch == '$' && inStr) { n -= lcd_put_u8str_max_P(inStr, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); From 872516f9f903157fbd927bf6083996da70ab4e63 Mon Sep 17 00:00:00 2001 From: Marcio T Date: Sat, 12 Sep 2020 22:32:00 -0600 Subject: [PATCH 063/277] Touch UI "Leveling" menu, misc. fixes (#19349) --- Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp | 3 + .../ftdi_eve_lib/extras/poly_ui.h | 41 ++-- .../ftdi_eve_touch_ui/language/language_en.h | 3 +- .../screens/advanced_settings_menu.cpp | 20 +- .../screens/bed_mesh_screen.cpp | 43 +++-- .../screens/bio_status_screen.cpp | 35 ++-- .../screens/filament_menu.cpp | 65 +++---- .../screens/files_screen.cpp | 2 +- .../ftdi_eve_touch_ui/screens/main_menu.cpp | 52 ++--- .../ftdi_eve_touch_ui/screens/screen_data.h | 1 + .../lib/ftdi_eve_touch_ui/screens/screens.cpp | 15 +- .../lib/ftdi_eve_touch_ui/screens/screens.h | 177 ++++++++++-------- .../lib/ftdi_eve_touch_ui/theme/colors.h | 8 +- Marlin/src/lcd/extui/ui_api.cpp | 4 + Marlin/src/lcd/extui/ui_api.h | 7 +- 15 files changed, 258 insertions(+), 218 deletions(-) diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index d13a8c3dc455..9fc9ec099e8b 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -736,6 +736,7 @@ uint8_t count = GRID_MAX_POINTS; mesh_index_pair best; + TERN_(EXTENSIBLE_UI, ExtUI::onMeshUpdate(best.pos, ExtUI::MESH_START)); do { if (do_ubl_mesh_map) display_map(g29_map_type); @@ -775,6 +776,8 @@ } while (best.pos.x >= 0 && --count); + TERN_(EXTENSIBLE_UI, ExtUI::onMeshUpdate(best.pos, ExtUI::MESH_FINISH)); + // Release UI during stow to allow for PAUSE_BEFORE_DEPLOY_STOW TERN_(HAS_LCD_MENU, ui.release()); probe.stow(); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h index 3abc6fca2dc8..450b9c4415e0 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h @@ -16,7 +16,7 @@ * GNU General Public License for more details. * * * * To view a copy of the GNU General Public License, go to the following * - * location: . * + * location: . * ****************************************************************************/ #pragma once @@ -36,7 +36,7 @@ * * PolyReader r(data, N_ELEMENTS(data)); * - * for(r.start();r.has_more(); r.next()) { + * for (r.start();r.has_more(); r.next()) { * uint16_t x = r.x; * uint16_t y = r.y; * @@ -107,8 +107,8 @@ class PolyReader { } } - bool has_more() {return p != NULL;} - bool end_of_loop() {return start_x == eol;} + bool has_more() { return p != NULL; } + bool end_of_loop() { return start_x == eol; } }; /** @@ -129,7 +129,7 @@ class TransformedPolyReader : public PolyReader { */ static constexpr uint8_t fract_bits = 5; typedef int16_t fix_t; - fix_t makefix(float f) {return f * (1 << fract_bits);} + fix_t makefix(float f) { return f * (1 << fract_bits); } // First two rows of 3x3 transformation matrix fix_t a, b, c; @@ -254,6 +254,13 @@ class GenericPolyUI { draw_mode_t mode; public: + enum ButtonStyle : uint8_t { + FILL = 1, + STROKE = 2, + SHADOW = 4, + REGULAR = 7 + }; + typedef POLY_READER poly_reader_t; GenericPolyUI(CommandProcessor &c, draw_mode_t what = BOTH) : cmd(c), mode(what) {} @@ -276,7 +283,7 @@ class GenericPolyUI { Polygon p(cmd); p.begin_fill(); p.begin_loop(); - for(r.start();r.has_more();r.next()) { + for (r.start();r.has_more();r.next()) { p(r.x * 16, r.y * 16); if (r.end_of_loop()) { p.end_loop(); @@ -306,7 +313,7 @@ class GenericPolyUI { Polygon p(cmd); p.begin_stroke(); p.begin_loop(); - for(r.start();r.has_more(); r.next()) { + for (r.start();r.has_more(); r.next()) { p(r.x * 16, r.y * 16); if (r.end_of_loop()) { p.end_loop(); @@ -323,7 +330,7 @@ class GenericPolyUI { int16_t y_min = INT16_MAX; int16_t x_max = INT16_MIN; int16_t y_max = INT16_MIN; - for(r.start(); r.has_more(); r.next()) { + for (r.start(); r.has_more(); r.next()) { x_min = min(x_min, int16_t(r.x)); x_max = max(x_max, int16_t(r.x)); y_min = min(y_min, int16_t(r.y)); @@ -355,11 +362,11 @@ class GenericPolyUI { btn_shadow_depth = depth; } - void button(const uint8_t tag, poly_reader_t r) { + void button(const uint8_t tag, poly_reader_t r, uint8_t style = REGULAR) { using namespace FTDI; // Draw the shadow #if FTDI_API_LEVEL >= 810 - if (mode & BACKGROUND) { + if (mode & BACKGROUND && style & SHADOW) { cmd.cmd(SAVE_CONTEXT()); cmd.cmd(TAG(tag)); cmd.cmd(VERTEX_TRANSLATE_X(btn_shadow_depth * 16)); @@ -381,11 +388,15 @@ class GenericPolyUI { #endif // Draw the fill and stroke cmd.cmd(TAG(tag)); - cmd.cmd(COLOR_RGB(btn_fill_color)); - fill(r, false); - cmd.cmd(COLOR_RGB(btn_stroke_color)); - cmd.cmd(LINE_WIDTH(btn_stroke_width)); - stroke(r); + if (style & FILL) { + cmd.cmd(COLOR_RGB(btn_fill_color)); + fill(r, false); + } + if (style & STROKE) { + cmd.cmd(COLOR_RGB(btn_stroke_color)); + cmd.cmd(LINE_WIDTH(btn_stroke_width)); + stroke(r); + } cmd.cmd(RESTORE_CONTEXT()); } } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h index f2971087c160..e465aa0b93a7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h @@ -145,7 +145,8 @@ namespace Language_en { PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate"; PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS = u8"Level X Axis"; PROGMEM Language_Str MSG_BED_MAPPING_DONE = u8"Bed mapping finished"; - PROGMEM Language_Str MSG_RESET_BLTOUCH = u8"Reset BLTouch"; + PROGMEM Language_Str MSG_LEVELING = u8"Leveling"; + PROGMEM Language_Str MSG_SHOW_MESH = u8"Show Bed Mesh"; #ifdef TOUCH_UI_LULZBOT_BIO PROGMEM Language_Str MSG_MOVE_TO_HOME = u8"Move to Home"; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp index 35040734b472..67b077a55323 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp @@ -55,11 +55,11 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #define ACCELERATION_POS BTN_POS(2,5), BTN_SIZE(1,1) #define ENDSTOPS_POS BTN_POS(1,6), BTN_SIZE(1,1) #define JERK_POS BTN_POS(2,6), BTN_SIZE(1,1) - #define OFFSETS_POS BTN_POS(1,7), BTN_SIZE(1,1) + #define CASE_LIGHT_POS BTN_POS(1,7), BTN_SIZE(1,1) #define BACKLASH_POS BTN_POS(2,7), BTN_SIZE(1,1) - #define CASE_LIGHT_POS BTN_POS(1,8), BTN_SIZE(1,1) + #define OFFSETS_POS BTN_POS(1,8), BTN_SIZE(1,1) #define TMC_HOMING_THRS_POS BTN_POS(2,8), BTN_SIZE(1,1) - #if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING) + #if EITHER(HAS_MULTI_HOTEND, SENSORLESS_HOMING) #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) #else #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) @@ -98,8 +98,8 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { .tag(13).button( TMC_CURRENT_POS, GET_TEXT_F(MSG_TMC_CURRENT)) .enabled(ENABLED(SENSORLESS_HOMING)) .tag(14).button( TMC_HOMING_THRS_POS, GET_TEXT_F(MSG_TMC_HOMING_THRS)) - .enabled(EITHER(HAS_MULTI_HOTEND, BLTOUCH)) - .tag(4) .button( OFFSETS_POS, GET_TEXT_F(TERN(HAS_MULTI_HOTEND, MSG_OFFSETS_MENU, MSG_RESET_BLTOUCH))) + .enabled(ENABLED(HAS_MULTI_HOTEND)) + .tag(4) .button( OFFSETS_POS, GET_TEXT_F(MSG_OFFSETS_MENU)) .enabled(EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)) .tag(11).button( FILAMENT_POS, GET_TEXT_F(MSG_FILAMENT)) .tag(12).button( ENDSTOPS_POS, GET_TEXT_F(MSG_LCD_ENDSTOPS)) @@ -123,13 +123,9 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) { case 2: GOTO_SCREEN(ZOffsetScreen); break; #endif case 3: GOTO_SCREEN(StepsScreen); break; - case 4: - #if HAS_MULTI_HOTEND - GOTO_SCREEN(NozzleOffsetScreen); - #elif ENABLED(BLTOUCH) - injectCommands_P(PSTR("M280 P0 S60")); - #endif - break; + #if ENABLED(HAS_MULTI_HOTEND) + case 4: GOTO_SCREEN(NozzleOffsetScreen); break; + #endif case 5: GOTO_SCREEN(MaxVelocityScreen); break; case 6: GOTO_SCREEN(DefaultAccelerationScreen); break; case 7: GOTO_SCREEN(TERN(HAS_JUNCTION_DEVIATION, JunctionDeviationScreen, JerkScreen)); break; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp index 663555f05de7..eea2268c5b9c 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp @@ -222,7 +222,8 @@ bool BedMeshScreen::tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y) { void BedMeshScreen::onEntry() { screen_data.BedMeshScreen.highlightedTag = 0; - screen_data.BedMeshScreen.count = 0; + screen_data.BedMeshScreen.count = GRID_MAX_POINTS; + screen_data.BedMeshScreen.showMappingDone = false; BaseScreen::onEntry(); } @@ -251,6 +252,10 @@ void BedMeshScreen::drawHighlightedPointValue() { .colors(action_btn) .tag(1).button( OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY)) .tag(0); + + if (screen_data.BedMeshScreen.showMappingDone) { + cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); + } } void BedMeshScreen::onRedraw(draw_mode_t what) { @@ -270,17 +275,13 @@ void BedMeshScreen::onRedraw(draw_mode_t what) { if (what & FOREGROUND) { constexpr float autoscale_max_amplitude = 0.03; - const bool levelingFinished = screen_data.BedMeshScreen.count >= GRID_MAX_POINTS; - const float levelingProgress = sq(float(screen_data.BedMeshScreen.count) / GRID_MAX_POINTS); - if (levelingFinished) { + const bool gotAllPoints = screen_data.BedMeshScreen.count >= GRID_MAX_POINTS; + if (gotAllPoints) { drawHighlightedPointValue(); - CommandProcessor cmd; - cmd.font(Theme::font_medium) - .text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); } - + const float levelingProgress = sq(float(screen_data.BedMeshScreen.count) / GRID_MAX_POINTS); BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(), - USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (levelingFinished ? USE_COLORS : 0), + USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (gotAllPoints ? USE_COLORS : 0), autoscale_max_amplitude * levelingProgress ); } @@ -307,11 +308,29 @@ void BedMeshScreen::onMeshUpdate(const int8_t, const int8_t, const float) { } void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t state) { - if (state == ExtUI::PROBE_FINISH) { - screen_data.BedMeshScreen.highlightedTag = pointToTag(x, y); - screen_data.BedMeshScreen.count++; + switch(state) { + case ExtUI::MESH_START: + screen_data.BedMeshScreen.count = 0; + screen_data.BedMeshScreen.showMappingDone = false; + break; + case ExtUI::MESH_FINISH: + screen_data.BedMeshScreen.count = GRID_MAX_POINTS; + screen_data.BedMeshScreen.showMappingDone = true; + break; + case ExtUI::PROBE_START: + screen_data.BedMeshScreen.highlightedTag = pointToTag(x, y); + break; + case ExtUI::PROBE_FINISH: + screen_data.BedMeshScreen.count++; + break; } BedMeshScreen::onMeshUpdate(x, y, 0); } +void BedMeshScreen::startMeshProbe() { + GOTO_SCREEN(BedMeshScreen); + screen_data.BedMeshScreen.count = 0; + injectCommands_P(PSTR(BED_LEVELING_COMMANDS)); +} + #endif // TOUCH_UI_FTDI_EVE && HAS_MESH diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp index 6d72fc92a2e4..cfae53c7245c 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp @@ -29,7 +29,9 @@ #include "../ftdi_eve_lib/extras/poly_ui.h" -#ifdef TOUCH_UI_PORTRAIT +#if ENABLED(TOUCH_UI_COCOA_PRESS) + #include "cocoa_press_ui.h" +#elif ENABLED(TOUCH_UI_PORTRAIT) #include "bio_printer_ui_portrait.h" #else #include "bio_printer_ui_landscape.h" @@ -100,7 +102,7 @@ void StatusScreen::draw_temperature(draw_mode_t what) { // heating zones, but has no bed temperature cmd.cmd(COLOR_RGB(bg_text_enabled)); - cmd.font(font_medium); + cmd.font(font_xsmall); ui.bounds(POLY(h0_label), x, y, h, v); cmd.text(x, y, h, v, GET_TEXT_F(MSG_ZONE_1)); @@ -221,7 +223,7 @@ void StatusScreen::draw_syringe(draw_mode_t what) { ui.color(syringe_rgb); ui.fill(POLY(syringe_outline)); - ui.color(fill_rgb); + ui.color(fluid_rgb); ui.bounds(POLY(syringe_fluid), x, y, h, v); cmd.cmd(SAVE_CONTEXT()); cmd.cmd(SCISSOR_XY(x,y + v * (1.0 - fill_level))); @@ -245,23 +247,25 @@ void StatusScreen::draw_arrows(draw_mode_t what) { ui.button_stroke(stroke_rgb, 28); ui.button_shadow(shadow_rgb, shadow_depth); + constexpr uint8_t style = TERN(TOUCH_UI_COCOA_PRESS, PolyUI::FILL | PolyUI::SHADOW, PolyUI::REGULAR); + if ((what & BACKGROUND) || jog_xy) { - ui.button(1, POLY(x_neg)); - ui.button(2, POLY(x_pos)); - ui.button(3, POLY(y_neg)); - ui.button(4, POLY(y_pos)); + ui.button(1, POLY(x_neg), style); + ui.button(2, POLY(x_pos), style); + ui.button(3, POLY(y_neg), style); + ui.button(4, POLY(y_pos), style); } if ((what & BACKGROUND) || z_homed) { - ui.button(5, POLY(z_neg)); - ui.button(6, POLY(z_pos)); + ui.button(5, POLY(z_neg), style); + ui.button(6, POLY(z_pos), style); } if ((what & BACKGROUND) || e_homed) { #if DISABLED(TOUCH_UI_COCOA_PRESS) - ui.button(7, POLY(e_neg)); + ui.button(7, POLY(e_neg), style); #endif - ui.button(8, POLY(e_pos)); + ui.button(8, POLY(e_pos), style); } } @@ -300,13 +304,14 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) { PolyUI ui(cmd, what); if (what & FOREGROUND) { - ui.button_fill (fill_rgb); + ui.button_fill (TERN(TOUCH_UI_COCOA_PRESS, stroke_rgb, fill_rgb); ui.button_stroke(stroke_rgb, 28); ui.button_shadow(shadow_rgb, shadow_depth); - if (!jog_xy) ui.button(12, POLY(padlock)); - if (!e_homed) ui.button(13, POLY(home_e)); - if (!z_homed) ui.button(14, POLY(home_z)); + constexpr uint8_t style = TERN(TOUCH_UI_COCOA_PRESS, PolyUI::FILL | PolyUI::SHADOW, PolyUI::REGULAR); + if (!jog_xy) ui.button(12, POLY(padlock), style); + if (!e_homed) ui.button(13, POLY(home_e), style); + if (!z_homed) ui.button(14, POLY(home_z), style); } } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/filament_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/filament_menu.cpp index 575f75a74e9c..82ee118e4c68 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/filament_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/filament_menu.cpp @@ -30,6 +30,22 @@ using namespace FTDI; using namespace ExtUI; using namespace Theme; +#ifdef TOUCH_UI_PORTRAIT + #define GRID_ROWS 9 + #define GRID_COLS 2 + #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) + #define RUNOUT_SENSOR_POS BTN_POS(1,2), BTN_SIZE(2,1) + #define LIN_ADVANCE_POS BTN_POS(1,3), BTN_SIZE(2,1) + #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) +#else + #define GRID_ROWS 6 + #define GRID_COLS 2 + #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) + #define RUNOUT_SENSOR_POS BTN_POS(1,2), BTN_SIZE(2,1) + #define LIN_ADVANCE_POS BTN_POS(1,3), BTN_SIZE(2,1) + #define BACK_POS BTN_POS(1,6), BTN_SIZE(2,1) +#endif + void FilamentMenu::onRedraw(draw_mode_t what) { if (what & BACKGROUND) { CommandProcessor cmd; @@ -41,47 +57,14 @@ void FilamentMenu::onRedraw(draw_mode_t what) { if (what & FOREGROUND) { CommandProcessor cmd; cmd.font(font_large) - #ifdef TOUCH_UI_PORTRAIT - #define GRID_ROWS 9 - #define GRID_COLS 2 - .text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENT)) - .font(font_medium).colors(normal_btn) - .enabled( - #if ENABLED(FILAMENT_RUNOUT_SENSOR) - 1 - #endif - ) - .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_RUNOUT_SENSOR)) - .enabled( - #if ENABLED(LIN_ADVANCE) - 1 - #endif - ) - .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_LINEAR_ADVANCE)) - .colors(action_btn) - .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK)); - #undef GRID_COLS - #undef GRID_ROWS - #else - #define GRID_ROWS 6 - #define GRID_COLS 3 - .text ( BTN_POS(1,1), BTN_SIZE(3,1), GET_TEXT_F(MSG_FILAMENT)) - .font(font_medium).colors(normal_btn) - .enabled( - #if ENABLED(FILAMENT_RUNOUT_SENSOR) - 1 - #endif - ) - .tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), GET_TEXT_F(MSG_RUNOUT_SENSOR)) - .enabled( - #if ENABLED(LIN_ADVANCE) - 1 - #endif - ) - .tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), GET_TEXT_F(MSG_LINEAR_ADVANCE)) - .colors(action_btn) - .tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), GET_TEXT_F(MSG_BACK)); - #endif + .text(TITLE_POS, GET_TEXT_F(MSG_FILAMENT)) + .font(font_medium).colors(normal_btn) + .enabled(ENABLED(FILAMENT_RUNOUT_SENSOR)) + .tag(2).button(RUNOUT_SENSOR_POS, GET_TEXT_F(MSG_RUNOUT_SENSOR)) + .enabled(ENABLED(LIN_ADVANCE)) + .tag(3).button(LIN_ADVANCE_POS, GET_TEXT_F(MSG_LINEAR_ADVANCE)) + .colors(action_btn) + .tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK)); } } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp index 8d6fb1860394..dd0eb263d5fa 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp @@ -22,7 +22,7 @@ #include "../config.h" -#if ENABLED(TOUCH_UI_FTDI_EVE) +#if BOTH(TOUCH_UI_FTDI_EVE, SDSUPPORT) #include "screens.h" #include "screen_data.h" diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp index dfb23daa528f..53e3ab00c736 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp @@ -44,15 +44,14 @@ void MainMenu::onRedraw(draw_mode_t what) { #define ADVANCED_SETTINGS_POS BTN_POS(1,2), BTN_SIZE(2,1) #define FILAMENTCHANGE_POS BTN_POS(1,3), BTN_SIZE(2,1) #define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(2,1) - #define MOVE_AXIS_POS BTN_POS(1,5), BTN_SIZE(1,1) - #define DISABLE_STEPPERS_POS BTN_POS(2,5), BTN_SIZE(1,1) - #define AUTO_HOME_POS BTN_POS(1,6), BTN_SIZE(1,1) - #define CLEAN_NOZZLE_POS BTN_POS(2,6), BTN_SIZE(1,1) - #define LEVEL_BED_POS BTN_POS(1,7), BTN_SIZE(1,1) - #define LEVEL_AXIS_POS BTN_POS(2,7), BTN_SIZE(1,1) + #define DISABLE_STEPPERS_POS BTN_POS(1,5), BTN_SIZE(2,1) + #define MOVE_AXIS_POS BTN_POS(1,6), BTN_SIZE(1,1) + #define LEVELING_POS BTN_POS(2,6), BTN_SIZE(1,1) + #define AUTO_HOME_POS BTN_POS(1,7), BTN_SIZE(1,1) + #define CLEAN_NOZZLE_POS BTN_POS(2,7), BTN_SIZE(1,1) #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) #else - #define GRID_ROWS 6 + #define GRID_ROWS 5 #define GRID_COLS 2 #define ADVANCED_SETTINGS_POS BTN_POS(1,1), BTN_SIZE(1,1) #define ABOUT_PRINTER_POS BTN_POS(2,1), BTN_SIZE(1,1) @@ -62,9 +61,8 @@ void MainMenu::onRedraw(draw_mode_t what) { #define DISABLE_STEPPERS_POS BTN_POS(2,3), BTN_SIZE(1,1) #define TEMPERATURE_POS BTN_POS(1,4), BTN_SIZE(1,1) #define FILAMENTCHANGE_POS BTN_POS(2,4), BTN_SIZE(1,1) - #define LEVEL_BED_POS BTN_POS(1,5), BTN_SIZE(1,1) - #define LEVEL_AXIS_POS BTN_POS(2,5), BTN_SIZE(1,1) - #define BACK_POS BTN_POS(1,6), BTN_SIZE(2,1) + #define LEVELING_POS BTN_POS(1,5), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(2,5), BTN_SIZE(1,1) #endif if (what & FOREGROUND) { @@ -100,24 +98,13 @@ void MainMenu::onRedraw(draw_mode_t what) { #endif )) .tag(8).button( ADVANCED_SETTINGS_POS, GET_TEXT_F(MSG_ADVANCED_SETTINGS)) - .enabled( - #ifdef PRINTCOUNTER - 1 - #endif - ) - .enabled( - #ifdef AXIS_LEVELING_COMMANDS - 1 - #endif - ) - .tag(9).button( LEVEL_AXIS_POS, GET_TEXT_F(MSG_AUTOLEVEL_X_AXIS)) .enabled( #ifdef HAS_LEVELING 1 #endif ) - .tag(10).button( LEVEL_BED_POS, GET_TEXT_F(MSG_LEVEL_BED)) - .tag(11).button( ABOUT_PRINTER_POS, GET_TEXT_F(MSG_INFO_MENU)) + .tag(9).button( LEVELING_POS, GET_TEXT_F(MSG_LEVELING)) + .tag(10).button( ABOUT_PRINTER_POS, GET_TEXT_F(MSG_INFO_MENU)) .colors(action_btn) .tag(1).button( BACK_POS, GET_TEXT_F(MSG_BACK)); } @@ -143,23 +130,10 @@ bool MainMenu::onTouchEnd(uint8_t tag) { case 7: GOTO_SCREEN(ChangeFilamentScreen); break; #endif case 8: GOTO_SCREEN(AdvancedSettingsMenu); break; - #ifdef AXIS_LEVELING_COMMANDS - case 9: SpinnerDialogBox::enqueueAndWait_P(F(AXIS_LEVELING_COMMANDS)); break; - #endif - #if HAS_LEVELING - case 10: - #ifndef BED_LEVELING_COMMANDS - #define BED_LEVELING_COMMANDS "G29" - #endif - #if HAS_MESH - GOTO_SCREEN(BedMeshScreen); - injectCommands_P(PSTR(BED_LEVELING_COMMANDS)); - #else - SpinnerDialogBox::enqueueAndWait_P(F(BED_LEVELING_COMMANDS)); - #endif - break; + #ifdef HAS_LEVELING + case 9: GOTO_SCREEN(LevelingMenu); break; #endif - case 11: GOTO_SCREEN(AboutScreen); break; + case 10: GOTO_SCREEN(AboutScreen); break; default: return false; } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h index 207277b824be..39e9ce4bc568 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h @@ -62,6 +62,7 @@ union screen_data_t { } MoveAxisScreen; #if HAS_MESH struct { + bool showMappingDone; uint8_t count; uint8_t highlightedTag; } BedMeshScreen; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp index 01438aeb947f..16aa68216842 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp @@ -55,9 +55,6 @@ SCREEN_TABLE { #endif #if ENABLED(BABYSTEPPING) DECL_SCREEN(NudgeNozzleScreen), -#endif -#if HAS_MESH - DECL_SCREEN(BedMeshScreen), #endif DECL_SCREEN(MoveAxisScreen), DECL_SCREEN(StepsScreen), @@ -65,8 +62,14 @@ SCREEN_TABLE { DECL_SCREEN(StepperCurrentScreen), DECL_SCREEN(StepperBumpSensitivityScreen), #endif -#if HAS_BED_PROBE - DECL_SCREEN(ZOffsetScreen), +#if HAS_LEVELING + DECL_SCREEN(LevelingMenu), + #if HAS_BED_PROBE + DECL_SCREEN(ZOffsetScreen), + #endif + #if HAS_MESH + DECL_SCREEN(BedMeshScreen), + #endif #endif #if HAS_MULTI_HOTEND DECL_SCREEN(NozzleOffsetScreen), @@ -100,7 +103,9 @@ SCREEN_TABLE { DECL_SCREEN(InterfaceSettingsScreen), DECL_SCREEN(InterfaceSoundsScreen), DECL_SCREEN(LockScreen), +#if ENABLED(SDSUPPORT) DECL_SCREEN(FilesScreen), +#endif DECL_SCREEN(EndstopStatesScreen), #if ENABLED(TOUCH_UI_LULZBOT_BIO) DECL_SCREEN(BioPrintingDialogBox), diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h index ae48f752406e..ec8df2760789 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h @@ -39,24 +39,37 @@ enum { STATUS_SCREEN_CACHE, MENU_SCREEN_CACHE, TUNE_SCREEN_CACHE, - ADJUST_OFFSETS_SCREEN_CACHE, ALERT_BOX_CACHE, SPINNER_CACHE, ADVANCED_SETTINGS_SCREEN_CACHE, MOVE_AXIS_SCREEN_CACHE, TEMPERATURE_SCREEN_CACHE, STEPS_SCREEN_CACHE, - STEPPER_CURRENT_SCREEN_CACHE, - STEPPER_BUMP_SENSITIVITY_SCREEN_CACHE, - ZOFFSET_SCREEN_CACHE, - NOZZLE_OFFSET_SCREEN_CACHE, - BACKLASH_COMPENSATION_SCREEN_CACHE, MAX_FEEDRATE_SCREEN_CACHE, MAX_VELOCITY_SCREEN_CACHE, MAX_ACCELERATION_SCREEN_CACHE, DEFAULT_ACCELERATION_SCREEN_CACHE, -#if HAS_MESH - BED_MESH_SCREEN_CACHE, +#if HAS_LEVELING + LEVELING_SCREEN_CACHE, + #if HAS_BED_PROBE + ZOFFSET_SCREEN_CACHE, + #endif + #if HAS_MESH + BED_MESH_SCREEN_CACHE, + #endif +#endif +#if ENABLED(BABYSTEPPING) + ADJUST_OFFSETS_SCREEN_CACHE, +#endif +#if HAS_TRINAMIC_CONFIG + STEPPER_CURRENT_SCREEN_CACHE, + STEPPER_BUMP_SENSITIVITY_SCREEN_CACHE, +#endif +#if HAS_MULTI_HOTEND + NOZZLE_OFFSET_SCREEN_CACHE, +#endif +#if ENABLED(BACKLASH_GCODE) + BACKLASH_COMPENSATION_SCREEN_CACHE, #endif #if HAS_JUNCTION_DEVIATION JUNC_DEV_SCREEN_CACHE, @@ -81,12 +94,14 @@ enum { #if ENABLED(TOUCH_UI_COCOA_PRESS) PREHEAT_MENU_CACHE, PREHEAT_TIMER_SCREEN_CACHE, +#endif +#if ENABLED(SDSUPPORT) + FILES_SCREEN_CACHE, #endif CHANGE_FILAMENT_SCREEN_CACHE, INTERFACE_SETTINGS_SCREEN_CACHE, INTERFACE_SOUNDS_SCREEN_CACHE, LOCK_SCREEN_CACHE, - FILES_SCREEN_CACHE, DISPLAY_TIMINGS_SCREEN_CACHE }; @@ -133,33 +148,6 @@ class AboutScreen : public BaseScreen, public UncachedScreen { static bool onTouchEnd(uint8_t tag); }; -#if HAS_MESH -class BedMeshScreen : public BaseScreen, public CachedScreen { - private: - enum MeshOpts { - USE_POINTS = 0x01, - USE_COLORS = 0x02, - USE_TAGS = 0x04, - USE_HIGHLIGHT = 0x08, - USE_AUTOSCALE = 0x10 - }; - - static uint8_t pointToTag(uint8_t x, uint8_t y); - static bool tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y); - static float getHightlightedValue(); - static void drawHighlightedPointValue(); - static void drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max = 0.1); - - public: - static void onMeshUpdate(const int8_t x, const int8_t y, const float val); - static void onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t); - static void onEntry(); - static void onRedraw(draw_mode_t); - static bool onTouchStart(uint8_t tag); - static bool onTouchEnd(uint8_t tag); -}; -#endif - #if ENABLED(PRINTCOUNTER) class StatisticsScreen : public BaseScreen, public UncachedScreen { public: @@ -505,21 +493,58 @@ class StepsScreen : public BaseNumericAdjustmentScreen, public CachedScreen { +#if HAS_MULTI_HOTEND + class NozzleOffsetScreen : public BaseNumericAdjustmentScreen, public CachedScreen { public: + static void onEntry(); static void onRedraw(draw_mode_t); static bool onTouchHeld(uint8_t tag); }; #endif -#if HAS_MULTI_HOTEND - class NozzleOffsetScreen : public BaseNumericAdjustmentScreen, public CachedScreen { +#if HAS_LEVELING + class LevelingMenu : public BaseScreen, public CachedScreen { + public: + static void onRedraw(draw_mode_t); + static bool onTouchEnd(uint8_t tag); + }; + + #if HAS_BED_PROBE + class ZOffsetScreen : public BaseNumericAdjustmentScreen, public CachedScreen { + public: + static void onRedraw(draw_mode_t); + static bool onTouchHeld(uint8_t tag); + }; + #endif + + #if HAS_MESH + class BedMeshScreen : public BaseScreen, public CachedScreen { + private: + enum MeshOpts { + USE_POINTS = 0x01, + USE_COLORS = 0x02, + USE_TAGS = 0x04, + USE_HIGHLIGHT = 0x08, + USE_AUTOSCALE = 0x10 + }; + + static uint8_t pointToTag(uint8_t x, uint8_t y); + static bool tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y); + static float getHightlightedValue(); + static void drawHighlightedPointValue(); + static void drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max = 0.1); + public: + static void onMeshUpdate(const int8_t x, const int8_t y, const float val); + static void onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t); static void onEntry(); static void onRedraw(draw_mode_t); - static bool onTouchHeld(uint8_t tag); + static bool onTouchStart(uint8_t tag); + static bool onTouchEnd(uint8_t tag); + + static void startMeshProbe(); }; + #endif #endif #if ENABLED(BABYSTEPPING) @@ -707,40 +732,42 @@ class LockScreen : public BaseScreen, public CachedScreen { static bool onTouchEnd(uint8_t tag); }; -class FilesScreen : public BaseScreen, public CachedScreen { - private: - #ifdef TOUCH_UI_PORTRAIT - static constexpr uint8_t header_h = 2; - static constexpr uint8_t footer_h = 2; - static constexpr uint8_t files_per_page = 11; - #else - static constexpr uint8_t header_h = 1; - static constexpr uint8_t footer_h = 1; - static constexpr uint8_t files_per_page = 6; - #endif - - static uint8_t getTagForLine(uint8_t line) {return line + 2;} - static uint8_t getLineForTag(uint8_t tag) {return tag - 2;} - static uint16_t getFileForTag(uint8_t tag); - static uint16_t getSelectedFileIndex(); - - inline static const char *getSelectedShortFilename() {return getSelectedFilename(false);} - inline static const char *getSelectedLongFilename() {return getSelectedFilename(true);} - static const char *getSelectedFilename(bool longName); - - static void drawFileButton(const char* filename, uint8_t tag, bool is_dir, bool is_highlighted); - static void drawFileList(); - static void drawHeader(); - static void drawFooter(); - static void drawSelectedFile(); - - static void gotoPage(uint8_t); - public: - static void onEntry(); - static void onRedraw(draw_mode_t); - static bool onTouchEnd(uint8_t tag); - static void onIdle(); -}; +#if ENABLED(SDSUPPORT) + class FilesScreen : public BaseScreen, public CachedScreen { + private: + #ifdef TOUCH_UI_PORTRAIT + static constexpr uint8_t header_h = 2; + static constexpr uint8_t footer_h = 2; + static constexpr uint8_t files_per_page = 11; + #else + static constexpr uint8_t header_h = 1; + static constexpr uint8_t footer_h = 1; + static constexpr uint8_t files_per_page = 6; + #endif + + static uint8_t getTagForLine(uint8_t line) {return line + 2;} + static uint8_t getLineForTag(uint8_t tag) {return tag - 2;} + static uint16_t getFileForTag(uint8_t tag); + static uint16_t getSelectedFileIndex(); + + inline static const char *getSelectedShortFilename() {return getSelectedFilename(false);} + inline static const char *getSelectedLongFilename() {return getSelectedFilename(true);} + static const char *getSelectedFilename(bool longName); + + static void drawFileButton(const char* filename, uint8_t tag, bool is_dir, bool is_highlighted); + static void drawFileList(); + static void drawHeader(); + static void drawFooter(); + static void drawSelectedFile(); + + static void gotoPage(uint8_t); + public: + static void onEntry(); + static void onRedraw(draw_mode_t); + static bool onTouchEnd(uint8_t tag); + static void onIdle(); + }; +#endif class EndstopStatesScreen : public BaseScreen, public UncachedScreen { public: diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h index f99c0fd3ebcd..84639b59e12c 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h @@ -124,7 +124,13 @@ namespace Theme { constexpr uint32_t shadow_rgb = gray_color_6; constexpr uint32_t stroke_rgb = accent_color_1; constexpr uint32_t fill_rgb = accent_color_3; - constexpr uint32_t syringe_rgb = accent_color_5; + #if ENABLED(TOUCH_UI_COCOA_PRESS) + constexpr uint32_t syringe_rgb = 0xFFFFFF; + constexpr uint32_t fluid_rgb = accent_color_5; + #else + constexpr uint32_t syringe_rgb = accent_color_5; + constexpr uint32_t fluid_rgb = accent_color_3; + #endif #if ENABLED(TOUCH_UI_ROYAL_THEME) constexpr uint32_t x_axis = hsl_to_rgb(0, 1.00, 0.26); diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index c40a86942100..c2eab2ba0604 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -544,11 +544,13 @@ namespace ExtUI { void setAxisSteps_per_mm(const float value, const axis_t axis) { planner.settings.axis_steps_per_mm[axis] = value; + planner.refresh_positioning(); } void setAxisSteps_per_mm(const float value, const extruder_t extruder) { UNUSED_E(extruder); planner.settings.axis_steps_per_mm[E_AXIS_N(extruder - E0)] = value; + planner.refresh_positioning(); } feedRate_t getAxisMaxFeedrate_mm_s(const axis_t axis) { @@ -580,11 +582,13 @@ namespace ExtUI { void setAxisMaxAcceleration_mm_s2(const float value, const axis_t axis) { planner.set_max_acceleration(axis, value); + planner.reset_acceleration_rates(); } void setAxisMaxAcceleration_mm_s2(const float value, const extruder_t extruder) { UNUSED_E(extruder); planner.set_max_acceleration(E_AXIS_N(extruder - E0), value); + planner.reset_acceleration_rates(); } #if HAS_FILAMENT_SENSOR diff --git a/Marlin/src/lcd/extui/ui_api.h b/Marlin/src/lcd/extui/ui_api.h index ca12d79a8bc9..02c4717d77f4 100644 --- a/Marlin/src/lcd/extui/ui_api.h +++ b/Marlin/src/lcd/extui/ui_api.h @@ -143,7 +143,12 @@ namespace ExtUI { void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval); inline void onMeshUpdate(const xy_int8_t &pos, const float zval) { onMeshUpdate(pos.x, pos.y, zval); } - typedef enum : unsigned char { PROBE_START, PROBE_FINISH } probe_state_t; + typedef enum : unsigned char { + MESH_START, // Prior to start of probe + MESH_FINISH, // Following probe of all points + PROBE_START, // Beginning probe of grid location + PROBE_FINISH // Finished probe of grid location + } probe_state_t; void onMeshUpdate(const int8_t xpos, const int8_t ypos, probe_state_t state); inline void onMeshUpdate(const xy_int8_t &pos, probe_state_t state) { onMeshUpdate(pos.x, pos.y, state); } #endif From d93471fdad8ebabc460a7eb697c3ac61ea2617eb Mon Sep 17 00:00:00 2001 From: mmajoor Date: Sun, 13 Sep 2020 06:33:55 +0200 Subject: [PATCH 064/277] Allow SWD debug on Robin Nano (#19345) --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index d66338b8ad32..c3e8be74e8c2 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -25,7 +25,7 @@ * MKS Robin nano (STM32F130VET6) board pin assignments */ -#ifndef __STM32F1__ +#if !defined(STM32F1) && !defined(STM32F1xx) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin nano supports up to 2 hotends / E-steppers. Comment out this line to continue." @@ -36,7 +36,7 @@ // // Release PB4 (Y_ENABLE_PIN) from JTAG NRST role // -#define DISABLE_DEBUG +#define DISABLE_JTAG // // EEPROM From 49ca16c3fb103e8e29f64107ba664aa82917b9f1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Sep 2020 18:06:14 -0500 Subject: [PATCH 065/277] heater_ind_t => heater_id_t --- Marlin/src/gcode/temp/M303.cpp | 2 +- Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp | 14 ++-- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 24 +++---- Marlin/src/lcd/extui/ui_api.cpp | 2 +- Marlin/src/module/temperature.cpp | 72 ++++++++++----------- Marlin/src/module/temperature.h | 14 ++-- 6 files changed, 64 insertions(+), 64 deletions(-) diff --git a/Marlin/src/gcode/temp/M303.cpp b/Marlin/src/gcode/temp/M303.cpp index 3340e4fa49a1..ccce09b4f1ee 100644 --- a/Marlin/src/gcode/temp/M303.cpp +++ b/Marlin/src/gcode/temp/M303.cpp @@ -62,7 +62,7 @@ void GcodeSuite::M303() { #define SI TERN(PIDTEMPBED, H_BED, H_E0) #define EI TERN(PIDTEMP, HOTENDS - 1, H_BED) - const heater_ind_t e = (heater_ind_t)parser.intval('E'); + const heater_id_t e = (heater_id_t)parser.intval('E'); if (!WITHIN(e, SI, EI)) { SERIAL_ECHOLNPGM(STR_PID_BAD_EXTRUDER_NUM); TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_BAD_EXTRUDER_NUM)); diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index 22dd63f68cb0..81ba4653a1a8 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -519,13 +519,13 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const } } -FORCE_INLINE void _draw_heater_status(const heater_ind_t heater, const char prefix, const bool blink) { +FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char prefix, const bool blink) { #if HAS_HEATED_BED - const bool isBed = heater < 0; - const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)), - t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater)); + const bool isBed = heater_id < 0; + const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater_id)), + t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater_id)); #else - const float t1 = thermalManager.degHotend(heater), t2 = thermalManager.degTargetHotend(heater); + const float t1 = thermalManager.degHotend(heater_id), t2 = thermalManager.degTargetHotend(heater_id); #endif if (prefix >= 0) lcd_put_wchar(prefix); @@ -540,7 +540,7 @@ FORCE_INLINE void _draw_heater_status(const heater_ind_t heater, const char pref #if HAS_HEATED_BED isBed ? thermalManager.bed_idle.timed_out : #endif - thermalManager.hotend_idle[heater].timed_out + thermalManager.hotend_idle[heater_id].timed_out ); if (!blink && is_idle) { @@ -990,7 +990,7 @@ void MarlinUI::draw_status_screen() { void MarlinUI::draw_hotend_status(const uint8_t row, const uint8_t extruder) { if (row < LCD_HEIGHT) { lcd_moveto(LCD_WIDTH - 9, row); - _draw_heater_status((heater_ind_t)extruder, LCD_STR_THERMOMETER[0], get_blink()); + _draw_heater_status((heater_id_t)extruder, LCD_STR_THERMOMETER[0], get_blink()); } } diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index bdd9f25703ec..f668e453cca8 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -178,17 +178,17 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t tx, cons #if DO_DRAW_HOTENDS // Draw hotend bitmap with current and target temperatures - FORCE_INLINE void _draw_hotend_status(const heater_ind_t heater, const bool blink) { + FORCE_INLINE void _draw_hotend_status(const heater_id_t heater_id, const bool blink) { #if !HEATER_IDLE_HANDLER UNUSED(blink); #endif - const bool isHeat = HOTEND_ALT(heater); + const bool isHeat = HOTEND_ALT(heater_id); - const uint8_t tx = STATUS_HOTEND_TEXT_X(heater); + const uint8_t tx = STATUS_HOTEND_TEXT_X(heater_id); - const float temp = thermalManager.degHotend(heater), - target = thermalManager.degTargetHotend(heater); + const float temp = thermalManager.degHotend(heater_id), + target = thermalManager.degTargetHotend(heater_id); #if DISABLED(STATUS_HOTEND_ANIM) #define STATIC_HOTEND true @@ -237,24 +237,24 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t tx, cons #if ANIM_HOTEND // Draw hotend bitmap, either whole or split by the heating percent - const uint8_t hx = STATUS_HOTEND_X(heater), - bw = STATUS_HOTEND_BYTEWIDTH(heater); + const uint8_t hx = STATUS_HOTEND_X(heater_id), + bw = STATUS_HOTEND_BYTEWIDTH(heater_id); #if ENABLED(STATUS_HEAT_PERCENT) if (isHeat && tall <= BAR_TALL) { const uint8_t ph = STATUS_HEATERS_HEIGHT - 1 - tall; - u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(heater, false)); - u8g.drawBitmapP(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(heater, true) + ph * bw); + u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, ph, HOTEND_BITMAP(heater_id, false)); + u8g.drawBitmapP(hx, STATUS_HEATERS_Y + ph, bw, tall + 1, HOTEND_BITMAP(heater_id, true) + ph * bw); } else #endif - u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(heater, isHeat)); + u8g.drawBitmapP(hx, STATUS_HEATERS_Y, bw, STATUS_HEATERS_HEIGHT, HOTEND_BITMAP(heater_id, isHeat)); #endif } // PAGE_CONTAINS if (PAGE_UNDER(7)) { #if HEATER_IDLE_HANDLER - const bool dodraw = (blink || !thermalManager.hotend_idle[heater].timed_out); + const bool dodraw = (blink || !thermalManager.hotend_idle[heater_id].timed_out); #else constexpr bool dodraw = true; #endif @@ -597,7 +597,7 @@ void MarlinUI::draw_status_screen() { // Extruders #if DO_DRAW_HOTENDS LOOP_L_N(e, MAX_HOTEND_DRAW) - _draw_hotend_status((heater_ind_t)e, blink); + _draw_hotend_status((heater_id_t)e, blink); #endif // Laser / Spindle diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index c2eab2ba0604..53b7dc6279c6 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -868,7 +868,7 @@ namespace ExtUI { } void startPIDTune(const float temp, extruder_t tool) { - thermalManager.PID_autotune(temp, (heater_ind_t)tool, 8, true); + thermalManager.PID_autotune(temp, (heater_id_t)tool, 8, true); } #endif diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index fbdd1fd6ec5f..06864c6b97b4 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -377,7 +377,7 @@ volatile bool Temperature::raw_temps_ready = false; * Needs sufficient heater power to make some overshoot at target * temperature to succeed. */ - void Temperature::PID_autotune(const float &target, const heater_ind_t heater, const int8_t ncycles, const bool set_result/*=false*/) { + void Temperature::PID_autotune(const float &target, const heater_id_t heater_id, const int8_t ncycles, const bool set_result/*=false*/) { float current_temp = 0.0; int cycles = 0; bool heating = true; @@ -389,11 +389,11 @@ volatile bool Temperature::raw_temps_ready = false; PID_t tune_pid = { 0, 0, 0 }; float maxT = 0, minT = 10000; - const bool isbed = (heater == H_BED); + const bool isbed = (heater_id == H_BED); #if HAS_PID_FOR_BOTH #define GHV(B,H) (isbed ? (B) : (H)) - #define SHV(B,H) do{ if (isbed) temp_bed.soft_pwm_amount = B; else temp_hotend[heater].soft_pwm_amount = H; }while(0) + #define SHV(B,H) do{ if (isbed) temp_bed.soft_pwm_amount = B; else temp_hotend[heater_id].soft_pwm_amount = H; }while(0) #define ONHEATINGSTART() (isbed ? printerEventLEDs.onBedHeatingStart() : printerEventLEDs.onHotendHeatingStart()) #define ONHEATING(S,C,T) (isbed ? printerEventLEDs.onBedHeating(S,C,T) : printerEventLEDs.onHotendHeating(S,C,T)) #elif ENABLED(PIDTEMPBED) @@ -403,7 +403,7 @@ volatile bool Temperature::raw_temps_ready = false; #define ONHEATING(S,C,T) printerEventLEDs.onBedHeating(S,C,T) #else #define GHV(B,H) H - #define SHV(B,H) (temp_hotend[heater].soft_pwm_amount = H) + #define SHV(B,H) (temp_hotend[heater_id].soft_pwm_amount = H) #define ONHEATINGSTART() printerEventLEDs.onHotendHeatingStart() #define ONHEATING(S,C,T) printerEventLEDs.onHotendHeating(S,C,T) #endif @@ -427,7 +427,7 @@ volatile bool Temperature::raw_temps_ready = false; TERN_(HAS_AUTO_FAN, next_auto_fan_check_ms = next_temp_ms + 2500UL); - if (target > GHV(BED_MAX_TARGET, temp_range[heater].maxtemp - HOTEND_OVERSHOOT)) { + if (target > GHV(BED_MAX_TARGET, temp_range[heater_id].maxtemp - HOTEND_OVERSHOOT)) { SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH); TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH)); return; @@ -441,7 +441,7 @@ volatile bool Temperature::raw_temps_ready = false; SHV(bias = d = (MAX_BED_POWER) >> 1, bias = d = (PID_MAX) >> 1); #if ENABLED(PRINTER_EVENT_LEDS) - const float start_temp = GHV(temp_bed.celsius, temp_hotend[heater].celsius); + const float start_temp = GHV(temp_bed.celsius, temp_hotend[heater_id].celsius); LEDColor color = ONHEATINGSTART(); #endif @@ -457,7 +457,7 @@ volatile bool Temperature::raw_temps_ready = false; updateTemperaturesFromRawValues(); // Get the current temperature and constrain it - current_temp = GHV(temp_bed.celsius, temp_hotend[heater].celsius); + current_temp = GHV(temp_bed.celsius, temp_hotend[heater_id].celsius); NOLESS(maxT, current_temp); NOMORE(minT, current_temp); @@ -549,7 +549,7 @@ volatile bool Temperature::raw_temps_ready = false; // Report heater states every 2 seconds if (ELAPSED(ms, next_temp_ms)) { #if HAS_TEMP_SENSOR - print_heater_states(isbed ? active_extruder : heater); + print_heater_states(isbed ? active_extruder : heater_id); SERIAL_EOL(); #endif next_temp_ms = ms + 2000UL; @@ -564,10 +564,10 @@ volatile bool Temperature::raw_temps_ready = false; if (current_temp > watch_temp_target) heated = true; // - Flag if target temperature reached } else if (ELAPSED(ms, temp_change_ms)) // Watch timer expired - _temp_error(heater, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); + _temp_error(heater_id, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); } else if (current_temp < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far? - _temp_error(heater, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); + _temp_error(heater_id, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); } #endif } // every 2 seconds @@ -608,9 +608,9 @@ volatile bool Temperature::raw_temps_ready = false; }while(0) #define _SET_EXTRUDER_PID() do { \ - PID_PARAM(Kp, heater) = tune_pid.Kp; \ - PID_PARAM(Ki, heater) = scalePID_i(tune_pid.Ki); \ - PID_PARAM(Kd, heater) = scalePID_d(tune_pid.Kd); \ + PID_PARAM(Kp, heater_id) = tune_pid.Kp; \ + PID_PARAM(Ki, heater_id) = scalePID_i(tune_pid.Ki); \ + PID_PARAM(Kd, heater_id) = scalePID_d(tune_pid.Kd); \ updatePID(); }while(0) // Use the result? (As with "M303 U1") @@ -651,7 +651,7 @@ volatile bool Temperature::raw_temps_ready = false; * Class and Instance Methods */ -int16_t Temperature::getHeaterPower(const heater_ind_t heater_id) { +int16_t Temperature::getHeaterPower(const heater_id_t heater_id) { switch (heater_id) { #if HAS_HEATED_BED case H_BED: return temp_bed.soft_pwm_amount; @@ -758,7 +758,7 @@ int16_t Temperature::getHeaterPower(const heater_ind_t heater_id) { // Temperature Error Handlers // -inline void loud_kill(PGM_P const lcd_msg, const heater_ind_t heater) { +inline void loud_kill(PGM_P const lcd_msg, const heater_id_t heater_id) { marlin_state = MF_KILLED; #if USE_BEEPER for (uint8_t i = 20; i--;) { @@ -767,10 +767,10 @@ inline void loud_kill(PGM_P const lcd_msg, const heater_ind_t heater) { } WRITE(BEEPER_PIN, HIGH); #endif - kill(lcd_msg, HEATER_PSTR(heater)); + kill(lcd_msg, HEATER_PSTR(heater_id)); } -void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg, PGM_P const lcd_msg) { +void Temperature::_temp_error(const heater_id_t heater_id, PGM_P const serial_msg, PGM_P const lcd_msg) { static uint8_t killed = 0; @@ -778,9 +778,9 @@ void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg, SERIAL_ERROR_START(); serialprintPGM(serial_msg); SERIAL_ECHOPGM(STR_STOPPED_HEATER); - if (heater >= 0) - SERIAL_ECHO((int)heater); - else if (TERN0(HAS_HEATED_CHAMBER, heater == H_CHAMBER)) + if (heater_id >= 0) + SERIAL_ECHO((int)heater_id); + else if (TERN0(HAS_HEATED_CHAMBER, heater_id == H_CHAMBER)) SERIAL_ECHOPGM(STR_HEATER_CHAMBER); else SERIAL_ECHOPGM(STR_HEATER_BED); @@ -801,25 +801,25 @@ void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg, if (ELAPSED(ms, expire_ms)) ++killed; break; case 2: - loud_kill(lcd_msg, heater); + loud_kill(lcd_msg, heater_id); ++killed; break; } #elif defined(BOGUS_TEMPERATURE_GRACE_PERIOD) UNUSED(killed); #else - if (!killed) { killed = 1; loud_kill(lcd_msg, heater); } + if (!killed) { killed = 1; loud_kill(lcd_msg, heater_id); } #endif } -void Temperature::max_temp_error(const heater_ind_t heater) { +void Temperature::max_temp_error(const heater_id_t heater_id) { TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(1)); - _temp_error(heater, PSTR(STR_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP)); + _temp_error(heater_id, PSTR(STR_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP)); } -void Temperature::min_temp_error(const heater_ind_t heater) { +void Temperature::min_temp_error(const heater_id_t heater_id) { TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); - _temp_error(heater, PSTR(STR_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP)); + _temp_error(heater_id, PSTR(STR_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP)); } #if HAS_HOTEND @@ -1041,14 +1041,14 @@ void Temperature::manage_heater() { HOTEND_LOOP() { #if ENABLED(THERMAL_PROTECTION_HOTENDS) if (degHotend(e) > temp_range[e].maxtemp) - _temp_error((heater_ind_t)e, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); + _temp_error((heater_id_t)e, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); #endif TERN_(HEATER_IDLE_HANDLER, hotend_idle[e].update(ms)); #if ENABLED(THERMAL_PROTECTION_HOTENDS) // Check for thermal runaway - thermal_runaway_protection(tr_state_machine[e], temp_hotend[e].celsius, temp_hotend[e].target, (heater_ind_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); + thermal_runaway_protection(tr_state_machine[e], temp_hotend[e].celsius, temp_hotend[e].target, (heater_id_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); #endif temp_hotend[e].soft_pwm_amount = (temp_hotend[e].celsius > temp_range[e].mintemp || is_preheating(e)) && temp_hotend[e].celsius < temp_range[e].maxtemp ? (int)get_pid_output_hotend(e) >> 1 : 0; @@ -1058,7 +1058,7 @@ void Temperature::manage_heater() { if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) { // Time to check this extruder? if (degHotend(e) < watch_hotend[e].target) { // Failed to increase enough? TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); - _temp_error((heater_ind_t)e, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); + _temp_error((heater_id_t)e, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); } else // Start again if the target is still far off start_watching_hotend(e); @@ -1945,7 +1945,7 @@ void Temperature::init() { Temperature::tr_state_machine_t Temperature::tr_state_machine_chamber; // = { TRInactive, 0 }; #endif - void Temperature::thermal_runaway_protection(Temperature::tr_state_machine_t &sm, const float ¤t, const float &target, const heater_ind_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc) { + void Temperature::thermal_runaway_protection(Temperature::tr_state_machine_t &sm, const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc) { static float tr_target_temperature[HOTENDS + 1] = { 0.0 }; @@ -2311,12 +2311,12 @@ void Temperature::readings_ready() { const bool heater_on = (temp_hotend[e].target > 0 || TERN0(PIDTEMP, temp_hotend[e].soft_pwm_amount) > 0 ); - if (rawtemp > temp_range[e].raw_max * tdir) max_temp_error((heater_ind_t)e); + if (rawtemp > temp_range[e].raw_max * tdir) max_temp_error((heater_id_t)e); if (heater_on && rawtemp < temp_range[e].raw_min * tdir && !is_preheating(e)) { #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED) #endif - min_temp_error((heater_ind_t)e); + min_temp_error((heater_id_t)e); } #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED else @@ -2883,7 +2883,7 @@ void Temperature::tick() { #if ENABLED(SHOW_TEMP_ADC_VALUES) , const float r #endif - , const heater_ind_t e=INDEX_NONE + , const heater_id_t e=INDEX_NONE ) { char k; switch (e) { @@ -2974,10 +2974,10 @@ void Temperature::tick() { #if ENABLED(SHOW_TEMP_ADC_VALUES) , rawHotendTemp(e) #endif - , (heater_ind_t)e + , (heater_id_t)e ); #endif - SERIAL_ECHOPAIR(" @:", getHeaterPower((heater_ind_t)target_extruder)); + SERIAL_ECHOPAIR(" @:", getHeaterPower((heater_id_t)target_extruder)); #if HAS_HEATED_BED SERIAL_ECHOPAIR(" B@:", getHeaterPower(H_BED)); #endif @@ -2988,7 +2988,7 @@ void Temperature::tick() { HOTEND_LOOP() { SERIAL_ECHOPAIR(" @", e); SERIAL_CHAR(':'); - SERIAL_ECHO(getHeaterPower((heater_ind_t)e)); + SERIAL_ECHO(getHeaterPower((heater_id_t)e)); } #endif } diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 2148f4cb68ed..37d1140f5e18 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -45,7 +45,7 @@ typedef enum : int8_t { INDEX_NONE = -5, H_PROBE, H_REDUNDANT, H_CHAMBER, H_BED, H_E0, H_E1, H_E2, H_E3, H_E4, H_E5, H_E6, H_E7 -} heater_ind_t; +} heater_id_t; // PID storage typedef struct { float Kp, Ki, Kd; } PID_t; @@ -701,7 +701,7 @@ class Temperature { /** * The software PWM power for a heater */ - static int16_t getHeaterPower(const heater_ind_t heater); + static int16_t getHeaterPower(const heater_id_t heater_id); /** * Switch off all heaters, set all target temperatures to 0 @@ -720,7 +720,7 @@ class Temperature { * Perform auto-tuning for hotend or bed in response to M303 */ #if HAS_PID_HEATING - static void PID_autotune(const float &target, const heater_ind_t hotend, const int8_t ncycles, const bool set_result=false); + static void PID_autotune(const float &target, const heater_id_t heater_id, const int8_t ncycles, const bool set_result=false); #if ENABLED(NO_FAN_SLOWING_IN_PID_TUNING) static bool adaptive_fan_slowing; @@ -811,9 +811,9 @@ class Temperature { TERN_(HAS_HEATED_CHAMBER, static float get_pid_output_chamber()); - static void _temp_error(const heater_ind_t e, PGM_P const serial_msg, PGM_P const lcd_msg); - static void min_temp_error(const heater_ind_t e); - static void max_temp_error(const heater_ind_t e); + static void _temp_error(const heater_id_t e, PGM_P const serial_msg, PGM_P const lcd_msg); + static void min_temp_error(const heater_id_t e); + static void max_temp_error(const heater_id_t e); #define HAS_THERMAL_PROTECTION (EITHER(THERMAL_PROTECTION_HOTENDS, THERMAL_PROTECTION_CHAMBER) || HAS_THERMALLY_PROTECTED_BED) @@ -830,7 +830,7 @@ class Temperature { TERN_(HAS_THERMALLY_PROTECTED_BED, static tr_state_machine_t tr_state_machine_bed); TERN_(THERMAL_PROTECTION_CHAMBER, static tr_state_machine_t tr_state_machine_chamber); - static void thermal_runaway_protection(tr_state_machine_t &state, const float ¤t, const float &target, const heater_ind_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc); + static void thermal_runaway_protection(tr_state_machine_t &state, const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc); #endif // HAS_THERMAL_PROTECTION }; From cf8316bfbb1c5fea897345d75ddf9de473688d84 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 14 Sep 2020 00:13:25 +0000 Subject: [PATCH 066/277] [cron] Bump distribution date (2020-09-14) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 0b7879fd95e9..faf816554c9e 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-13" + #define STRING_DISTRIBUTION_DATE "2020-09-14" #endif /** From 979876e958e73e642b51eb655461c92947fe1deb Mon Sep 17 00:00:00 2001 From: ellensp Date: Mon, 14 Sep 2020 16:58:39 +1200 Subject: [PATCH 067/277] Improve temperature runaway, idle timeout (#19339) Co-authored-by: Scott Lahteine --- Marlin/src/feature/pause.cpp | 8 +- Marlin/src/inc/Conditionals_adv.h | 9 ++ Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp | 28 +---- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 4 +- Marlin/src/lcd/dogm/ultralcd_DOGM.cpp | 2 +- Marlin/src/lcd/extui/ui_api.cpp | 6 +- Marlin/src/lcd/language/language_cz.h | 4 - Marlin/src/lcd/language/language_da.h | 2 - Marlin/src/lcd/language/language_de.h | 4 - Marlin/src/lcd/language/language_el.h | 2 - Marlin/src/lcd/language/language_el_gr.h | 2 - Marlin/src/lcd/language/language_en.h | 4 - Marlin/src/lcd/language/language_es.h | 4 - Marlin/src/lcd/language/language_eu.h | 2 - Marlin/src/lcd/language/language_gl.h | 4 - Marlin/src/lcd/language/language_hu.h | 4 - Marlin/src/lcd/language/language_it.h | 4 - Marlin/src/lcd/language/language_jp_kana.h | 2 - Marlin/src/lcd/language/language_nl.h | 2 - Marlin/src/lcd/language/language_pl.h | 4 - Marlin/src/lcd/language/language_pt.h | 2 - Marlin/src/lcd/language/language_pt_br.h | 4 - Marlin/src/lcd/language/language_ro.h | 4 - Marlin/src/lcd/language/language_ru.h | 4 - Marlin/src/lcd/language/language_sk.h | 4 - Marlin/src/lcd/language/language_tr.h | 4 - Marlin/src/lcd/language/language_uk.h | 4 - Marlin/src/lcd/language/language_vi.h | 2 - Marlin/src/lcd/language/language_zh_CN.h | 4 - Marlin/src/lcd/language/language_zh_TW.h | 4 - Marlin/src/lcd/menu/menu.cpp | 4 - Marlin/src/module/temperature.cpp | 125 ++++++++++---------- Marlin/src/module/temperature.h | 88 ++++++++++---- 33 files changed, 153 insertions(+), 201 deletions(-) diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index efc6510756ee..f8a7d83260e2 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -484,7 +484,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep // Start the heater idle timers const millis_t nozzle_timeout = SEC_TO_MS(PAUSE_PARK_NOZZLE_TIMEOUT); - HOTEND_LOOP() thermalManager.hotend_idle[e].start(nozzle_timeout); + HOTEND_LOOP() thermalManager.heater_idle[e].start(nozzle_timeout); #if ENABLED(DUAL_X_CARRIAGE) const int8_t saved_ext = active_extruder; @@ -503,7 +503,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep // If the nozzle has timed out... if (!nozzle_timed_out) - HOTEND_LOOP() nozzle_timed_out |= thermalManager.hotend_idle[e].timed_out; + HOTEND_LOOP() nozzle_timed_out |= thermalManager.heater_idle[e].timed_out; // Wait for the user to press the button to re-heat the nozzle, then // re-heat the nozzle, re-show the continue prompt, restart idle timers, start over @@ -533,7 +533,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep // Start the heater idle timers const millis_t nozzle_timeout = SEC_TO_MS(PAUSE_PARK_NOZZLE_TIMEOUT); - HOTEND_LOOP() thermalManager.hotend_idle[e].start(nozzle_timeout); + HOTEND_LOOP() thermalManager.heater_idle[e].start(nozzle_timeout); TERN_(HOST_PROMPT_SUPPORT, host_prompt_do(PROMPT_USER_CONTINUE, PSTR("Reheat Done"), CONTINUE_STR)); TERN_(EXTENSIBLE_UI, ExtUI::onUserConfirmRequired_P(PSTR("Reheat finished."))); wait_for_user = true; @@ -588,7 +588,7 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le // Re-enable the heaters if they timed out bool nozzle_timed_out = false; HOTEND_LOOP() { - nozzle_timed_out |= thermalManager.hotend_idle[e].timed_out; + nozzle_timed_out |= thermalManager.heater_idle[e].timed_out; thermalManager.reset_hotend_idle_timer(e); } diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 35542f9412ab..9742967a09d9 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -56,6 +56,15 @@ #undef SHOW_TEMP_ADC_VALUES #endif +#if TEMP_SENSOR_BED == 0 + #undef THERMAL_PROTECTION_BED + #undef THERMAL_PROTECTION_BED_PERIOD +#endif + +#if TEMP_SENSOR_CHAMBER == 0 + #undef THERMAL_PROTECTION_CHAMBER +#endif + #if ENABLED(MIXING_EXTRUDER) && (ENABLED(RETRACT_SYNC_MIXING) || BOTH(FILAMENT_LOAD_UNLOAD_GCODES, FILAMENT_UNLOAD_ALL_EXTRUDERS)) #define HAS_MIXER_SYNC_CHANNEL 1 #endif diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index 81ba4653a1a8..0a1177d63ee9 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -521,7 +521,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char prefix, const bool blink) { #if HAS_HEATED_BED - const bool isBed = heater_id < 0; + const bool isBed = TERN(HAS_HEATED_CHAMBER, heater_id == H_BED, heater_id < 0); const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater_id)), t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater_id)); #else @@ -536,14 +536,7 @@ FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char pr #if !HEATER_IDLE_HANDLER UNUSED(blink); #else - const bool is_idle = ( - #if HAS_HEATED_BED - isBed ? thermalManager.bed_idle.timed_out : - #endif - thermalManager.hotend_idle[heater_id].timed_out - ); - - if (!blink && is_idle) { + if (!blink && thermalManager.heater_idle[thermalManager.idle_index_for_id(heater_id)].timed_out) { lcd_put_wchar(' '); if (t2 >= 10) lcd_put_wchar(' '); if (t2 >= 100) lcd_put_wchar(' '); @@ -560,27 +553,14 @@ FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char pr } FORCE_INLINE void _draw_bed_status(const bool blink) { - _draw_heater_status(H_BED, ( - #if HAS_LEVELING - planner.leveling_active && blink ? '_' : - #endif - LCD_STR_BEDTEMP[0] - ), - blink - ); + _draw_heater_status(H_BED, TERN0(HAS_LEVELING, blink && planner.leveling_active) ? '_' : LCD_STR_BEDTEMP[0], blink); } #if HAS_PRINT_PROGRESS FORCE_INLINE void _draw_print_progress() { const uint8_t progress = ui.get_progress_percent(); - lcd_put_u8str_P(PSTR( - #if ENABLED(SDSUPPORT) - "SD" - #elif ENABLED(LCD_SET_PROGRESS_MANUALLY) - "P:" - #endif - )); + lcd_put_u8str_P(PSTR(TERN(SDSUPPORT, "SD", "P:"))); if (progress) lcd_put_u8str(ui8tostr3rj(progress)); else diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index f668e453cca8..4b51c2949b23 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -254,7 +254,7 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t tx, cons if (PAGE_UNDER(7)) { #if HEATER_IDLE_HANDLER - const bool dodraw = (blink || !thermalManager.hotend_idle[heater_id].timed_out); + const bool dodraw = (blink || !thermalManager.heater_idle[heater_id].timed_out); #else constexpr bool dodraw = true; #endif @@ -327,7 +327,7 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t tx, cons if (PAGE_UNDER(7)) { #if HEATER_IDLE_HANDLER - const bool dodraw = (blink || !thermalManager.bed_idle.timed_out); + const bool dodraw = (blink || !thermalManager.heater_idle[thermalManager.IDLE_INDEX_BED].timed_out); #else constexpr bool dodraw = true; #endif diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp index bf0edbb8ded2..b4f32d3343a1 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp @@ -308,7 +308,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop lcd_put_u8str(i16tostr3rj(thermalManager.degHotend(extruder))); lcd_put_wchar('/'); - if (get_blink() || !thermalManager.hotend_idle[extruder].timed_out) + if (get_blink() || !thermalManager.heater_idle[extruder].timed_out) lcd_put_u8str(i16tostr3rj(thermalManager.degTargetHotend(extruder))); } diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 53b7dc6279c6..4d65429bf1d2 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -223,7 +223,7 @@ namespace ExtUI { bool isHeaterIdle(const extruder_t extruder) { #if HAS_HOTEND && HEATER_IDLE_HANDLER - return thermalManager.hotend_idle[extruder - E0].timed_out; + return thermalManager.heater_idle[extruder - E0].timed_out; #else UNUSED(extruder); return false; @@ -233,10 +233,10 @@ namespace ExtUI { bool isHeaterIdle(const heater_t heater) { #if HEATER_IDLE_HANDLER switch (heater) { - TERN_(HAS_HEATED_BED, case BED: return thermalManager.bed_idle.timed_out); + TERN_(HAS_HEATED_BED, case BED: return thermalManager.heater_idle[thermalManager.IDLE_INDEX_BED].timed_out); TERN_(HAS_HEATED_CHAMBER, case CHAMBER: return false); // Chamber has no idle timer default: - return TERN0(HAS_HOTEND, thermalManager.hotend_idle[heater - H0].timed_out); + return TERN0(HAS_HOTEND, thermalManager.heater_idle[heater - H0].timed_out); } #else UNUSED(heater); diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index e7d2611bc413..b11a3686cb46 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -410,10 +410,6 @@ namespace Language_cz { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("TEPL. ÚNIK KOMORA"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("VYSOKÁ TEPLOTA"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("NÍZKA TEPLOTA"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("VYS. TEPL. PODL."); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("NÍZ. TEPL. PODL."); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err: MAXTEMP KOMORA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err: MINTEMP KOMORA"); PROGMEM Language_Str MSG_HALTED = _UxGT("TISK. ZASTAVENA"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Proveďte reset"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index c6f5647d5af6..da282be0b40f 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -142,8 +142,6 @@ namespace Language_da { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Temp løber løbsk"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Fejl: Maks temp"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Fejl: Min temp"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Fejl: Maks Plade temp"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Fejl: Min Plade temp"); PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER STOPPET"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reset Venligst"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // Kun et bogstav diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index e353229daacf..875444c0e7fe 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -452,10 +452,6 @@ namespace Language_de { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("GEH.") " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT"); PROGMEM Language_Str MSG_ERR_MAXTEMP = " " LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN"); PROGMEM Language_Str MSG_ERR_MINTEMP = " " LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("BETT ") LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("BETT ") LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err:Gehäuse max Temp"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err:Gehäuse min Temp"); PROGMEM Language_Str MSG_HALTED = _UxGT("DRUCKER GESTOPPT"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Bitte neustarten"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("t"); // One character only diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index cee8dd0e55d5..8fe888765331 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -180,8 +180,6 @@ namespace Language_el { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΚΡΑΣΙΑΣ"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("ΠΕΡΙΤΗ ΘΕΡΜΟΚΡΑΣΙΑ"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("ΜΗ ΕΠΑΡΚΗΣ ΘΕΡΜΟΚΡΑΣΙΑΣ"); //SHORTEN - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("ΜΕΓΙΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΕΠ. ΕΚΤΥΠΩΣΗΣ"); //SHORTEN - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΕΠ. ΕΚΤΥΠΩΣΗΣ"); //SHORTEN PROGMEM Language_Str MSG_HALTED = _UxGT("H εκτύπωση διακόπηκε"); PROGMEM Language_Str MSG_HEATING = _UxGT("Θερμαίνεται…"); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Θέρμανση ΕΠ. Εκτύπωσης"); //SHORTEN diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h index d7bead9ea669..ad170a348721 100644 --- a/Marlin/src/lcd/language/language_el_gr.h +++ b/Marlin/src/lcd/language/language_el_gr.h @@ -182,8 +182,6 @@ namespace Language_el_gr { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΤΗΤΑΣ"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ ΚΛΙΝΗΣ"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ ΚΛΙΝΗΣ"); PROGMEM Language_Str MSG_HEATING = _UxGT("Θερμαίνεται…"); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Θέρμανση κλίνης…"); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Βαθμονόμηση Delta"); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index f5ba320881c2..fc9e065abe0d 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -457,10 +457,6 @@ namespace Language_en { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("CHAMBER T. RUNAWAY"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: MAXTEMP"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: MINTEMP"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: MAXTEMP BED"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: MINTEMP BED"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err: MAXTEMP CHAMBER"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err: MINTEMP CHAMBER"); PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER HALTED"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Please Reset"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index 11cb8cc2a91f..15fa35ac75f5 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -421,10 +421,6 @@ namespace Language_es { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("FUGA TÉRMICA CAMARA"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err:TEMP. MÁX"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err:TEMP. MIN"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err:TEMP. MÁX CAMA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err:TEMP. MIN CAMA"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err:TEMP. MÁX CÁMARA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err:TEMP. MIN CÁMARA"); PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESORA DETENIDA"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Por favor, reinicie"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index d04b3037ab4e..bee571bbde25 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -244,8 +244,6 @@ namespace Language_eu { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TENP. KONTROL EZA"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: Tenp Maximoa"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: Tenp Minimoa"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: Ohe Tenp Max"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: Ohe Tenp Min"); PROGMEM Language_Str MSG_HALTED = _UxGT("INPRIMA. GELDIRIK"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Berrabia. Mesedez"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index d47ec0b67d36..53b0803518e5 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -443,10 +443,6 @@ namespace Language_gl { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("FUGA TÉRMICA CÁMARA"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Erro:TEMP MÁX"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Erro:TEMP MÍN"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Erro:TEMP MÁX CAMA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Erro:TEMP MÍN CAMA"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Erro:TEMP MÁX CÁMARA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Erro:TEMP MÍN CÁMARA"); PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESORA DETIDA"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Debe reiniciar!"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 962fb17511a8..76aff51d9cc3 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -445,10 +445,6 @@ namespace Language_hu { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("KAMRA FÜTÉS KIMARADÁS"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Hiba: MAX Höfok"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Hiba: MIN Höfok"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Hiba: MAX ÁGY HÖFOK"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Hiba: MIN ÁGY HÖFOK"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Hiba: MAX KAMRA HÖFOK"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Hiba: MIN KAMRA HÖFOK"); PROGMEM Language_Str MSG_HALTED = _UxGT("A NYOMTATÓ LEFAGYOTT"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Indítsd újra!"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("n"); // Csak egy karakter diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 27087e5a5562..e22e58708f51 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -457,10 +457,6 @@ namespace Language_it { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("T.CAMERA FUORI CTRL"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: TEMP MASSIMA"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: TEMP MINIMA"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: TEMP MAX PIATTO"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: TEMP MIN PIATTO"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err: TEMP MAX CAMERA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err: TEMP MIN CAMERA"); PROGMEM Language_Str MSG_HALTED = _UxGT("STAMPANTE FERMATA"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Riavviare prego"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("g"); // Un solo carattere diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h index 5f679dd49d2c..df6ad9b5d98f 100644 --- a/Marlin/src/lcd/language/language_jp_kana.h +++ b/Marlin/src/lcd/language/language_jp_kana.h @@ -184,8 +184,6 @@ namespace Language_jp_kana { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ネツボウソウ"); // "THERMAL RUNAWAY" PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("エラー:サイコウオンチョウカ"); // "Err: MAXTEMP" PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("エラー:サイテイオンミマン"); // "Err: MINTEMP" - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("エラー:ベッド サイコウオンチョウカ"); // "Err: MAXTEMP BED" - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("エラー:ベッド サイテイオンミマン"); // "Err: MINTEMP BED" PROGMEM Language_Str MSG_HALTED = _UxGT("プリンターハテイシシマシタ"); // "PRINTER HALTED" PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("リセットシテクダサイ"); // "Please reset" PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index c8c79e472add..c1a1a0605b31 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -164,8 +164,6 @@ namespace Language_nl { PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Therm. wegloop"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: Max. temp"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: Min. temp"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: Max.tmp bed"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: Min.tmp bed"); PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER GESTOPT"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reset A.U.B."); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only. Keep English standard diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 7c3f9c1bb100..f6a9e12c8ee5 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -391,10 +391,6 @@ namespace Language_pl { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ZANIK TEMP.KOMORY"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Błąd: MAXTEMP"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Błąd: MINTEMP"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Błąd: MAXTEMP STÓŁ"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Błąd: MINTEMP STÓŁ"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Błąd: MAXTEMP KOMORA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Błąd: MINTEMP KOMORA"); PROGMEM Language_Str MSG_HALTED = _UxGT("Drukarka zatrzym."); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Proszę zresetować"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 1180649c989b..8bd94d06e154 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -150,8 +150,6 @@ namespace Language_pt { PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Aquecimento falhou"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: T Máxima"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: T Mínima"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: T Base Máxima"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: T Base Mínima"); PROGMEM Language_Str MSG_HEATING = _UxGT("Aquecendo..."); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Aquecendo base..."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibração Delta"); diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index b9fd91fa293f..eb1e2f9bf32e 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -357,10 +357,6 @@ namespace Language_pt_br { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ESCAPE TÉRMICO CAMARA"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Erro:Temp Máxima"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Erro:Temp Mínima"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Erro:Temp Mesa Máx"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Erro:Temp Mesa Mín"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Erro:Temp Câmara Máx"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Erro:Temp Câmara Min"); PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESSORA PAROU"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Favor resetar"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index 0d5b1568a71a..d71471a09dfc 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -448,10 +448,6 @@ namespace Language_ro { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("CHAMBER T. RUNAWAY"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: MAXTEMP"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: MINTEMP"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Err: MAXTEMP BED"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Err: MINTEMP BED"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Err: MAXTEMP CHAMBER"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Err: MINTEMP CHAMBER"); PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER HALTED"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Please Reset"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 0e2c63ca139f..b8c146e515e8 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -536,10 +536,6 @@ namespace Language_ru { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("УТЕЧКА ТЕПЛА КАМЕРЫ"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Ошибка: Т макс."); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Ошибка: Т мин."); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Ошибка: Т стола макс"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Ошибка: Т стола мин."); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Ошибка:Т камеры макс"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Ошибка:Т камеры мин."); PROGMEM Language_Str MSG_HALTED = _UxGT("ПРИНТЕР ОСТАНОВЛЕН"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Сделайте сброс"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("д"); // One character only diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index ace2ba6da4b3..e936110d0768 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -441,10 +441,6 @@ namespace Language_sk { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("TEPLOTNÝ SKOK KOMO."); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Chyba: MAXTEMP"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Chyba: MINTEMP"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Chyba: MAXTEMP PODL."); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Chyba: MINTEMP PODL."); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Chyba: MAXTEMP KOMO."); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Chyba: MINTEMP KOMO."); PROGMEM Language_Str MSG_HALTED = _UxGT("TLAČIAREŇ ZASTAVENÁ"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reštartuje ju"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index ed11ec87c5a8..95e4fb2a8bad 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -420,10 +420,6 @@ namespace Language_tr { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ODA TERMAL PROBLEM"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Hata: MAX.SICAKLIK"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Hata: MIN.SICAKLIK"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Hata: MAX.SIC. TABLA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Hata: MIN.SIC. TABLA"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("Hata: MAX.SIC ODA"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("Hata: MIN.SIC ODA"); PROGMEM Language_Str MSG_HALTED = _UxGT("YAZICI DURDURULDU"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Lütfen Resetleyin"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("G"); // One character only diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 99d70cc2520e..9041decbb251 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -530,10 +530,6 @@ namespace Language_uk { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ВИТІК ТЕПЛА КАМЕРИ"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("ПЕРЕГРІВ"); PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE; - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("ПЕРЕГРІВ СТОЛУ"); - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE _UxGT(" СТОЛУ"); - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("ПЕРЕГРІВ КАМЕРИ"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE _UxGT(" КАМЕРИ"); PROGMEM Language_Str MSG_HALTED = _UxGT("ПРИНТЕР ЗУПИНЕНО"); PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Перезавантажте"); PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("д"); // One character only diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index 507490188308..afd87d379838 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -335,8 +335,6 @@ namespace Language_vi { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("Vấn đề nhiệt bàn"); // BED THERMAL RUNAWAY PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Điều sai: nhiệt độ tối đa"); // Err: MAXTEMP PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Điều sai: nhiệt độ tối thiểu"); // Err: MINTEMP - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("Điều sai: nhiệt độ bàn tối đa"); // Err: MAXTEMP BED - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("Điều sai: nhiệt độ bàn tối thiểu"); // Err: MINTEMP BED PROGMEM Language_Str MSG_HALTED = _UxGT("MÁY IN ĐÃ DỪNG LẠI"); // PRINTER HALTED PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Xin bặt lại"); // Please reset PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("n"); // d - ngày - One character only diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 2a98d58e819e..d30ee789dd85 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -447,10 +447,6 @@ namespace Language_zh_CN { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("机箱热量失控"); PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("错误:最高温度"); //"Err: MAXTEMP" PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("错误:最低温度"); //"Err: MINTEMP" - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("错误:最高热床温度"); //"Err: MAXTEMP BED" - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("错误:最低热床温度"); //"Err: MINTEMP BED" - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("错误:最高机箱温度"); - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("错误:最低机箱温度"); PROGMEM Language_Str MSG_HALTED = _UxGT("打印停机"); //"PRINTER HALTED" PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("请重置"); //"Please reset" PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("天"); //"d" // One character only diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 532886d45116..6764af6d73ce 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -388,10 +388,6 @@ namespace Language_zh_TW { PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("機箱溫度失控"); //"CHAMBER T. RUNAWAY" PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("錯誤:最高溫度"); //"Err: MAXTEMP" PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("錯誤:最低溫度"); //"Err: MINTEMP" - PROGMEM Language_Str MSG_ERR_MAXTEMP_BED = _UxGT("錯誤:最高熱床溫度"); //"Err: MAXTEMP BED" - PROGMEM Language_Str MSG_ERR_MINTEMP_BED = _UxGT("錯誤:最低熱床溫度"); //"Err: MINTEMP BED" - PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER = _UxGT("錯誤:最高機箱溫度"); //"Err: MAXTEMP CHAMBER" - PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER = _UxGT("錯誤:最低機箱溫度"); //"Err: MINTEMP CHAMBER" PROGMEM Language_Str MSG_HALTED = _UxGT("印表機停機"); //"PRINTER HALTED" PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("請重置"); //"Please reset" PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("天"); //"d" // One character only diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index e6739a135cbf..64923547e8ad 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -34,10 +34,6 @@ #include "../../libs/buzzer.h" #endif -#if WATCH_HOTENDS || WATCH_BED - #include "../../module/temperature.h" -#endif - #if ENABLED(BABYSTEP_ZPROBE_OFFSET) #include "../../module/probe.h" #endif diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 06864c6b97b4..e0fa6fa98f53 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -252,7 +252,7 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY, hotend_watch_t Temperature::watch_hotend[HOTENDS]; // = { { 0 } } #endif #if HEATER_IDLE_HANDLER - hotend_idle_t Temperature::hotend_idle[HOTENDS]; // = { { 0 } } + Temperature::heater_idle_t Temperature::heater_idle[NR_HEATER_IDLE]; // = { { 0 } } #endif #if HAS_HEATED_BED @@ -266,7 +266,6 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY, #endif TERN_(WATCH_BED, bed_watch_t Temperature::watch_bed); // = { 0 } TERN(PIDTEMPBED,, millis_t Temperature::next_bed_check_ms); - TERN_(HEATER_IDLE_HANDLER, hotend_idle_t Temperature::bed_idle); // = { 0 } #endif // HAS_HEATED_BED #if HAS_TEMP_CHAMBER @@ -841,7 +840,7 @@ void Temperature::min_temp_error(const heater_id_t heater_id) { if (temp_hotend[ee].target == 0 || pid_error < -(PID_FUNCTIONAL_RANGE) - || TERN0(HEATER_IDLE_HANDLER, hotend_idle[ee].timed_out) + || TERN0(HEATER_IDLE_HANDLER, heater_idle[ee].timed_out) ) { pid_output = 0; pid_reset[ee] = true; @@ -926,7 +925,7 @@ void Temperature::min_temp_error(const heater_id_t heater_id) { #else // No PID enabled - const bool is_idling = TERN0(HEATER_IDLE_HANDLER, hotend_idle[ee].timed_out); + const bool is_idling = TERN0(HEATER_IDLE_HANDLER, heater_idle[ee].timed_out); const float pid_output = (!is_idling && temp_hotend[ee].celsius < temp_hotend[ee].target) ? BANG_MAX : 0; #endif @@ -1040,15 +1039,14 @@ void Temperature::manage_heater() { HOTEND_LOOP() { #if ENABLED(THERMAL_PROTECTION_HOTENDS) - if (degHotend(e) > temp_range[e].maxtemp) - _temp_error((heater_id_t)e, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); + if (degHotend(e) > temp_range[e].maxtemp) max_temp_error((heater_id_t)e); #endif - TERN_(HEATER_IDLE_HANDLER, hotend_idle[e].update(ms)); + TERN_(HEATER_IDLE_HANDLER, heater_idle[e].update(ms)); #if ENABLED(THERMAL_PROTECTION_HOTENDS) // Check for thermal runaway - thermal_runaway_protection(tr_state_machine[e], temp_hotend[e].celsius, temp_hotend[e].target, (heater_id_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); + tr_state_machine[e].run(temp_hotend[e].celsius, temp_hotend[e].target, (heater_id_t)e, THERMAL_PROTECTION_PERIOD, THERMAL_PROTECTION_HYSTERESIS); #endif temp_hotend[e].soft_pwm_amount = (temp_hotend[e].celsius > temp_range[e].mintemp || is_preheating(e)) && temp_hotend[e].celsius < temp_range[e].maxtemp ? (int)get_pid_output_hotend(e) >> 1 : 0; @@ -1093,8 +1091,7 @@ void Temperature::manage_heater() { #if HAS_HEATED_BED #if ENABLED(THERMAL_PROTECTION_BED) - if (degBed() > BED_MAXTEMP) - _temp_error(H_BED, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); + if (degBed() > BED_MAXTEMP) max_temp_error(H_BED); #endif #if WATCH_BED @@ -1127,12 +1124,14 @@ void Temperature::manage_heater() { TERN_(PAUSE_CHANGE_REQD, last_pause_state = paused); #endif - TERN_(HEATER_IDLE_HANDLER, bed_idle.update(ms)); + TERN_(HEATER_IDLE_HANDLER, heater_idle[IDLE_INDEX_BED].update(ms)); - TERN_(HAS_THERMALLY_PROTECTED_BED, thermal_runaway_protection(tr_state_machine_bed, temp_bed.celsius, temp_bed.target, H_BED, THERMAL_PROTECTION_BED_PERIOD, THERMAL_PROTECTION_BED_HYSTERESIS)); + #if HAS_THERMALLY_PROTECTED_BED + tr_state_machine[RUNAWAY_IND_BED].run(temp_bed.celsius, temp_bed.target, H_BED, THERMAL_PROTECTION_BED_PERIOD, THERMAL_PROTECTION_BED_HYSTERESIS); + #endif #if HEATER_IDLE_HANDLER - if (bed_idle.timed_out) { + if (heater_idle[IDLE_INDEX_BED].timed_out) { temp_bed.soft_pwm_amount = 0; #if DISABLED(PIDTEMPBED) WRITE_HEATER_BED(LOW); @@ -1173,8 +1172,7 @@ void Temperature::manage_heater() { #endif #if ENABLED(THERMAL_PROTECTION_CHAMBER) - if (degChamber() > CHAMBER_MAXTEMP) - _temp_error(H_CHAMBER, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); + if (degChamber() > CHAMBER_MAXTEMP) max_temp_error(H_CHAMBER); #endif #if WATCH_CHAMBER @@ -1205,7 +1203,9 @@ void Temperature::manage_heater() { WRITE_HEATER_CHAMBER(LOW); } - TERN_(THERMAL_PROTECTION_CHAMBER, thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.celsius, temp_chamber.target, H_CHAMBER, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS)); + #if ENABLED(THERMAL_PROTECTION_CHAMBER) + tr_state_machine[RUNAWAY_IND_CHAMBER].run(temp_chamber.celsius, temp_chamber.target, H_CHAMBER, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); + #endif } // TODO: Implement true PID pwm @@ -1935,61 +1935,66 @@ void Temperature::init() { #if HAS_THERMAL_PROTECTION - #if ENABLED(THERMAL_PROTECTION_HOTENDS) - Temperature::tr_state_machine_t Temperature::tr_state_machine[HOTENDS]; // = { { TRInactive, 0 } }; - #endif - #if HAS_THERMALLY_PROTECTED_BED - Temperature::tr_state_machine_t Temperature::tr_state_machine_bed; // = { TRInactive, 0 }; - #endif - #if ENABLED(THERMAL_PROTECTION_CHAMBER) - Temperature::tr_state_machine_t Temperature::tr_state_machine_chamber; // = { TRInactive, 0 }; - #endif + Temperature::tr_state_machine_t Temperature::tr_state_machine[NR_HEATER_RUNAWAY]; // = { { TRInactive, 0 } }; - void Temperature::thermal_runaway_protection(Temperature::tr_state_machine_t &sm, const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc) { + /** + * @brief Thermal Runaway state machine for a single heater + * @param current current measured temperature + * @param target current target temperature + * @param heater_id extruder index + * @param period_seconds missed temperature allowed time + * @param hysteresis_degc allowed distance from target + * + * TODO: Embed the last 3 parameters during init, if not less optimal + */ + void Temperature::tr_state_machine_t::run(const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc) { - static float tr_target_temperature[HOTENDS + 1] = { 0.0 }; + #if HEATER_IDLE_HANDLER + // Convert the given heater_id_t to an idle array index + const IdleIndex idle_index = idle_index_for_id(heater_id); + #endif /** SERIAL_ECHO_START(); SERIAL_ECHOPGM("Thermal Runaway Running. Heater ID: "); - if (heater_id == H_CHAMBER) SERIAL_ECHOPGM("chamber"); - if (heater_id < 0) SERIAL_ECHOPGM("bed"); else SERIAL_ECHO(heater_id); - SERIAL_ECHOPAIR(" ; State:", sm.state, " ; Timer:", sm.timer, " ; Temperature:", current, " ; Target Temp:", target); - if (heater_id >= 0) - SERIAL_ECHOPAIR(" ; Idle Timeout:", hotend_idle[heater_id].timed_out); - else - SERIAL_ECHOPAIR(" ; Idle Timeout:", bed_idle.timed_out); - SERIAL_EOL(); + switch (heater_id) { + case H_BED: SERIAL_ECHOPGM("bed"); break; + case H_CHAMBER: SERIAL_ECHOPGM("chamber"); break; + default: SERIAL_ECHO(heater_id); + } + SERIAL_ECHOLNPAIR( + " ; sizeof(running_temp):", sizeof(running_temp), + " ; State:", state, " ; Timer:", timer, " ; Temperature:", current, " ; Target Temp:", target + #if HEATER_IDLE_HANDLER + , " ; Idle Timeout:", heater_idle[idle_index].timed_out + #endif + ); //*/ - const int heater_index = heater_id >= 0 ? heater_id : HOTENDS; - #if HEATER_IDLE_HANDLER // If the heater idle timeout expires, restart - if ((heater_id >= 0 && hotend_idle[heater_id].timed_out) - || TERN0(HAS_HEATED_BED, (heater_id < 0 && bed_idle.timed_out)) - ) { - sm.state = TRInactive; - tr_target_temperature[heater_index] = 0; + if (heater_idle[idle_index].timed_out) { + state = TRInactive; + running_temp = 0; } else #endif { // If the target temperature changes, restart - if (tr_target_temperature[heater_index] != target) { - tr_target_temperature[heater_index] = target; - sm.state = target > 0 ? TRFirstHeating : TRInactive; + if (running_temp != target) { + running_temp = target; + state = target > 0 ? TRFirstHeating : TRInactive; } } - switch (sm.state) { + switch (state) { // Inactive state waits for a target temperature to be set case TRInactive: break; // When first heating, wait for the temperature to be reached then go to Stable state case TRFirstHeating: - if (current < tr_target_temperature[heater_index]) break; - sm.state = TRStable; + if (current < running_temp) break; + state = TRStable; // While the temperature is stable watch for a bad temperature case TRStable: @@ -1997,25 +2002,25 @@ void Temperature::init() { #if ENABLED(ADAPTIVE_FAN_SLOWING) if (adaptive_fan_slowing && heater_id >= 0) { const int fan_index = _MIN(heater_id, FAN_COUNT - 1); - if (fan_speed[fan_index] == 0 || current >= tr_target_temperature[heater_id] - (hysteresis_degc * 0.25f)) + if (fan_speed[fan_index] == 0 || current >= running_temp - (hysteresis_degc * 0.25f)) fan_speed_scaler[fan_index] = 128; - else if (current >= tr_target_temperature[heater_id] - (hysteresis_degc * 0.3335f)) + else if (current >= running_temp - (hysteresis_degc * 0.3335f)) fan_speed_scaler[fan_index] = 96; - else if (current >= tr_target_temperature[heater_id] - (hysteresis_degc * 0.5f)) + else if (current >= running_temp - (hysteresis_degc * 0.5f)) fan_speed_scaler[fan_index] = 64; - else if (current >= tr_target_temperature[heater_id] - (hysteresis_degc * 0.8f)) + else if (current >= running_temp - (hysteresis_degc * 0.8f)) fan_speed_scaler[fan_index] = 32; else fan_speed_scaler[fan_index] = 0; } #endif - if (current >= tr_target_temperature[heater_index] - hysteresis_degc) { - sm.timer = millis() + SEC_TO_MS(period_seconds); + if (current >= running_temp - hysteresis_degc) { + timer = millis() + SEC_TO_MS(period_seconds); break; } - else if (PENDING(millis(), sm.timer)) break; - sm.state = TRRunaway; + else if (PENDING(millis(), timer)) break; + state = TRRunaway; case TRRunaway: TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); @@ -2086,8 +2091,8 @@ void Temperature::disable_all_heaters() { if (p != paused) { paused = p; if (p) { - HOTEND_LOOP() hotend_idle[e].expire(); // Timeout immediately - TERN_(HAS_HEATED_BED, bed_idle.expire()); // Timeout immediately + HOTEND_LOOP() heater_idle[e].expire(); // Timeout immediately + TERN_(HAS_HEATED_BED, heater_idle[IDLE_INDEX_BED].expire()); // Timeout immediately } else { HOTEND_LOOP() reset_hotend_idle_timer(e); @@ -2333,9 +2338,7 @@ void Temperature::readings_ready() { #else #define BEDCMP(A,B) ((A)>(B)) #endif - const bool bed_on = temp_bed.target > 0 - || TERN0(PIDTEMPBED, temp_bed.soft_pwm_amount) > 0 - ; + const bool bed_on = (temp_bed.target > 0) || TERN0(PIDTEMPBED, temp_bed.soft_pwm_amount > 0); if (BEDCMP(temp_bed.raw, maxtemp_raw_BED)) max_temp_error(H_BED); if (bed_on && BEDCMP(mintemp_raw_BED, temp_bed.raw)) min_temp_error(H_BED); #endif diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 37d1140f5e18..57b0fecbcc99 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -40,7 +40,7 @@ #define HOTEND_INDEX TERN(HAS_MULTI_HOTEND, e, 0) #define E_NAME TERN_(HAS_MULTI_HOTEND, e) -// Identifiers for other heaters +// Heater identifiers. Positive values are hotends. Negative values are other heaters. typedef enum : int8_t { INDEX_NONE = -5, H_PROBE, H_REDUNDANT, H_CHAMBER, H_BED, @@ -211,16 +211,6 @@ struct PIDHeaterInfo : public HeaterInfo { typedef temp_info_t chamber_info_t; #endif -// Heater idle handling -typedef struct { - millis_t timeout_ms; - bool timed_out; - inline void update(const millis_t &ms) { if (!timed_out && timeout_ms && ELAPSED(ms, timeout_ms)) timed_out = true; } - inline void start(const millis_t &ms) { timeout_ms = millis() + ms; timed_out = false; } - inline void reset() { timeout_ms = 0; timed_out = false; } - inline void expire() { start(0); } -} hotend_idle_t; - // Heater watch handling template struct HeaterWatch { @@ -346,9 +336,38 @@ class Temperature { FORCE_INLINE static bool targetHotEnoughToExtrude(const uint8_t e) { return !targetTooColdToExtrude(e); } #if HEATER_IDLE_HANDLER - static hotend_idle_t hotend_idle[HOTENDS]; - TERN_(HAS_HEATED_BED, static hotend_idle_t bed_idle); - TERN_(HAS_HEATED_CHAMBER, static hotend_idle_t chamber_idle); + + // Heater idle handling. Marlin creates one per hotend and one for the heated bed. + typedef struct { + millis_t timeout_ms; + bool timed_out; + inline void update(const millis_t &ms) { if (!timed_out && timeout_ms && ELAPSED(ms, timeout_ms)) timed_out = true; } + inline void start(const millis_t &ms) { timeout_ms = millis() + ms; timed_out = false; } + inline void reset() { timeout_ms = 0; timed_out = false; } + inline void expire() { start(0); } + } heater_idle_t; + + // Indices and size for the heater_idle array + #define _ENUM_FOR_E(N) IDLE_INDEX_E##N, + enum IdleIndex : uint8_t { + REPEAT(HOTENDS, _ENUM_FOR_E) + #if ENABLED(HAS_HEATED_BED) + IDLE_INDEX_BED, + #endif + NR_HEATER_IDLE + }; + #undef _ENUM_FOR_E + + // Convert the given heater_id_t to idle array index + static inline IdleIndex idle_index_for_id(const int8_t heater_id) { + #if HAS_HEATED_BED + if (heater_id == H_BED) return IDLE_INDEX_BED; + #endif + return (IdleIndex)_MAX(heater_id, 0); + } + + static heater_idle_t heater_idle[NR_HEATER_IDLE]; + #endif private: @@ -747,13 +766,13 @@ class Temperature { #if HEATER_IDLE_HANDLER static void reset_hotend_idle_timer(const uint8_t E_NAME) { - hotend_idle[HOTEND_INDEX].reset(); + heater_idle[HOTEND_INDEX].reset(); start_watching_hotend(HOTEND_INDEX); } #if HAS_HEATED_BED static void reset_bed_idle_timer() { - bed_idle.reset(); + heater_idle[IDLE_INDEX_BED].reset(); start_watching_bed(); } #endif @@ -815,22 +834,47 @@ class Temperature { static void min_temp_error(const heater_id_t e); static void max_temp_error(const heater_id_t e); - #define HAS_THERMAL_PROTECTION (EITHER(THERMAL_PROTECTION_HOTENDS, THERMAL_PROTECTION_CHAMBER) || HAS_THERMALLY_PROTECTED_BED) + #define HAS_THERMAL_PROTECTION ANY(THERMAL_PROTECTION_HOTENDS, THERMAL_PROTECTION_CHAMBER, HAS_THERMALLY_PROTECTED_BED) #if HAS_THERMAL_PROTECTION + // Indices and size for the tr_state_machine array. One for each protected heater. + #define _ENUM_FOR_E(N) RUNAWAY_IND_E##N, + enum RunawayIndex : uint8_t { + #if ENABLED(THERMAL_PROTECTION_HOTENDS) + REPEAT(HOTENDS, _ENUM_FOR_E) + #endif + #if ENABLED(HAS_THERMALLY_PROTECTED_BED) + RUNAWAY_IND_BED, + #endif + #if ENABLED(THERMAL_PROTECTION_CHAMBER) + RUNAWAY_IND_CHAMBER, + #endif + NR_HEATER_RUNAWAY + }; + #undef _ENUM_FOR_E + + // Convert the given heater_id_t to runaway state array index + static inline RunawayIndex runaway_index_for_id(const int8_t heater_id) { + #if HAS_THERMALLY_PROTECTED_CHAMBER + if (heater_id == H_CHAMBER) return RUNAWAY_IND_CHAMBER; + #endif + #if HAS_THERMALLY_PROTECTED_BED + if (heater_id == H_BED) return RUNAWAY_IND_BED; + #endif + return (RunawayIndex)_MAX(heater_id, 0); + } + enum TRState : char { TRInactive, TRFirstHeating, TRStable, TRRunaway }; typedef struct { millis_t timer = 0; TRState state = TRInactive; + float running_temp; + void run(const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc); } tr_state_machine_t; - TERN_(THERMAL_PROTECTION_HOTENDS, static tr_state_machine_t tr_state_machine[HOTENDS]); - TERN_(HAS_THERMALLY_PROTECTED_BED, static tr_state_machine_t tr_state_machine_bed); - TERN_(THERMAL_PROTECTION_CHAMBER, static tr_state_machine_t tr_state_machine_chamber); - - static void thermal_runaway_protection(tr_state_machine_t &state, const float ¤t, const float &target, const heater_id_t heater_id, const uint16_t period_seconds, const uint16_t hysteresis_degc); + static tr_state_machine_t tr_state_machine[NR_HEATER_RUNAWAY]; #endif // HAS_THERMAL_PROTECTION }; From cd85fa3abecd1a24de0fdbdb21a0ed2a2074af91 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 11 Sep 2020 23:05:27 -0500 Subject: [PATCH 068/277] Better choice of code Followup to #19344 --- .../gcode/calibrate/{G76_M871-M872.cpp => G76_M192_M871.cpp} | 4 ++-- Marlin/src/gcode/gcode.cpp | 2 +- Marlin/src/gcode/gcode.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) rename Marlin/src/gcode/calibrate/{G76_M871-M872.cpp => G76_M192_M871.cpp} (99%) diff --git a/Marlin/src/gcode/calibrate/G76_M871-M872.cpp b/Marlin/src/gcode/calibrate/G76_M192_M871.cpp similarity index 99% rename from Marlin/src/gcode/calibrate/G76_M871-M872.cpp rename to Marlin/src/gcode/calibrate/G76_M192_M871.cpp index 4f7c2874b17f..89393b4582c1 100644 --- a/Marlin/src/gcode/calibrate/G76_M871-M872.cpp +++ b/Marlin/src/gcode/calibrate/G76_M192_M871.cpp @@ -334,13 +334,13 @@ void GcodeSuite::M871() { } /** - * M872: Wait for probe temperature sensor to reach a target + * M192: Wait for probe temperature sensor to reach a target * * Select only one of these flags: * R - Wait for heating or cooling * S - Wait only for heating */ -void GcodeSuite::M872() { +void GcodeSuite::M192() { if (DEBUGGING(DRYRUN)) return; const bool no_wait_for_cooling = parser.seenval('S'); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index bace7adc7501..c1b6deeadda8 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -818,8 +818,8 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #endif #if ENABLED(PROBE_TEMP_COMPENSATION) + case 192: M192(); break; // M192: Wait for probe temp case 871: M871(); break; // M871: Print/reset/clear first layer temperature offset values - case 872: M872(); break; // M872: Wait for probe temp #endif #if ENABLED(LIN_ADVANCE) diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 72a2d0966f22..24273012629f 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -253,7 +253,7 @@ * M868 - Report or set position encoder module error correction threshold. * M869 - Report position encoder module error. * M871 - Print/reset/clear first layer temperature offset values. (Requires PROBE_TEMP_COMPENSATION) - * M872 - Wait for probe temp (Requires PROBE_TEMP_COMPENSATION) + * M192 - Wait for probe temp (Requires PROBE_TEMP_COMPENSATION) * M876 - Handle Prompt Response. (Requires HOST_PROMPT_SUPPORT and not EMERGENCY_PARSER) * M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE) * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660 or L6470) @@ -822,8 +822,8 @@ class GcodeSuite { #endif #if ENABLED(PROBE_TEMP_COMPENSATION) + static void M192(); static void M871(); - static void M872(); #endif TERN_(LIN_ADVANCE, static void M900()); From 3a89d34e7f2b69ad59246e80a66c375f862e984f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 20:44:13 -0500 Subject: [PATCH 069/277] Always show Compiled: --- Marlin/src/MarlinCore.cpp | 12 ++++-------- Marlin/src/core/language.h | 2 -- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 89791c90820b..2927a3e40b28 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -977,18 +977,14 @@ void setup() { SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(SHORT_BUILD_VERSION); SERIAL_EOL(); - #if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR) SERIAL_ECHO_MSG( - STR_CONFIGURATION_VER - STRING_DISTRIBUTION_DATE - STR_AUTHOR STRING_CONFIG_H_AUTHOR + " Last Updated: " STRING_DISTRIBUTION_DATE + " | Author: " STRING_CONFIG_H_AUTHOR ); - SERIAL_ECHO_MSG("Compiled: " __DATE__); #endif - - SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE)); + SERIAL_ECHO_MSG("Compiled: " __DATE__); + SERIAL_ECHO_MSG(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE)); // Set up LEDs early #if HAS_COLOR_LEDS diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index 1d81ee61fb6d..0f932f9d3ff0 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -108,8 +108,6 @@ #define STR_BROWNOUT_RESET " Brown out Reset" #define STR_WATCHDOG_RESET " Watchdog Reset" #define STR_SOFTWARE_RESET " Software Reset" -#define STR_AUTHOR " | Author: " -#define STR_CONFIGURATION_VER " Last Updated: " #define STR_FREE_MEMORY " Free Memory: " #define STR_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " #define STR_OK "ok" From 0473f7ee5831691c372970c2d33cbf947f5e5612 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Sep 2020 22:02:18 -0500 Subject: [PATCH 070/277] M115 strings --- Marlin/src/core/language.h | 1 - Marlin/src/gcode/host/M115.cpp | 12 ++++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index 0f932f9d3ff0..0bcf799ac31d 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -125,7 +125,6 @@ #define STR_INVALID_E_STEPPER "Invalid E stepper" #define STR_E_STEPPER_NOT_SPECIFIED "E stepper not specified" #define STR_INVALID_SOLENOID "Invalid solenoid" -#define STR_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " (" __DATE__ " " __TIME__ ") SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID #define STR_COUNT_X " Count X:" #define STR_COUNT_A " Count A:" #define STR_WATCHDOG_FIRED "Watchdog timeout. Reset required." diff --git a/Marlin/src/gcode/host/M115.cpp b/Marlin/src/gcode/host/M115.cpp index cd64c563f9fb..53c5163bbaf6 100644 --- a/Marlin/src/gcode/host/M115.cpp +++ b/Marlin/src/gcode/host/M115.cpp @@ -42,8 +42,16 @@ * the capability is not present. */ void GcodeSuite::M115() { - - SERIAL_ECHOLNPGM(STR_M115_REPORT); + SERIAL_ECHOLNPGM( + "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " (" __DATE__ " " __TIME__ ") " + "SOURCE_CODE_URL:" SOURCE_CODE_URL " " + "PROTOCOL_VERSION:" PROTOCOL_VERSION " " + "MACHINE_TYPE:" MACHINE_NAME " " + "EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " " + #ifdef MACHINE_UUID + "UUID:" MACHINE_UUID + #endif + ); #if ENABLED(EXTENDED_CAPABILITIES_REPORT) From 0f9eb480aa7309e6b876e2643cd26a9425f5fd88 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 14 Sep 2020 02:48:45 -0500 Subject: [PATCH 071/277] Allow E3 V2 DWIN without EEPROM, POWER_LOSS_RECOVERY --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 310 ++++++++++++++++-------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 2 +- Marlin/src/lcd/extui/ui_api.cpp | 2 +- 3 files changed, 165 insertions(+), 149 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 8aa908e423fd..ccd5f2bc2055 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -48,15 +48,17 @@ #include "../../../core/macros.h" #include "../../../gcode/queue.h" -#include "../../../feature/powerloss.h" #include "../../../feature/babystep.h" -#include "../../../module/settings.h" #include "../../../module/temperature.h" #include "../../../module/printcounter.h" #include "../../../module/motion.h" #include "../../../module/planner.h" +#if ENABLED(EEPROM_SETTINGS) + #include "../../../module/settings.h" +#endif + #if ENABLED(HOST_ACTION_COMMANDS) #include "../../../feature/host_actions.h" #endif @@ -69,6 +71,10 @@ #include "../../../module/probe.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../../../feature/powerloss.h" +#endif + #ifndef MACHINE_SIZE #define MACHINE_SIZE "220x220x250" #endif @@ -130,7 +136,7 @@ constexpr uint16_t TROWS = 6, MROWS = TROWS - 1, // Total rows, and other #define MBASE(L) (49 + (L)*MLINE) -#define BABY_Z_VAR TERN(HAS_BED_PROBE, probe.offset.z, zprobe_zoffset) +#define BABY_Z_VAR TERN(HAS_BED_PROBE, probe.offset.z, dwin_zoffset) /* Value Init */ HMI_value_t HMI_ValueStruct; @@ -188,8 +194,8 @@ float last_E_scale = 0; bool DWIN_lcd_sd_status = 0; bool pause_action_flag = 0; int temphot = 0, tempbed = 0; -float zprobe_zoffset = 0; -float last_zoffset = 0, last_probe_zoffset = 0; +float dwin_zoffset = 0; +float last_zoffset = 0; #define DWIN_LANGUAGE_EEPROM_ADDRESS 0x01 // Between 0x01 and 0x63 (EEPROM_OFFSET-1) // BL24CXX::check() uses 0x00 @@ -213,7 +219,7 @@ void HMI_SetAndSaveLanguageChinese(void) { BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); } -void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { +void DWIN_Draw_Signed_Float(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { if (value < 0) { DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, F("-")); DWIN_Draw_FloatValue(true, true, 0, size, White, bColor, iNum, fNum, x, y, -value); @@ -517,7 +523,7 @@ inline void Prepare_Item_Offset(const uint8_t row) { if (HMI_flag.language_chinese) { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 174, 164, 271 - 48, 479 - 302, LBLX, MBASE(row)); - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); #else DWIN_Frame_AreaCopy(1, 43, 89, 271 - 173, 479 - 378, LBLX, MBASE(row)); #endif @@ -525,7 +531,7 @@ inline void Prepare_Item_Offset(const uint8_t row) { else { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 93, 179, 271 - 130, 479 - 290, LBLX, MBASE(row)); // "Z-Offset" - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); #else DWIN_Frame_AreaCopy(1, 1, 76, 271 - 165, 479 - 393, LBLX, MBASE(row)); // "..." #endif @@ -633,22 +639,28 @@ inline void Draw_Control_Menu() { Draw_Title(GET_TEXT_F(MSG_CONTROL)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_TEMPERATURE)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_STORE_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_LOAD_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); - if (CVISI(6)) - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), F("Info")); + #if ENABLED(EEPROM_SETTINGS) + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); + if (CVISI(6)) DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), F("Info")); + #else + if (CVISI(3)) DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Info")); + #endif #else DWIN_Frame_AreaCopy(1, 128, 2, 271 - 95, 479 - 467, 14, 8); DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX, CLINE(1));// Temperature > DWIN_Frame_AreaCopy(1, 84, 89, 271 - 143, 479 - 380, LBLX, CLINE(2));// Motion > - DWIN_Frame_AreaCopy(1, 131 + 17, 89, 271 - 3, 479 - 377 - 1, LBLX, CLINE(3));// "Store Configuration" - DWIN_Frame_AreaCopy(1, 26, 104, 271 - 214, 479 - 365, LBLX, CLINE(4)); // "Read" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 31 + 3, CLINE(4)); // "Configuration" - DWIN_Frame_AreaCopy(1, 59, 104, 271 - 178, 479 - 365, LBLX, CLINE(5)); // "Reset" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 34 + 3, CLINE(5)); // "Configuration" - if (CVISI(6)) - DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > + #if ENABLED(EEPROM_SETTINGS) + DWIN_Frame_AreaCopy(1, 131 + 17, 89, 271 - 3, 479 - 377 - 1, LBLX, CLINE(3));// "Store Configuration" + DWIN_Frame_AreaCopy(1, 26, 104, 271 - 214, 479 - 365, LBLX, CLINE(4)); // "Read" + DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 31 + 3, CLINE(4)); // "Configuration" + DWIN_Frame_AreaCopy(1, 59, 104, 271 - 178, 479 - 365, LBLX, CLINE(5)); // "Reset" + DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 34 + 3, CLINE(5)); // "Configuration" + if (CVISI(6)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > + #else + if (CVISI(3)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(3)); // Info > + #endif #endif } @@ -708,7 +720,7 @@ inline void Draw_Tune_Menu() { DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), thermalManager.temp_hotend[0].target); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), thermalManager.temp_bed.target); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(4), thermalManager.fan_speed[0]); - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(5), BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(5), BABY_Z_VAR * 100); } inline void draw_max_en(const uint16_t line) { @@ -1102,7 +1114,7 @@ void HMI_Move_Z(void) { checkkey = AxisMove; EncoderRate.encoderRateEnabled = 0; last_E_scale = HMI_ValueStruct.Move_E_scale; - show_plus_or_minus(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); if (!planner.is_full()) { planner.synchronize(); // Wait for planner moves to finish! planner.buffer_line(current_position, MMM_TO_MMS(FEEDRATE_E), active_extruder); @@ -1115,7 +1127,7 @@ void HMI_Move_Z(void) { else if ((last_E_scale - HMI_ValueStruct.Move_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT) HMI_ValueStruct.Move_E_scale = last_E_scale - (EXTRUDE_MAXLENGTH) * MINUNITMULT; current_position.e = HMI_ValueStruct.Move_E_scale / 10; - show_plus_or_minus(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); DWIN_UpdateLCD(); } } @@ -1125,7 +1137,7 @@ void HMI_Move_Z(void) { void HMI_Zoffset(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - last_zoffset = zprobe_zoffset; + last_zoffset = dwin_zoffset; if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.offset_value += EncoderRate.encoderMoveValue; } @@ -1134,24 +1146,22 @@ void HMI_Zoffset(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { EncoderRate.encoderRateEnabled = 0; - zprobe_zoffset = HMI_ValueStruct.offset_value / 100; + dwin_zoffset = HMI_ValueStruct.offset_value / 100; #if HAS_BED_PROBE - if (WITHIN(zprobe_zoffset - last_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) - probe.offset.z = zprobe_zoffset; - settings.save(); + if (WITHIN(dwin_zoffset - last_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) + probe.offset.z = dwin_zoffset; + TERN_(EEPROM_SETTINGS, settings.save()); #elif ENABLED(BABYSTEPPING) - babystep.add_mm(Z_AXIS, (zprobe_zoffset - last_zoffset)); - #else - UNUSED(zprobe_zoffset - last_zoffset); + babystep.add_mm(Z_AXIS, dwin_zoffset - last_zoffset); #endif if (HMI_ValueStruct.show_mode == -4) { checkkey = Prepare; - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(4 + MROWS - index_prepare), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(4 + MROWS - index_prepare), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); } else { checkkey = Tune; - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(5 + MROWS - index_tune), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(5 + MROWS - index_tune), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); } DWIN_UpdateLCD(); return; @@ -1159,9 +1169,9 @@ void HMI_Zoffset(void) { NOLESS(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MIN) * 100); NOMORE(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MAX) * 100); if (HMI_ValueStruct.show_mode == -4) - show_plus_or_minus(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); else - show_plus_or_minus(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); DWIN_UpdateLCD(); } } @@ -1213,7 +1223,7 @@ void HMI_Zoffset(void) { } } -#endif // if HAS_HOTEND +#endif // HAS_HOTEND #if HAS_HEATED_BED @@ -1262,7 +1272,7 @@ void HMI_Zoffset(void) { } } -#endif // if HAS_HEATED_BED +#endif // HAS_HEATED_BED #if HAS_FAN @@ -1311,7 +1321,7 @@ void HMI_Zoffset(void) { } } -#endif // if HAS_FAN +#endif // HAS_FAN void HMI_PrintSpeed(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); @@ -1515,27 +1525,20 @@ void update_variable(void) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); last_speed = feedrate_percentage; } - #if HAS_BED_PROBE - if (last_probe_zoffset != probe.offset.z) { - show_plus_or_minus(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, probe.offset.z * 100); - last_probe_zoffset = probe.offset.z; - } - #else - if (last_zoffset != zprobe_zoffset) { - show_plus_or_minus(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, zprobe_zoffset * 100); - last_zoffset = zprobe_zoffset; - } - #endif + if (last_zoffset != BABY_Z_VAR) { + DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, BABY_Z_VAR * 100); + last_zoffset = BABY_Z_VAR; + } } /** -* Read and cache the working directory. -* -* TODO: New code can follow the pattern of menu_media.cpp -* and rely on Marlin caching for performance. No need to -* cache files here. -* -*/ + * Read and cache the working directory. + * + * TODO: New code can follow the pattern of menu_media.cpp + * and rely on Marlin caching for performance. No need to + * cache files here. + * + */ #ifndef strcasecmp_P #define strcasecmp_P(a, b) strcasecmp((a), (b)) @@ -1723,7 +1726,7 @@ void HMI_StartFrame(const bool with_update) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + (2 + 3) * STAT_CHR_W + 2, 429, F("%")); - show_plus_or_minus(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); @@ -2223,7 +2226,7 @@ void HMI_Prepare(void) { DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), current_position[X_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), current_position[Y_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), current_position[Z_AXIS] * MINUNITMULT); - show_plus_or_minus(font8x16, Background_black, 3, 1, 216, MBASE(4), current_position.e * MINUNITMULT); + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), current_position.e * MINUNITMULT); break; case 2: // close motion queue.inject_P(PSTR("M84")); @@ -2237,9 +2240,9 @@ void HMI_Prepare(void) { case 4: // Z-offset #if HAS_BED_PROBE checkkey = Homeoffset; - HMI_ValueStruct.show_mode = -4; + HMI_ValueStruct.show_mode = -4; HMI_ValueStruct.offset_value = probe.offset.z * 100; - show_plus_or_minus(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); EncoderRate.encoderRateEnabled = 1; #else // Apply workspace offset, making the current position 0,0,0 @@ -2392,19 +2395,22 @@ void HMI_Control(void) { select_motion.reset(); Draw_Motion_Menu(); break; - case 3: { // write EEPROM - const bool success = settings.save(); - HMI_AudioFeedback(success); - } break; - case 4: { // read EEPROM - const bool success = settings.load(); - HMI_AudioFeedback(success); - } break; - case 5: // resume EEPROM - settings.reset(); - HMI_AudioFeedback(); - break; - case 6: // info + case 3: + #if ENABLED(EEPROM_SETTINGS) + { // write EEPROM + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + case 4: { // read EEPROM + const bool success = settings.load(); + HMI_AudioFeedback(success); + } break; + case 5: // resume EEPROM + settings.reset(); + HMI_AudioFeedback(); + break; + case 6: // info + #endif checkkey = Info; Draw_Info_Menu(); break; @@ -2442,7 +2448,7 @@ void HMI_AxisMove(void) { DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); - show_plus_or_minus(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); DWIN_UpdateLCD(); } return; @@ -2495,7 +2501,7 @@ void HMI_AxisMove(void) { #endif checkkey = Extruder; HMI_ValueStruct.Move_E_scale = current_position.e * MINUNITMULT; - show_plus_or_minus(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); EncoderRate.encoderRateEnabled = 1; break; #endif @@ -2593,7 +2599,9 @@ void HMI_Temperature(void) { Draw_Menu_Line(1, ICON_SetEndTemp); Draw_Menu_Line(2, ICON_SetBedTemp); Draw_Menu_Line(3, ICON_FanSpeed); - Draw_Menu_Line(4, ICON_WriteEEPROM); + #if ENABLED(EEPROM_SETTINGS) + Draw_Menu_Line(4, ICON_WriteEEPROM); + #endif DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[0].hotend_temp); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[0].bed_temp); @@ -2647,14 +2655,16 @@ void HMI_Temperature(void) { Draw_Menu_Line(1, ICON_SetEndTemp); Draw_Menu_Line(2, ICON_SetBedTemp); Draw_Menu_Line(3, ICON_FanSpeed); - Draw_Menu_Line(4, ICON_WriteEEPROM); + #if ENABLED(EEPROM_SETTINGS) + Draw_Menu_Line(4, ICON_WriteEEPROM); + #endif DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[1].hotend_temp); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[1].bed_temp); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), ui.material_preset[1].fan_speed); break; - #endif // if HAS_HOTEND + #endif // HAS_HOTEND } } DWIN_UpdateLCD(); @@ -2996,7 +3006,7 @@ void HMI_Tune(void) { case 5: // Z-offset checkkey = Homeoffset; HMI_ValueStruct.offset_value = BABY_Z_VAR * 100; - show_plus_or_minus(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); EncoderRate.encoderRateEnabled = 1; break; case 6: // Language @@ -3067,10 +3077,12 @@ void HMI_PLAPreheatSetting(void) { EncoderRate.encoderRateEnabled = 1; break; #endif - case 4: { // save PLA configuration - const bool success = settings.save(); - HMI_AudioFeedback(success); - } break; + #if ENABLED(EEPROM_SETTINGS) + case 4: { // save PLA configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + #endif default: break; } } @@ -3121,10 +3133,12 @@ void HMI_ABSPreheatSetting(void) { EncoderRate.encoderRateEnabled = 1; break; #endif - case 4: { // save ABS configuration - const bool success = settings.save(); - HMI_AudioFeedback(success); - } break; + #if ENABLED(EEPROM_SETTINGS) + case 4: { // save ABS configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + #endif default: break; } @@ -3441,7 +3455,7 @@ void EachMomentUpdate(void) { else if (abort_flag && !HMI_flag.home_flag) { // Print Stop abort_flag = 0; HMI_ValueStruct.print_speed = feedrate_percentage = 100; - zprobe_zoffset = TERN(HAS_BED_PROBE, probe.offset.z, 0); + dwin_zoffset = TERN0(HAS_BED_PROBE, probe.offset.z); planner.finish_and_disable(); @@ -3452,70 +3466,72 @@ void EachMomentUpdate(void) { select_page.set(0); Goto_MainMenu(); } - else if (DWIN_lcd_sd_status && recovery.dwin_flag) { // resume print before power off - recovery.dwin_flag = false; - - recovery.load(); - if (!recovery.valid()) return recovery.purge(); - - auto draw_first_option = [](const bool sel) { - const uint16_t c1 = sel ? Background_window : Select_Color; - DWIN_Draw_Rectangle(0, c1, 25, 306, 126, 345); - DWIN_Draw_Rectangle(0, c1, 24, 305, 127, 346); - }; - - auto update_selection = [&](const bool sel) { - HMI_flag.select_flag = sel; - draw_first_option(sel); - const uint16_t c2 = sel ? Select_Color : Background_window; - DWIN_Draw_Rectangle(0, c2, 145, 306, 246, 345); - DWIN_Draw_Rectangle(0, c2, 144, 305, 247, 346); - }; - - const uint16_t fileCnt = card.get_num_Files(); - for (uint16_t i = 0; i < fileCnt; i++) { - // TODO: Resume print via M1000 then update the UI - // with the active filename which can come from CardReader. - card.getfilename_sorted(SD_ORDER(i, fileCnt)); - if (!strcmp(card.filename, &recovery.info.sd_filename[1])) { // Resume print before power failure while have the same file - recovery_flag = 1; - HMI_flag.select_flag = 1; - Popup_Window_Resume(); - draw_first_option(false); - char * const name = card.longest_filename(); - const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, npos, 252, name); - DWIN_UpdateLCD(); - break; + #if ENABLED(POWER_LOSS_RECOVERY) + else if (DWIN_lcd_sd_status && recovery.dwin_flag) { // resume print before power off + recovery.dwin_flag = false; + + recovery.load(); + if (!recovery.valid()) return recovery.purge(); + + auto draw_first_option = [](const bool sel) { + const uint16_t c1 = sel ? Background_window : Select_Color; + DWIN_Draw_Rectangle(0, c1, 25, 306, 126, 345); + DWIN_Draw_Rectangle(0, c1, 24, 305, 127, 346); + }; + + auto update_selection = [&](const bool sel) { + HMI_flag.select_flag = sel; + draw_first_option(sel); + const uint16_t c2 = sel ? Select_Color : Background_window; + DWIN_Draw_Rectangle(0, c2, 145, 306, 246, 345); + DWIN_Draw_Rectangle(0, c2, 144, 305, 247, 346); + }; + + const uint16_t fileCnt = card.get_num_Files(); + for (uint16_t i = 0; i < fileCnt; i++) { + // TODO: Resume print via M1000 then update the UI + // with the active filename which can come from CardReader. + card.getfilename_sorted(SD_ORDER(i, fileCnt)); + if (!strcmp(card.filename, &recovery.info.sd_filename[1])) { // Resume print before power failure while have the same file + recovery_flag = 1; + HMI_flag.select_flag = 1; + Popup_Window_Resume(); + draw_first_option(false); + char * const name = card.longest_filename(); + const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, npos, 252, name); + DWIN_UpdateLCD(); + break; + } } - } - // if hasn't resumable G-code file - if (!recovery_flag) return; + // if hasn't resumable G-code file + if (!recovery_flag) return; + + while (recovery_flag) { + ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); + if (encoder_diffState != ENCODER_DIFF_NO) { + if (encoder_diffState == ENCODER_DIFF_ENTER) { + recovery_flag = 0; + if (HMI_flag.select_flag) break; + TERN_(POWER_LOSS_RECOVERY, recovery.cancel()); + HMI_StartFrame(true); + return; + } + else + update_selection(encoder_diffState == ENCODER_DIFF_CCW); - while (recovery_flag) { - ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); - if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_ENTER) { - recovery_flag = 0; - if (HMI_flag.select_flag) break; - TERN_(POWER_LOSS_RECOVERY, recovery.cancel()); - HMI_StartFrame(true); - return; + DWIN_UpdateLCD(); } - else - update_selection(encoder_diffState == ENCODER_DIFF_CCW); - - DWIN_UpdateLCD(); } - } - select_print.set(0); - HMI_ValueStruct.show_mode = 0; - HMI_StartFrame(false); - recovery.resume(); - return; - } + select_print.set(0); + HMI_ValueStruct.show_mode = 0; + HMI_StartFrame(false); + recovery.resume(); + return; + } + #endif DWIN_UpdateLCD(); } @@ -3572,7 +3588,7 @@ void DWIN_CompletedHoming(void) { } else if (checkkey == Back_Main) { HMI_ValueStruct.print_speed = feedrate_percentage = 100; - zprobe_zoffset = TERN0(BLTOUCH, probe.offset.z); + dwin_zoffset = TERN0(HAS_BED_PROBE, probe.offset.z); planner.finish_and_disable(); Goto_MainMenu(); } diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index dffd40bd03fb..e5d95f61661c 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -318,7 +318,7 @@ void HMI_MaxCornerXYZE(void); void HMI_StepXYZE(void); void update_variable(void); -void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value); +void DWIN_Draw_Signed_Float(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value); // SD Card void HMI_SDCardInit(void); diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 4d65429bf1d2..1637d32877e4 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -759,7 +759,7 @@ namespace ExtUI { if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) probe.offset.z = value; #elif ENABLED(BABYSTEP_DISPLAY_TOTAL) - babystep.add_mm(Z_AXIS, (value - getZOffset_mm())); + babystep.add_mm(Z_AXIS, value - getZOffset_mm()); #else UNUSED(value); #endif From 941b8908818b1e2004f54ab6d7ecda50e2b17c77 Mon Sep 17 00:00:00 2001 From: Marcio T Date: Mon, 14 Sep 2020 02:25:20 -0600 Subject: [PATCH 072/277] Add missing FTDI EVE menu source (#19382) --- .../ftdi_eve_lib/extended/text_ellipsis.cpp | 4 +- .../lib/ftdi_eve_touch_ui/marlin_events.cpp | 4 +- .../screens/bio_status_screen.cpp | 2 +- .../screens/leveling_menu.cpp | 121 ++++++++++++++++++ .../screens/status_screen.cpp | 4 +- 5 files changed, 130 insertions(+), 5 deletions(-) create mode 100644 Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp index 3746f1cde0f5..266b6efdab1e 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp @@ -30,12 +30,12 @@ namespace FTDI { */ static void _draw_text_with_ellipsis(CommandProcessor& cmd, int16_t x, int16_t y, int16_t w, int16_t h, char *str, uint16_t options, uint8_t font) { FontMetrics fm(font); - const uint16_t ellipsisWidth = fm.get_char_width('.') * 3; + const int16_t ellipsisWidth = fm.get_char_width('.') * 3; // Compute the total line length, as well as // the location in the string where it can // split and still allow the ellipsis to fit. - uint16_t lineWidth = 0; + int16_t lineWidth = 0; char *breakPoint = str; for(char* c = str; *c; c++) { lineWidth += fm.get_char_width(*c); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp index 270ec5581905..fe68faefee44 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp @@ -61,7 +61,9 @@ namespace ExtUI { if (AT_SCREEN(StatusScreen) || isPrintingFromMedia()) StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED)); - if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen); + #if ENABLED(SDSUPPORT) + if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen); + #endif } void onMediaError() { diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp index cfae53c7245c..e881995f2e69 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bio_status_screen.cpp @@ -304,7 +304,7 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) { PolyUI ui(cmd, what); if (what & FOREGROUND) { - ui.button_fill (TERN(TOUCH_UI_COCOA_PRESS, stroke_rgb, fill_rgb); + ui.button_fill (TERN(TOUCH_UI_COCOA_PRESS, stroke_rgb, fill_rgb)); ui.button_stroke(stroke_rgb, 28); ui.button_shadow(shadow_rgb, shadow_depth); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp new file mode 100644 index 000000000000..2eab27c6086b --- /dev/null +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp @@ -0,0 +1,121 @@ +/********************* + * leveling_menu.cpp * + *********************/ + +/**************************************************************************** + * Written By Mark Pelletier 2017 - Aleph Objects, Inc. * + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../config.h" + +#if BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING) + +#include "screens.h" + +#if BOTH(HAS_BED_PROBE,BLTOUCH) + #include "../../../../../feature/bltouch.h" +#endif + +using namespace FTDI; +using namespace ExtUI; +using namespace Theme; + +#ifdef TOUCH_UI_PORTRAIT + #define GRID_ROWS 9 + #define GRID_COLS 2 + #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) + #define LEVEL_BED_POS BTN_POS(1,2), BTN_SIZE(2,1) + #define LEVEL_AXIS_POS BTN_POS(1,3), BTN_SIZE(2,1) + #define SHOW_MESH_POS BTN_POS(1,4), BTN_SIZE(2,1) + #define BLTOUCH_TITLE_POS BTN_POS(1,6), BTN_SIZE(2,1) + #define BLTOUCH_RESET_POS BTN_POS(1,7), BTN_SIZE(1,1) + #define BLTOUCH_TEST_POS BTN_POS(2,7), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) +#else + #define GRID_ROWS 7 + #define GRID_COLS 2 + #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) + #define LEVEL_BED_POS BTN_POS(1,2), BTN_SIZE(2,1) + #define LEVEL_AXIS_POS BTN_POS(1,3), BTN_SIZE(2,1) + #define SHOW_MESH_POS BTN_POS(1,4), BTN_SIZE(2,1) + #define BLTOUCH_TITLE_POS BTN_POS(1,5), BTN_SIZE(2,1) + #define BLTOUCH_RESET_POS BTN_POS(1,6), BTN_SIZE(1,1) + #define BLTOUCH_TEST_POS BTN_POS(2,6), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(1,7), BTN_SIZE(2,1) +#endif + +void LevelingMenu::onRedraw(draw_mode_t what) { + if (what & BACKGROUND) { + CommandProcessor cmd; + cmd.cmd(CLEAR_COLOR_RGB(Theme::bg_color)) + .cmd(CLEAR(true,true,true)) + .tag(0); + } + + if (what & FOREGROUND) { + CommandProcessor cmd; + cmd.font(font_large) + .text(TITLE_POS, GET_TEXT_F(MSG_LEVELING)) + .font(font_medium).colors(normal_btn) + .tag(2).button(LEVEL_BED_POS, GET_TEXT_F(MSG_LEVEL_BED)) + .enabled( + #ifdef AXIS_LEVELING_COMMANDS + 1 + #endif + ) + .tag(3).button(LEVEL_AXIS_POS, GET_TEXT_F(MSG_AUTOLEVEL_X_AXIS)) + .enabled(ENABLED(HAS_MESH)) + .tag(4).button(SHOW_MESH_POS, GET_TEXT_F(MSG_SHOW_MESH)); + #if ENABLED(BLTOUCH) + cmd.text(BLTOUCH_TITLE_POS, GET_TEXT_F(MSG_BLTOUCH)) + .tag(5).button(BLTOUCH_RESET_POS, GET_TEXT_F(MSG_BLTOUCH_RESET)) + .tag(6).button(BLTOUCH_TEST_POS, GET_TEXT_F(MSG_BLTOUCH_SELFTEST)); + #endif + cmd.colors(action_btn) + .tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK)); + } +} + +bool LevelingMenu::onTouchEnd(uint8_t tag) { + switch (tag) { + case 1: GOTO_PREVIOUS(); break; + case 2: + #ifndef BED_LEVELING_COMMANDS + #define BED_LEVELING_COMMANDS "G29" + #endif + #if HAS_MESH + BedMeshScreen::startMeshProbe(); + #else + SpinnerDialogBox::enqueueAndWait_P(F(BED_LEVELING_COMMANDS)); + #endif + break; + #ifdef AXIS_LEVELING_COMMANDS + case 3: SpinnerDialogBox::enqueueAndWait_P(F(AXIS_LEVELING_COMMANDS)); break; + #endif + #if HAS_MESH + case 4: GOTO_SCREEN(BedMeshScreen); break; + #endif + #if ENABLED(BLTOUCH) + case 5: injectCommands_P(PSTR("M280 P0 S60")); break; + case 6: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break; + #endif + default: return false; + } + return true; +} + +#endif // BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp index f2524c7982f1..6b258b53893b 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp @@ -376,7 +376,9 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { using namespace ExtUI; switch (tag) { - case 3: GOTO_SCREEN(FilesScreen); break; + #if ENABLED(SDSUPPORT) + case 3: GOTO_SCREEN(FilesScreen); break; + #endif case 4: if (isPrinting()) { GOTO_SCREEN(TuneMenu); From 648e7f73a528783b31014cf4719009b0d69deff4 Mon Sep 17 00:00:00 2001 From: Zachary Annand Date: Mon, 14 Sep 2020 03:28:21 -0500 Subject: [PATCH 073/277] More strict STATIC_ITEM_N (#19378) --- Marlin/src/lcd/menu/menu_item.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h index a92f917f9f38..755135d14dec 100644 --- a/Marlin/src/lcd/menu/menu_item.h +++ b/Marlin/src/lcd/menu/menu_item.h @@ -342,8 +342,8 @@ class MenuItem_bool : public MenuEditItemBase { #define PSTRING_ITEM(LABEL, V...) PSTRING_ITEM_P(GET_TEXT(LABEL), ##V) -#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) -#define STATIC_ITEM_N(LABEL, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V) +#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) +#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), N, ##V) #define MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, false, PLABEL, ##V) #define MENU_ITEM_N_S(TYPE, N, S, LABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) From 79d41233191094e66d955c88e850cc4126af81fa Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Mon, 14 Sep 2020 19:16:19 -0300 Subject: [PATCH 074/277] Only set up SPI pins as needed (#19372) --- Marlin/src/HAL/LPC1768/HAL_SPI.cpp | 102 +++++++++++++++-------------- 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp index e13f2d98cbb9..b3d2908ac93e 100644 --- a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp +++ b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp @@ -39,10 +39,10 @@ * Some of the LCD interfaces/adapters result in the LCD SPI and the SD card * SPI sharing pins. The SCK, MOSI & MISO pins can NOT be set/cleared with * WRITE nor digitalWrite when the hardware SPI module within the LPC17xx is - * active. If any of these pins are shared then the software SPI must be used. + * active. If any of these pins are shared then the software SPI must be used. * - * A more sophisticated hardware SPI can be found at the following link. This - * implementation has not been fully debugged. + * A more sophisticated hardware SPI can be found at the following link. + * This implementation has not been fully debugged. * https://github.com/MarlinFirmware/Marlin/tree/071c7a78f27078fd4aee9a3ef365fcf5e143531e */ @@ -170,34 +170,20 @@ static inline void waitSpiTxEnd(LPC_SSP_TypeDef *spi_d) { while (SSP_GetStatus(spi_d, SSP_STAT_BUSY) == SET) { /* nada */ } // wait until BSY=0 } +// Retain the pin init state of the SPI, to avoid init more than once, +// even if more instances of SPIClass exist +static bool spiInitialised[BOARD_NR_SPI] = { false }; + SPIClass::SPIClass(uint8_t device) { // Init things specific to each SPI device // clock divider setup is a bit of hack, and needs to be improved at a later date. - PINSEL_CFG_Type PinCfg; // data structure to hold init values #if BOARD_NR_SPI >= 1 _settings[0].spi_d = LPC_SSP0; _settings[0].dataMode = SPI_MODE0; _settings[0].dataSize = DATA_SIZE_8BIT; _settings[0].clock = SPI_CLOCK_MAX; - // _settings[0].clockDivider = determine_baud_rate(_settings[0].spi_d, _settings[0].clock); - PinCfg.Funcnum = 2; - PinCfg.OpenDrain = 0; - PinCfg.Pinmode = 0; - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_SCK_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_SCK_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(BOARD_SPI1_SCK_PIN); - - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_MISO_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_MISO_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_INPUT(BOARD_SPI1_MISO_PIN); - - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_MOSI_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_MOSI_PIN); - PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(BOARD_SPI1_MOSI_PIN); + //_settings[0].clockDivider = determine_baud_rate(_settings[0].spi_d, _settings[0].clock); #endif #if BOARD_NR_SPI >= 2 @@ -205,34 +191,53 @@ SPIClass::SPIClass(uint8_t device) { _settings[1].dataMode = SPI_MODE0; _settings[1].dataSize = DATA_SIZE_8BIT; _settings[1].clock = SPI_CLOCK_MAX; - // _settings[1].clockDivider = determine_baud_rate(_settings[1].spi_d, _settings[1].clock); + //_settings[1].clockDivider = determine_baud_rate(_settings[1].spi_d, _settings[1].clock); + #endif + + setModule(device); + + // Init the GPDMA controller + // TODO: call once in the constructor? or each time? + GPDMA_Init(); +} + +void SPIClass::begin() { + // Init the SPI pins in the first begin call + if ((_currentSetting->spi_d == LPC_SSP0 && spiInitialised[0] == false) || + (_currentSetting->spi_d == LPC_SSP1 && spiInitialised[1] == false)) { + pin_t sck, miso, mosi; + if (_currentSetting->spi_d == LPC_SSP0) { + sck = BOARD_SPI1_SCK_PIN; + miso = BOARD_SPI1_MISO_PIN; + mosi = BOARD_SPI1_MOSI_PIN; + spiInitialised[0] = true; + } + else if (_currentSetting->spi_d == LPC_SSP1) { + sck = BOARD_SPI2_SCK_PIN; + miso = BOARD_SPI2_MISO_PIN; + mosi = BOARD_SPI2_MOSI_PIN; + spiInitialised[1] = true; + } + PINSEL_CFG_Type PinCfg; // data structure to hold init values PinCfg.Funcnum = 2; PinCfg.OpenDrain = 0; PinCfg.Pinmode = 0; - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_SCK_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_SCK_PIN); + PinCfg.Pinnum = LPC176x::pin_bit(sck); + PinCfg.Portnum = LPC176x::pin_port(sck); PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(BOARD_SPI2_SCK_PIN); + SET_OUTPUT(sck); - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_MISO_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_MISO_PIN); + PinCfg.Pinnum = LPC176x::pin_bit(miso); + PinCfg.Portnum = LPC176x::pin_port(miso); PINSEL_ConfigPin(&PinCfg); - SET_INPUT(BOARD_SPI2_MISO_PIN); + SET_INPUT(miso); - PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_MOSI_PIN); - PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_MOSI_PIN); + PinCfg.Pinnum = LPC176x::pin_bit(mosi); + PinCfg.Portnum = LPC176x::pin_port(mosi); PINSEL_ConfigPin(&PinCfg); - SET_OUTPUT(BOARD_SPI2_MOSI_PIN); - #endif - - setModule(device); - - /* Initialize GPDMA controller */ - //TODO: call once in the constructor? or each time? - GPDMA_Init(); -} + SET_OUTPUT(mosi); + } -void SPIClass::begin() { updateSettings(); SSP_Cmd(_currentSetting->spi_d, ENABLE); // start SSP running } @@ -246,7 +251,7 @@ void SPIClass::beginTransaction(const SPISettings &cfg) { } uint8_t SPIClass::transfer(const uint16_t b) { - /* send and receive a single byte */ + // Send and receive a single byte SSP_ReceiveData(_currentSetting->spi_d); // read any previous data SSP_SendData(_currentSetting->spi_d, b); waitSpiTxEnd(_currentSetting->spi_d); // wait for it to finish @@ -254,8 +259,7 @@ uint8_t SPIClass::transfer(const uint16_t b) { } uint16_t SPIClass::transfer16(const uint16_t data) { - return (transfer((data >> 8) & 0xFF) << 8) - | (transfer(data & 0xFF) & 0xFF); + return (transfer((data >> 8) & 0xFF) << 8) | (transfer(data & 0xFF) & 0xFF); } void SPIClass::end() { @@ -294,23 +298,23 @@ void SPIClass::dmaSend(void *buf, uint16_t length, bool minc) { // Enable dma on SPI SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, ENABLE); - // only increase memory if minc is true + // Only increase memory if minc is true GPDMACfg.MemoryIncrease = (minc ? GPDMA_DMACCxControl_SI : 0); // Setup channel with given parameter GPDMA_Setup(&GPDMACfg); - // enabled dma + // Enable DMA GPDMA_ChannelCmd(0, ENABLE); - // wait data transfer + // Wait for data transfer while (!GPDMA_IntGetStatus(GPDMA_STAT_RAWINTTC, 0) && !GPDMA_IntGetStatus(GPDMA_STAT_RAWINTERR, 0)) { } - // clear err and int + // Clear err and int GPDMA_ClearIntPending (GPDMA_STATCLR_INTTC, 0); GPDMA_ClearIntPending (GPDMA_STATCLR_INTERR, 0); - // dma disable + // Disable DMA GPDMA_ChannelCmd(0, DISABLE); waitSpiTxEnd(_currentSetting->spi_d); From 0b7d69d06ff58e01adace95bc08c69322c815639 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 15 Sep 2020 00:13:01 +0000 Subject: [PATCH 075/277] [cron] Bump distribution date (2020-09-15) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index faf816554c9e..55f303a2a1cc 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-14" + #define STRING_DISTRIBUTION_DATE "2020-09-15" #endif /** From 57a87a278bc2acd958cd64b1434ebc2211063c6e Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 16 Sep 2020 00:12:57 +0000 Subject: [PATCH 076/277] [cron] Bump distribution date (2020-09-16) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 55f303a2a1cc..63f117b932d1 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-15" + #define STRING_DISTRIBUTION_DATE "2020-09-16" #endif /** From 250bfac0ccbadbd40f3d6f3fe83c33aa96d09a52 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 16 Sep 2020 04:35:30 -0500 Subject: [PATCH 077/277] E3 V2 DWIN cleanup --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 757 +++++++++++++++--------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 52 +- 2 files changed, 400 insertions(+), 409 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index ccd5f2bc2055..1bef8f14088b 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -162,7 +162,7 @@ select_t select_page{0}, select_file{0}, select_print{0}, select_prepare{0} , select_PLA{0}, select_ABS{0} , select_speed{0} , select_acc{0} - , select_corner{0} + , select_jerk{0} , select_step{0} // , select_leveling{0} ; @@ -235,16 +235,16 @@ void ICON_Print() { DWIN_ICON_Show(ICON, ICON_Print_1, 17, 130); DWIN_Draw_Rectangle(0, White, 17, 130, 126, 229); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 58, 201); + DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 58, 201); else - DWIN_Frame_AreaCopy(1, 1, 451, 271 - 240, 479 - 16, 72 - 15, 201); + DWIN_Frame_AreaCopy(1, 1, 451, 31, 463, 57, 201); } else { DWIN_ICON_Show(ICON, ICON_Print_0, 17, 130); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 405, 271 - 243, 420, 58, 201); + DWIN_Frame_AreaCopy(1, 1, 405, 28, 420, 58, 201); else - DWIN_Frame_AreaCopy(1, 1, 423, 271 - 240, 423 + 12, 72 - 15, 201); + DWIN_Frame_AreaCopy(1, 1, 423, 31, 435, 57, 201); } } @@ -253,16 +253,16 @@ void ICON_Prepare() { DWIN_ICON_Show(ICON, ICON_Prepare_1, 145, 130); DWIN_Draw_Rectangle(0, White, 145, 130, 254, 229); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 31, 447, 271 - 213, 479 - 19, 186, 201); + DWIN_Frame_AreaCopy(1, 31, 447, 58, 460, 186, 201); else - DWIN_Frame_AreaCopy(1, 33, 451, 271 - 189, 479 - 13, 200 - 25, 201); + DWIN_Frame_AreaCopy(1, 33, 451, 82, 466, 175, 201); } else { DWIN_ICON_Show(ICON, ICON_Prepare_0, 145, 130); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 31, 405, 271 - 213, 420, 186, 201); + DWIN_Frame_AreaCopy(1, 31, 405, 58, 420, 186, 201); else - DWIN_Frame_AreaCopy(1, 33, 423, 271 - 189, 423 + 15, 200 - 25, 201); + DWIN_Frame_AreaCopy(1, 33, 423, 82, 438, 175, 201); } } @@ -271,16 +271,16 @@ void ICON_Control() { DWIN_ICON_Show(ICON, ICON_Control_1, 17, 246); DWIN_Draw_Rectangle(0, White, 17, 246, 126, 345); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 61, 447, 271 - 183, 479 - 19, 58, 318); + DWIN_Frame_AreaCopy(1, 61, 447, 88, 460, 58, 318); else - DWIN_Frame_AreaCopy(1, 85, 451, 271 - 139, 479 - 16, 72 - 24, 318); + DWIN_Frame_AreaCopy(1, 85, 451, 132, 463, 48, 318); } else { DWIN_ICON_Show(ICON, ICON_Control_0, 17, 246); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 61, 405, 271 - 183, 420, 58, 318); + DWIN_Frame_AreaCopy(1, 61, 405, 88, 420, 58, 318); else - DWIN_Frame_AreaCopy(1, 85, 423, 271 - 139, 479 - 45, 72 - 24, 318); + DWIN_Frame_AreaCopy(1, 85, 423, 132, 434, 48, 318); } } @@ -289,16 +289,16 @@ void ICON_StartInfo(bool show) { DWIN_ICON_Show(ICON, ICON_Info_1, 145, 246); DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 91, 447, 271 - 153, 479 - 19, 186, 318); + DWIN_Frame_AreaCopy(1, 91, 447, 118, 460, 186, 318); else - DWIN_Frame_AreaCopy(1, 132, 451, 159, 479 - 13, 186, 318); + DWIN_Frame_AreaCopy(1, 132, 451, 159, 466, 186, 318); } else { DWIN_ICON_Show(ICON, ICON_Info_0, 145, 246); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 91, 405, 271 - 153, 420, 186, 318); + DWIN_Frame_AreaCopy(1, 91, 405, 118, 420, 186, 318); else - DWIN_Frame_AreaCopy(1, 132, 423, 159, 423 + 12, 186, 318); + DWIN_Frame_AreaCopy(1, 132, 423, 159, 435, 186, 318); } } @@ -307,16 +307,16 @@ void ICON_Leveling(bool show) { DWIN_ICON_Show(ICON, ICON_Leveling_1, 145, 246); DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 211, 447, 238, 479 - 19, 186, 318); + DWIN_Frame_AreaCopy(1, 211, 447, 238, 460, 186, 318); else - DWIN_Frame_AreaCopy(1, 84, 437, 120, 449, 200 - 18, 318); + DWIN_Frame_AreaCopy(1, 84, 437, 120, 449, 182, 318); } else { DWIN_ICON_Show(ICON, ICON_Leveling_0, 145, 246); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 211, 405, 238, 420, 186, 318); else - DWIN_Frame_AreaCopy(1, 84, 465, 120, 478, 200 - 18, 318); + DWIN_Frame_AreaCopy(1, 84, 465, 120, 478, 182, 318); } } @@ -325,16 +325,16 @@ void ICON_Tune() { DWIN_ICON_Show(ICON, ICON_Setup_1, 8, 252); DWIN_Draw_Rectangle(0, White, 8, 252, 87, 351); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 121, 447, 271 - 123, 479 - 21, 34, 325); + DWIN_Frame_AreaCopy(1, 121, 447, 148, 458, 34, 325); else - DWIN_Frame_AreaCopy(1, 1, 465, 271 - 237, 479 - 2, 48 - 17, 325); + DWIN_Frame_AreaCopy(1, 1, 465, 34, 477, 31, 325); } else { DWIN_ICON_Show(ICON, ICON_Setup_0, 8, 252); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 121, 405, 271 - 123, 420, 34, 325); + DWIN_Frame_AreaCopy(1, 121, 405, 148, 420, 34, 325); else - DWIN_Frame_AreaCopy(1, 1, 438, 271 - 239, 479 - 31, 48 - 17, 325); + DWIN_Frame_AreaCopy(1, 1, 438, 32, 448, 31, 325); } } @@ -343,16 +343,16 @@ void ICON_Pause() { DWIN_ICON_Show(ICON, ICON_Pause_1, 96, 252); DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 181, 447, 271 - 63, 479 - 20, 124, 325); + DWIN_Frame_AreaCopy(1, 181, 447, 208, 459, 124, 325); else - DWIN_Frame_AreaCopy(1, 177, 451, 271 - 55, 479 - 17, 136 - 20, 325); + DWIN_Frame_AreaCopy(1, 177, 451, 216, 462, 116, 325); } else { DWIN_ICON_Show(ICON, ICON_Pause_0, 96, 252); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 181, 405, 271 - 63, 420, 124, 325); + DWIN_Frame_AreaCopy(1, 181, 405, 208, 420, 124, 325); else - DWIN_Frame_AreaCopy(1, 177, 423, 271 - 56, 479 - 46, 136 - 20, 325); + DWIN_Frame_AreaCopy(1, 177, 423, 215, 433, 116, 325); } } @@ -361,16 +361,16 @@ void ICON_Continue() { DWIN_ICON_Show(ICON, ICON_Continue_1, 96, 252); DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 124, 325); + DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 124, 325); else - DWIN_Frame_AreaCopy(1, 1, 451, 271 - 239, 479 - 16, 136 - 15, 325); + DWIN_Frame_AreaCopy(1, 1, 451, 32, 463, 121, 325); } else { DWIN_ICON_Show(ICON, ICON_Continue_0, 96, 252); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 405, 271 - 243, 420, 124, 325); + DWIN_Frame_AreaCopy(1, 1, 405, 28, 420, 124, 325); else - DWIN_Frame_AreaCopy(1, 1, 424, 271 - 240, 479 - 45, 136 - 15, 325); + DWIN_Frame_AreaCopy(1, 1, 424, 31, 434, 121, 325); } } @@ -379,16 +379,16 @@ void ICON_Stop() { DWIN_ICON_Show(ICON, ICON_Stop_1, 184, 252); DWIN_Draw_Rectangle(0, White, 184, 252, 263, 351); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 151, 447, 271 - 93, 479 - 20, 210, 325); + DWIN_Frame_AreaCopy(1, 151, 447, 178, 459, 210, 325); else - DWIN_Frame_AreaCopy(1, 218, 451, 271 - 22, 479 - 14, 224 - 15, 325); + DWIN_Frame_AreaCopy(1, 218, 451, 249, 465, 209, 325); } else { DWIN_ICON_Show(ICON, ICON_Stop_0, 184, 252); if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 151, 405, 271 - 93, 420, 210, 325); + DWIN_Frame_AreaCopy(1, 151, 405, 178, 420, 210, 325); else - DWIN_Frame_AreaCopy(1, 218, 423, 271 - 24, 479 - 43, 224 - 15, 325); + DWIN_Frame_AreaCopy(1, 218, 423, 247, 436, 209, 325); } } @@ -405,7 +405,7 @@ inline void Draw_Title(const __FlashStringHelper * title) { } inline void Clear_Menu_Area(void) { - DWIN_Draw_Rectangle(1, Background_black, 0, 31, 272, 360); + DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, 360); } inline void Clear_Main_Window(void) { @@ -415,11 +415,11 @@ inline void Clear_Main_Window(void) { inline void Clear_Popup_Area(void) { Clear_Title_Bar(); - DWIN_Draw_Rectangle(1, Background_black, 0, 31, 272, 480); + DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); } void Draw_Popup_Bkgd_105(void) { - DWIN_Draw_Rectangle(1, Background_window, 14, 105, 271 - 13, 479 - 105); + DWIN_Draw_Rectangle(1, Background_window, 14, 105, 258, 374); } inline void Draw_More_Icon(const uint8_t line) { @@ -446,7 +446,7 @@ inline void Add_Menu_Line() { } inline void Scroll_Menu(const uint8_t dir) { - DWIN_Frame_AreaMove(1, dir, MLINE, Background_black, 0, 31, 272, 349); + DWIN_Frame_AreaMove(1, dir, MLINE, Background_black, 0, 31, DWIN_WIDTH, 349); switch (dir) { case DWIN_SCROLL_DOWN: Move_Highlight(-1, 0); break; case DWIN_SCROLL_UP: Add_Menu_Line(); break; @@ -474,9 +474,9 @@ inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char // The "Back" label is always on the first line inline void Draw_Back_Label(void) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 129, 72, 271 - 115, 479 - 395, LBLX, MBASE(0)); + DWIN_Frame_AreaCopy(1, 129, 72, 156, 84, LBLX, MBASE(0)); else - DWIN_Frame_AreaCopy(1, 226, 179, 271 - 15, 479 - 290, LBLX, MBASE(0)); + DWIN_Frame_AreaCopy(1, 226, 179, 256, 189, LBLX, MBASE(0)); } // Draw "Back" line at the top @@ -491,12 +491,12 @@ inline void Draw_Back_First(const bool is_sel=true) { // inline void draw_move_en(const uint16_t line) { - DWIN_Frame_AreaCopy(1, 69, 61, 271 - 169, 479 - 408, LBLX, line); // "Move" + DWIN_Frame_AreaCopy(1, 69, 61, 102, 71, LBLX, line); // "Move" } inline void Prepare_Item_Move(const uint8_t row) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 159, 70, 271 - 71, 479 - 395, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 159, 70, 200, 84, LBLX, MBASE(row)); else draw_move_en(MBASE(row)); // "Move >" Draw_Menu_Line(row, ICON_Axis); @@ -505,35 +505,35 @@ inline void Prepare_Item_Move(const uint8_t row) { inline void Prepare_Item_Disable(const uint8_t row) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 204, 70, 271 - 12, 479 - 397, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 204, 70, 259, 82, LBLX, MBASE(row)); else - DWIN_Frame_AreaCopy(1, 103, 59, 271 - 71, 479 - 405, LBLX, MBASE(row)); // "Disable Stepper" + DWIN_Frame_AreaCopy(1, 103, 59, 200, 74, LBLX, MBASE(row)); // "Disable Stepper" Draw_Menu_Line(row, ICON_CloseMotor); } inline void Prepare_Item_Home(const uint8_t row) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 0, 89, 271 - 230, 479 - 378, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 0, 89, 41, 101, LBLX, MBASE(row)); else - DWIN_Frame_AreaCopy(1, 202, 61, 271 - 0, 479 - 408, LBLX, MBASE(row)); // "Auto Home" + DWIN_Frame_AreaCopy(1, 202, 61, 271, 71, LBLX, MBASE(row)); // "Auto Home" Draw_Menu_Line(row, ICON_Homing); } inline void Prepare_Item_Offset(const uint8_t row) { if (HMI_flag.language_chinese) { #if HAS_BED_PROBE - DWIN_Frame_AreaCopy(1, 174, 164, 271 - 48, 479 - 302, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); #else - DWIN_Frame_AreaCopy(1, 43, 89, 271 - 173, 479 - 378, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 43, 89, 98, 101, LBLX, MBASE(row)); #endif } else { #if HAS_BED_PROBE - DWIN_Frame_AreaCopy(1, 93, 179, 271 - 130, 479 - 290, LBLX, MBASE(row)); // "Z-Offset" + DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); #else - DWIN_Frame_AreaCopy(1, 1, 76, 271 - 165, 479 - 393, LBLX, MBASE(row)); // "..." + DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." #endif } Draw_Menu_Line(row, ICON_SetHome); @@ -541,41 +541,41 @@ inline void Prepare_Item_Offset(const uint8_t row) { inline void Prepare_Item_PLA(const uint8_t row) { if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 100, 89, 271 - 93 - 27, 479 - 378, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 100, 89, 151, 101, LBLX, MBASE(row)); } else { - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX + 49 + 3, MBASE(row)); // "PLA" + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(row)); // "PLA" } Draw_Menu_Line(row, ICON_PLAPreheat); } inline void Prepare_Item_ABS(const uint8_t row) { if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 180, 89, 271 - 11 - 27, 479 - 379, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 180, 89, 233, 100, LBLX, MBASE(row)); } else { - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 49 + 3, MBASE(row)); // "ABS" + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(row)); // "ABS" } Draw_Menu_Line(row, ICON_ABSPreheat); } inline void Prepare_Item_Cool(const uint8_t row) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 104, 271 - 215, 479 - 362, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); else - DWIN_Frame_AreaCopy(1, 200, 76, 271 - 7, 479 - 393, LBLX, MBASE(row));// "Cooldown" + DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" Draw_Menu_Line(row, ICON_Cool); } inline void Prepare_Item_Lang(const uint8_t row) { if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 239, 134, 271 - 5, 479 - 333, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 239, 134, 266, 146, LBLX, MBASE(row)); DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("CN")); } else { - DWIN_Frame_AreaCopy(1, 0, 194, 271 - 150, 479 - 272, LBLX, MBASE(row)); // "Language selection" + DWIN_Frame_AreaCopy(1, 0, 194, 121, 207, LBLX, MBASE(row)); // "Language selection" DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("EN")); } Draw_Menu_Icon(row, ICON_Language); @@ -589,13 +589,13 @@ inline void Draw_Prepare_Menu() { #define PVISI(L) WITHIN(PSCROL(L), 0, MROWS) if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 133, 1, 271 - 111, 479 - 465 - 1, 14, 8); // "Prepare" + DWIN_Frame_AreaCopy(1, 133, 1, 160, 13, 14, 8); // "Prepare" } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_PREPARE)); #else - DWIN_Frame_AreaCopy(1, 178, 2, 271 - 42, 479 - 464 - 1, 14, 8); // "Prepare" + DWIN_Frame_AreaCopy(1, 178, 2, 229, 14, 14, 8); // "Prepare" #endif } @@ -621,18 +621,18 @@ inline void Draw_Control_Menu() { #define CLINE(L) MBASE(CSCROL(L)) #define CVISI(L) WITHIN(CSCROL(L), 0, MROWS) - if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back + if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 1, 271 - 141, 479 - 465, 14, 8); - DWIN_Frame_AreaCopy(1, 57, 104, 271 - 187, 479 - 363, LBLX, CLINE(1)); // Temperature > - DWIN_Frame_AreaCopy(1, 87, 104, 271 - 157, 479 - 363, LBLX, CLINE(2)); // Motion > - DWIN_Frame_AreaCopy(1, 117, 104, 271 - 99, 479 - 363, LBLX, CLINE(3)); // Store Config - DWIN_Frame_AreaCopy(1, 174, 103, 271 - 42, 479 - 363, LBLX, CLINE(4)); // Read Config - DWIN_Frame_AreaCopy(1, 1, 118, 271 - 215, 479 - 348, LBLX, CLINE(5)); // Reset Config + DWIN_Frame_AreaCopy(1, 103, 1, 130, 14, 14, 8); + DWIN_Frame_AreaCopy(1, 57, 104, 84, 116, LBLX, CLINE(1)); // Temperature > + DWIN_Frame_AreaCopy(1, 87, 104, 114, 116, LBLX, CLINE(2)); // Motion > + DWIN_Frame_AreaCopy(1, 117, 104, 172, 116, LBLX, CLINE(3)); // Store Config + DWIN_Frame_AreaCopy(1, 174, 103, 229, 116, LBLX, CLINE(4)); // Read Config + DWIN_Frame_AreaCopy(1, 1, 118, 56, 131, LBLX, CLINE(5)); // Reset Config if (CVISI(6)) - DWIN_Frame_AreaCopy(1, 231, 104, 271 - 13, 479 - 363, LBLX, CLINE(6)); // Info > + DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, CLINE(6)); // Info > } else { #ifdef USE_STRING_HEADINGS @@ -648,18 +648,18 @@ inline void Draw_Control_Menu() { if (CVISI(3)) DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Info")); #endif #else - DWIN_Frame_AreaCopy(1, 128, 2, 271 - 95, 479 - 467, 14, 8); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX, CLINE(1));// Temperature > - DWIN_Frame_AreaCopy(1, 84, 89, 271 - 143, 479 - 380, LBLX, CLINE(2));// Motion > + DWIN_Frame_AreaCopy(1, 128, 2, 176, 12, 14, 8); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX, CLINE(1)); // Temperature > + DWIN_Frame_AreaCopy(1, 84, 89, 128, 99, LBLX, CLINE(2)); // Motion > #if ENABLED(EEPROM_SETTINGS) - DWIN_Frame_AreaCopy(1, 131 + 17, 89, 271 - 3, 479 - 377 - 1, LBLX, CLINE(3));// "Store Configuration" - DWIN_Frame_AreaCopy(1, 26, 104, 271 - 214, 479 - 365, LBLX, CLINE(4)); // "Read" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 31 + 3, CLINE(4)); // "Configuration" - DWIN_Frame_AreaCopy(1, 59, 104, 271 - 178, 479 - 365, LBLX, CLINE(5)); // "Reset" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 34 + 3, CLINE(5)); // "Configuration" - if (CVISI(6)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > + DWIN_Frame_AreaCopy(1, 148, 89, 268, 101, LBLX, CLINE(3)); // "Store Configuration" + DWIN_Frame_AreaCopy(1, 26, 104, 57, 114, LBLX, CLINE(4)); // "Read" + DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 34, CLINE(4)); // "Configuration" + DWIN_Frame_AreaCopy(1, 59, 104, 93, 114, LBLX, CLINE(5)); // "Reset" + DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 37, CLINE(5)); // "Configuration" + if (CVISI(6)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > #else - if (CVISI(3)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(3)); // Info > + if (CVISI(3)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(3)); // Info > #endif #endif } @@ -680,12 +680,12 @@ inline void Draw_Tune_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 73, 2, 271 - 171, 479 - 466, 14, 9); - DWIN_Frame_AreaCopy(1, 116, 164, 271 - 100, 479 - 303, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 271 - 158, 479 - 333, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 271 - 101, 479 - 333, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 174, 164, 271 - 48, 479 - 302, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 73, 2, 100, 13, 14, 9); + DWIN_Frame_AreaCopy(1, 116, 164, 171, 176, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(5)); } else { #ifdef USE_STRING_HEADINGS @@ -696,14 +696,14 @@ inline void Draw_Tune_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_FAN_SPEED)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else - DWIN_Frame_AreaCopy(1, 94, 2, 271 - 145, 479 - 467, 14, 9); - DWIN_Frame_AreaCopy(1, 1, 179, 271 - 179, 479 - 287 - 2, LBLX, MBASE(1)); // print speed - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(2)); // Hotend... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(3)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(3)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(4)); // fan speed - DWIN_Frame_AreaCopy(1, 93, 179, 271 - 130, 479 - 290, LBLX, MBASE(5)); // Z-offset + DWIN_Frame_AreaCopy(1, 94, 2, 126, 12, 14, 9); + DWIN_Frame_AreaCopy(1, 1, 179, 92, 190, LBLX, MBASE(1)); // print speed + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(2)); // Hotend... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(2)); // ...Temperature + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(3)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(3)); // ...Temperature + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(4)); // fan speed + DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(5)); // Z-offset #endif } @@ -724,47 +724,47 @@ inline void Draw_Tune_Menu() { } inline void draw_max_en(const uint16_t line) { - DWIN_Frame_AreaCopy(1, 245, 119, 271 - 2, 479 - 350, LBLX, line); // "Max" + DWIN_Frame_AreaCopy(1, 245, 119, 269, 129, LBLX, line); // "Max" } inline void draw_max_accel_en(const uint16_t line) { draw_max_en(line); - DWIN_Frame_AreaCopy(1, 1, 135, 271 - 192, 479 - 334, LBLX + 24 + 3, line); // "Acceleration" + DWIN_Frame_AreaCopy(1, 1, 135, 79, 145, LBLX + 27, line); // "Acceleration" } inline void draw_speed_en(const uint16_t inset, const uint16_t line) { - DWIN_Frame_AreaCopy(1, 184, 119, 224, 479 - 347, LBLX + inset, line); // "Speed" + DWIN_Frame_AreaCopy(1, 184, 119, 224, 132, LBLX + inset, line); // "Speed" } -inline void draw_corner_en(const uint16_t line) { - DWIN_Frame_AreaCopy(1, 64, 119, 271 - 165, 479 - 350, LBLX + 24 + 3, line); // "Corner" +inline void draw_jerk_en(const uint16_t line) { + DWIN_Frame_AreaCopy(1, 64, 119, 106, 129, LBLX + 27, line); // "Jerk" } inline void draw_steps_per_mm(const uint16_t line) { - DWIN_Frame_AreaCopy(1, 1, 151, 271 - 170, 479 - 318, LBLX, line); // "Steps-per-mm" + DWIN_Frame_AreaCopy(1, 1, 151, 101, 161, LBLX, line); // "Steps-per-mm" } inline void say_x(const uint16_t inset, const uint16_t line) { - DWIN_Frame_AreaCopy(1, 95, 104, 271 - 169, 479 - 365, LBLX + inset, line); // "X" + DWIN_Frame_AreaCopy(1, 95, 104, 102, 114, LBLX + inset, line); // "X" } inline void say_y(const uint16_t inset, const uint16_t line) { - DWIN_Frame_AreaCopy(1, 104, 104, 271 - 161, 479 - 365, LBLX + inset, line); // "Y" + DWIN_Frame_AreaCopy(1, 104, 104, 110, 114, LBLX + inset, line); // "Y" } inline void say_z(const uint16_t inset, const uint16_t line) { - DWIN_Frame_AreaCopy(1, 112, 104, 271 - 151, 479 - 365, LBLX + inset, line); // "Z" + DWIN_Frame_AreaCopy(1, 112, 104, 120, 114, LBLX + inset, line); // "Z" } inline void say_e(const uint16_t inset, const uint16_t line) { - DWIN_Frame_AreaCopy(1, 237, 119, 271 - 27, 479 - 350, LBLX + inset, line); // "E" + DWIN_Frame_AreaCopy(1, 237, 119, 244, 129, LBLX + inset, line); // "E" } inline void Draw_Motion_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); + DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); - DWIN_Frame_AreaCopy(1, 173, 133, 228, 479 - 332, LBLX, MBASE(1)); // max speed - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(2)); // max... - DWIN_Frame_AreaCopy(1, 28, 149, 271 - 202, 479 - 318, LBLX + 27, MBASE(2) + 1); // ...acceleration - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(3)); // max... - DWIN_Frame_AreaCopy(1, 1, 180, 271 - 243, 479 - 287, LBLX + 27, MBASE(3) + 1); // ... - DWIN_Frame_AreaCopy(1, 202, 133, 228, 479 - 332, LBLX + 54, MBASE(3)); // ...jerk - DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(4)); // flow ratio + DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, MBASE(1)); // Max speed + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(2)); // Max... + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(2) + 1); // ...acceleration + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); // Max... + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1); // ... + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 54, MBASE(3)); // ...jerk + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(4)); // Flow ratio } else { #ifdef USE_STRING_HEADINGS @@ -774,11 +774,11 @@ inline void Draw_Motion_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_JERK)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STEPS_PER_MM)); #else - DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); - draw_max_en(MBASE(1)); draw_speed_en(24 + 3, MBASE(1)); // "Max Speed" - draw_max_accel_en(MBASE(2)); // "Max Acceleration" - draw_max_en(MBASE(3)); draw_corner_en(MBASE(3)); // "Max Corner" - draw_steps_per_mm(MBASE(4)); // "Steps-per-mm" + DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + draw_max_en(MBASE(1)); draw_speed_en(27, MBASE(1)); // "Max Speed" + draw_max_accel_en(MBASE(2)); // "Max Acceleration" + draw_max_en(MBASE(3)); draw_jerk_en(MBASE(3)); // "Max Jerk" + draw_steps_per_mm(MBASE(4)); // "Steps-per-mm" #endif } @@ -803,9 +803,9 @@ void Popup_Window_Temperature(const bool toohigh) { if (toohigh) { DWIN_ICON_Show(ICON, ICON_TempTooHigh, 102, 165); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 371, 237, 479 - 93, 52, 285); + DWIN_Frame_AreaCopy(1, 103, 371, 237, 386, 52, 285); DWIN_Frame_AreaCopy(1, 151, 389, 185, 402, 187, 285); - DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); + DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); } else { DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); @@ -815,8 +815,8 @@ void Popup_Window_Temperature(const bool toohigh) { else { DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 165); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 371, 271 - 1, 479 - 93, 52, 285); - DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); + DWIN_Frame_AreaCopy(1, 103, 371, 270, 386, 52, 285); + DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); } else { DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); @@ -826,7 +826,7 @@ void Popup_Window_Temperature(const bool toohigh) { } inline void Draw_Popup_Bkgd_60() { - DWIN_Draw_Rectangle(1, Background_window, 14, 60, 271 - 13, 330); + DWIN_Draw_Rectangle(1, Background_window, 14, 60, 258, 330); } #if HAS_HOTEND @@ -836,8 +836,8 @@ inline void Draw_Popup_Bkgd_60() { Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 105); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 371, 136, 479 - 93, 69, 240); - DWIN_Frame_AreaCopy(1, 170, 371, 271 - 1, 479 - 93, 69 + 33, 240); + DWIN_Frame_AreaCopy(1, 103, 371, 136, 386, 69, 240); + DWIN_Frame_AreaCopy(1, 170, 371, 270, 386, 102, 240); DWIN_ICON_Show(ICON, ICON_Confirm_C, 86, 280); } else { @@ -852,8 +852,8 @@ void Popup_Window_Resume(void) { Clear_Popup_Area(); Draw_Popup_Bkgd_105(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 160, 338, 271 - 36, 479 - 125, 98, 135); - DWIN_Frame_AreaCopy(1, 103, 321, 271 - 0, 479 - 144, 52, 192); + DWIN_Frame_AreaCopy(1, 160, 338, 235, 354, 98, 135); + DWIN_Frame_AreaCopy(1, 103, 321, 271, 335, 52, 192); DWIN_ICON_Show(ICON, ICON_Continue_C, 26, 307); DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 307); } @@ -926,14 +926,14 @@ void Popup_window_PauseOrStop(void) { void Draw_Printing_Screen(void) { if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 30, 1, 271 - 200, 479 - 465, 14, 9);// Tune - DWIN_Frame_AreaCopy(1, 0, 72, 271 - 208, 479 - 393, 41, 188);// Pause - DWIN_Frame_AreaCopy(1, 65, 72, 271 - 143, 479 - 393, 176, 188); // Stop + DWIN_Frame_AreaCopy(1, 30, 1, 71, 14, 14, 9); // Tune + DWIN_Frame_AreaCopy(1, 0, 72, 63, 86, 41, 188); // Pause + DWIN_Frame_AreaCopy(1, 65, 72, 128, 86, 176, 188); // Stop } else { - DWIN_Frame_AreaCopy(1, 40, 2, 271 - 179, 479 - 464 - 1, 14, 9);// Tune - DWIN_Frame_AreaCopy(1, 0, 44, 271 - 175, 479 - 420 - 1, 41, 188);// Pause - DWIN_Frame_AreaCopy(1, 98, 44, 271 - 119, 479 - 420 - 1, 176, 188); // Stop + DWIN_Frame_AreaCopy(1, 40, 2, 92, 14, 14, 9); // Tune + DWIN_Frame_AreaCopy(1, 0, 44, 96, 58, 41, 188); // Pause + DWIN_Frame_AreaCopy(1, 98, 44, 152, 58, 176, 188); // Stop } } @@ -941,20 +941,20 @@ void Draw_Print_ProgressBar() { DWIN_ICON_Show(ICON, ICON_Bar, 15, 93); DWIN_Draw_Rectangle(1, BarFill_Color, 16 + Percentrecord * 240 / 100, 93, 256, 113); DWIN_Draw_IntValue(true, true, 0, font8x16, Percent_Color, Background_black, 2, 117, 133, Percentrecord); - DWIN_Draw_String(false, false, font8x16, Percent_Color, Background_black, 117 + 16, 133, F("%")); + DWIN_Draw_String(false, false, font8x16, Percent_Color, Background_black, 133, 133, F("%")); } void Draw_Print_ProgressElapsed() { duration_t elapsed = print_job_timer.duration(); // print timer DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 42, 212, elapsed.value / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 42 + 16, 212, F(":")); - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 42 + 24, 212, (elapsed.value % 3600) / 60); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 58, 212, F(":")); + DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 66, 212, (elapsed.value % 3600) / 60); } void Draw_Print_ProgressRemain() { DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 176, 212, remain_time / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 176 + 16, 212, F(":")); - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 176 + 24, 212, (remain_time % 3600) / 60); + DWIN_Draw_String(false, false, font8x16, White, Background_black, 192, 212, F(":")); + DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 200, 212, (remain_time % 3600) / 60); } void Goto_PrintProcess(void) { @@ -986,13 +986,13 @@ void Goto_MainMenu(void) { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 2, 2, 271 - 244, 479 - 465, 14, 9); // "Home" + DWIN_Frame_AreaCopy(1, 2, 2, 27, 14, 14, 9); // "Home" } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MAIN)); #else - DWIN_Frame_AreaCopy(1, 0, 2, 271 - 232, 479 - 467, 14, 9); + DWIN_Frame_AreaCopy(1, 0, 2, 39, 12, 14, 9); #endif } @@ -1411,37 +1411,37 @@ void HMI_MaxAccelerationXYZE(void) { } } -void HMI_MaxCornerXYZE(void) { +void HMI_MaxJerkXYZE(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Max_Corner += EncoderRate.encoderMoveValue; + HMI_ValueStruct.Max_Jerk += EncoderRate.encoderMoveValue; } else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Max_Corner -= EncoderRate.encoderMoveValue; + HMI_ValueStruct.Max_Jerk -= EncoderRate.encoderMoveValue; } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return - checkkey = MaxCorner; + checkkey = MaxJerk; EncoderRate.encoderRateEnabled = 0; - if (HMI_flag.corner_flag == X_AXIS) planner.set_max_jerk(X_AXIS, HMI_ValueStruct.Max_Corner / 10); - else if (HMI_flag.corner_flag == Y_AXIS) planner.set_max_jerk(Y_AXIS, HMI_ValueStruct.Max_Corner / 10); - else if (HMI_flag.corner_flag == Z_AXIS) planner.set_max_jerk(Z_AXIS, HMI_ValueStruct.Max_Corner / 10); - else if (HMI_flag.corner_flag == E_AXIS) planner.set_max_jerk(E_AXIS, HMI_ValueStruct.Max_Corner / 10); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + if (HMI_flag.jerk_flag == X_AXIS) planner.set_max_jerk(X_AXIS, HMI_ValueStruct.Max_Jerk / 10); + else if (HMI_flag.jerk_flag == Y_AXIS) planner.set_max_jerk(Y_AXIS, HMI_ValueStruct.Max_Jerk / 10); + else if (HMI_flag.jerk_flag == Z_AXIS) planner.set_max_jerk(Z_AXIS, HMI_ValueStruct.Max_Jerk / 10); + else if (HMI_flag.jerk_flag == E_AXIS) planner.set_max_jerk(E_AXIS, HMI_ValueStruct.Max_Jerk / 10); + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); return; } - // MaxCorner limit - if (HMI_flag.corner_flag == X_AXIS) - NOMORE(HMI_ValueStruct.Max_Corner, default_max_jerk[X_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.corner_flag == Y_AXIS) - NOMORE(HMI_ValueStruct.Max_Corner, default_max_jerk[Y_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.corner_flag == Z_AXIS) - NOMORE(HMI_ValueStruct.Max_Corner, default_max_jerk[Z_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.corner_flag == E_AXIS) - NOMORE(HMI_ValueStruct.Max_Corner, default_max_jerk[E_AXIS] * 2 * MINUNITMULT); - NOLESS(HMI_ValueStruct.Max_Corner, (MIN_MAXCORNER) * MINUNITMULT); - // MaxCorner value - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + // MaxJerk limit + if (HMI_flag.jerk_flag == X_AXIS) + NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[X_AXIS] * 2 * MINUNITMULT); + else if (HMI_flag.jerk_flag == Y_AXIS) + NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[Y_AXIS] * 2 * MINUNITMULT); + else if (HMI_flag.jerk_flag == Z_AXIS) + NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[Z_AXIS] * 2 * MINUNITMULT); + else if (HMI_flag.jerk_flag == E_AXIS) + NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[E_AXIS] * 2 * MINUNITMULT); + NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXCORNER) * MINUNITMULT); + // MaxJerk value + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); } } @@ -1707,7 +1707,7 @@ void HMI_SDCardUpdate(void) { void HMI_StartFrame(const bool with_update) { Goto_MainMenu(); - DWIN_Draw_Rectangle(1, Background_black, 0, 360, 272, 479); + DWIN_Draw_Rectangle(1, Background_black, 0, 360, DWIN_WIDTH, DWIN_HEIGHT - 1); DWIN_ICON_Show(ICON, ICON_HotendTemp, 13, 381); #if HOTENDS > 1 @@ -1724,7 +1724,7 @@ void HMI_StartFrame(const bool with_update) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + (2 + 3) * STAT_CHR_W + 2, 429, F("%")); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 5 * STAT_CHR_W + 2, 429, F("%")); DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); @@ -1743,23 +1743,23 @@ inline void Draw_Info_Menu() { DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 30, 17, 271 - 214, 479 - 450, 14, 8); + DWIN_Frame_AreaCopy(1, 30, 17, 57, 29, 14, 8); - DWIN_Frame_AreaCopy(1, 197, 149, 271 - 19, 479 - 318, 108, 102); - DWIN_Frame_AreaCopy(1, 1, 164, 271 - 215, 479 - 303, 108, 175); - DWIN_Frame_AreaCopy(1, 58, 164, 271 - 158, 479 - 303, 105, 248); + DWIN_Frame_AreaCopy(1, 197, 149, 252, 161, 108, 102); + DWIN_Frame_AreaCopy(1, 1, 164, 56, 176, 108, 175); + DWIN_Frame_AreaCopy(1, 58, 164, 113, 176, 105, 248); DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(CORP_WEBSITE_C) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_C); } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_INFO_SCREEN)); #else - DWIN_Frame_AreaCopy(1, 190, 16, 271 - 56, 479 - 453, 14, 8); + DWIN_Frame_AreaCopy(1, 190, 16, 215, 26, 14, 8); #endif - DWIN_Frame_AreaCopy(1, 120, 150, 146, 479 - 318, 124, 102); - DWIN_Frame_AreaCopy(1, 146, 151, 271 - 17, 479 - 318, 82, 175); - DWIN_Frame_AreaCopy(1, 0, 165, 271 - 177, 479 - 304, 89, 248); + DWIN_Frame_AreaCopy(1, 120, 150, 146, 161, 124, 102); + DWIN_Frame_AreaCopy(1, 146, 151, 254, 161, 82, 175); + DWIN_Frame_AreaCopy(1, 0, 165, 94, 175, 89, 248); DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(CORP_WEBSITE_E) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_E); } @@ -1774,13 +1774,13 @@ inline void Draw_Print_File_Menu() { Clear_Title_Bar(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 0, 31, 271 - 216, 479 - 435, 14, 8); + DWIN_Frame_AreaCopy(1, 0, 31, 55, 44, 14, 8); } else { #ifdef USE_STRING_HEADINGS Draw_Title("Print file"); // TODO: GET_TEXT_F #else - DWIN_Frame_AreaCopy(1, 52, 31, 271 - 134, 479 - 438, 14, 8); // "Print file" + DWIN_Frame_AreaCopy(1, 52, 31, 137, 41, 14, 8); // "Print file" #endif } @@ -2054,8 +2054,7 @@ void HMI_Printing(void) { Popup_window_PauseOrStop(); break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -2121,25 +2120,25 @@ inline void Draw_Move_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 192, 1, 271 - 38, 479 - 465, 14, 8); - DWIN_Frame_AreaCopy(1, 58, 118, 271 - 165, 479 - 347, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 109, 118, 271 - 114, 479 - 347, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 160, 118, 271 - 62, 479 - 347, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 192, 1, 233, 14, 14, 8); + DWIN_Frame_AreaCopy(1, 58, 118, 106, 132, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 109, 118, 157, 132, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 160, 118, 209, 132, LBLX, MBASE(3)); #if HAS_HOTEND - DWIN_Frame_AreaCopy(1, 212, 118, 271 - 18, 479 - 348, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 212, 118, 253, 131, LBLX, MBASE(4)); #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOVE_AXIS)); #else - DWIN_Frame_AreaCopy(1, 231, 2, 271 - 6, 479 - 467, 14, 8); + DWIN_Frame_AreaCopy(1, 231, 2, 265, 12, 14, 8); #endif - draw_move_en(MBASE(1)); say_x(33 + 3, MBASE(1)); // "Move X" - draw_move_en(MBASE(2)); say_y(33 + 3, MBASE(2)); // "Move Y" - draw_move_en(MBASE(3)); say_z(33 + 3, MBASE(3)); // "Move Z" + draw_move_en(MBASE(1)); say_x(36, MBASE(1)); // "Move X" + draw_move_en(MBASE(2)); say_y(36, MBASE(2)); // "Move Y" + draw_move_en(MBASE(3)); say_z(36, MBASE(3)); // "Move Z" #if HAS_HOTEND - DWIN_Frame_AreaCopy(1, 123, 192, 271 - 95, 479 - 277, LBLX, MBASE(4)); // "Extruder" + DWIN_Frame_AreaCopy(1, 123, 192, 176, 202, LBLX, MBASE(4)); // "Extruder" #endif } @@ -2277,8 +2276,7 @@ void HMI_Prepare(void) { } Draw_Prepare_Menu(); break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -2288,13 +2286,13 @@ void Draw_Temperature_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 236, 2, 271 - 8, 479 - 466, 14, 8); + DWIN_Frame_AreaCopy(1, 236, 2, 263, 13, 14, 8); - DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 58, 134, 271 - 158, 479 - 333, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 115, 134, 271 - 101, 479 - 333, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 100, 89, 271 - 93, 479 - 378, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 180, 89, 271 - 11, 479 - 379, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 100, 89, 178, 101, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 180, 89, 260, 100, LBLX, MBASE(5)); } else { #ifdef USE_STRING_HEADINGS @@ -2305,18 +2303,18 @@ void Draw_Temperature_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("PLA Preheat Settings")); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), F("ABS Preheat Settings")); #else - DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(1)); // Nozzle... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(1)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(2)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(3)); // Fan speed - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(4)); // Preheat... - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX + 49 + 3, MBASE(4)); // ...PLA - DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 24 + 6, MBASE(4)); // PLA setting - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(5)); // Preheat... - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 49 + 3, MBASE(5)); // ...ABS - DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 3 + 26 + 3, MBASE(5)); // ABS setting + DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(1)); // Nozzle... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(1)); // ...Temperature + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(2)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(2)); // ...Temperature + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(3)); // Fan speed + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(4)); // Preheat... + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(4)); // ...PLA + DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 79, MBASE(4)); // PLA setting + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(5)); // Preheat... + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(5)); // ...ABS + DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 81, MBASE(5)); // ABS setting #endif } @@ -2351,9 +2349,9 @@ void HMI_Control(void) { if (index_control > MROWS) { Draw_More_Icon(6 + MROWS - index_control); // Info > if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 231, 104, 271 - 13, 479 - 363, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, MBASE(5)); else - DWIN_Frame_AreaCopy(1, 0, 104, 271 - 247, 479 - 365, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 0, 104, 24, 114, LBLX, MBASE(5)); } } else { @@ -2414,8 +2412,7 @@ void HMI_Control(void) { checkkey = Info; Draw_Info_Menu(); break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -2563,15 +2560,15 @@ void HMI_Temperature(void) { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 59, 16, 271 - 132, 479 - 450, 14, 8); - - DWIN_Frame_AreaCopy(1, 100, 89, 124, 479 - 378, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX + 24, MBASE(1)); // PLA nozzle temp - DWIN_Frame_AreaCopy(1, 100, 89, 124, 479 - 378, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 271 - 158, 479 - 333, LBLX + 24, MBASE(2)); // PLA bed temp - DWIN_Frame_AreaCopy(1, 100, 89, 124, 479 - 378, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 271 - 101, 479 - 333, LBLX + 24, MBASE(3)); // PLA fan speed - DWIN_Frame_AreaCopy(1, 72, 148, 271 - 120, 479 - 317, LBLX, MBASE(4)); // save PLA configuration + DWIN_Frame_AreaCopy(1, 59, 16, 139, 29, 14, 8); + + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(1)); // PLA nozzle temp + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(2)); // PLA bed temp + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(3)); // PLA fan speed + DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(4)); // save PLA configuration } else { #ifdef USE_STRING_HEADINGS @@ -2581,16 +2578,16 @@ void HMI_Temperature(void) { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); #else - DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // PLA nozzle temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // PLA bed temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // PLA fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); // save PLA configuration + DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(1)); // PLA nozzle temp + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(2) + 3); // PLA bed temp + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(3)); // PLA fan speed + DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(4)); // save PLA configuration #endif } @@ -2617,16 +2614,16 @@ void HMI_Temperature(void) { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 142, 16, 271 - 48, 479 - 450, 14, 8); - - DWIN_Frame_AreaCopy(1, 180, 89, 204, 479 - 379, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX + 24, MBASE(1)); // ABS nozzle temp - DWIN_Frame_AreaCopy(1, 180, 89, 204, 479 - 379, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 271 - 158, 479 - 333, LBLX + 24, MBASE(2)); // ABS bed temp - DWIN_Frame_AreaCopy(1, 180, 89, 204, 479 - 379, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 271 - 101, 479 - 333, LBLX + 24, MBASE(3)); // ABS fan speed - DWIN_Frame_AreaCopy(1, 72, 148, 271 - 120, 479 - 317, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 180, 89, 204, 479 - 379, LBLX + 28, MBASE(4) + 2); // save ABS configuration + DWIN_Frame_AreaCopy(1, 142, 16, 223, 29, 14, 8); + + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(1)); // ABS nozzle temp + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(2)); // ABS bed temp + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(3)); // ABS fan speed + DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX + 28, MBASE(4) + 2); // save ABS configuration } else { #ifdef USE_STRING_HEADINGS @@ -2636,17 +2633,17 @@ void HMI_Temperature(void) { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); #else - DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // ABS nozzle temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // ABS bed temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // ABS fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 33, MBASE(4)); // save ABS configuration + DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(1)); // ABS nozzle temp + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(2) + 3); // ABS bed temp + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(3)); // ABS fan speed + DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 33, MBASE(4)); // save ABS configuration #endif } @@ -2674,20 +2671,20 @@ inline void Draw_Max_Speed_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); + DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); auto say_max_speed = [](const uint16_t row) { - DWIN_Frame_AreaCopy(1, 173, 133, 228, 479 - 332, LBLX, row); // "Max speed" + DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, row); // "Max speed" }; - say_max_speed(MBASE(1)); // "Max speed" - DWIN_Frame_AreaCopy(1, 229, 133, 236, 479 - 332, LBLX + 55 + 3, MBASE(1)); // X - say_max_speed(MBASE(2)); // "Max speed" - DWIN_Frame_AreaCopy(1, 1, 150, 271 - 264, 479 - 319, LBLX + 55 + 3, MBASE(2) + 3); // Y - say_max_speed(MBASE(3)); // "Max speed" - DWIN_Frame_AreaCopy(1, 9, 150, 271 - 255, 479 - 319, LBLX + 55 + 3, MBASE(3) + 3); // Z - say_max_speed(MBASE(4)); // "Max speed" - DWIN_Frame_AreaCopy(1, 18, 150, 271 - 246, 479 - 319, LBLX + 55 + 3, MBASE(4) + 3); // E + say_max_speed(MBASE(1)); // "Max speed" + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 58, MBASE(1)); // X + say_max_speed(MBASE(2)); // "Max speed" + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 58, MBASE(2) + 3); // Y + say_max_speed(MBASE(3)); // "Max speed" + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 58, MBASE(3) + 3); // Z + say_max_speed(MBASE(4)); // "Max speed" + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 58, MBASE(4) + 3); // E } else { #ifdef USE_STRING_HEADINGS @@ -2697,22 +2694,22 @@ inline void Draw_Max_Speed_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Feedrate Z")); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Feedrate E")); #else - DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); + DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); draw_max_en(MBASE(1)); // "Max" - DWIN_Frame_AreaCopy(1, 184, 119, 271 - 37, 479 - 347, LBLX + 24 + 3, MBASE(1)); // "Speed X" + DWIN_Frame_AreaCopy(1, 184, 119, 234, 132, LBLX + 27, MBASE(1)); // "Speed X" draw_max_en(MBASE(2)); // "Max" - draw_speed_en(24 + 3, MBASE(2)); // "Speed" - say_y(24 + 40 + 6, MBASE(2)); // "Y" + draw_speed_en(27, MBASE(2)); // "Speed" + say_y(70, MBASE(2)); // "Y" draw_max_en(MBASE(3)); // "Max" - draw_speed_en(24 + 3, MBASE(3)); // "Speed" - say_z(24 + 40 + 6, MBASE(3)); // "Z" + draw_speed_en(27, MBASE(3)); // "Speed" + say_z(70, MBASE(3)); // "Z" draw_max_en(MBASE(4)); // "Max" - draw_speed_en(24 + 3, MBASE(4)); // "Speed" - say_e(24 + 40 + 6, MBASE(4)); // "E" + draw_speed_en(27, MBASE(4)); // "Speed" + say_e(70, MBASE(4)); // "E" #endif } @@ -2729,20 +2726,20 @@ inline void Draw_Max_Accel_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); - - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 28, 149, 271 - 202, 479 - 318, LBLX + 27, MBASE(1) + 1); - DWIN_Frame_AreaCopy(1, 229, 133, 236, 479 - 332, LBLX + 27 + 41 + 3, MBASE(1)); // max acceleration X - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 28, 149, 271 - 202, 479 - 318, LBLX + 27, MBASE(2) + 1); - DWIN_Frame_AreaCopy(1, 1, 150, 271 - 264, 479 - 319, LBLX + 27 + 41 + 3, MBASE(2) + 2); // max acceleration Y - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 28, 149, 271 - 202, 479 - 318, LBLX + 27, MBASE(3) + 1); - DWIN_Frame_AreaCopy(1, 9, 150, 271 - 255, 479 - 319, LBLX + 27 + 41 + 3, MBASE(3) + 2); // max acceleration Z - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 28, 149, 271 - 202, 479 - 318, LBLX + 27, MBASE(4) + 1); - DWIN_Frame_AreaCopy(1, 18, 150, 271 - 246, 479 - 319, LBLX + 27 + 41 + 3, MBASE(4) + 2); // max acceleration E + DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(1) + 1); + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 71, MBASE(1)); // Max acceleration X + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(2) + 1); + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 71, MBASE(2) + 2); // Max acceleration Y + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(3) + 1); + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 71, MBASE(3) + 2); // Max acceleration Z + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(4) + 1); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 71, MBASE(4) + 2); // Max acceleration E } else { #ifdef USE_STRING_HEADINGS @@ -2752,11 +2749,11 @@ inline void Draw_Max_Accel_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Accel Z")); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Accel E")); #else - DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); - draw_max_accel_en(MBASE(1)); say_x(24 + 78 + 6, MBASE(1)); // "Max Acceleration X" - draw_max_accel_en(MBASE(2)); say_y(24 + 78 + 6, MBASE(2)); // "Max Acceleration Y" - draw_max_accel_en(MBASE(3)); say_z(24 + 78 + 6, MBASE(3)); // "Max Acceleration Z" - draw_max_accel_en(MBASE(4)); say_e(24 + 78 + 6, MBASE(4)); // "Max Acceleration E" + DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + draw_max_accel_en(MBASE(1)); say_x(108, MBASE(1)); // "Max Acceleration X" + draw_max_accel_en(MBASE(2)); say_y(108, MBASE(2)); // "Max Acceleration Y" + draw_max_accel_en(MBASE(3)); say_z(108, MBASE(3)); // "Max Acceleration Z" + draw_max_accel_en(MBASE(4)); say_e(108, MBASE(4)); // "Max Acceleration E" #endif } @@ -2773,24 +2770,24 @@ inline void Draw_Max_Jerk_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); - - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 180, 271 - 243, 479 - 287, LBLX + 27, MBASE(1) + 1); - DWIN_Frame_AreaCopy(1, 202, 133, 228, 479 - 332, LBLX + 53, MBASE(1)); - DWIN_Frame_AreaCopy(1, 229, 133, 236, 479 - 332, LBLX + 80 + 3, MBASE(1)); // max corner speed X - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 1, 180, 271 - 243, 479 - 287, LBLX + 27, MBASE(2) + 1); - DWIN_Frame_AreaCopy(1, 202, 133, 228, 479 - 332, LBLX + 53, MBASE(2)); - DWIN_Frame_AreaCopy(1, 1, 150, 271 - 264, 479 - 319, LBLX + 80 + 3, MBASE(2) + 3); // max corner speed Y - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 1, 180, 271 - 243, 479 - 287, LBLX + 27, MBASE(3) + 1); - DWIN_Frame_AreaCopy(1, 202, 133, 228, 479 - 332, LBLX + 53, MBASE(3)); - DWIN_Frame_AreaCopy(1, 9, 150, 271 - 255, 479 - 319, LBLX + 80 + 3, MBASE(3) + 3); // max corner speed Z - DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 1, 180, 271 - 243, 479 - 287, LBLX + 27, MBASE(4) + 1); - DWIN_Frame_AreaCopy(1, 202, 133, 228, 479 - 332, LBLX + 53, MBASE(4)); - DWIN_Frame_AreaCopy(1, 18, 150, 271 - 246, 479 - 319, LBLX + 80 + 3, MBASE(4) + 3); // max corner speed E + DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1); + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1)); + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max jerk speed X + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1); + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2)); + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max jerk speed Y + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1); + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3)); + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max jerk speed Z + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1); + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4)); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max jerk speed E } else { #ifdef USE_STRING_HEADINGS @@ -2800,31 +2797,31 @@ inline void Draw_Max_Jerk_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Jerk Z")); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Jerk E")); #else - DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); - draw_max_en(MBASE(1)); // "Max" - draw_corner_en(MBASE(1)); // "Corner" - draw_speed_en(66 + 6, MBASE(1)); // "Speed" - say_x(106 + 9, MBASE(1)); // "X" - - draw_max_en(MBASE(2)); // "Max" - draw_corner_en(MBASE(2)); // "Corner" - draw_speed_en(66 + 6, MBASE(2)); // "Speed" - say_y(106 + 9, MBASE(2)); // "Y" - - draw_max_en(MBASE(3)); // "Max" - draw_corner_en(MBASE(3)); // "Corner" - draw_speed_en(66 + 6, MBASE(3)); // "Speed" - say_z(106 + 9, MBASE(3)); // "Z" - - draw_max_en(MBASE(4)); // "Max" - draw_corner_en(MBASE(4)); // "Corner" - draw_speed_en(66 + 6, MBASE(4)); // "Speed" - say_e(106 + 9, MBASE(4)); // "E" + DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + draw_max_en(MBASE(1)); // "Max" + draw_jerk_en(MBASE(1)); // "Jerk" + draw_speed_en(72, MBASE(1)); // "Speed" + say_x(115, MBASE(1)); // "X" + + draw_max_en(MBASE(2)); // "Max" + draw_jerk_en(MBASE(2)); // "Jerk" + draw_speed_en(72, MBASE(2)); // "Speed" + say_y(115, MBASE(2)); // "Y" + + draw_max_en(MBASE(3)); // "Max" + draw_jerk_en(MBASE(3)); // "Jerk" + draw_speed_en(72, MBASE(3)); // "Speed" + say_z(115, MBASE(3)); // "Z" + + draw_max_en(MBASE(4)); // "Max" + draw_jerk_en(MBASE(4)); // "Jerk" + draw_speed_en(72, MBASE(4)); // "Speed" + say_e(115, MBASE(4)); // "E" #endif } Draw_Back_First(); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxSpeedCornerX + i); + LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT); @@ -2836,16 +2833,16 @@ inline void Draw_Steps_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); + DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); - DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 229, 133, 236, 479 - 332, LBLX + 41 + 3, MBASE(1)); // Transmission Ratio X - DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 1, 150, 271 - 264, 479 - 319, LBLX + 41 + 3, MBASE(2) + 3); // Transmission Ratio Y - DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 9, 150, 271 - 255, 479 - 319, LBLX + 41 + 3, MBASE(3) + 3); // Transmission Ratio Z - DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 18, 150, 271 - 246, 479 - 319, LBLX + 41 + 3, MBASE(4) + 3); // Transmission Ratio E + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 44, MBASE(1)); // Transmission Ratio X + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(2)); + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 44, MBASE(2) + 3); // Transmission Ratio Y + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 44, MBASE(3) + 3); // Transmission Ratio Z + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 44, MBASE(4) + 3); // Transmission Ratio E } else { #ifdef USE_STRING_HEADINGS @@ -2855,11 +2852,11 @@ inline void Draw_Steps_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Steps/mm Z")); DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Steps/mm E")); #else - DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); - draw_steps_per_mm(MBASE(1)); say_x(100 + 3, MBASE(1)); // "Steps-per-mm X" - draw_steps_per_mm(MBASE(2)); say_y(100 + 3, MBASE(2)); // "Y" - draw_steps_per_mm(MBASE(3)); say_z(100 + 3, MBASE(3)); // "Z" - draw_steps_per_mm(MBASE(4)); say_e(100 + 3, MBASE(4)); // "E" + DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + draw_steps_per_mm(MBASE(1)); say_x(103, MBASE(1)); // "Steps-per-mm X" + draw_steps_per_mm(MBASE(2)); say_y(103, MBASE(2)); // "Y" + draw_steps_per_mm(MBASE(3)); say_z(103, MBASE(3)); // "Z" + draw_steps_per_mm(MBASE(4)); say_e(103, MBASE(4)); // "E" #endif } @@ -2902,9 +2899,9 @@ void HMI_Motion(void) { select_acc.reset(); Draw_Max_Accel_Menu(); break; - case 3: // max corner speed - checkkey = MaxCorner; - select_corner.reset(); + case 3: // max jerk speed + checkkey = MaxJerk; + select_jerk.reset(); Draw_Max_Jerk_Menu(); break; case 4: // transmission ratio @@ -2912,8 +2909,7 @@ void HMI_Motion(void) { select_step.reset(); Draw_Steps_Menu(); break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -3139,8 +3135,7 @@ void HMI_ABSPreheatSetting(void) { HMI_AudioFeedback(success); } break; #endif - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -3193,8 +3188,7 @@ void HMI_MaxSpeed(void) { DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); EncoderRate.encoderRateEnabled = 1; break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -3247,62 +3241,60 @@ void HMI_MaxAcceleration(void) { DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); EncoderRate.encoderRateEnabled = 1; break; - default: - break; + default: break; } } DWIN_UpdateLCD(); } -/* Max Corner */ -void HMI_MaxCorner(void) { +/* Max Jerk */ +void HMI_MaxJerk(void) { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_corner.inc(4)) Move_Highlight(1, select_corner.now); + if (select_jerk.inc(4)) Move_Highlight(1, select_jerk.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { - if (select_corner.dec()) Move_Highlight(-1, select_corner.now); + if (select_jerk.dec()) Move_Highlight(-1, select_jerk.now); } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_corner.now) { + switch (select_jerk.now) { case 0: // back checkkey = Motion; select_motion.now = 3; Draw_Motion_Menu(); break; - case 1: // max corner X - checkkey = MaxCorner_value; - HMI_flag.corner_flag = X_AXIS; - HMI_ValueStruct.Max_Corner = planner.max_jerk[X_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + case 1: // max jerk X + checkkey = MaxJerk_value; + HMI_flag.jerk_flag = X_AXIS; + HMI_ValueStruct.Max_Jerk = planner.max_jerk[X_AXIS] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); EncoderRate.encoderRateEnabled = 1; break; - case 2: // max corner Y - checkkey = MaxCorner_value; - HMI_flag.corner_flag = Y_AXIS; - HMI_ValueStruct.Max_Corner = planner.max_jerk[Y_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + case 2: // max jerk Y + checkkey = MaxJerk_value; + HMI_flag.jerk_flag = Y_AXIS; + HMI_ValueStruct.Max_Jerk = planner.max_jerk[Y_AXIS] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); EncoderRate.encoderRateEnabled = 1; break; - case 3: // max corner Z - checkkey = MaxCorner_value; - HMI_flag.corner_flag = Z_AXIS; - HMI_ValueStruct.Max_Corner = planner.max_jerk[Z_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + case 3: // max jerk Z + checkkey = MaxJerk_value; + HMI_flag.jerk_flag = Z_AXIS; + HMI_ValueStruct.Max_Jerk = planner.max_jerk[Z_AXIS] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); EncoderRate.encoderRateEnabled = 1; break; - case 4: // max corner E - checkkey = MaxCorner_value; - HMI_flag.corner_flag = E_AXIS; - HMI_ValueStruct.Max_Corner = planner.max_jerk[E_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_corner.now), HMI_ValueStruct.Max_Corner); + case 4: // max jerk E + checkkey = MaxJerk_value; + HMI_flag.jerk_flag = E_AXIS; + HMI_ValueStruct.Max_Jerk = planner.max_jerk[E_AXIS] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); EncoderRate.encoderRateEnabled = 1; break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -3355,8 +3347,7 @@ void HMI_Step(void) { DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); EncoderRate.encoderRateEnabled = 1; break; - default: - break; + default: break; } } DWIN_UpdateLCD(); @@ -3406,7 +3397,7 @@ void EachMomentUpdate(void) { // show print done confirm DWIN_Draw_Rectangle(1, Background_black, 0, 250, 271, 360); - DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 302 - 19); + DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 283); } else if (HMI_flag.pause_flag != printingIsPaused()) { // print status update @@ -3553,7 +3544,7 @@ void DWIN_HandleScreen(void) { case ABSPreheat: HMI_ABSPreheatSetting(); break; case MaxSpeed: HMI_MaxSpeed(); break; case MaxAcceleration: HMI_MaxAcceleration(); break; - case MaxCorner: HMI_MaxCorner(); break; + case MaxJerk: HMI_MaxJerk(); break; case Step: HMI_Step(); break; case Move_X: HMI_Move_X(); break; case Move_Y: HMI_Move_Y(); break; @@ -3572,7 +3563,7 @@ void DWIN_HandleScreen(void) { case PrintSpeed: HMI_PrintSpeed(); break; case MaxSpeed_value: HMI_MaxFeedspeedXYZE(); break; case MaxAcceleration_value: HMI_MaxAccelerationXYZE(); break; - case MaxCorner_value: HMI_MaxCornerXYZE(); break; + case MaxJerk_value: HMI_MaxJerkXYZE(); break; case Step_value: HMI_StepXYZE(); break; default: break; } diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index e5d95f61661c..467cc433e7b0 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -52,8 +52,8 @@ enum processID { MaxSpeed_value, MaxAcceleration, MaxAcceleration_value, - MaxCorner, - MaxCorner_value, + MaxJerk, + MaxJerk_value, Step, Step_value, @@ -150,7 +150,7 @@ enum processID { #define ICON_MaxSpeed 51 #define ICON_MaxAccelerated 52 -#define ICON_MaxCorner 53 +#define ICON_MaxJerk 53 #define ICON_Step 54 #define ICON_PrintSize 55 #define ICON_Version 56 @@ -164,10 +164,10 @@ enum processID { #define ICON_MaxAccY 64 #define ICON_MaxAccZ 65 #define ICON_MaxAccE 66 -#define ICON_MaxSpeedCornerX 67 -#define ICON_MaxSpeedCornerY 68 -#define ICON_MaxSpeedCornerZ 69 -#define ICON_MaxSpeedCornerE 70 +#define ICON_MaxSpeedJerkX 67 +#define ICON_MaxSpeedJerkY 68 +#define ICON_MaxSpeedJerkZ 69 +#define ICON_MaxSpeedJerkE 70 #define ICON_StepX 71 #define ICON_StepY 72 #define ICON_StepZ 73 @@ -231,7 +231,7 @@ typedef struct { int16_t print_speed = 100; float Max_Feedspeed = 0; float Max_Acceleration = 0; - float Max_Corner = 0; + float Max_Jerk = 0; float Max_Step = 0; float Move_X_scale = 0; float Move_Y_scale = 0; @@ -261,7 +261,7 @@ typedef struct { char feedspeed_flag; #endif char acc_flag; - char corner_flag; + char jerk_flag; char step_flag; } HMI_Flag; @@ -314,7 +314,7 @@ void HMI_PrintSpeed(void); void HMI_MaxFeedspeedXYZE(void); void HMI_MaxAccelerationXYZE(void); -void HMI_MaxCornerXYZE(void); +void HMI_MaxJerkXYZE(void); void HMI_StepXYZE(void); void update_variable(void); @@ -332,28 +332,28 @@ void Icon_leveling(bool value); // Other bool Pause_HeatStatus(); -void HMI_StartFrame(const bool with_update); // startup screen -void HMI_MainMenu(void); // main process screen -void HMI_SelectFile(void); // file page -void HMI_Printing(void); // print page -void HMI_Prepare(void); // prepare page -void HMI_Control(void); // control page -void HMI_Leveling(void); // Level the page -void HMI_AxisMove(void); // Axis movement menu -void HMI_Temperature(void); // Temperature menu -void HMI_Motion(void); // Sports menu -void HMI_Info(void); // Information menu -void HMI_Tune(void); // Adjust the menu +void HMI_StartFrame(const bool with_update); // Startup screen +void HMI_MainMenu(void); // Main process screen +void HMI_SelectFile(void); // File page +void HMI_Printing(void); // Print page +void HMI_Prepare(void); // Prepare page +void HMI_Control(void); // Control page +void HMI_Leveling(void); // Level the page +void HMI_AxisMove(void); // Axis movement menu +void HMI_Temperature(void); // Temperature menu +void HMI_Motion(void); // Sports menu +void HMI_Info(void); // Information menu +void HMI_Tune(void); // Adjust the menu #if HAS_HOTEND void HMI_PLAPreheatSetting(void); // PLA warm-up setting void HMI_ABSPreheatSetting(void); // ABS warm-up setting #endif -void HMI_MaxSpeed(void); // Maximum speed submenu -void HMI_MaxAcceleration(void); // Maximum acceleration submenu -void HMI_MaxCorner(void); // Maximum corner speed submenu -void HMI_Step(void); // transmission ratio +void HMI_MaxSpeed(void); // Maximum speed submenu +void HMI_MaxAcceleration(void); // Maximum acceleration submenu +void HMI_MaxJerk(void); // Maximum jerk speed submenu +void HMI_Step(void); // Transmission ratio void HMI_Init(void); void DWIN_Update(void); From 217bae9ff156c0c65c19606a32e42425ea39c68d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 16 Sep 2020 06:56:48 -0500 Subject: [PATCH 078/277] More DWIN cleanup --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 713 +++++++++++++----------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 8 +- 2 files changed, 320 insertions(+), 401 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 1bef8f14088b..c94292980506 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -32,6 +32,10 @@ #define HAS_ONESTEP_LEVELING 1 #endif +#if HAS_HOTEND || HAS_HEATED_BED || HAS_FAN + #define HAS_COOLDOWN 1 +#endif + #include "dwin.h" #include @@ -116,7 +120,7 @@ // Feedspeed limit (max feedspeed = DEFAULT_MAX_FEEDRATE * 2) #define MIN_MAXFEEDSPEED 1 #define MIN_MAXACCELERATION 1 -#define MIN_MAXCORNER 0.1 +#define MIN_MAXJERK 0.1 #define MIN_STEP 1 #define FEEDRATE_E (60) @@ -134,7 +138,7 @@ constexpr uint16_t TROWS = 6, MROWS = TROWS - 1, // Total rows, and other LBLX = 60, // Menu item label X MENU_CHR_W = 8, STAT_CHR_W = 10; -#define MBASE(L) (49 + (L)*MLINE) +#define MBASE(L) (49 + MLINE * (L)) #define BABY_Z_VAR TERN(HAS_BED_PROBE, probe.offset.z, dwin_zoffset) @@ -415,7 +419,7 @@ inline void Clear_Main_Window(void) { inline void Clear_Popup_Area(void) { Clear_Title_Bar(); - DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); + DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); } void Draw_Popup_Bkgd_105(void) { @@ -423,16 +427,16 @@ void Draw_Popup_Bkgd_105(void) { } inline void Draw_More_Icon(const uint8_t line) { - DWIN_ICON_Show(ICON, ICON_More, 226, 46 + line * MLINE); + DWIN_ICON_Show(ICON, ICON_More, 226, MBASE(line) - 3); } inline void Draw_Menu_Cursor(const uint8_t line) { - // DWIN_ICON_Show(ICON,ICON_Rectangle, 0, 31 + line * MLINE); - DWIN_Draw_Rectangle(1, Rectangle_Color, 0, 31 + line * MLINE, 14, 31 + (line + 1) * MLINE - 2); + // DWIN_ICON_Show(ICON,ICON_Rectangle, 0, MBASE(line) - 18); + DWIN_Draw_Rectangle(1, Rectangle_Color, 0, MBASE(line) - 18, 14, MBASE(line + 1) - 20); } inline void Erase_Menu_Cursor(const uint8_t line) { - DWIN_Draw_Rectangle(1, Background_black, 0, 31 + line * MLINE, 14, 31 + (line + 1) * MLINE - 2); + DWIN_Draw_Rectangle(1, Background_black, 0, MBASE(line) - 18, 14, MBASE(line + 1) - 20); } inline void Move_Highlight(const int16_t from, const uint16_t newline) { @@ -442,7 +446,7 @@ inline void Move_Highlight(const int16_t from, const uint16_t newline) { inline void Add_Menu_Line() { Move_Highlight(1, MROWS); - DWIN_Draw_Line(Line_Color, 16, 82 + MROWS * MLINE, 256, 83 + MROWS * MLINE); + DWIN_Draw_Line(Line_Color, 16, MBASE(MROWS + 1) - 20, 256, MBASE(MROWS + 1) - 19); } inline void Scroll_Menu(const uint8_t dir) { @@ -458,17 +462,17 @@ inline uint16_t nr_sd_menu_items() { } inline void Draw_Menu_Icon(const uint8_t line, const uint8_t icon) { - DWIN_ICON_Show(ICON, icon, 26, 46 + line * MLINE); + DWIN_ICON_Show(ICON, icon, 26, MBASE(line) - 3); } inline void Erase_Menu_Text(const uint8_t line) { - DWIN_Draw_Rectangle(1, Background_black, LBLX, 31 + line * MLINE + 4, 271, 28 + (line + 1) * MLINE - 4); + DWIN_Draw_Rectangle(1, Background_black, LBLX, MBASE(line) - 14, 271, MBASE(line) + 28); } inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char * const label=nullptr) { - if (label) DWIN_Draw_String(false, false, font8x16, White, Background_black, LBLX, 48 + line * MLINE, (char*)label); + if (label) DWIN_Draw_String(false, false, font8x16, White, Background_black, LBLX, MBASE(line) - 1, (char*)label); if (icon) Draw_Menu_Icon(line, icon); - DWIN_Draw_Line(Line_Color, 16, 29 + (line + 1) * MLINE, 256, 30 + (line + 1) * MLINE); + DWIN_Draw_Line(Line_Color, 16, MBASE(line) + 33, 256, MBASE(line) + 34); } // The "Back" label is always on the first line @@ -494,6 +498,8 @@ inline void draw_move_en(const uint16_t line) { DWIN_Frame_AreaCopy(1, 69, 61, 102, 71, LBLX, line); // "Move" } +inline void DWIN_Frame_TitleCopy(uint8_t id, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { DWIN_Frame_AreaCopy(id, x1, y1, x2, y2, 14, 8); } + inline void Prepare_Item_Move(const uint8_t row) { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 159, 70, 200, 84, LBLX, MBASE(row)); @@ -523,17 +529,17 @@ inline void Prepare_Item_Offset(const uint8_t row) { if (HMI_flag.language_chinese) { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); #else DWIN_Frame_AreaCopy(1, 43, 89, 98, 101, LBLX, MBASE(row)); #endif } else { #if HAS_BED_PROBE - DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); + DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); #else - DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." + DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." #endif } Draw_Menu_Line(row, ICON_SetHome); @@ -544,8 +550,8 @@ inline void Prepare_Item_PLA(const uint8_t row) { DWIN_Frame_AreaCopy(1, 100, 89, 151, 101, LBLX, MBASE(row)); } else { - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(row)); // "PLA" + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(row)); // "PLA" } Draw_Menu_Line(row, ICON_PLAPreheat); } @@ -555,17 +561,17 @@ inline void Prepare_Item_ABS(const uint8_t row) { DWIN_Frame_AreaCopy(1, 180, 89, 233, 100, LBLX, MBASE(row)); } else { - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(row)); // "ABS" + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(row)); // "ABS" } Draw_Menu_Line(row, ICON_ABSPreheat); } inline void Prepare_Item_Cool(const uint8_t row) { if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); + DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); else - DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" + DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" Draw_Menu_Line(row, ICON_Cool); } @@ -589,13 +595,13 @@ inline void Draw_Prepare_Menu() { #define PVISI(L) WITHIN(PSCROL(L), 0, MROWS) if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 133, 1, 160, 13, 14, 8); // "Prepare" + DWIN_Frame_TitleCopy(1, 133, 1, 160, 13); // "Prepare" } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_PREPARE)); #else - DWIN_Frame_AreaCopy(1, 178, 2, 229, 14, 14, 8); // "Prepare" + DWIN_Frame_TitleCopy(1, 178, 2, 229, 14); // "Prepare" #endif } @@ -615,13 +621,13 @@ inline void Draw_Prepare_Menu() { inline void Draw_Control_Menu() { Clear_Main_Window(); - const int16_t scroll = TERN(HAS_ONESTEP_LEVELING, MROWS - index_control, 0); // Scrolled-up lines + const int16_t scroll = TERN(HAS_ONESTEP_LEVELING, MROWS - index_control, 0); // Scrolled-up lines #define CSCROL(L) (scroll + (L)) #define CLINE(L) MBASE(CSCROL(L)) #define CVISI(L) WITHIN(CSCROL(L), 0, MROWS) - if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back + if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 103, 1, 130, 14, 14, 8); @@ -637,15 +643,15 @@ inline void Draw_Control_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_CONTROL)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_MOTION)); #if ENABLED(EEPROM_SETTINGS) - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_STORE_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_LOAD_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); - if (CVISI(6)) DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), F("Info")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); + if (CVISI(6)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(6), F("Info")); #else - if (CVISI(3)) DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Info")); + if (CVISI(3)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Info")); #endif #else DWIN_Frame_AreaCopy(1, 128, 2, 176, 12, 14, 8); @@ -690,11 +696,11 @@ inline void Draw_Tune_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TUNE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else DWIN_Frame_AreaCopy(1, 94, 2, 126, 12, 14, 9); DWIN_Frame_AreaCopy(1, 1, 179, 92, 190, LBLX, MBASE(1)); // print speed @@ -769,10 +775,10 @@ inline void Draw_Motion_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Feedrate")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STEPS_PER_MM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Feedrate")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_ACCELERATION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_JERK)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STEPS_PER_MM)); #else DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); draw_max_en(MBASE(1)); draw_speed_en(27, MBASE(1)); // "Max Speed" @@ -1035,7 +1041,7 @@ void HMI_Move_X(void) { } NOLESS(HMI_ValueStruct.Move_X_scale, (X_MIN_POS) * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_X_scale, (X_MAX_POS) * MINUNITMULT); - current_position[X_AXIS] = HMI_ValueStruct.Move_X_scale / 10; + current_position.x = HMI_ValueStruct.Move_X_scale / 10; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); DWIN_UpdateLCD(); } @@ -1064,7 +1070,7 @@ void HMI_Move_Y(void) { } NOLESS(HMI_ValueStruct.Move_Y_scale, (Y_MIN_POS) * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_Y_scale, (Y_MAX_POS) * MINUNITMULT); - current_position[Y_AXIS] = HMI_ValueStruct.Move_Y_scale / 10; + current_position.y = HMI_ValueStruct.Move_Y_scale / 10; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); DWIN_UpdateLCD(); } @@ -1093,13 +1099,13 @@ void HMI_Move_Z(void) { } NOLESS(HMI_ValueStruct.Move_Z_scale, Z_MIN_POS * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_Z_scale, Z_MAX_POS * MINUNITMULT); - current_position[Z_AXIS] = HMI_ValueStruct.Move_Z_scale / 10; + current_position.z = HMI_ValueStruct.Move_Z_scale / 10; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); DWIN_UpdateLCD(); } } -#if EXTRUDERS +#if HAS_HOTEND void HMI_Move_E(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); @@ -1335,7 +1341,7 @@ void HMI_PrintSpeed(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = Tune; EncoderRate.encoderRateEnabled = 0; - feedrate_percentage = HMI_ValueStruct.print_speed; + feedrate_percentage = HMI_ValueStruct.print_speed; DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1 + MROWS - index_tune), HMI_ValueStruct.print_speed); return; } @@ -1359,22 +1365,14 @@ void HMI_MaxFeedspeedXYZE(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = MaxSpeed; EncoderRate.encoderRateEnabled = 0; - if (HMI_flag.feedspeed_flag == X_AXIS) planner.set_max_feedrate(X_AXIS, HMI_ValueStruct.Max_Feedspeed); - else if (HMI_flag.feedspeed_flag == Y_AXIS) planner.set_max_feedrate(Y_AXIS, HMI_ValueStruct.Max_Feedspeed); - else if (HMI_flag.feedspeed_flag == Z_AXIS) planner.set_max_feedrate(Z_AXIS, HMI_ValueStruct.Max_Feedspeed); - #if HAS_HOTEND - else if (HMI_flag.feedspeed_flag == E_AXIS) planner.set_max_feedrate(E_AXIS, HMI_ValueStruct.Max_Feedspeed); - #endif + if (WITHIN(HMI_flag.feedspeed_flag, X_AXIS, E_AXIS)) + planner.set_max_feedrate(HMI_flag.feedspeed_flag, HMI_ValueStruct.Max_Feedspeed); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); return; } // MaxFeedspeed limit - if (HMI_flag.feedspeed_flag == X_AXIS) {if (HMI_ValueStruct.Max_Feedspeed > default_max_feedrate[X_AXIS] * 2) HMI_ValueStruct.Max_Feedspeed = default_max_feedrate[X_AXIS] * 2; } - else if (HMI_flag.feedspeed_flag == Y_AXIS) {if (HMI_ValueStruct.Max_Feedspeed > default_max_feedrate[Y_AXIS] * 2) HMI_ValueStruct.Max_Feedspeed = default_max_feedrate[Y_AXIS] * 2; } - else if (HMI_flag.feedspeed_flag == Z_AXIS) {if (HMI_ValueStruct.Max_Feedspeed > default_max_feedrate[Z_AXIS] * 2) HMI_ValueStruct.Max_Feedspeed = default_max_feedrate[Z_AXIS] * 2; } - #if HAS_HOTEND - else if (HMI_flag.feedspeed_flag == E_AXIS) {if (HMI_ValueStruct.Max_Feedspeed > default_max_feedrate[E_AXIS] * 2) HMI_ValueStruct.Max_Feedspeed = default_max_feedrate[E_AXIS] * 2; } - #endif + if (WITHIN(HMI_flag.feedspeed_flag, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Feedspeed, default_max_feedrate[HMI_flag.feedspeed_flag] * 2); if (HMI_ValueStruct.Max_Feedspeed < MIN_MAXFEEDSPEED) HMI_ValueStruct.Max_Feedspeed = MIN_MAXFEEDSPEED; // MaxFeedspeed value DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); @@ -1399,12 +1397,8 @@ void HMI_MaxAccelerationXYZE(void) { return; } // MaxAcceleration limit - if (HMI_flag.acc_flag == X_AXIS) {if (HMI_ValueStruct.Max_Acceleration > default_max_acceleration[X_AXIS] * 2) HMI_ValueStruct.Max_Acceleration = default_max_acceleration[X_AXIS] * 2; } - else if (HMI_flag.acc_flag == Y_AXIS) {if (HMI_ValueStruct.Max_Acceleration > default_max_acceleration[Y_AXIS] * 2) HMI_ValueStruct.Max_Acceleration = default_max_acceleration[Y_AXIS] * 2; } - else if (HMI_flag.acc_flag == Z_AXIS) {if (HMI_ValueStruct.Max_Acceleration > default_max_acceleration[Z_AXIS] * 2) HMI_ValueStruct.Max_Acceleration = default_max_acceleration[Z_AXIS] * 2; } - #if HAS_HOTEND - else if (HMI_flag.acc_flag == E_AXIS) {if (HMI_ValueStruct.Max_Acceleration > default_max_acceleration[E_AXIS] * 2) HMI_ValueStruct.Max_Acceleration = default_max_acceleration[E_AXIS] * 2; } - #endif + if (WITHIN(HMI_flag.acc_flag, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Acceleration, default_max_acceleration[HMI_flag.acc_flag] * 2); if (HMI_ValueStruct.Max_Acceleration < MIN_MAXACCELERATION) HMI_ValueStruct.Max_Acceleration = MIN_MAXACCELERATION; // MaxAcceleration value DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); @@ -1439,7 +1433,7 @@ void HMI_MaxJerkXYZE(void) { NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[Z_AXIS] * 2 * MINUNITMULT); else if (HMI_flag.jerk_flag == E_AXIS) NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[E_AXIS] * 2 * MINUNITMULT); - NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXCORNER) * MINUNITMULT); + NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXJERK) * MINUNITMULT); // MaxJerk value DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); } @@ -1457,22 +1451,14 @@ void HMI_StepXYZE(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = Step; EncoderRate.encoderRateEnabled = 0; - if (HMI_flag.step_flag == X_AXIS) planner.settings.axis_steps_per_mm[X_AXIS] = HMI_ValueStruct.Max_Step / 10; - else if (HMI_flag.step_flag == Y_AXIS) planner.settings.axis_steps_per_mm[Y_AXIS] = HMI_ValueStruct.Max_Step / 10; - else if (HMI_flag.step_flag == Z_AXIS) planner.settings.axis_steps_per_mm[Z_AXIS] = HMI_ValueStruct.Max_Step / 10; - else if (HMI_flag.step_flag == E_AXIS) planner.settings.axis_steps_per_mm[E_AXIS] = HMI_ValueStruct.Max_Step / 10; + if (WITHIN(HMI_flag.step_flag, X_AXIS, E_AXIS)) + planner.settings.axis_steps_per_mm[HMI_flag.step_flag] = HMI_ValueStruct.Max_Step / 10; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); return; } // Step limit - if (HMI_flag.step_flag == X_AXIS) - NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[X_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.step_flag == Y_AXIS) - NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[Y_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.step_flag == Z_AXIS) - NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[Z_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.step_flag == E_AXIS) - NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[E_AXIS] * 2 * MINUNITMULT); + if (WITHIN(HMI_flag.step_flag, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[HMI_flag.step_flag] * 2 * MINUNITMULT); NOLESS(HMI_ValueStruct.Max_Step, MIN_STEP); // Step value DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); @@ -1743,7 +1729,7 @@ inline void Draw_Info_Menu() { DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 30, 17, 57, 29, 14, 8); + DWIN_Frame_TitleCopy(1, 30, 17, 57, 29); // "Info" DWIN_Frame_AreaCopy(1, 197, 149, 252, 161, 108, 102); DWIN_Frame_AreaCopy(1, 1, 164, 56, 176, 108, 175); @@ -1754,7 +1740,7 @@ inline void Draw_Info_Menu() { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_INFO_SCREEN)); #else - DWIN_Frame_AreaCopy(1, 190, 16, 215, 26, 14, 8); + DWIN_Frame_TitleCopy(1, 190, 16, 215, 26); // "Info" #endif DWIN_Frame_AreaCopy(1, 120, 150, 146, 161, 124, 102); @@ -1774,13 +1760,13 @@ inline void Draw_Print_File_Menu() { Clear_Title_Bar(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 0, 31, 55, 44, 14, 8); + DWIN_Frame_TitleCopy(1, 0, 31, 55, 44); // "Print file" } else { #ifdef USE_STRING_HEADINGS Draw_Title("Print file"); // TODO: GET_TEXT_F #else - DWIN_Frame_AreaCopy(1, 52, 31, 137, 41, 14, 8); // "Print file" + DWIN_Frame_TitleCopy(1, 52, 31, 137, 41); // "Print file" #endif } @@ -1814,30 +1800,26 @@ void HMI_MainMenu(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_page.now) { - /* Print File */ - case 0: + case 0: // Print File checkkey = SelectFile; Draw_Print_File_Menu(); break; - /* Prepare */ - case 1: + case 1: // Prepare checkkey = Prepare; select_prepare.reset(); index_prepare = MROWS; Draw_Prepare_Menu(); break; - /* Control */ - case 2: + case 2: // Control checkkey = Control; select_control.reset(); index_control = MROWS; Draw_Control_Menu(); break; - /* Leveling */ - case 3: + case 3: // Leveling or Info #if HAS_ONESTEP_LEVELING checkkey = Leveling; HMI_Leveling(); @@ -1851,7 +1833,7 @@ void HMI_MainMenu(void) { DWIN_UpdateLCD(); } -/* Select (and Print) File */ +// Select (and Print) File void HMI_SelectFile(void) { ENCODER_DiffState encoder_diffState = get_encoder_state(); @@ -2017,14 +1999,14 @@ void HMI_Printing(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_print.now) { - case 0: // setting + case 0: // Setting checkkey = Tune; HMI_ValueStruct.show_mode = 0; select_tune.reset(); index_tune = 5; Draw_Tune_Menu(); break; - case 1: // pause + case 1: // Pause /* pause */ if (HMI_flag.pause_flag) { ICON_Pause(); @@ -2047,7 +2029,7 @@ void HMI_Printing(void) { } break; - case 2: // stop + case 2: // Stop /* stop */ HMI_flag.select_flag = 1; checkkey = Print_window; @@ -2060,7 +2042,7 @@ void HMI_Printing(void) { DWIN_UpdateLCD(); } -/* pause and stop window */ +/* Pause and Stop window */ void HMI_PauseOrStop(void) { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; @@ -2120,7 +2102,7 @@ inline void Draw_Move_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 192, 1, 233, 14, 14, 8); + DWIN_Frame_TitleCopy(1, 192, 1, 233, 14); // "Move" DWIN_Frame_AreaCopy(1, 58, 118, 106, 132, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 109, 118, 157, 132, LBLX, MBASE(2)); DWIN_Frame_AreaCopy(1, 160, 118, 209, 132, LBLX, MBASE(3)); @@ -2132,7 +2114,7 @@ inline void Draw_Move_Menu() { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOVE_AXIS)); #else - DWIN_Frame_AreaCopy(1, 231, 2, 265, 12, 14, 8); + DWIN_Frame_TitleCopy(1, 231, 2, 265, 12); // "Move" #endif draw_move_en(MBASE(1)); say_x(36, MBASE(1)); // "Move X" draw_move_en(MBASE(2)); say_y(36, MBASE(2)); // "Move Y" @@ -2145,7 +2127,8 @@ inline void Draw_Move_Menu() { Draw_Back_First(select_axis.now == 0); if (select_axis.now) Draw_Menu_Cursor(select_axis.now); - LOOP_L_N(i, MROWS) Draw_Menu_Line(i + 1, ICON_MoveX + i); + // Draw separators so it looks like a menu + LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MoveX + i); } #include "../../../libs/buzzer.h" @@ -2211,7 +2194,7 @@ void HMI_Prepare(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_prepare.now) { - case 0: // back + case 0: // Back select_page.set(1); Goto_MainMenu(); break; @@ -2222,10 +2205,12 @@ void HMI_Prepare(void) { queue.inject_P(PSTR("G92 E0")); current_position.e = HMI_ValueStruct.Move_E_scale = 0; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), current_position[X_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), current_position[Y_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), current_position[Z_AXIS] * MINUNITMULT); - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), current_position.e * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), current_position.x * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), current_position.y * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), current_position.z * MINUNITMULT); + #if HAS_HOTEND + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), current_position.e * MINUNITMULT); + #endif break; case 2: // close motion queue.inject_P(PSTR("M84")); @@ -2297,11 +2282,11 @@ void Draw_Temperature_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("PLA Preheat Settings")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), F("ABS Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("PLA Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), F("ABS Preheat Settings")); #else DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(1)); // Nozzle... @@ -2378,7 +2363,7 @@ void HMI_Control(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_control.now) { - case 0: // back + case 0: // Back select_page.set(2); Goto_MainMenu(); break; @@ -2461,7 +2446,7 @@ void HMI_AxisMove(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_axis.now) { - case 0: // back + case 0: // Back checkkey = Prepare; select_prepare.set(1); index_prepare = MROWS; @@ -2469,19 +2454,19 @@ void HMI_AxisMove(void) { break; case 1: // X axis move checkkey = Move_X; - HMI_ValueStruct.Move_X_scale = current_position[X_AXIS] * MINUNITMULT; + HMI_ValueStruct.Move_X_scale = current_position.x * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); EncoderRate.encoderRateEnabled = 1; break; case 2: // Y axis move checkkey = Move_Y; - HMI_ValueStruct.Move_Y_scale = current_position[Y_AXIS] * MINUNITMULT; + HMI_ValueStruct.Move_Y_scale = current_position.y * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); EncoderRate.encoderRateEnabled = 1; break; case 3: // Z axis move checkkey = Move_Z; - HMI_ValueStruct.Move_Z_scale = current_position[Z_AXIS] * MINUNITMULT; + HMI_ValueStruct.Move_Z_scale = current_position.z * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); EncoderRate.encoderRateEnabled = 1; break; @@ -2521,7 +2506,7 @@ void HMI_Temperature(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_temp.now) { - case 0: // back + case 0: // Back checkkey = Control; select_control.set(1); index_control = MROWS; @@ -2573,10 +2558,10 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("PLA Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Nozzle Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Bed Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(1)); @@ -2628,10 +2613,10 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("ABS Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Nozzle Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Bed Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(1)); @@ -2671,62 +2656,69 @@ inline void Draw_Max_Speed_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Max Speed (mm/s)" auto say_max_speed = [](const uint16_t row) { - DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, row); // "Max speed" + DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, row); // "Max speed" }; - say_max_speed(MBASE(1)); // "Max speed" - DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 58, MBASE(1)); // X - say_max_speed(MBASE(2)); // "Max speed" - DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 58, MBASE(2) + 3); // Y - say_max_speed(MBASE(3)); // "Max speed" - DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 58, MBASE(3) + 3); // Z - say_max_speed(MBASE(4)); // "Max speed" - DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 58, MBASE(4) + 3); // E + say_max_speed(MBASE(1)); // "Max speed" + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 58, MBASE(1)); // X + say_max_speed(MBASE(2)); // "Max speed" + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 58, MBASE(2) + 3); // Y + say_max_speed(MBASE(3)); // "Max speed" + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 58, MBASE(3) + 3); // Z + #if HAS_HOTEND + say_max_speed(MBASE(4)); // "Max speed" + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 58, MBASE(4) + 3); // E + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title("Max Speed (mm/s)"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Feedrate X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Feedrate Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Feedrate Z")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Feedrate E")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Feedrate X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Feedrate Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Feedrate Z")); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Feedrate E")); + #endif #else - DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Max Speed (mm/s)" - draw_max_en(MBASE(1)); // "Max" + draw_max_en(MBASE(1)); // "Max" DWIN_Frame_AreaCopy(1, 184, 119, 234, 132, LBLX + 27, MBASE(1)); // "Speed X" - draw_max_en(MBASE(2)); // "Max" - draw_speed_en(27, MBASE(2)); // "Speed" - say_y(70, MBASE(2)); // "Y" + draw_max_en(MBASE(2)); // "Max" + draw_speed_en(27, MBASE(2)); // "Speed" + say_y(70, MBASE(2)); // "Y" - draw_max_en(MBASE(3)); // "Max" - draw_speed_en(27, MBASE(3)); // "Speed" - say_z(70, MBASE(3)); // "Z" + draw_max_en(MBASE(3)); // "Max" + draw_speed_en(27, MBASE(3)); // "Speed" + say_z(70, MBASE(3)); // "Z" - draw_max_en(MBASE(4)); // "Max" - draw_speed_en(27, MBASE(4)); // "Speed" - say_e(70, MBASE(4)); // "E" + #if HAS_HOTEND + draw_max_en(MBASE(4)); // "Max" + draw_speed_en(27, MBASE(4)); // "Speed" + say_e(70, MBASE(4)); // "E" + #endif #endif } Draw_Back_First(); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxSpeedX + i); - + LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedX + i); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(1), planner.settings.max_feedrate_mm_s[X_AXIS]); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(2), planner.settings.max_feedrate_mm_s[Y_AXIS]); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(3), planner.settings.max_feedrate_mm_s[Z_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_feedrate_mm_s[E_AXIS]); + #if HAS_HOTEND + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_feedrate_mm_s[E_AXIS]); + #endif } inline void Draw_Max_Accel_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Acceleration" DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(1) + 1); @@ -2737,103 +2729,117 @@ inline void Draw_Max_Accel_Menu() { DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(3) + 1); DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 71, MBASE(3) + 2); // Max acceleration Z - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(4) + 1); - DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 71, MBASE(4) + 2); // Max acceleration E + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(4) + 1); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 71, MBASE(4) + 2); // Max acceleration E + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Accel X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Accel Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Accel Z")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Accel E")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Accel X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Accel Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Accel Z")); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Accel E")); + #endif #else - DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); - draw_max_accel_en(MBASE(1)); say_x(108, MBASE(1)); // "Max Acceleration X" - draw_max_accel_en(MBASE(2)); say_y(108, MBASE(2)); // "Max Acceleration Y" - draw_max_accel_en(MBASE(3)); say_z(108, MBASE(3)); // "Max Acceleration Z" - draw_max_accel_en(MBASE(4)); say_e(108, MBASE(4)); // "Max Acceleration E" + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Acceleration" + draw_max_accel_en(MBASE(1)); say_x(108, MBASE(1)); // "Max Acceleration X" + draw_max_accel_en(MBASE(2)); say_y(108, MBASE(2)); // "Max Acceleration Y" + draw_max_accel_en(MBASE(3)); say_z(108, MBASE(3)); // "Max Acceleration Z" + #if HAS_HOTEND + draw_max_accel_en(MBASE(4)); say_e(108, MBASE(4)); // "Max Acceleration E" + #endif #endif } Draw_Back_First(); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxAccX + i); - + LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxAccX + i); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(1), planner.settings.max_acceleration_mm_per_s2[X_AXIS]); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(2), planner.settings.max_acceleration_mm_per_s2[Y_AXIS]); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(3), planner.settings.max_acceleration_mm_per_s2[Z_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_acceleration_mm_per_s2[E_AXIS]); + #if HAS_HOTEND + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_acceleration_mm_per_s2[E_AXIS]); + #endif } inline void Draw_Max_Jerk_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk" - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1); + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1); DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1)); - DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max jerk speed X - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1); + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max Jerk speed X + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(2)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1); DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2)); - DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max jerk speed Y - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1); + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max Jerk speed Y + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(3)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1); DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3)); - DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max jerk speed Z - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1); - DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4)); - DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max jerk speed E + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max Jerk speed Z + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(4)); + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1); + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4)); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max Jerk speed E + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Max Jerk X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Max Jerk Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Max Jerk Z")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Max Jerk E")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Jerk X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Jerk Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Jerk Z")); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Jerk E")); + #endif #else - DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); - draw_max_en(MBASE(1)); // "Max" - draw_jerk_en(MBASE(1)); // "Jerk" - draw_speed_en(72, MBASE(1)); // "Speed" - say_x(115, MBASE(1)); // "X" - - draw_max_en(MBASE(2)); // "Max" - draw_jerk_en(MBASE(2)); // "Jerk" - draw_speed_en(72, MBASE(2)); // "Speed" - say_y(115, MBASE(2)); // "Y" - - draw_max_en(MBASE(3)); // "Max" - draw_jerk_en(MBASE(3)); // "Jerk" - draw_speed_en(72, MBASE(3)); // "Speed" - say_z(115, MBASE(3)); // "Z" - - draw_max_en(MBASE(4)); // "Max" - draw_jerk_en(MBASE(4)); // "Jerk" - draw_speed_en(72, MBASE(4)); // "Speed" - say_e(115, MBASE(4)); // "E" + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk" + draw_max_en(MBASE(1)); // "Max" + draw_jerk_en(MBASE(1)); // "Jerk" + draw_speed_en(72, MBASE(1)); // "Speed" + say_x(115, MBASE(1)); // "X" + + draw_max_en(MBASE(2)); // "Max" + draw_jerk_en(MBASE(2)); // "Jerk" + draw_speed_en(72, MBASE(2)); // "Speed" + say_y(115, MBASE(2)); // "Y" + + draw_max_en(MBASE(3)); // "Max" + draw_jerk_en(MBASE(3)); // "Jerk" + draw_speed_en(72, MBASE(3)); // "Speed" + say_z(115, MBASE(3)); // "Z" + + #if HAS_HOTEND + draw_max_en(MBASE(4)); // "Max" + draw_jerk_en(MBASE(4)); // "Jerk" + draw_speed_en(72, MBASE(4)); // "Speed" + say_e(115, MBASE(4)); // "E" + #endif #endif } Draw_Back_First(); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i); - + LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT); + #if HAS_HOTEND + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT); + #endif } inline void Draw_Steps_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); + DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Steps per mm" DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 44, MBASE(1)); // Transmission Ratio X @@ -2841,32 +2847,39 @@ inline void Draw_Steps_Menu() { DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 44, MBASE(2) + 3); // Transmission Ratio Y DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(3)); DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 44, MBASE(3) + 3); // Transmission Ratio Z - DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 44, MBASE(4) + 3); // Transmission Ratio E + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 44, MBASE(4) + 3); // Transmission Ratio E + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_STEPS_PER_MM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), F("Steps/mm X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), F("Steps/mm Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), F("Steps/mm Z")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), F("Steps/mm E")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Steps/mm X")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Steps/mm Y")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Steps/mm Z")); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Steps/mm E")); + #endif #else - DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Steps per mm" draw_steps_per_mm(MBASE(1)); say_x(103, MBASE(1)); // "Steps-per-mm X" draw_steps_per_mm(MBASE(2)); say_y(103, MBASE(2)); // "Y" draw_steps_per_mm(MBASE(3)); say_z(103, MBASE(3)); // "Z" - draw_steps_per_mm(MBASE(4)); say_e(103, MBASE(4)); // "E" + #if HAS_HOTEND + draw_steps_per_mm(MBASE(4)); say_e(103, MBASE(4)); // "E" + #endif #endif } Draw_Back_First(); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_StepX + i); - + LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_StepX + i); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(1), planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(2), planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(3), planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT); + #if HAS_HOTEND + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT); + #endif } /* Motion */ @@ -2883,7 +2896,7 @@ void HMI_Motion(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_motion.now) { - case 0: // back + case 0: // Back checkkey = Control; select_control.set(2); index_control = MROWS; @@ -3043,7 +3056,7 @@ void HMI_PLAPreheatSetting(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_PLA.now) { - case 0: // back + case 0: // Back checkkey = TemperatureID; select_temp.now = 4; HMI_ValueStruct.show_mode = -1; @@ -3074,7 +3087,7 @@ void HMI_PLAPreheatSetting(void) { break; #endif #if ENABLED(EEPROM_SETTINGS) - case 4: { // save PLA configuration + case 4: { // Save PLA configuration const bool success = settings.save(); HMI_AudioFeedback(success); } break; @@ -3099,7 +3112,7 @@ void HMI_ABSPreheatSetting(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_ABS.now) { - case 0: // back + case 0: // Back checkkey = TemperatureID; select_temp.now = 5; HMI_ValueStruct.show_mode = -1; @@ -3154,41 +3167,17 @@ void HMI_MaxSpeed(void) { if (select_speed.dec()) Move_Highlight(-1, select_speed.now); } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_speed.now) { - case 0: // back - checkkey = Motion; - select_motion.now = 1; - Draw_Motion_Menu(); - break; - case 1: // max Speed X - checkkey = MaxSpeed_value; - HMI_flag.feedspeed_flag = X_AXIS; - HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[X_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); - EncoderRate.encoderRateEnabled = 1; - break; - case 2: // max Speed Y - checkkey = MaxSpeed_value; - HMI_flag.feedspeed_flag = Y_AXIS; - HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[Y_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); - EncoderRate.encoderRateEnabled = 1; - break; - case 3: // max Speed Z - checkkey = MaxSpeed_value; - HMI_flag.feedspeed_flag = Z_AXIS; - HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[Z_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); - EncoderRate.encoderRateEnabled = 1; - break; - case 4: // max Speed E - checkkey = MaxSpeed_value; - HMI_flag.feedspeed_flag = E_AXIS; - HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[E_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); - EncoderRate.encoderRateEnabled = 1; - break; - default: break; + if (WITHIN(select_speed.now, 1, 4)) { + checkkey = MaxSpeed_value; + HMI_flag.feedspeed_flag = AxisEnum(select_speed.now - 1); + HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[HMI_flag.feedspeed_flag]; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); + EncoderRate.encoderRateEnabled = 1; + } + else { // Back + checkkey = Motion; + select_motion.now = 1; + Draw_Motion_Menu(); } } DWIN_UpdateLCD(); @@ -3207,41 +3196,17 @@ void HMI_MaxAcceleration(void) { if (select_acc.dec()) Move_Highlight(-1, select_acc.now); } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_acc.now) { - case 0: // back - checkkey = Motion; - select_motion.now = 2; - Draw_Motion_Menu(); - break; - case 1: // max acceleration X - checkkey = MaxAcceleration_value; - HMI_flag.acc_flag = X_AXIS; - HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[X_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); - EncoderRate.encoderRateEnabled = 1; - break; - case 2: // max acceleration Y - checkkey = MaxAcceleration_value; - HMI_flag.acc_flag = Y_AXIS; - HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[Y_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); - EncoderRate.encoderRateEnabled = 1; - break; - case 3: // max acceleration Z - checkkey = MaxAcceleration_value; - HMI_flag.acc_flag = Z_AXIS; - HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[Z_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); - EncoderRate.encoderRateEnabled = 1; - break; - case 4: // max acceleration E - checkkey = MaxAcceleration_value; - HMI_flag.acc_flag = E_AXIS; - HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[E_AXIS]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); - EncoderRate.encoderRateEnabled = 1; - break; - default: break; + if (WITHIN(select_acc.now, 1, 4)) { + checkkey = MaxAcceleration_value; + HMI_flag.acc_flag = AxisEnum(select_acc.now - 1); + HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[HMI_flag.acc_flag]; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); + EncoderRate.encoderRateEnabled = 1; + } + else { // Back + checkkey = Motion; + select_motion.now = 2; + Draw_Motion_Menu(); } } DWIN_UpdateLCD(); @@ -3260,41 +3225,17 @@ void HMI_MaxJerk(void) { if (select_jerk.dec()) Move_Highlight(-1, select_jerk.now); } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_jerk.now) { - case 0: // back - checkkey = Motion; - select_motion.now = 3; - Draw_Motion_Menu(); - break; - case 1: // max jerk X - checkkey = MaxJerk_value; - HMI_flag.jerk_flag = X_AXIS; - HMI_ValueStruct.Max_Jerk = planner.max_jerk[X_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - EncoderRate.encoderRateEnabled = 1; - break; - case 2: // max jerk Y - checkkey = MaxJerk_value; - HMI_flag.jerk_flag = Y_AXIS; - HMI_ValueStruct.Max_Jerk = planner.max_jerk[Y_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - EncoderRate.encoderRateEnabled = 1; - break; - case 3: // max jerk Z - checkkey = MaxJerk_value; - HMI_flag.jerk_flag = Z_AXIS; - HMI_ValueStruct.Max_Jerk = planner.max_jerk[Z_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - EncoderRate.encoderRateEnabled = 1; - break; - case 4: // max jerk E - checkkey = MaxJerk_value; - HMI_flag.jerk_flag = E_AXIS; - HMI_ValueStruct.Max_Jerk = planner.max_jerk[E_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - EncoderRate.encoderRateEnabled = 1; - break; - default: break; + if (WITHIN(select_jerk.now, 1, 4)) { + checkkey = MaxJerk_value; + HMI_flag.jerk_flag = AxisEnum(select_jerk.now - 1); + HMI_ValueStruct.Max_Jerk = planner.max_jerk[HMI_flag.jerk_flag] * MINUNITMULT; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + EncoderRate.encoderRateEnabled = 1; + } + else { // Back + checkkey = Motion; + select_motion.now = 3; + Draw_Motion_Menu(); } } DWIN_UpdateLCD(); @@ -3313,41 +3254,17 @@ void HMI_Step(void) { if (select_step.dec()) Move_Highlight(-1, select_step.now); } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_step.now) { - case 0: // back - checkkey = Motion; - select_motion.now = 4; - Draw_Motion_Menu(); - break; - case 1: // max step X - checkkey = Step_value; - HMI_flag.step_flag = X_AXIS; - HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); - EncoderRate.encoderRateEnabled = 1; - break; - case 2: // max step Y - checkkey = Step_value; - HMI_flag.step_flag = Y_AXIS; - HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); - EncoderRate.encoderRateEnabled = 1; - break; - case 3: // max step Z - checkkey = Step_value; - HMI_flag.step_flag = Z_AXIS; - HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); - EncoderRate.encoderRateEnabled = 1; - break; - case 4: // max step E - checkkey = Step_value; - HMI_flag.step_flag = E_AXIS; - HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); - EncoderRate.encoderRateEnabled = 1; - break; - default: break; + if (WITHIN(select_step.now, 1, 4)) { + checkkey = Step_value; + HMI_flag.step_flag = AxisEnum(select_step.now - 1); + HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[HMI_flag.step_flag] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); + EncoderRate.encoderRateEnabled = 1; + } + else { // Back + checkkey = Motion; + select_motion.now = 4; + Draw_Motion_Menu(); } } DWIN_UpdateLCD(); @@ -3429,16 +3346,18 @@ void EachMomentUpdate(void) { } duration_t elapsed = print_job_timer.duration(); // print timer - /* already print time */ + + // Print time so far const uint16_t min = (elapsed.value % 3600) / 60; if (last_Printtime != min) { // 1 minute update last_Printtime = min; Draw_Print_ProgressElapsed(); } - /* remain print time */ + + // Estimate remaining time every 20 seconds static millis_t next_remain_time_update = 0; - if (elapsed.minute() > 5 && ELAPSED(ms, next_remain_time_update) && HMI_flag.heat_flag == 0) { // show after 5 min and 20s update - remain_time = ((elapsed.value - dwin_heat_time) * ((float)card.getFileSize() / (float)card.getIndex())) - (elapsed.value - dwin_heat_time); + if (Percentrecord > 1 && ELAPSED(ms, next_remain_time_update) && HMI_flag.heat_flag == 0) { + remain_time = (elapsed.value - dwin_heat_time) / (Percentrecord * 0.01f) - (elapsed.value - dwin_heat_time); next_remain_time_update += 20 * 1000UL; Draw_Print_ProgressRemain(); } @@ -3528,43 +3447,43 @@ void EachMomentUpdate(void) { void DWIN_HandleScreen(void) { switch (checkkey) { - case MainMenu: HMI_MainMenu(); break; - case SelectFile: HMI_SelectFile(); break; - case Prepare: HMI_Prepare(); break; - case Control: HMI_Control(); break; - case Leveling: break; - case PrintProcess: HMI_Printing(); break; - case Print_window: HMI_PauseOrStop(); break; - case AxisMove: HMI_AxisMove(); break; - case TemperatureID: HMI_Temperature(); break; - case Motion: HMI_Motion(); break; - case Info: HMI_Info(); break; - case Tune: HMI_Tune(); break; - case PLAPreheat: HMI_PLAPreheatSetting(); break; - case ABSPreheat: HMI_ABSPreheatSetting(); break; - case MaxSpeed: HMI_MaxSpeed(); break; - case MaxAcceleration: HMI_MaxAcceleration(); break; - case MaxJerk: HMI_MaxJerk(); break; - case Step: HMI_Step(); break; - case Move_X: HMI_Move_X(); break; - case Move_Y: HMI_Move_Y(); break; - case Move_Z: HMI_Move_Z(); break; + case MainMenu: HMI_MainMenu(); break; + case SelectFile: HMI_SelectFile(); break; + case Prepare: HMI_Prepare(); break; + case Control: HMI_Control(); break; + case Leveling: break; + case PrintProcess: HMI_Printing(); break; + case Print_window: HMI_PauseOrStop(); break; + case AxisMove: HMI_AxisMove(); break; + case TemperatureID: HMI_Temperature(); break; + case Motion: HMI_Motion(); break; + case Info: HMI_Info(); break; + case Tune: HMI_Tune(); break; + case PLAPreheat: HMI_PLAPreheatSetting(); break; + case ABSPreheat: HMI_ABSPreheatSetting(); break; + case MaxSpeed: HMI_MaxSpeed(); break; + case MaxAcceleration: HMI_MaxAcceleration(); break; + case MaxJerk: HMI_MaxJerk(); break; + case Step: HMI_Step(); break; + case Move_X: HMI_Move_X(); break; + case Move_Y: HMI_Move_Y(); break; + case Move_Z: HMI_Move_Z(); break; #if HAS_HOTEND - case Extruder: HMI_Move_E(); break; - case ETemp: HMI_ETemp(); break; + case Extruder: HMI_Move_E(); break; + case ETemp: HMI_ETemp(); break; #endif - case Homeoffset: HMI_Zoffset(); break; + case Homeoffset: HMI_Zoffset(); break; #if HAS_HEATED_BED - case BedTemp: HMI_BedTemp(); break; + case BedTemp: HMI_BedTemp(); break; #endif #if HAS_FAN - case FanSpeed: HMI_FanSpeed(); break; + case FanSpeed: HMI_FanSpeed(); break; #endif - case PrintSpeed: HMI_PrintSpeed(); break; - case MaxSpeed_value: HMI_MaxFeedspeedXYZE(); break; + case PrintSpeed: HMI_PrintSpeed(); break; + case MaxSpeed_value: HMI_MaxFeedspeedXYZE(); break; case MaxAcceleration_value: HMI_MaxAccelerationXYZE(); break; - case MaxJerk_value: HMI_MaxJerkXYZE(); break; - case Step_value: HMI_StepXYZE(); break; + case MaxJerk_value: HMI_MaxJerkXYZE(); break; + case Step_value: HMI_StepXYZE(); break; default: break; } } diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index 467cc433e7b0..abdf343a9ded 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -258,11 +258,11 @@ typedef struct { bool leveling_offset_flag:1; #endif #if HAS_FAN - char feedspeed_flag; + AxisEnum feedspeed_flag; #endif - char acc_flag; - char jerk_flag; - char step_flag; + AxisEnum acc_flag; + AxisEnum jerk_flag; + AxisEnum step_flag; } HMI_Flag; extern HMI_value_t HMI_ValueStruct; From 56ed55ddba555b6550ee4da0a1accfc5418e0f3e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 16 Sep 2020 05:52:01 -0500 Subject: [PATCH 079/277] MarlinUI percent methods for all --- Marlin/src/lcd/ultralcd.h | 62 +++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index 0200d39014c1..ee7f50dabf72 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -328,6 +328,37 @@ class MarlinUI { static inline void init_lcd() {} #endif + #if HAS_PRINT_PROGRESS + #if HAS_PRINT_PROGRESS_PERMYRIAD + typedef uint16_t progress_t; + #define PROGRESS_SCALE 100U + #define PROGRESS_MASK 0x7FFF + #else + typedef uint8_t progress_t; + #define PROGRESS_SCALE 1U + #define PROGRESS_MASK 0x7F + #endif + #if ENABLED(LCD_SET_PROGRESS_MANUALLY) + static progress_t progress_override; + static void set_progress(const progress_t p) { progress_override = _MIN(p, 100U * (PROGRESS_SCALE)); } + static void set_progress_done() { progress_override = (PROGRESS_MASK + 1U) + 100U * (PROGRESS_SCALE); } + static void progress_reset() { if (progress_override & (PROGRESS_MASK + 1U)) set_progress(0); } + #if BOTH(LCD_SET_PROGRESS_MANUALLY, USE_M73_REMAINING_TIME) + static uint32_t remaining_time; + FORCE_INLINE static void set_remaining_time(const uint32_t r) { remaining_time = r; } + FORCE_INLINE static uint32_t get_remaining_time() { return remaining_time; } + FORCE_INLINE static void reset_remaining_time() { set_remaining_time(0); } + #endif + #endif + static progress_t _get_progress(); + #if HAS_PRINT_PROGRESS_PERMYRIAD + FORCE_INLINE static uint16_t get_progress_permyriad() { return _get_progress(); } + #endif + static uint8_t get_progress_percent() { return uint8_t(_get_progress() / (PROGRESS_SCALE)); } + #else + static constexpr uint8_t get_progress_percent() { return 0; } + #endif + #if HAS_DISPLAY static void init(); @@ -350,37 +381,6 @@ class MarlinUI { static void pause_print(); static void resume_print(); - #if HAS_PRINT_PROGRESS - #if HAS_PRINT_PROGRESS_PERMYRIAD - typedef uint16_t progress_t; - #define PROGRESS_SCALE 100U - #define PROGRESS_MASK 0x7FFF - #else - typedef uint8_t progress_t; - #define PROGRESS_SCALE 1U - #define PROGRESS_MASK 0x7F - #endif - #if ENABLED(LCD_SET_PROGRESS_MANUALLY) - static progress_t progress_override; - static void set_progress(const progress_t p) { progress_override = _MIN(p, 100U * (PROGRESS_SCALE)); } - static void set_progress_done() { progress_override = (PROGRESS_MASK + 1U) + 100U * (PROGRESS_SCALE); } - static void progress_reset() { if (progress_override & (PROGRESS_MASK + 1U)) set_progress(0); } - #if BOTH(LCD_SET_PROGRESS_MANUALLY, USE_M73_REMAINING_TIME) - static uint32_t remaining_time; - FORCE_INLINE static void set_remaining_time(const uint32_t r) { remaining_time = r; } - FORCE_INLINE static uint32_t get_remaining_time() { return remaining_time; } - FORCE_INLINE static void reset_remaining_time() { set_remaining_time(0); } - #endif - #endif - static progress_t _get_progress(); - #if HAS_PRINT_PROGRESS_PERMYRIAD - FORCE_INLINE static uint16_t get_progress_permyriad() { return _get_progress(); } - #endif - static uint8_t get_progress_percent() { return uint8_t(_get_progress() / (PROGRESS_SCALE)); } - #else - static constexpr uint8_t get_progress_percent() { return 0; } - #endif - #if HAS_SPI_LCD static millis_t next_button_update_ms; From 9cf8537051dfb1bba75f5a7dcba34946bf70068f Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 17 Sep 2020 00:13:06 +0000 Subject: [PATCH 080/277] [cron] Bump distribution date (2020-09-17) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 63f117b932d1..0ae661f1b18e 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-16" + #define STRING_DISTRIBUTION_DATE "2020-09-17" #endif /** From 9d5a9621de30e5a2c62727a479a6e73007ced7de Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Thu, 17 Sep 2020 01:06:01 -0700 Subject: [PATCH 081/277] Demo and test multiple PID defaults (#19413) --- Marlin/Configuration.h | 29 ++++++++++---------------- buildroot/tests/BIGTREE_GTR_V1_0-tests | 5 ++++- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 52af1375a509..2635bc750eb0 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -486,24 +486,17 @@ //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] - - // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it - - // Ultimaker - #define DEFAULT_Kp 22.2 - #define DEFAULT_Ki 1.08 - #define DEFAULT_Kd 114 - - // MakerGear - //#define DEFAULT_Kp 7.0 - //#define DEFAULT_Ki 0.1 - //#define DEFAULT_Kd 12 - - // Mendel Parts V9 on 12V - //#define DEFAULT_Kp 63.0 - //#define DEFAULT_Ki 2.25 - //#define DEFAULT_Kd 440 - + #if ENABLED(PID_PARAMS_PER_HOTEND) + // Specify between 1 and HOTENDS values per array. + // If fewer than EXTRUDER values are provided, the last element will be repeated. + #define DEFAULT_Kp_LIST { 22.20, 20.0 } + #define DEFAULT_Ki_LIST { 1.08, 1.0 } + #define DEFAULT_Kd_LIST { 114.00, 112.0 } + #else + #define DEFAULT_Kp 22.20 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114.00 + #endif #endif // PIDTEMP //=========================================================================== diff --git a/buildroot/tests/BIGTREE_GTR_V1_0-tests b/buildroot/tests/BIGTREE_GTR_V1_0-tests index 58f6f71fda9e..e8d47562aa61 100644 --- a/buildroot/tests/BIGTREE_GTR_V1_0-tests +++ b/buildroot/tests/BIGTREE_GTR_V1_0-tests @@ -36,7 +36,10 @@ opt_set TEMP_SENSOR_3 1 opt_set TEMP_SENSOR_4 1 opt_set TEMP_SENSOR_5 1 opt_set NUM_Z_STEPPER_DRIVERS 3 -opt_enable TOOLCHANGE_FILAMENT_SWAP TOOLCHANGE_MIGRATION_FEATURE TOOLCHANGE_FS_INIT_BEFORE_SWAP TOOLCHANGE_FS_PRIME_FIRST_USED +opt_set DEFAULT_Kp_LIST "{ 22.2, 20.0, 21.0, 19.0, 18.0, 17.0 }" +opt_set DEFAULT_Ki_LIST "{ 1.08 }" +opt_set DEFAULT_Kd_LIST "{ 114.0, 112.0, 110.0, 108.0 }" +opt_enable TOOLCHANGE_FILAMENT_SWAP TOOLCHANGE_MIGRATION_FEATURE TOOLCHANGE_FS_INIT_BEFORE_SWAP TOOLCHANGE_FS_PRIME_FIRST_USED PID_PARAMS_PER_HOTEND exec_test $1 $2 "BigTreeTech GTR 6 Extruders Triple Z" # clean up From c5204807e9f55da13364901aec94927f7a25d5a2 Mon Sep 17 00:00:00 2001 From: tovam Date: Thu, 17 Sep 2020 10:07:03 +0200 Subject: [PATCH 082/277] Fix missing spaces in info menu (#19404) --- Marlin/src/lcd/menu/menu_info.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_info.cpp b/Marlin/src/lcd/menu/menu_info.cpp index 864e855df23d..a4cbc31d8b6b 100644 --- a/Marlin/src/lcd/menu/menu_info.cpp +++ b/Marlin/src/lcd/menu/menu_info.cpp @@ -179,7 +179,7 @@ void menu_info_thermistors() { #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_BED #include "../thermistornames.h" - STATIC_ITEM_P(PSTR("BED:" THERMISTOR_NAME), SS_INVERT); + STATIC_ITEM_P(PSTR("BED: " THERMISTOR_NAME), SS_INVERT); PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_LEFT); PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_LEFT); STATIC_ITEM(TERN(WATCH_BED, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_LEFT); @@ -189,7 +189,7 @@ void menu_info_thermistors() { #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_CHAMBER #include "../thermistornames.h" - STATIC_ITEM_P(PSTR("CHAM:" THERMISTOR_NAME), SS_INVERT); + STATIC_ITEM_P(PSTR("CHAM: " THERMISTOR_NAME), SS_INVERT); PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_LEFT); PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_LEFT); STATIC_ITEM(TERN(WATCH_CHAMBER, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_LEFT); From 5926bacea132744abacd31c83a4d6005f9caa495 Mon Sep 17 00:00:00 2001 From: enigmaquip Date: Thu, 17 Sep 2020 02:17:47 -0600 Subject: [PATCH 083/277] Add more DWIN commands, docs (#19395) --- Marlin/src/lcd/dwin/dwin_lcd.cpp | 92 ++++++++++++++++++++++++++++++++ Marlin/src/lcd/dwin/dwin_lcd.h | 21 ++++++++ 2 files changed, 113 insertions(+) diff --git a/Marlin/src/lcd/dwin/dwin_lcd.cpp b/Marlin/src/lcd/dwin/dwin_lcd.cpp index 3b30629a8dae..7d1528bed19b 100644 --- a/Marlin/src/lcd/dwin/dwin_lcd.cpp +++ b/Marlin/src/lcd/dwin/dwin_lcd.cpp @@ -153,6 +153,20 @@ void DWIN_Frame_Clear(const uint16_t color) { DWIN_Send(i); } +// Draw a point +// width: point width 0x01-0x0F +// height: point height 0x01-0x0F +// x,y: upper left point +void DWIN_Draw_Point(uint8_t width, uint8_t height, uint16_t x, uint16_t y) { + size_t i = 0; + DWIN_Byte(i, 0x02); + DWIN_Byte(i, width); + DWIN_Byte(i, height); + DWIN_Word(i, x); + DWIN_Word(i, y); + DWIN_Send(i); +} + // Draw a line // color: Line segment color // xStart/yStart: Start point @@ -221,6 +235,10 @@ void DWIN_Draw_String(bool widthAdjust, bool bShow, uint8_t size, uint16_t color, uint16_t bColor, uint16_t x, uint16_t y, char *string) { size_t i = 0; DWIN_Byte(i, 0x11); + // Bit 7: widthAdjust + // Bit 6: bShow + // Bit 5-4: Unused (0) + // Bit 3-0: size DWIN_Byte(i, (widthAdjust * 0x80) | (bShow * 0x40) | size); DWIN_Word(i, color); DWIN_Word(i, bColor); @@ -244,6 +262,11 @@ void DWIN_Draw_IntValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t uint16_t bColor, uint8_t iNum, uint16_t x, uint16_t y, uint16_t value) { size_t i = 0; DWIN_Byte(i, 0x14); + // Bit 7: bshow + // Bit 6: 1 = signed; 0 = unsigned number; + // Bit 5: zeroFill + // Bit 4: zeroMode + // Bit 3-0: size DWIN_Byte(i, (bShow * 0x80) | (zeroFill * 0x20) | (zeroMode * 0x10) | size); DWIN_Word(i, color); DWIN_Word(i, bColor); @@ -360,4 +383,73 @@ void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, DWIN_Send(i); } +// Animate a series of icons +// animID: Animation ID; 0x00-0x0F +// animate: true on; false off; +// libID: Icon library ID +// picIDs: Icon starting ID +// picIDe: Icon ending ID +// x/y: Upper-left point +// interval: Display time interval, unit 10mS +void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs, uint8_t picIDe, uint16_t x, uint16_t y, uint16_t interval) { + NOMORE(x, DWIN_WIDTH - 1); + NOMORE(y, DWIN_HEIGHT - 1); // -- ozy -- srl + size_t i = 0; + DWIN_Byte(i, 0x28); + DWIN_Word(i, x); + DWIN_Word(i, y); + // Bit 7: animation on or off + // Bit 6: start from begin or end + // Bit 5-4: unused (0) + // Bit 3-0: animID + DWIN_Byte(i, (animate * 0x80) | 0x40 | animID); + DWIN_Byte(i, libID); + DWIN_Byte(i, picIDs); + DWIN_Byte(i, picIDe); + DWIN_Byte(i, interval); + DWIN_Send(i); +} + +// Animation Control +// state: 16 bits, each bit is the state of an animation id +void DWIN_ICON_AnimationControl(uint16_t state) { + size_t i = 0; + DWIN_Byte(i, 0x28); + DWIN_Word(i, state); + DWIN_Send(i); +} + +/*---------------------------------------- Memory functions ----------------------------------------*/ +// The LCD has an additional 32KB SRAM and 16KB Flash + +// Data can be written to the sram and save to one of the jpeg page files + +// Write Data Memory +// command 0x31 +// Type: Write memory selection; 0x5A=SRAM; 0xA5=Flash +// Address: Write data memory address; 0x000-0x7FFF for SRAM; 0x000-0x3FFF for Flash +// Data: data +// +// Flash writing returns 0xA5 0x4F 0x4B + +// Read Data Memory +// command 0x32 +// Type: Read memory selection; 0x5A=SRAM; 0xA5=Flash +// Address: Read data memory address; 0x000-0x7FFF for SRAM; 0x000-0x3FFF for Flash +// Length: leangth of data to read; 0x01-0xF0 +// +// Response: +// Type, Address, Length, Data + +// Write Picture Memory +// Write the contents of the 32KB SRAM data memory into the designated image memory space +// Issued: 0x5A, 0xA5, PIC_ID +// Response: 0xA5 0x4F 0x4B +// +// command 0x33 +// 0x5A, 0xA5 +// PicId: Picture Memory location, 0x00-0x0F +// +// Flash writing returns 0xA5 0x4F 0x4B + #endif // DWIN_CREALITY_LCD diff --git a/Marlin/src/lcd/dwin/dwin_lcd.h b/Marlin/src/lcd/dwin/dwin_lcd.h index 0893974e4c3f..11409666d893 100644 --- a/Marlin/src/lcd/dwin/dwin_lcd.h +++ b/Marlin/src/lcd/dwin/dwin_lcd.h @@ -67,6 +67,12 @@ void DWIN_UpdateLCD(void); // color: Clear screen color void DWIN_Frame_Clear(const uint16_t color); +// Draw a point +// width: point width 0x01-0x0F +// height: point height 0x01-0x0F +// x,y: upper left point +void DWIN_Draw_Point(uint8_t width, uint8_t height, uint16_t x, uint16_t y); + // Draw a line // color: Line segment color // xStart/yStart: Start point @@ -190,3 +196,18 @@ inline void DWIN_JPG_CacheTo1(uint8_t id) { DWIN_JPG_CacheToN(1, id); } // x/y: Screen paste point void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, uint16_t xEnd, uint16_t yEnd, uint16_t x, uint16_t y); + +// Animate a series of icons +// animID: Animation ID up to 16 +// animate: animation on or off +// libID: Icon library ID +// picIDs: Icon starting ID +// picIDe: Icon ending ID +// x/y: Upper-left point +// interval: Display time interval, unit 10mS +void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs, + uint8_t picIDe, uint16_t x, uint16_t y, uint16_t interval); + +// Animation Control +// state: 16 bits, each bit is the state of an animation id +void DWIN_ICON_AnimationControl(uint16_t state); From 073b7f1e3a77f6d00d58bb144fe3aa96ce3770f3 Mon Sep 17 00:00:00 2001 From: cosmoderp <36945803+cosmoderp@users.noreply.github.com> Date: Thu, 17 Sep 2020 06:35:04 -0400 Subject: [PATCH 084/277] E3 V2 DWIN: Z-Offset, cleanup, versatility (#19384) Co-authored-by: Scott Lahteine --- Marlin/Configuration_adv.h | 2 +- Marlin/src/inc/Conditionals_adv.h | 2 +- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 2252 +++++++++-------- Marlin/src/lcd/dwin/e3v2/dwin.h | 136 +- Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp | 2 +- Marlin/src/lcd/dwin/e3v2/rotary_encoder.h | 2 +- Marlin/src/module/temperature.cpp | 26 +- .../PlatformIO/scripts/common-dependencies.h | 4 - platformio.ini | 2 - 9 files changed, 1349 insertions(+), 1079 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 2712312747de..d46ba55a922e 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1572,6 +1572,7 @@ #if ENABLED(BABYSTEPPING) //#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR //#define BABYSTEP_WITHOUT_HOMING + //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way //#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps @@ -1582,7 +1583,6 @@ #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. // Note: Extra time may be added to mitigate controller latency. - //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). //#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. #if ENABLED(MOVE_Z_WHEN_IDLE) #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 9742967a09d9..ff13d2897df2 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -59,7 +59,7 @@ #if TEMP_SENSOR_BED == 0 #undef THERMAL_PROTECTION_BED #undef THERMAL_PROTECTION_BED_PERIOD -#endif +#endif #if TEMP_SENSOR_CHAMBER == 0 #undef THERMAL_PROTECTION_CHAMBER diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index c94292980506..d45511f5bc84 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -28,15 +28,19 @@ #if ENABLED(DWIN_CREALITY_LCD) +#include "dwin.h" + #if ANY(AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT) && DISABLED(PROBE_MANUALLY) #define HAS_ONESTEP_LEVELING 1 #endif -#if HAS_HOTEND || HAS_HEATED_BED || HAS_FAN - #define HAS_COOLDOWN 1 +#if ANY(BABYSTEPPING, HAS_BED_PROBE, HAS_WORKSPACE_OFFSET) + #define HAS_ZOFFSET_ITEM 1 #endif -#include "dwin.h" +#if !HAS_BED_PROBE && ENABLED(BABYSTEPPING) + #define JUST_BABYSTEP 1 +#endif #include #include @@ -52,8 +56,6 @@ #include "../../../core/macros.h" #include "../../../gcode/queue.h" -#include "../../../feature/babystep.h" - #include "../../../module/temperature.h" #include "../../../module/printcounter.h" #include "../../../module/motion.h" @@ -75,6 +77,10 @@ #include "../../../module/probe.h" #endif +#if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP) + #include "../../../feature/babystep.h" +#endif + #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../feature/powerloss.h" #endif @@ -89,7 +95,7 @@ #define CORP_WEBSITE_E "www.creality.com" #endif -#define PAUSE_HEAT true +#define PAUSE_HEAT #define USE_STRING_HEADINGS @@ -98,6 +104,7 @@ #define HEADER_FONT font10x20 #define MENU_CHAR_LIMIT 24 +#define STATUS_Y 360 // Fan speed limit #define FANON 255 @@ -146,11 +153,9 @@ constexpr uint16_t TROWS = 6, MROWS = TROWS - 1, // Total rows, and other HMI_value_t HMI_ValueStruct; HMI_Flag HMI_flag{0}; -millis_t Encoder_ms = 0; -millis_t Wait_ms = 0; millis_t dwin_heat_time = 0; -int checkkey = 0, last_checkkey = 0; +uint8_t checkkey = 0; typedef struct { uint8_t now, last; @@ -158,7 +163,7 @@ typedef struct { void reset() { set(0); } bool changed() { bool c = (now != last); if (c) last = now; return c; } bool dec() { if (now) now--; return changed(); } - bool inc(uint8_t v) { if (now < v) now++; else now = v; return changed(); } + bool inc(uint8_t v) { if (now < (v - 1)) now++; else now = (v - 1); return changed(); } } select_t; select_t select_page{0}, select_file{0}, select_print{0}, select_prepare{0} @@ -175,13 +180,9 @@ uint8_t index_file = MROWS, index_prepare = MROWS, index_control = MROWS, index_leveling = MROWS, - index_tune = 5; - -// char filebuf[50]; - -uint8_t countbuf = 0; + index_tune = MROWS; -bool recovery_flag = false, abort_flag = false; +bool dwin_abort_flag = false; constexpr float default_max_feedrate[] = DEFAULT_MAX_FEEDRATE; constexpr float default_max_acceleration[] = DEFAULT_MAX_ACCELERATION; @@ -189,38 +190,41 @@ constexpr float default_max_jerk[] = { DEFAULT_XJERK, DEFAULT_YJERK, constexpr float default_axis_steps_per_unit[] = DEFAULT_AXIS_STEPS_PER_UNIT; uint8_t Percentrecord = 0; -uint16_t last_Printtime = 0, remain_time = 0; -float last_temp_hotend_target = 0, last_temp_bed_target = 0; -float last_temp_hotend_current = 0, last_temp_bed_current = 0; -uint8_t last_fan_speed = 0; -uint16_t last_speed = 0; -float last_E_scale = 0; -bool DWIN_lcd_sd_status = 0; -bool pause_action_flag = 0; -int temphot = 0, tempbed = 0; -float dwin_zoffset = 0; -float last_zoffset = 0; +uint16_t remain_time = 0; + +#if ENABLED(PAUSE_HEAT) + #if HAS_HOTEND + uint16_t temphot = 0; + #endif + #if HAS_HEATED_BED + uint16_t tempbed = 0; + #endif +#endif + +#if HAS_ZOFFSET_ITEM + float dwin_zoffset = 0, last_zoffset = 0; +#endif #define DWIN_LANGUAGE_EEPROM_ADDRESS 0x01 // Between 0x01 and 0x63 (EEPROM_OFFSET-1) // BL24CXX::check() uses 0x00 -void HMI_SetLanguage(void) { - BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); - if (HMI_flag.language_chinese) - DWIN_JPG_CacheTo1(Language_Chinese); - else - DWIN_JPG_CacheTo1(Language_English); +void HMI_SetLanguageCache() { + DWIN_JPG_CacheTo1(HMI_flag.language_chinese ? Language_Chinese : Language_English); } -void HMI_SetAndSaveLanguageWestern(void) { - HMI_flag.language_chinese = false; - DWIN_JPG_CacheTo1(Language_English); - BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); +void HMI_SetLanguage() { + #if ENABLED(EEPROM_SETTINGS) + BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + #endif + HMI_SetLanguageCache(); } -void HMI_SetAndSaveLanguageChinese(void) { - HMI_flag.language_chinese = true; - DWIN_JPG_CacheTo1(Language_Chinese); - BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + +void HMI_ToggleLanguage() { + HMI_flag.language_chinese ^= true; + HMI_SetLanguageCache(); + #if ENABLED(EEPROM_SETTINGS) + BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + #endif } void DWIN_Draw_Signed_Float(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { @@ -331,14 +335,14 @@ void ICON_Tune() { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 447, 148, 458, 34, 325); else - DWIN_Frame_AreaCopy(1, 1, 465, 34, 477, 31, 325); + DWIN_Frame_AreaCopy(1, 0, 466, 34, 476, 31, 325); } else { DWIN_ICON_Show(ICON, ICON_Setup_0, 8, 252); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 405, 148, 420, 34, 325); else - DWIN_Frame_AreaCopy(1, 1, 438, 32, 448, 31, 325); + DWIN_Frame_AreaCopy(1, 0, 438, 32, 448, 31, 325); } } @@ -367,7 +371,7 @@ void ICON_Continue() { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 124, 325); else - DWIN_Frame_AreaCopy(1, 1, 451, 32, 463, 121, 325); + DWIN_Frame_AreaCopy(1, 1, 452, 32, 464, 121, 325); } else { DWIN_ICON_Show(ICON, ICON_Continue_0, 96, 252); @@ -385,7 +389,7 @@ void ICON_Stop() { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 151, 447, 178, 459, 210, 325); else - DWIN_Frame_AreaCopy(1, 218, 451, 249, 465, 209, 325); + DWIN_Frame_AreaCopy(1, 218, 452, 249, 466, 209, 325); } else { DWIN_ICON_Show(ICON, ICON_Stop_0, 184, 252); @@ -396,8 +400,8 @@ void ICON_Stop() { } } -inline void Clear_Title_Bar(void) { - DWIN_Draw_Rectangle(1, Background_blue, 0, 0, DWIN_WIDTH, 30); +inline void Clear_Title_Bar() { + DWIN_Draw_Rectangle(1, Background_blue, 0, 0, DWIN_WIDTH, 30); } inline void Draw_Title(const char * const title) { @@ -408,21 +412,21 @@ inline void Draw_Title(const __FlashStringHelper * title) { DWIN_Draw_String(false, false, HEADER_FONT, White, Background_blue, 14, 4, (char*)title); } -inline void Clear_Menu_Area(void) { - DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, 360); +inline void Clear_Menu_Area() { + DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, STATUS_Y); } -inline void Clear_Main_Window(void) { +inline void Clear_Main_Window() { Clear_Title_Bar(); Clear_Menu_Area(); } -inline void Clear_Popup_Area(void) { +inline void Clear_Popup_Area() { Clear_Title_Bar(); DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); } -void Draw_Popup_Bkgd_105(void) { +void Draw_Popup_Bkgd_105() { DWIN_Draw_Rectangle(1, Background_window, 14, 105, 258, 374); } @@ -476,7 +480,7 @@ inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char } // The "Back" label is always on the first line -inline void Draw_Back_Label(void) { +inline void Draw_Back_Label() { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 129, 72, 156, 84, LBLX, MBASE(0)); else @@ -494,13 +498,61 @@ inline void Draw_Back_First(const bool is_sel=true) { // Draw Menus // +#define MOTION_CASE_RATE 1 +#define MOTION_CASE_ACCEL 2 +#define MOTION_CASE_JERK (MOTION_CASE_ACCEL + ENABLED(HAS_CLASSIC_JERK)) +#define MOTION_CASE_STEPS (MOTION_CASE_JERK + 1) +#define MOTION_CASE_TOTAL MOTION_CASE_STEPS + +#define PREPARE_CASE_MOVE 1 +#define PREPARE_CASE_DISA 2 +#define PREPARE_CASE_HOME 3 +#define PREPARE_CASE_ZOFF (PREPARE_CASE_HOME + ENABLED(HAS_ZOFFSET_ITEM)) +#define PREPARE_CASE_PLA (PREPARE_CASE_ZOFF + ENABLED(HAS_HOTEND)) +#define PREPARE_CASE_ABS (PREPARE_CASE_PLA + ENABLED(HAS_HOTEND)) +#define PREPARE_CASE_COOL (PREPARE_CASE_ABS + EITHER(HAS_HOTEND, HAS_HEATED_BED)) +#define PREPARE_CASE_LANG (PREPARE_CASE_COOL + 1) +#define PREPARE_CASE_TOTAL PREPARE_CASE_LANG + +#define CONTROL_CASE_TEMP 1 +#define CONTROL_CASE_MOVE (CONTROL_CASE_TEMP + 1) +#define CONTROL_CASE_SAVE (CONTROL_CASE_MOVE + ENABLED(EEPROM_SETTINGS)) +#define CONTROL_CASE_LOAD (CONTROL_CASE_SAVE + ENABLED(EEPROM_SETTINGS)) +#define CONTROL_CASE_RESET (CONTROL_CASE_LOAD + ENABLED(EEPROM_SETTINGS)) +#define CONTROL_CASE_INFO (CONTROL_CASE_RESET + 1) +#define CONTROL_CASE_TOTAL CONTROL_CASE_INFO + +#define TUNE_CASE_SPEED 1 +#define TUNE_CASE_TEMP (TUNE_CASE_SPEED + ENABLED(HAS_HOTEND)) +#define TUNE_CASE_BED (TUNE_CASE_TEMP + ENABLED(HAS_HEATED_BED)) +#define TUNE_CASE_FAN (TUNE_CASE_BED + ENABLED(HAS_FAN)) +#define TUNE_CASE_ZOFF (TUNE_CASE_FAN + ENABLED(HAS_ZOFFSET_ITEM)) +#define TUNE_CASE_TOTAL TUNE_CASE_ZOFF + +#define TEMP_CASE_TEMP (0 + ENABLED(HAS_HOTEND)) +#define TEMP_CASE_BED (TEMP_CASE_TEMP + ENABLED(HAS_HEATED_BED)) +#define TEMP_CASE_FAN (TEMP_CASE_BED + ENABLED(HAS_FAN)) +#define TEMP_CASE_PLA (TEMP_CASE_FAN + ENABLED(HAS_HOTEND)) +#define TEMP_CASE_ABS (TEMP_CASE_PLA + ENABLED(HAS_HOTEND)) +#define TEMP_CASE_TOTAL TEMP_CASE_ABS + +#define PREHEAT_CASE_TEMP (0 + ENABLED(HAS_HOTEND)) +#define PREHEAT_CASE_BED (PREHEAT_CASE_TEMP + ENABLED(HAS_HEATED_BED)) +#define PREHEAT_CASE_FAN (PREHEAT_CASE_BED + ENABLED(HAS_FAN)) +#define PREHEAT_CASE_SAVE (PREHEAT_CASE_FAN + ENABLED(EEPROM_SETTINGS)) +#define PREHEAT_CASE_TOTAL PREHEAT_CASE_SAVE + +// +// Draw Menus +// + inline void draw_move_en(const uint16_t line) { DWIN_Frame_AreaCopy(1, 69, 61, 102, 71, LBLX, line); // "Move" } inline void DWIN_Frame_TitleCopy(uint8_t id, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { DWIN_Frame_AreaCopy(id, x1, y1, x2, y2, 14, 8); } -inline void Prepare_Item_Move(const uint8_t row) { +inline void Item_Prepare_Move(const uint8_t row) { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 159, 70, 200, 84, LBLX, MBASE(row)); else @@ -509,7 +561,7 @@ inline void Prepare_Item_Move(const uint8_t row) { Draw_More_Icon(row); } -inline void Prepare_Item_Disable(const uint8_t row) { +inline void Item_Prepare_Disable(const uint8_t row) { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 204, 70, 259, 82, LBLX, MBASE(row)); else @@ -517,7 +569,7 @@ inline void Prepare_Item_Disable(const uint8_t row) { Draw_Menu_Line(row, ICON_CloseMotor); } -inline void Prepare_Item_Home(const uint8_t row) { +inline void Item_Prepare_Home(const uint8_t row) { if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 0, 89, 41, 101, LBLX, MBASE(row)); else @@ -525,57 +577,65 @@ inline void Prepare_Item_Home(const uint8_t row) { Draw_Menu_Line(row, ICON_Homing); } -inline void Prepare_Item_Offset(const uint8_t row) { - if (HMI_flag.language_chinese) { - #if HAS_BED_PROBE - DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); - #else - DWIN_Frame_AreaCopy(1, 43, 89, 98, 101, LBLX, MBASE(row)); - #endif - } - else { - #if HAS_BED_PROBE - DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); - #else - DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." - #endif - } - Draw_Menu_Line(row, ICON_SetHome); -} +#if HAS_ZOFFSET_ITEM -inline void Prepare_Item_PLA(const uint8_t row) { - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 100, 89, 151, 101, LBLX, MBASE(row)); - } - else { - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(row)); // "PLA" + inline void Item_Prepare_Offset(const uint8_t row) { + if (HMI_flag.language_chinese) { + #if HAS_BED_PROBE + DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); + #else + DWIN_Frame_AreaCopy(1, 43, 89, 98, 101, LBLX, MBASE(row)); + #endif + } + else { + #if HAS_BED_PROBE + DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); + #else + DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." + #endif + } + Draw_Menu_Line(row, ICON_SetHome); } - Draw_Menu_Line(row, ICON_PLAPreheat); -} -inline void Prepare_Item_ABS(const uint8_t row) { - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 180, 89, 233, 100, LBLX, MBASE(row)); +#endif + +#if HAS_HOTEND + inline void Item_Prepare_PLA(const uint8_t row) { + if (HMI_flag.language_chinese) { + DWIN_Frame_AreaCopy(1, 100, 89, 151, 101, LBLX, MBASE(row)); + } + else { + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(row)); // "PLA" + } + Draw_Menu_Line(row, ICON_PLAPreheat); } - else { - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(row)); // "ABS" + + inline void Item_Prepare_ABS(const uint8_t row) { + if (HMI_flag.language_chinese) { + DWIN_Frame_AreaCopy(1, 180, 89, 233, 100, LBLX, MBASE(row)); + } + else { + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(row)); // "Preheat" + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(row)); // "ABS" + } + Draw_Menu_Line(row, ICON_ABSPreheat); } - Draw_Menu_Line(row, ICON_ABSPreheat); -} +#endif -inline void Prepare_Item_Cool(const uint8_t row) { - if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); - else - DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" - Draw_Menu_Line(row, ICON_Cool); -} +#if HAS_PREHEAT + inline void Item_Prepare_Cool(const uint8_t row) { + if (HMI_flag.language_chinese) + DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); + else + DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" + Draw_Menu_Line(row, ICON_Cool); + } +#endif -inline void Prepare_Item_Lang(const uint8_t row) { +inline void Item_Prepare_Lang(const uint8_t row) { if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 239, 134, 266, 146, LBLX, MBASE(row)); DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("CN")); @@ -605,15 +665,21 @@ inline void Draw_Prepare_Menu() { #endif } - if (PVISI(0)) Draw_Back_First(select_prepare.now == 0); // < Back - if (PVISI(1)) Prepare_Item_Move(PSCROL(1)); // Move > - if (PVISI(2)) Prepare_Item_Disable(PSCROL(2)); // Disable Stepper - if (PVISI(3)) Prepare_Item_Home(PSCROL(3)); // Auto Home - if (PVISI(4)) Prepare_Item_Offset(PSCROL(4)); // Z-Offset - if (PVISI(5)) Prepare_Item_PLA(PSCROL(5)); // Preheat PLA - if (PVISI(6)) Prepare_Item_ABS(PSCROL(6)); // Preheat ABS - if (PVISI(7)) Prepare_Item_Cool(PSCROL(7)); // Cooldown - if (PVISI(8)) Prepare_Item_Lang(PSCROL(8)); // Language CN/EN + if (PVISI(0)) Draw_Back_First(select_prepare.now == 0); // < Back + if (PVISI(PREPARE_CASE_MOVE)) Item_Prepare_Move(PSCROL(PREPARE_CASE_MOVE)); // Move > + if (PVISI(PREPARE_CASE_DISA)) Item_Prepare_Disable(PSCROL(PREPARE_CASE_DISA)); // Disable Stepper + if (PVISI(PREPARE_CASE_HOME)) Item_Prepare_Home(PSCROL(PREPARE_CASE_HOME)); // Auto Home + #if HAS_ZOFFSET_ITEM + if (PVISI(PREPARE_CASE_ZOFF)) Item_Prepare_Offset(PSCROL(PREPARE_CASE_ZOFF)); // Edit Z-Offset / Babystep / Set Home Offset + #endif + #if HAS_HOTEND + if (PVISI(PREPARE_CASE_PLA)) Item_Prepare_PLA(PSCROL(PREPARE_CASE_PLA)); // Preheat PLA + if (PVISI(PREPARE_CASE_ABS)) Item_Prepare_ABS(PSCROL(PREPARE_CASE_ABS)); // Preheat ABS + #endif + #if HAS_PREHEAT + if (PVISI(PREPARE_CASE_COOL)) Item_Prepare_Cool(PSCROL(PREPARE_CASE_COOL)); // Cooldown + #endif + if (PVISI(PREPARE_CASE_LANG)) Item_Prepare_Lang(PSCROL(PREPARE_CASE_LANG)); // Language CN/EN if (select_prepare.now) Draw_Menu_Cursor(PSCROL(select_prepare.now)); } @@ -621,52 +687,55 @@ inline void Draw_Prepare_Menu() { inline void Draw_Control_Menu() { Clear_Main_Window(); - const int16_t scroll = TERN(HAS_ONESTEP_LEVELING, MROWS - index_control, 0); // Scrolled-up lines - - #define CSCROL(L) (scroll + (L)) + #if CONTROL_CASE_TOTAL >= 6 + const int16_t scroll = MROWS - index_control; // Scrolled-up lines + #define CSCROL(L) (scroll + (L)) + #else + #define CSCROL(L) (L) + #endif #define CLINE(L) MBASE(CSCROL(L)) #define CVISI(L) WITHIN(CSCROL(L), 0, MROWS) if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 1, 130, 14, 14, 8); - DWIN_Frame_AreaCopy(1, 57, 104, 84, 116, LBLX, CLINE(1)); // Temperature > - DWIN_Frame_AreaCopy(1, 87, 104, 114, 116, LBLX, CLINE(2)); // Motion > - DWIN_Frame_AreaCopy(1, 117, 104, 172, 116, LBLX, CLINE(3)); // Store Config - DWIN_Frame_AreaCopy(1, 174, 103, 229, 116, LBLX, CLINE(4)); // Read Config - DWIN_Frame_AreaCopy(1, 1, 118, 56, 131, LBLX, CLINE(5)); // Reset Config + DWIN_Frame_TitleCopy(1, 103, 1, 130, 14); // "Control" + + DWIN_Frame_AreaCopy(1, 57, 104, 84, 116, LBLX, CLINE(CONTROL_CASE_TEMP)); // Temperature > + DWIN_Frame_AreaCopy(1, 87, 104, 114, 116, LBLX, CLINE(CONTROL_CASE_MOVE)); // Motion > + + #if ENABLED(EEPROM_SETTINGS) + DWIN_Frame_AreaCopy(1, 117, 104, 172, 116, LBLX, CLINE(CONTROL_CASE_SAVE)); // Store Configuration + DWIN_Frame_AreaCopy(1, 174, 103, 229, 116, LBLX, CLINE(CONTROL_CASE_LOAD)); // Read Configuration + DWIN_Frame_AreaCopy(1, 1, 118, 56, 131, LBLX, CLINE(CONTROL_CASE_RESET)); // Reset Configuration + #endif - if (CVISI(6)) - DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, CLINE(6)); // Info > + if (CVISI(CONTROL_CASE_INFO)) + DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, CLINE(CONTROL_CASE_TEMP)); // Info > } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_CONTROL)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_TEMP), GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_MOVE), GET_TEXT_F(MSG_MOTION)); #if ENABLED(EEPROM_SETTINGS) - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_STORE_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_LOAD_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); - if (CVISI(6)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(6), F("Info")); - #else - if (CVISI(3)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Info")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_LOAD), GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_RESET), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); #endif + if (CVISI(CONTROL_CASE_INFO)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_INFO), F("Info")); #else - DWIN_Frame_AreaCopy(1, 128, 2, 176, 12, 14, 8); - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX, CLINE(1)); // Temperature > - DWIN_Frame_AreaCopy(1, 84, 89, 128, 99, LBLX, CLINE(2)); // Motion > + DWIN_Frame_TitleCopy(1, 128, 2, 176, 12); // "Control" + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX, CLINE(CONTROL_CASE_TEMP)); // Temperature > + DWIN_Frame_AreaCopy(1, 84, 89, 128, 99, LBLX, CLINE(CONTROL_CASE_MOVE)); // Motion > #if ENABLED(EEPROM_SETTINGS) - DWIN_Frame_AreaCopy(1, 148, 89, 268, 101, LBLX, CLINE(3)); // "Store Configuration" - DWIN_Frame_AreaCopy(1, 26, 104, 57, 114, LBLX, CLINE(4)); // "Read" - DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 34, CLINE(4)); // "Configuration" - DWIN_Frame_AreaCopy(1, 59, 104, 93, 114, LBLX, CLINE(5)); // "Reset" - DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 37, CLINE(5)); // "Configuration" - if (CVISI(6)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > - #else - if (CVISI(3)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(3)); // Info > + DWIN_Frame_AreaCopy(1, 148, 89, 268, 101, LBLX , CLINE(CONTROL_CASE_SAVE // "Store Configuration" + DWIN_Frame_AreaCopy(1, 26, 104, 57, 114, LBLX , CLINE(CONTROL_CASE_LOAD)); // "Read" + DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 34, CLINE(CONTROL_CASE_LOAD)); // "Configuration" + DWIN_Frame_AreaCopy(1, 59, 104, 93, 114, LBLX , CLINE(CONTROL_CASE_RESET)); // "Reset" + DWIN_Frame_AreaCopy(1, 182, 89, 268, 101, LBLX + 37, CLINE(CONTROL_CASE_RESET)); // "Configuration" #endif + if (CVISI(CONTROL_CASE_INFO)) DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(CONTROL_CASE_INFO)); // Info > #endif } @@ -674,12 +743,23 @@ inline void Draw_Control_Menu() { Draw_Menu_Cursor(CSCROL(select_control.now)); // Draw icons and lines - LOOP_L_N(i, 6) - if (CVISI(i + 1)) Draw_Menu_Line(CSCROL(i + 1), ICON_Temperature + i); + uint8_t i = 0; + #define _TEMP_ICON(N) do{ ++i; if (CVISI(i)) Draw_Menu_Line(CSCROL(i), ICON_SetEndTemp + (N) - 1); }while(0) + + _TEMP_ICON(CONTROL_CASE_TEMP); + if (CVISI(i)) Draw_More_Icon(CSCROL(i)); + + _TEMP_ICON(CONTROL_CASE_MOVE); + Draw_More_Icon(CSCROL(i)); - Draw_More_Icon(CSCROL(1)); - Draw_More_Icon(CSCROL(2)); - if (CVISI(6)) Draw_More_Icon(CSCROL(6)); + #if ENABLED(EEPROM_SETTINGS) + _TEMP_ICON(CONTROL_CASE_SAVE); + _TEMP_ICON(CONTROL_CASE_LOAD); + _TEMP_ICON(CONTROL_CASE_RESET); + #endif + + _TEMP_ICON(CONTROL_CASE_INFO); + if (CVISI(CONTROL_CASE_INFO)) Draw_More_Icon(CSCROL(i)); } inline void Draw_Tune_Menu() { @@ -687,46 +767,76 @@ inline void Draw_Tune_Menu() { if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 73, 2, 100, 13, 14, 9); - DWIN_Frame_AreaCopy(1, 116, 164, 171, 176, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 116, 164, 171, 176, LBLX, MBASE(TUNE_CASE_SPEED)); + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(TUNE_CASE_TEMP)); + #endif + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(TUNE_CASE_BED)); + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(TUNE_CASE_FAN)); + #endif + #if HAS_ZOFFSET_ITEM + DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(TUNE_CASE_ZOFF)); + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TUNE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_SPEED), GET_TEXT_F(MSG_SPEED)); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + #endif + #if HAS_HEATED_BED + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + #endif + #if HAS_FAN + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + #endif + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_ZOFF), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else DWIN_Frame_AreaCopy(1, 94, 2, 126, 12, 14, 9); - DWIN_Frame_AreaCopy(1, 1, 179, 92, 190, LBLX, MBASE(1)); // print speed - DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(2)); // Hotend... - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(3)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(3)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(4)); // fan speed - DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(5)); // Z-offset + DWIN_Frame_AreaCopy(1, 1, 179, 92, 190, LBLX, MBASE(TUNE_CASE_SPEED)); // Print speed + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(TUNE_CASE_TEMP)); // Hotend... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(TUNE_CASE_TEMP)); // ...Temperature + #endif + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(TUNE_CASE_BED)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(TUNE_CASE_BED)); // ...Temperature + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(TUNE_CASE_FAN)); // Fan speed + #endif + #if HAS_ZOFFSET_ITEM + DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(TUNE_CASE_ZOFF)); // Z-offset + #endif #endif } Draw_Back_First(select_tune.now == 0); if (select_tune.now) Draw_Menu_Cursor(select_tune.now); - Draw_Menu_Line(1, ICON_Speed); - Draw_Menu_Line(2, ICON_HotendTemp); - Draw_Menu_Line(3, ICON_BedTemp); - Draw_Menu_Line(4, ICON_FanSpeed); - Draw_Menu_Line(5, ICON_Zoffset); + Draw_Menu_Line(TUNE_CASE_SPEED, ICON_Speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_SPEED), feedrate_percentage); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), feedrate_percentage); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), thermalManager.temp_hotend[0].target); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), thermalManager.temp_bed.target); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(4), thermalManager.fan_speed[0]); - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(5), BABY_Z_VAR * 100); + #if HAS_HOTEND + Draw_Menu_Line(TUNE_CASE_TEMP, ICON_HotendTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_TEMP), thermalManager.temp_hotend[0].target); + #endif + #if HAS_HEATED_BED + Draw_Menu_Line(TUNE_CASE_BED, ICON_BedTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_BED), thermalManager.temp_bed.target); + #endif + #if HAS_FAN + Draw_Menu_Line(TUNE_CASE_FAN, ICON_FanSpeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_FAN), thermalManager.fan_speed[0]); + #endif + #if HAS_ZOFFSET_ITEM + Draw_Menu_Line(TUNE_CASE_ZOFF, ICON_Zoffset); + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(TUNE_CASE_ZOFF), BABY_Z_VAR * 100); + #endif } inline void draw_max_en(const uint16_t line) { @@ -762,74 +872,84 @@ inline void Draw_Motion_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 1, 16, 28, 28, 14, 8); - - DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, MBASE(1)); // Max speed - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(2)); // Max... - DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(2) + 1); // ...acceleration - DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(3)); // Max... - DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1); // ... - DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 54, MBASE(3)); // ...jerk - DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(4)); // Flow ratio + DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Motion" + DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, MBASE(MOTION_CASE_RATE)); // Max speed + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(MOTION_CASE_ACCEL)); // Max... + DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(MOTION_CASE_ACCEL) + 1); // ...Acceleration + #if HAS_CLASSIC_JERK + DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(MOTION_CASE_JERK)); // Max... + DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(MOTION_CASE_JERK) + 1); // ... + DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 54, MBASE(MOTION_CASE_JERK)); // ...Jerk + #endif + DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(MOTION_CASE_STEPS)); // Flow ratio } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Feedrate")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STEPS_PER_MM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_RATE), F("Feedrate")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_ACCEL), GET_TEXT_F(MSG_ACCELERATION)); + #if HAS_CLASSIC_JERK + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_JERK), GET_TEXT_F(MSG_JERK)); + #endif + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_STEPS), GET_TEXT_F(MSG_STEPS_PER_MM)); #else - DWIN_Frame_AreaCopy(1, 144, 16, 189, 26, 14, 8); - draw_max_en(MBASE(1)); draw_speed_en(27, MBASE(1)); // "Max Speed" - draw_max_accel_en(MBASE(2)); // "Max Acceleration" - draw_max_en(MBASE(3)); draw_jerk_en(MBASE(3)); // "Max Jerk" - draw_steps_per_mm(MBASE(4)); // "Steps-per-mm" + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Motion" + draw_max_en(MBASE(MOTION_CASE_RATE)); draw_speed_en(27, MBASE(MOTION_CASE_RATE)); // "Max Speed" + draw_max_accel_en(MBASE(MOTION_CASE_ACCEL)); // "Max Acceleration" + #if HAS_CLASSIC_JERK + draw_max_en(MBASE(MOTION_CASE_JERK)); draw_jerk_en(MBASE(MOTION_CASE_JERK)); // "Max Jerk" + #endif + draw_steps_per_mm(MBASE(MOTION_CASE_STEPS)); // "Steps-per-mm" #endif } Draw_Back_First(select_motion.now == 0); if (select_motion.now) Draw_Menu_Cursor(select_motion.now); - LOOP_L_N(i, 4) Draw_Menu_Line(i + 1, ICON_MaxSpeed + i); - - Draw_More_Icon(1); - Draw_More_Icon(2); - Draw_More_Icon(3); - Draw_More_Icon(4); + uint8_t i = 0; + #define _MOTION_ICON(N) Draw_Menu_Line(++i, ICON_MaxSpeed + (N) - 1) + _MOTION_ICON(MOTION_CASE_RATE); Draw_More_Icon(i); + _MOTION_ICON(MOTION_CASE_ACCEL); Draw_More_Icon(i); + #if HAS_CLASSIC_JERK + _MOTION_ICON(MOTION_CASE_JERK); Draw_More_Icon(i); + #endif + _MOTION_ICON(MOTION_CASE_STEPS); Draw_More_Icon(i); } // // Draw Popup Windows // - -void Popup_Window_Temperature(const bool toohigh) { - Clear_Popup_Area(); - Draw_Popup_Bkgd_105(); - if (toohigh) { - DWIN_ICON_Show(ICON, ICON_TempTooHigh, 102, 165); - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 371, 237, 386, 52, 285); - DWIN_Frame_AreaCopy(1, 151, 389, 185, 402, 187, 285); - DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); - } - else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too high")); - } - } - else { - DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 165); - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 103, 371, 270, 386, 52, 285); - DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); +#if HAS_HOTEND || HAS_HEATED_BED + + void DWIN_Popup_Temperature(const bool toohigh) { + Clear_Popup_Area(); + Draw_Popup_Bkgd_105(); + if (toohigh) { + DWIN_ICON_Show(ICON, ICON_TempTooHigh, 102, 165); + if (HMI_flag.language_chinese) { + DWIN_Frame_AreaCopy(1, 103, 371, 237, 386, 52, 285); + DWIN_Frame_AreaCopy(1, 151, 389, 185, 402, 187, 285); + DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); + } + else { + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too high")); + } } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too low")); + DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 165); + if (HMI_flag.language_chinese) { + DWIN_Frame_AreaCopy(1, 103, 371, 270, 386, 52, 285); + DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); + } + else { + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too low")); + } } } -} + +#endif inline void Draw_Popup_Bkgd_60() { DWIN_Draw_Rectangle(1, Background_window, 14, 60, 258, 330); @@ -837,7 +957,7 @@ inline void Draw_Popup_Bkgd_60() { #if HAS_HOTEND - void Popup_Window_ETempTooLow(void) { + void Popup_Window_ETempTooLow() { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 105); @@ -854,7 +974,7 @@ inline void Draw_Popup_Bkgd_60() { #endif -void Popup_Window_Resume(void) { +void Popup_Window_Resume() { Clear_Popup_Area(); Draw_Popup_Bkgd_105(); if (HMI_flag.language_chinese) { @@ -864,15 +984,15 @@ void Popup_Window_Resume(void) { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 307); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 120, 115, F("Tips")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 192, F("I see the file stopped")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 68, 212, F("unexpectedly last time")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 14) / 2, 115, F("Continue Print")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 22) / 2, 192, F("It looks like the last")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 22) / 2, 212, F("file was interrupted.")); DWIN_ICON_Show(ICON, ICON_Continue_E, 26, 307); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 307); } } -void Popup_Window_Home(void) { +void Popup_Window_Home(const bool parking/*=false*/) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_BLTouch, 101, 105); @@ -882,24 +1002,28 @@ void Popup_Window_Home(void) { DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 80, 230, GET_TEXT_F(MSG_LEVEL_BED_HOMING)); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, F("Please wait until completed")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * (parking ? 7 : 10)) / 2, 230, parking ? F("Parking") : F("Homing XYZ")); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); } } -void Popup_Window_Leveling(void) { - Clear_Main_Window(); - Draw_Popup_Bkgd_60(); - DWIN_ICON_Show(ICON, ICON_AutoLeveling, 101, 105); - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 0, 371, 100, 386, 84, 240); - DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); - } - else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 76, 230, GET_TEXT_F(MSG_BED_LEVELING)); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, F("Please wait until completed")); +#if HAS_ONESTEP_LEVELING + + void Popup_Window_Leveling() { + Clear_Main_Window(); + Draw_Popup_Bkgd_60(); + DWIN_ICON_Show(ICON, ICON_AutoLeveling, 101, 105); + if (HMI_flag.language_chinese) { + DWIN_Frame_AreaCopy(1, 0, 371, 100, 386, 84, 240); + DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); + } + else { + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 13) / 2, 230, GET_TEXT_F(MSG_BED_LEVELING)); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); + } } -} + +#endif void Draw_Select_Highlight(const bool sel) { HMI_flag.select_flag = sel; @@ -911,34 +1035,34 @@ void Draw_Select_Highlight(const bool sel) { DWIN_Draw_Rectangle(0, c2, 144, 278, 247, 319); } -void Popup_window_PauseOrStop(void) { +void Popup_window_PauseOrStop() { Clear_Main_Window(); Draw_Popup_Bkgd_60(); if (HMI_flag.language_chinese) { - if (select_print.now == 1) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150); + if (select_print.now == 1) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150); else if (select_print.now == 2) DWIN_Frame_AreaCopy(1, 221, 320, 253, 336, 98, 150); DWIN_Frame_AreaCopy(1, 220, 304, 264, 319, 130, 150); DWIN_ICON_Show(ICON, ICON_Confirm_C, 26, 280); DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 280); } else { - if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 88, 150, GET_TEXT_F(MSG_PAUSE_PRINT)); - else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 150, GET_TEXT_F(MSG_STOP_PRINT)); + if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 11) / 2, 150, GET_TEXT_F(MSG_PAUSE_PRINT)); + else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 10) / 2, 150, GET_TEXT_F(MSG_STOP_PRINT)); DWIN_ICON_Show(ICON, ICON_Confirm_E, 26, 280); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 280); } Draw_Select_Highlight(true); } -void Draw_Printing_Screen(void) { +void Draw_Printing_Screen() { if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 30, 1, 71, 14, 14, 9); // Tune - DWIN_Frame_AreaCopy(1, 0, 72, 63, 86, 41, 188); // Pause + DWIN_Frame_AreaCopy(1, 30, 1, 71, 14, 14, 9); // Tune + DWIN_Frame_AreaCopy(1, 0, 72, 63, 86, 41, 188); // Pause DWIN_Frame_AreaCopy(1, 65, 72, 128, 86, 176, 188); // Stop } else { - DWIN_Frame_AreaCopy(1, 40, 2, 92, 14, 14, 9); // Tune - DWIN_Frame_AreaCopy(1, 0, 44, 96, 58, 41, 188); // Pause + DWIN_Frame_AreaCopy(1, 40, 2, 92, 14, 14, 9); // Tune + DWIN_Frame_AreaCopy(1, 0, 44, 96, 58, 41, 188); // Pause DWIN_Frame_AreaCopy(1, 98, 44, 152, 58, 176, 188); // Stop } } @@ -963,7 +1087,7 @@ void Draw_Print_ProgressRemain() { DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 200, 212, (remain_time % 3600) / 60); } -void Goto_PrintProcess(void) { +void Goto_PrintProcess() { checkkey = PrintProcess; Clear_Main_Window(); @@ -986,7 +1110,7 @@ void Goto_PrintProcess(void) { Draw_Print_ProgressRemain(); } -void Goto_MainMenu(void) { +void Goto_MainMenu() { checkkey = MainMenu; Clear_Main_Window(); @@ -1011,6 +1135,7 @@ void Goto_MainMenu(void) { } inline ENCODER_DiffState get_encoder_state() { + static millis_t Encoder_ms = 0; const millis_t ms = millis(); if (PENDING(ms, Encoder_ms)) return ENCODER_DIFF_NO; const ENCODER_DiffState state = Encoder_ReceiveAnalyze(); @@ -1018,7 +1143,7 @@ inline ENCODER_DiffState get_encoder_state() { return state; } -void HMI_Move_X(void) { +void HMI_Move_X() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1029,7 +1154,7 @@ void HMI_Move_X(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); if (!planner.is_full()) { // Wait for planner moves to finish! @@ -1047,7 +1172,7 @@ void HMI_Move_X(void) { } } -void HMI_Move_Y(void) { +void HMI_Move_Y() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1058,7 +1183,7 @@ void HMI_Move_Y(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); if (!planner.is_full()) { // Wait for planner moves to finish! @@ -1076,7 +1201,7 @@ void HMI_Move_Y(void) { } } -void HMI_Move_Z(void) { +void HMI_Move_Z() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1087,7 +1212,7 @@ void HMI_Move_Z(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); if (!planner.is_full()) { // Wait for planner moves to finish! @@ -1107,7 +1232,8 @@ void HMI_Move_Z(void) { #if HAS_HOTEND - void HMI_Move_E(void) { + void HMI_Move_E() { + static float last_E_scale = 0; ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1118,7 +1244,7 @@ void HMI_Move_Z(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; last_E_scale = HMI_ValueStruct.Move_E_scale; DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); if (!planner.is_full()) { @@ -1140,53 +1266,66 @@ void HMI_Move_Z(void) { #endif -void HMI_Zoffset(void) { - ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); - if (encoder_diffState != ENCODER_DIFF_NO) { - last_zoffset = dwin_zoffset; - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.offset_value += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.offset_value -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { - EncoderRate.encoderRateEnabled = 0; - dwin_zoffset = HMI_ValueStruct.offset_value / 100; - #if HAS_BED_PROBE - if (WITHIN(dwin_zoffset - last_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) - probe.offset.z = dwin_zoffset; - TERN_(EEPROM_SETTINGS, settings.save()); - #elif ENABLED(BABYSTEPPING) - babystep.add_mm(Z_AXIS, dwin_zoffset - last_zoffset); - #endif +#if HAS_ZOFFSET_ITEM - if (HMI_ValueStruct.show_mode == -4) { - checkkey = Prepare; - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(4 + MROWS - index_prepare), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + bool printer_busy() { return planner.movesplanned() || printingIsActive(); } + + void HMI_Zoffset() { + ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); + if (encoder_diffState != ENCODER_DIFF_NO) { + uint8_t zoff_line; + switch (HMI_ValueStruct.show_mode) { + case -4: zoff_line = PREPARE_CASE_ZOFF + MROWS - index_prepare; break; + default: zoff_line = TUNE_CASE_ZOFF + MROWS - index_tune; } - else { - checkkey = Tune; - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(5 + MROWS - index_tune), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + if (encoder_diffState == ENCODER_DIFF_CW) + HMI_ValueStruct.offset_value += EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_CCW) + HMI_ValueStruct.offset_value -= EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_ENTER) { + EncoderRate.enabled = false; + #if HAS_BED_PROBE + probe.offset.z = dwin_zoffset; + TERN_(EEPROM_SETTINGS, settings.save()); + #endif + if (HMI_ValueStruct.show_mode == -4) { + checkkey = Prepare; + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); + } + else { + checkkey = Tune; + DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); + } + DWIN_UpdateLCD(); + return; } + NOLESS(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MIN) * 100); + NOMORE(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MAX) * 100); + last_zoffset = dwin_zoffset; + dwin_zoffset = HMI_ValueStruct.offset_value / 100.0f; + #if EITHER(BABYSTEP_ZPROBE_OFFSET, JUST_BABYSTEP) + if ( (ENABLED(BABYSTEP_WITHOUT_HOMING) || all_axes_known()) && (ENABLED(BABYSTEP_ALWAYS_AVAILABLE) || printer_busy()) ) + babystep.add_mm(Z_AXIS, dwin_zoffset - last_zoffset); + #endif + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(zoff_line), HMI_ValueStruct.offset_value); DWIN_UpdateLCD(); - return; } - NOLESS(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MIN) * 100); - NOMORE(HMI_ValueStruct.offset_value, (Z_PROBE_OFFSET_RANGE_MAX) * 100); - if (HMI_ValueStruct.show_mode == -4) - DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); - else - DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); - DWIN_UpdateLCD(); } -} + +#endif // HAS_ZOFFSET_ITEM #if HAS_HOTEND - void HMI_ETemp(void) { + void HMI_ETemp() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { + uint8_t temp_line; + switch (HMI_ValueStruct.show_mode) { + case -1: temp_line = TEMP_CASE_TEMP; break; + case -2: temp_line = PREHEAT_CASE_TEMP; break; + case -3: temp_line = PREHEAT_CASE_TEMP; break; + default: temp_line = TUNE_CASE_TEMP + MROWS - index_tune; + } if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.E_Temp += EncoderRate.encoderMoveValue; } @@ -1194,26 +1333,26 @@ void HMI_Zoffset(void) { HMI_ValueStruct.E_Temp -= EncoderRate.encoderMoveValue; } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { // temperature checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].hotend_temp = HMI_ValueStruct.E_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[0].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), ui.material_preset[0].hotend_temp); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].hotend_temp = HMI_ValueStruct.E_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[1].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), ui.material_preset[1].hotend_temp); return; } else { // tune checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2 + MROWS - index_tune), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } thermalManager.setTargetHotend(HMI_ValueStruct.E_Temp, 0); return; @@ -1222,10 +1361,7 @@ void HMI_Zoffset(void) { NOMORE(HMI_ValueStruct.E_Temp, MAX_E_TEMP); NOLESS(HMI_ValueStruct.E_Temp, MIN_E_TEMP); // E_Temp value - if (HMI_ValueStruct.show_mode >= 0) // tune - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2 + MROWS - index_tune), HMI_ValueStruct.E_Temp); - else // other page - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } } @@ -1233,9 +1369,16 @@ void HMI_Zoffset(void) { #if HAS_HEATED_BED - void HMI_BedTemp(void) { + void HMI_BedTemp() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { + uint8_t bed_line; + switch (HMI_ValueStruct.show_mode) { + case -1: bed_line = TEMP_CASE_BED; break; + case -2: bed_line = PREHEAT_CASE_BED; break; + case -3: bed_line = PREHEAT_CASE_BED; break; + default: bed_line = TUNE_CASE_BED + MROWS - index_tune; + } if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.Bed_Temp += EncoderRate.encoderMoveValue; } @@ -1243,26 +1386,26 @@ void HMI_Zoffset(void) { HMI_ValueStruct.Bed_Temp -= EncoderRate.encoderMoveValue; } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].bed_temp = HMI_ValueStruct.Bed_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[0].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), ui.material_preset[0].bed_temp); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].bed_temp = HMI_ValueStruct.Bed_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[1].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), ui.material_preset[1].bed_temp); return; } else { checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3 + MROWS - index_tune), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } thermalManager.setTargetBed(HMI_ValueStruct.Bed_Temp); return; @@ -1271,20 +1414,25 @@ void HMI_Zoffset(void) { NOMORE(HMI_ValueStruct.Bed_Temp, BED_MAX_TARGET); NOLESS(HMI_ValueStruct.Bed_Temp, MIN_BED_TEMP); // Bed_Temp value - if (HMI_ValueStruct.show_mode >= 0) // tune page - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3 + MROWS - index_tune), HMI_ValueStruct.Bed_Temp); - else // other page - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } } #endif // HAS_HEATED_BED -#if HAS_FAN +#if HAS_PREHEAT - void HMI_FanSpeed(void) { + void HMI_FanSpeed() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { + uint8_t fan_line; + switch (HMI_ValueStruct.show_mode) { + case -1: fan_line = TEMP_CASE_FAN; break; + case -2: fan_line = PREHEAT_CASE_FAN; break; + case -3: fan_line = PREHEAT_CASE_FAN; break; + default: fan_line = TUNE_CASE_FAN + MROWS - index_tune; + } + if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.Fan_speed += EncoderRate.encoderMoveValue; } @@ -1292,26 +1440,26 @@ void HMI_Zoffset(void) { HMI_ValueStruct.Fan_speed -= EncoderRate.encoderMoveValue; } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].fan_speed = HMI_ValueStruct.Fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), ui.material_preset[0].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), ui.material_preset[0].fan_speed); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].fan_speed = HMI_ValueStruct.Fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), ui.material_preset[1].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), ui.material_preset[1].fan_speed); return; } else { checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(4 + MROWS - index_tune), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } thermalManager.set_fan_speed(0, HMI_ValueStruct.Fan_speed); return; @@ -1320,16 +1468,13 @@ void HMI_Zoffset(void) { NOMORE(HMI_ValueStruct.Fan_speed, FANON); NOLESS(HMI_ValueStruct.Fan_speed, FANOFF); // Fan_speed value - if (HMI_ValueStruct.show_mode >= 0) // tune page - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(4 + MROWS - index_tune), HMI_ValueStruct.Fan_speed); - else // other page - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } } -#endif // HAS_FAN +#endif // HAS_PREHEAT -void HMI_PrintSpeed(void) { +void HMI_PrintSpeed() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1340,20 +1485,20 @@ void HMI_PrintSpeed(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = Tune; - EncoderRate.encoderRateEnabled = 0; + EncoderRate.enabled = false; feedrate_percentage = HMI_ValueStruct.print_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1 + MROWS - index_tune), HMI_ValueStruct.print_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); return; } // print_speed limit NOMORE(HMI_ValueStruct.print_speed, MAX_PRINT_SPEED); NOLESS(HMI_ValueStruct.print_speed, MIN_PRINT_SPEED); // print_speed value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1 + MROWS - index_tune), HMI_ValueStruct.print_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); } } -void HMI_MaxFeedspeedXYZE(void) { +void HMI_MaxFeedspeedXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1364,82 +1509,76 @@ void HMI_MaxFeedspeedXYZE(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = MaxSpeed; - EncoderRate.encoderRateEnabled = 0; - if (WITHIN(HMI_flag.feedspeed_flag, X_AXIS, E_AXIS)) - planner.set_max_feedrate(HMI_flag.feedspeed_flag, HMI_ValueStruct.Max_Feedspeed); + EncoderRate.enabled = false; + if (WITHIN(HMI_flag.feedspeed_axis, X_AXIS, E_AXIS)) + planner.set_max_feedrate(HMI_flag.feedspeed_axis, HMI_ValueStruct.Max_Feedspeed); DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); return; } // MaxFeedspeed limit - if (WITHIN(HMI_flag.feedspeed_flag, X_AXIS, E_AXIS)) - NOMORE(HMI_ValueStruct.Max_Feedspeed, default_max_feedrate[HMI_flag.feedspeed_flag] * 2); + if (WITHIN(HMI_flag.feedspeed_axis, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Feedspeed, default_max_feedrate[HMI_flag.feedspeed_axis] * 2); if (HMI_ValueStruct.Max_Feedspeed < MIN_MAXFEEDSPEED) HMI_ValueStruct.Max_Feedspeed = MIN_MAXFEEDSPEED; // MaxFeedspeed value DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); } } -void HMI_MaxAccelerationXYZE(void) { +void HMI_MaxAccelerationXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.Max_Acceleration += EncoderRate.encoderMoveValue;} else if (encoder_diffState == ENCODER_DIFF_CCW) { HMI_ValueStruct.Max_Acceleration -= EncoderRate.encoderMoveValue;} else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = MaxAcceleration; - EncoderRate.encoderRateEnabled = 0; - if (HMI_flag.acc_flag == X_AXIS) planner.set_max_acceleration(X_AXIS, HMI_ValueStruct.Max_Acceleration); - else if (HMI_flag.acc_flag == Y_AXIS) planner.set_max_acceleration(Y_AXIS, HMI_ValueStruct.Max_Acceleration); - else if (HMI_flag.acc_flag == Z_AXIS) planner.set_max_acceleration(Z_AXIS, HMI_ValueStruct.Max_Acceleration); + EncoderRate.enabled = false; + if (HMI_flag.acc_axis == X_AXIS) planner.set_max_acceleration(X_AXIS, HMI_ValueStruct.Max_Acceleration); + else if (HMI_flag.acc_axis == Y_AXIS) planner.set_max_acceleration(Y_AXIS, HMI_ValueStruct.Max_Acceleration); + else if (HMI_flag.acc_axis == Z_AXIS) planner.set_max_acceleration(Z_AXIS, HMI_ValueStruct.Max_Acceleration); #if HAS_HOTEND - else if (HMI_flag.acc_flag == E_AXIS) planner.set_max_acceleration(E_AXIS, HMI_ValueStruct.Max_Acceleration); + else if (HMI_flag.acc_axis == E_AXIS) planner.set_max_acceleration(E_AXIS, HMI_ValueStruct.Max_Acceleration); #endif DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); return; } // MaxAcceleration limit - if (WITHIN(HMI_flag.acc_flag, X_AXIS, E_AXIS)) - NOMORE(HMI_ValueStruct.Max_Acceleration, default_max_acceleration[HMI_flag.acc_flag] * 2); + if (WITHIN(HMI_flag.acc_axis, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Acceleration, default_max_acceleration[HMI_flag.acc_axis] * 2); if (HMI_ValueStruct.Max_Acceleration < MIN_MAXACCELERATION) HMI_ValueStruct.Max_Acceleration = MIN_MAXACCELERATION; // MaxAcceleration value DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); } } -void HMI_MaxJerkXYZE(void) { - ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); - if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Max_Jerk += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Max_Jerk -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return - checkkey = MaxJerk; - EncoderRate.encoderRateEnabled = 0; - if (HMI_flag.jerk_flag == X_AXIS) planner.set_max_jerk(X_AXIS, HMI_ValueStruct.Max_Jerk / 10); - else if (HMI_flag.jerk_flag == Y_AXIS) planner.set_max_jerk(Y_AXIS, HMI_ValueStruct.Max_Jerk / 10); - else if (HMI_flag.jerk_flag == Z_AXIS) planner.set_max_jerk(Z_AXIS, HMI_ValueStruct.Max_Jerk / 10); - else if (HMI_flag.jerk_flag == E_AXIS) planner.set_max_jerk(E_AXIS, HMI_ValueStruct.Max_Jerk / 10); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - return; +#if HAS_CLASSIC_JERK + + void HMI_MaxJerkXYZE() { + ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); + if (encoder_diffState != ENCODER_DIFF_NO) { + if (encoder_diffState == ENCODER_DIFF_CW) + HMI_ValueStruct.Max_Jerk += EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_CCW) + HMI_ValueStruct.Max_Jerk -= EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + checkkey = MaxJerk; + EncoderRate.enabled = false; + if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) + planner.set_max_jerk(HMI_flag.step_axis, HMI_ValueStruct.Max_Jerk / 10); + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + return; + } + // MaxJerk limit + if (WITHIN(HMI_flag.jerk_axis, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[HMI_flag.jerk_axis] * 2 * MINUNITMULT); + NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXJERK) * MINUNITMULT); + // MaxJerk value + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); } - // MaxJerk limit - if (HMI_flag.jerk_flag == X_AXIS) - NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[X_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.jerk_flag == Y_AXIS) - NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[Y_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.jerk_flag == Z_AXIS) - NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[Z_AXIS] * 2 * MINUNITMULT); - else if (HMI_flag.jerk_flag == E_AXIS) - NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[E_AXIS] * 2 * MINUNITMULT); - NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXJERK) * MINUNITMULT); - // MaxJerk value - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); } -} -void HMI_StepXYZE(void) { +#endif // HAS_CLASSIC_JERK + +void HMI_StepXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_CW) { @@ -1450,71 +1589,100 @@ void HMI_StepXYZE(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return checkkey = Step; - EncoderRate.encoderRateEnabled = 0; - if (WITHIN(HMI_flag.step_flag, X_AXIS, E_AXIS)) - planner.settings.axis_steps_per_mm[HMI_flag.step_flag] = HMI_ValueStruct.Max_Step / 10; + EncoderRate.enabled = false; + if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) + planner.settings.axis_steps_per_mm[HMI_flag.step_axis] = HMI_ValueStruct.Max_Step / 10; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); return; } // Step limit - if (WITHIN(HMI_flag.step_flag, X_AXIS, E_AXIS)) - NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[HMI_flag.step_flag] * 2 * MINUNITMULT); + if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) + NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[HMI_flag.step_axis] * 2 * MINUNITMULT); NOLESS(HMI_ValueStruct.Max_Step, MIN_STEP); // Step value DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); } } -void update_variable(void) { +void update_variable() { + #if HAS_HOTEND + static float last_temp_hotend_target = 0, last_temp_hotend_current = 0; + #endif + #if HAS_HEATED_BED + static float last_temp_bed_target = 0, last_temp_bed_current = 0; + #endif + #if HAS_FAN + static uint8_t last_fan_speed = 0; + #endif + /* Tune page temperature update */ if (checkkey == Tune) { - if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2 + MROWS - index_tune), thermalManager.temp_hotend[0].target); - if (last_temp_bed_target != thermalManager.temp_bed.target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3 + MROWS - index_tune), thermalManager.temp_bed.target); - if (last_fan_speed != thermalManager.fan_speed[0]) { - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(4 + MROWS - index_tune), thermalManager.fan_speed[0]); - last_fan_speed = thermalManager.fan_speed[0]; - } + #if HAS_HOTEND + if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); + #endif + #if HAS_HEATED_BED + if (last_temp_bed_target != thermalManager.temp_bed.target) + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); + #endif + #if HAS_FAN + if (last_fan_speed != thermalManager.fan_speed[0]) { + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); + last_fan_speed = thermalManager.fan_speed[0]; + } + #endif } /* Temperature page temperature update */ if (checkkey == TemperatureID) { - if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); - if (last_temp_bed_target != thermalManager.temp_bed.target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), thermalManager.temp_bed.target); - if (last_fan_speed != thermalManager.fan_speed[0]) { - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), thermalManager.fan_speed[0]); - last_fan_speed = thermalManager.fan_speed[0]; - } + #if HAS_HOTEND + if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_TEMP), thermalManager.temp_hotend[0].target); + #endif + #if HAS_HEATED_BED + if (last_temp_bed_target != thermalManager.temp_bed.target) + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_BED), thermalManager.temp_bed.target); + #endif + #if HAS_FAN + if (last_fan_speed != thermalManager.fan_speed[0]) { + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_FAN), thermalManager.fan_speed[0]); + last_fan_speed = thermalManager.fan_speed[0]; + } + #endif } /* Bottom temperature update */ - if (last_temp_hotend_current != thermalManager.temp_hotend[0].celsius) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); - last_temp_hotend_current = thermalManager.temp_hotend[0].celsius; - } - if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); - last_temp_hotend_target = thermalManager.temp_hotend[0].target; - } - if (last_temp_bed_current != thermalManager.temp_bed.celsius) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); - last_temp_bed_current = thermalManager.temp_bed.celsius; - } - if (last_temp_bed_target != thermalManager.temp_bed.target) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); - last_temp_bed_target = thermalManager.temp_bed.target; - } + #if HAS_HOTEND + if (last_temp_hotend_current != thermalManager.temp_hotend[0].celsius) { + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); + last_temp_hotend_current = thermalManager.temp_hotend[0].celsius; + } + if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) { + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); + last_temp_hotend_target = thermalManager.temp_hotend[0].target; + } + #endif + #if HAS_HEATED_BED + if (last_temp_bed_current != thermalManager.temp_bed.celsius) { + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); + last_temp_bed_current = thermalManager.temp_bed.celsius; + } + if (last_temp_bed_target != thermalManager.temp_bed.target) { + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); + last_temp_bed_target = thermalManager.temp_bed.target; + } + #endif + static uint16_t last_speed = 0; if (last_speed != feedrate_percentage) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); last_speed = feedrate_percentage; } - if (last_zoffset != BABY_Z_VAR) { - DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, BABY_Z_VAR * 100); - last_zoffset = BABY_Z_VAR; - } + #if HAS_ZOFFSET_ITEM + if (last_zoffset != BABY_Z_VAR) { + DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, BABY_Z_VAR * 100); + last_zoffset = BABY_Z_VAR; + } + #endif } /** @@ -1553,38 +1721,37 @@ inline void make_name_without_ext(char *dst, char *src, size_t maxlen=MENU_CHAR_ while (pos--) dst[pos] = src[pos]; } -inline void HMI_SDCardInit(void) { card.cdroot(); } +inline void HMI_SDCardInit() { card.cdroot(); } -void MarlinUI::refresh() { - // The card was mounted or unmounted - // or some other status change occurred - // DWIN_lcd_sd_status = false; // On next DWIN_Update - // HMI_SDCardUpdate(); -} +void MarlinUI::refresh() { /* Nothing to see here */ } #define ICON_Folder ICON_More -char shift_name[LONG_FILENAME_LENGTH + 1]; -int8_t shift_amt; // = 0 -millis_t shift_ms; // = 0 +#if ENABLED(SCROLL_LONG_FILENAMES) -// Init the shift name based on the highlighted item -inline void Init_Shift_Name() { - const bool is_subdir = !card.flag.workDirIsRoot; - const int8_t filenum = select_file.now - 1 - is_subdir; // Skip "Back" and ".." - const uint16_t fileCnt = card.get_num_Files(); - if (WITHIN(filenum, 0, fileCnt - 1)) { - card.getfilename_sorted(SD_ORDER(filenum, fileCnt)); - char * const name = card.longest_filename(); - make_name_without_ext(shift_name, name, 100); + char shift_name[LONG_FILENAME_LENGTH + 1]; + int8_t shift_amt; // = 0 + millis_t shift_ms; // = 0 + + // Init the shift name based on the highlighted item + inline void Init_Shift_Name() { + const bool is_subdir = !card.flag.workDirIsRoot; + const int8_t filenum = select_file.now - 1 - is_subdir; // Skip "Back" and ".." + const uint16_t fileCnt = card.get_num_Files(); + if (WITHIN(filenum, 0, fileCnt - 1)) { + card.getfilename_sorted(SD_ORDER(filenum, fileCnt)); + char * const name = card.longest_filename(); + make_name_without_ext(shift_name, name, 100); + } } -} -inline void Init_SDItem_Shift() { - shift_amt = 0; - shift_ms = select_file.now > 0 && strlen(shift_name) > MENU_CHAR_LIMIT - ? millis() + 750UL : 0; -} + inline void Init_SDItem_Shift() { + shift_amt = 0; + shift_ms = select_file.now > 0 && strlen(shift_name) > MENU_CHAR_LIMIT + ? millis() + 750UL : 0; + } + +#endif /** * Display an SD item, adding a CDUP for subfolders. @@ -1600,37 +1767,42 @@ inline void Draw_SDItem(const uint16_t item, int16_t row=-1) { card.getfilename_sorted(item - is_subdir); char * const name = card.longest_filename(); - // Init the current selected name - // This is used during scroll drawing - if (item == select_file.now - 1) { - make_name_without_ext(shift_name, name, 100); - Init_SDItem_Shift(); - } + #if ENABLED(SCROLL_LONG_FILENAMES) + // Init the current selected name + // This is used during scroll drawing + if (item == select_file.now - 1) { + make_name_without_ext(shift_name, name, 100); + Init_SDItem_Shift(); + } + #endif + // Draw the file/folder with name aligned left char str[strlen(name) + 1]; - make_name_without_ext(str, name); - Draw_Menu_Line(row, card.flag.filenameIsDir ? ICON_Folder : ICON_File, str); } -inline void Draw_SDItem_Shifted(int8_t &shift) { - // Limit to the number of chars past the cutoff - const size_t len = strlen(shift_name); - NOMORE(shift, _MAX((signed)len - MENU_CHAR_LIMIT, 0)); +#if ENABLED(SCROLL_LONG_FILENAMES) - // Shorten to the available space - const size_t lastchar = _MIN((signed)len, shift + MENU_CHAR_LIMIT); + inline void Draw_SDItem_Shifted(int8_t &shift) { + // Limit to the number of chars past the cutoff + const size_t len = strlen(shift_name); + NOMORE(shift, _MAX((signed)len - MENU_CHAR_LIMIT, 0)); - const char c = shift_name[lastchar]; - shift_name[lastchar] = '\0'; + // Shorten to the available space + const size_t lastchar = _MIN((signed)len, shift + MENU_CHAR_LIMIT); - const uint8_t row = select_file.now + MROWS - index_file; // skip "Back" and scroll - Erase_Menu_Text(row); - Draw_Menu_Line(row, 0, &shift_name[shift]); + const char c = shift_name[lastchar]; + shift_name[lastchar] = '\0'; - shift_name[lastchar] = c; -} + const uint8_t row = select_file.now + MROWS - index_file; // skip "Back" and scroll + Erase_Menu_Text(row); + Draw_Menu_Line(row, 0, &shift_name[shift]); + + shift_name[lastchar] = c; + } + +#endif // Redraw the first set of SD Files inline void Redraw_SD_List() { @@ -1645,10 +1817,12 @@ inline void Redraw_SD_List() { LOOP_L_N(i, _MIN(nr_sd_menu_items(), MROWS)) Draw_SDItem(i, i + 1); - Init_SDItem_Shift(); + TERN_(SCROLL_LONG_FILENAMES, Init_SDItem_Shift()); } -inline void SDCard_Up(void) { +bool DWIN_lcd_sd_status = false; + +inline void SDCard_Up() { card.cdup(); Redraw_SD_List(); DWIN_lcd_sd_status = false; // On next DWIN_Update @@ -1663,7 +1837,7 @@ inline void SDCard_Folder(char * const dirname) { // // Watch for media mount / unmount // -void HMI_SDCardUpdate(void) { +void HMI_SDCardUpdate() { if (HMI_flag.home_flag) return; if (DWIN_lcd_sd_status != card.isMounted()) { DWIN_lcd_sd_status = card.isMounted(); @@ -1681,40 +1855,50 @@ void HMI_SDCardUpdate(void) { // TODO: Move card removed abort handling // to CardReader::manage_media. card.flag.abort_sd_printing = true; - wait_for_heatup = false; - abort_flag = true; + wait_for_heatup = false; + dwin_abort_flag = true; } } DWIN_UpdateLCD(); } } -/* Start */ +/* Start Frame */ + void HMI_StartFrame(const bool with_update) { Goto_MainMenu(); - DWIN_Draw_Rectangle(1, Background_black, 0, 360, DWIN_WIDTH, DWIN_HEIGHT - 1); + // Clear the bottom area of the screen + DWIN_Draw_Rectangle(1, Background_black, 0, STATUS_Y, DWIN_WIDTH, DWIN_HEIGHT - 1); - DWIN_ICON_Show(ICON, ICON_HotendTemp, 13, 381); + // + // Status Area + // + #if HAS_HOTEND + DWIN_ICON_Show(ICON, ICON_HotendTemp, 13, 381); + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); + #endif #if HOTENDS > 1 // DWIN_ICON_Show(ICON,ICON_HotendTemp, 13, 381); #endif - DWIN_ICON_Show(ICON, ICON_BedTemp, 158, 381); - DWIN_ICON_Show(ICON, ICON_Speed, 13, 429); - DWIN_ICON_Show(ICON, ICON_Zoffset, 158, 428); - // Draw initial Status Area - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); + #if HAS_HEATED_BED + DWIN_ICON_Show(ICON, ICON_BedTemp, 158, 381); + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); + DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); + DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); + #endif + DWIN_ICON_Show(ICON, ICON_Speed, 13, 429); DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 5 * STAT_CHR_W + 2, 429, F("%")); - DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); + #if HAS_ZOFFSET_ITEM + DWIN_ICON_Show(ICON, ICON_Zoffset, 158, 428); + DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); + #endif if (with_update) { DWIN_UpdateLCD(); @@ -1774,12 +1958,12 @@ inline void Draw_Print_File_Menu() { } /* Main Process */ -void HMI_MainMenu(void) { +void HMI_MainMenu() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_page.inc(3)) { + if (select_page.inc(4)) { switch (select_page.now) { case 0: ICON_Print(); break; case 1: ICON_Print(); ICON_Prepare(); break; @@ -1834,27 +2018,29 @@ void HMI_MainMenu(void) { } // Select (and Print) File -void HMI_SelectFile(void) { +void HMI_SelectFile() { ENCODER_DiffState encoder_diffState = get_encoder_state(); const uint16_t hasUpDir = !card.flag.workDirIsRoot; if (encoder_diffState == ENCODER_DIFF_NO) { - if (shift_ms && select_file.now >= 1 + hasUpDir) { - // Scroll selected filename every second - const millis_t ms = millis(); - if (ELAPSED(ms, shift_ms)) { - const bool was_reset = shift_amt < 0; - shift_ms = ms + 375UL + was_reset * 250UL; // ms per character - int8_t shift_new = shift_amt + 1; // Try to shift by... - Draw_SDItem_Shifted(shift_new); // Draw the item - if (!was_reset && shift_new == 0) // Was it limited to 0? - shift_ms = 0; // No scrolling needed - else if (shift_new == shift_amt) // Scroll reached the end - shift_new = -1; // Reset - shift_amt = shift_new; // Set new scroll + #if ENABLED(SCROLL_LONG_FILENAMES) + if (shift_ms && select_file.now >= 1 + hasUpDir) { + // Scroll selected filename every second + const millis_t ms = millis(); + if (ELAPSED(ms, shift_ms)) { + const bool was_reset = shift_amt < 0; + shift_ms = ms + 375UL + was_reset * 250UL; // ms per character + int8_t shift_new = shift_amt + 1; // Try to shift by... + Draw_SDItem_Shifted(shift_new); // Draw the item + if (!was_reset && shift_new == 0) // Was it limited to 0? + shift_ms = 0; // No scrolling needed + else if (shift_new == shift_amt) // Scroll reached the end + shift_new = -1; // Reset + shift_amt = shift_new; // Set new scroll + } } - } + #endif return; } @@ -1864,10 +2050,10 @@ void HMI_SelectFile(void) { const uint16_t fullCnt = nr_sd_menu_items(); if (encoder_diffState == ENCODER_DIFF_CW && fullCnt) { - if (select_file.inc(fullCnt)) { + if (select_file.inc(1 + fullCnt)) { const uint8_t itemnum = select_file.now - 1; // -1 for "Back" - if (shift_ms) { // If line was shifted - Erase_Menu_Text(select_file.now - 1 + MROWS - index_file); // Erase and + if (TERN0(SCROLL_LONG_FILENAMES, shift_ms)) { // If line was shifted + Erase_Menu_Text(itemnum + MROWS - index_file); // Erase and Draw_SDItem(itemnum - 1); // redraw } if (select_file.now > MROWS && select_file.now > index_file) { // Cursor past the bottom @@ -1877,15 +2063,15 @@ void HMI_SelectFile(void) { } else { Move_Highlight(1, select_file.now + MROWS - index_file); // Just move highlight - Init_Shift_Name(); // ...and init the shift name + TERN_(SCROLL_LONG_FILENAMES, Init_Shift_Name()); // ...and init the shift name } - Init_SDItem_Shift(); + TERN_(SCROLL_LONG_FILENAMES, Init_SDItem_Shift()); } } else if (encoder_diffState == ENCODER_DIFF_CCW && fullCnt) { if (select_file.dec()) { const uint8_t itemnum = select_file.now - 1; // -1 for "Back" - if (shift_ms) { // If line was shifted + if (TERN0(SCROLL_LONG_FILENAMES, shift_ms)) { // If line was shifted Erase_Menu_Text(select_file.now + 1 + MROWS - index_file); // Erase and Draw_SDItem(itemnum + 1); // redraw } @@ -1894,7 +2080,7 @@ void HMI_SelectFile(void) { Scroll_Menu(DWIN_SCROLL_DOWN); if (index_file == MROWS) { Draw_Back_First(); - shift_ms = 0; + TERN_(SCROLL_LONG_FILENAMES, shift_ms = 0); } else { Draw_SDItem(itemnum, 0); // Draw the item (and init shift name) @@ -1902,19 +2088,17 @@ void HMI_SelectFile(void) { } else { Move_Highlight(-1, select_file.now + MROWS - index_file); // Just move highlight - Init_Shift_Name(); // ...and init the shift name + TERN_(SCROLL_LONG_FILENAMES, Init_Shift_Name()); // ...and init the shift name } - Init_SDItem_Shift(); // Reset left. Init timer. + TERN_(SCROLL_LONG_FILENAMES, Init_SDItem_Shift()); // Reset left. Init timer. } } else if (encoder_diffState == ENCODER_DIFF_ENTER) { - if (select_file.now == 0) { - /* back */ + if (select_file.now == 0) { // Back select_page.set(0); Goto_MainMenu(); } - else if (hasUpDir && select_file.now == 1) { - /* CDUP */ + else if (hasUpDir && select_file.now == 1) { // CD-Up SDCard_Up(); goto HMI_SelectFileExit; } @@ -1933,8 +2117,8 @@ void HMI_SelectFile(void) { select_file.reset(); // Start choice and print SD file - HMI_flag.heat_flag = 1; - HMI_flag.print_finish = 0; + HMI_flag.heat_flag = true; + HMI_flag.print_finish = false; HMI_ValueStruct.show_mode = 0; card.openAndPrintFile(card.filename); @@ -1954,21 +2138,21 @@ void HMI_SelectFile(void) { } /* Printing */ -void HMI_Printing(void) { +void HMI_Printing() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; - if (HMI_flag.confirm_flag) { + if (HMI_flag.done_confirm_flag) { if (encoder_diffState == ENCODER_DIFF_ENTER) { - HMI_flag.confirm_flag = 0; - abort_flag = 1; + HMI_flag.done_confirm_flag = false; + dwin_abort_flag = true; } return; } // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_print.inc(2)) { + if (select_print.inc(3)) { switch (select_print.now) { case 0: ICON_Tune(); break; case 1: @@ -1999,15 +2183,14 @@ void HMI_Printing(void) { } else if (encoder_diffState == ENCODER_DIFF_ENTER) { switch (select_print.now) { - case 0: // Setting + case 0: // Tune checkkey = Tune; HMI_ValueStruct.show_mode = 0; select_tune.reset(); - index_tune = 5; + index_tune = MROWS; Draw_Tune_Menu(); break; case 1: // Pause - /* pause */ if (HMI_flag.pause_flag) { ICON_Pause(); @@ -2015,23 +2198,26 @@ void HMI_Printing(void) { cmd[0] = '\0'; #if ENABLED(PAUSE_HEAT) - if (tempbed) sprintf_P(cmd, PSTR("M190 S%i\n"), tempbed); - if (temphot) sprintf_P(&cmd[strlen(cmd)], PSTR("M109 S%i\n"), temphot); + #if HAS_HEATED_BED + if (tempbed) sprintf_P(cmd, PSTR("M190 S%i\n"), tempbed); + #endif + #if HAS_HOTEND + if (temphot) sprintf_P(&cmd[strlen(cmd)], PSTR("M109 S%i\n"), temphot); + #endif #endif strcat_P(cmd, PSTR("M24")); queue.inject(cmd); } else { - HMI_flag.select_flag = 1; + HMI_flag.select_flag = true; checkkey = Print_window; Popup_window_PauseOrStop(); } break; case 2: // Stop - /* stop */ - HMI_flag.select_flag = 1; + HMI_flag.select_flag = true; checkkey = Print_window; Popup_window_PauseOrStop(); break; @@ -2043,7 +2229,7 @@ void HMI_Printing(void) { } /* Pause and Stop window */ -void HMI_PauseOrStop(void) { +void HMI_PauseOrStop() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; @@ -2056,7 +2242,7 @@ void HMI_PauseOrStop(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { if (select_print.now == 1) { // pause window if (HMI_flag.select_flag) { - pause_action_flag = 1; + HMI_flag.pause_action = true; ICON_Continue(); #if ENABLED(POWER_LOSS_RECOVERY) if (recovery.enabled) recovery.save(true); @@ -2084,10 +2270,10 @@ void HMI_PauseOrStop(void) { host_action_cancel(); #endif #ifdef EVENT_GCODE_SD_ABORT - Popup_Window_Home(); + Popup_Window_Home(true); queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); #endif - abort_flag = true; + dwin_abort_flag = true; #endif } else { @@ -2114,20 +2300,20 @@ inline void Draw_Move_Menu() { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOVE_AXIS)); #else - DWIN_Frame_TitleCopy(1, 231, 2, 265, 12); // "Move" + DWIN_Frame_TitleCopy(1, 231, 2, 265, 12); // "Move" #endif draw_move_en(MBASE(1)); say_x(36, MBASE(1)); // "Move X" draw_move_en(MBASE(2)); say_y(36, MBASE(2)); // "Move Y" draw_move_en(MBASE(3)); say_z(36, MBASE(3)); // "Move Z" #if HAS_HOTEND - DWIN_Frame_AreaCopy(1, 123, 192, 176, 202, LBLX, MBASE(4)); // "Extruder" + DWIN_Frame_AreaCopy(1, 123, 192, 176, 202, LBLX, MBASE(4)); // "Extruder" #endif } Draw_Back_First(select_axis.now == 0); if (select_axis.now) Draw_Menu_Cursor(select_axis.now); - // Draw separators so it looks like a menu + // Draw separators and icons LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MoveX + i); } @@ -2144,13 +2330,13 @@ void HMI_AudioFeedback(const bool success=true) { } /* Prepare */ -void HMI_Prepare(void) { +void HMI_Prepare() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_prepare.inc(8)) { + if (select_prepare.inc(1 + PREPARE_CASE_TOTAL)) { if (select_prepare.now > MROWS && select_prepare.now > index_prepare) { index_prepare = select_prepare.now; @@ -2161,9 +2347,13 @@ void HMI_Prepare(void) { // Draw "More" icon for sub-menus if (index_prepare < 7) Draw_More_Icon(MROWS - index_prepare + 1); - if (index_prepare == 6) Prepare_Item_ABS(MROWS); - else if (index_prepare == 7) Prepare_Item_Cool(MROWS); - else if (index_prepare == 8) Prepare_Item_Lang(MROWS); + #if HAS_HOTEND + if (index_prepare == PREPARE_CASE_ABS) Item_Prepare_ABS(MROWS); + #endif + #if HAS_PREHEAT + if (index_prepare == PREPARE_CASE_COOL) Item_Prepare_Cool(MROWS); + #endif + if (index_prepare == PREPARE_CASE_LANG) Item_Prepare_Lang(MROWS); } else { Move_Highlight(1, select_prepare.now + MROWS - index_prepare); @@ -2183,9 +2373,9 @@ void HMI_Prepare(void) { if (index_prepare < 7) Draw_More_Icon(MROWS - index_prepare + 1); - if (index_prepare == 6) Prepare_Item_Move(0); - else if (index_prepare == 7) Prepare_Item_Disable(0); - else if (index_prepare == 8) Prepare_Item_Home(0); + if (index_prepare == 6) Item_Prepare_Move(0); + else if (index_prepare == 7) Item_Prepare_Disable(0); + else if (index_prepare == 8) Item_Prepare_Home(0); } else { Move_Highlight(-1, select_prepare.now + MROWS - index_prepare); @@ -2198,67 +2388,66 @@ void HMI_Prepare(void) { select_page.set(1); Goto_MainMenu(); break; - case 1: // axis move + case PREPARE_CASE_MOVE: // Axis move checkkey = AxisMove; select_axis.reset(); Draw_Move_Menu(); - queue.inject_P(PSTR("G92 E0")); - current_position.e = HMI_ValueStruct.Move_E_scale = 0; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), current_position.x * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), current_position.y * MINUNITMULT); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), current_position.z * MINUNITMULT); #if HAS_HOTEND - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), current_position.e * MINUNITMULT); + queue.inject_P(PSTR("G92 E0")); + current_position.e = HMI_ValueStruct.Move_E_scale = 0; + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), 0); #endif break; - case 2: // close motion + case PREPARE_CASE_DISA: // Disable steppers queue.inject_P(PSTR("M84")); break; - case 3: // homing + case PREPARE_CASE_HOME: // Homing checkkey = Last_Prepare; index_prepare = MROWS; queue.inject_P(PSTR("G28")); // G28 will set home_flag Popup_Window_Home(); break; - case 4: // Z-offset - #if HAS_BED_PROBE - checkkey = Homeoffset; - HMI_ValueStruct.show_mode = -4; - HMI_ValueStruct.offset_value = probe.offset.z * 100; - DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(4 + MROWS - index_prepare), HMI_ValueStruct.offset_value); - EncoderRate.encoderRateEnabled = 1; - #else - // Apply workspace offset, making the current position 0,0,0 - queue.inject_P(PSTR("G92 X0 Y0 Z0")); - HMI_AudioFeedback(); - #endif - break; - case 5: // PLA preheat - thermalManager.setTargetHotend(ui.material_preset[0].hotend_temp, 0); - thermalManager.setTargetBed(ui.material_preset[0].bed_temp); - thermalManager.set_fan_speed(0, ui.material_preset[0].fan_speed); - break; - case 6: // ABS preheat - thermalManager.setTargetHotend(ui.material_preset[1].hotend_temp, 0); - thermalManager.setTargetBed(ui.material_preset[1].bed_temp); - thermalManager.set_fan_speed(0, ui.material_preset[1].fan_speed); - break; - case 7: // cool - thermalManager.zero_fan_speeds(); - thermalManager.disable_all_heaters(); - break; - case 8: // language - /* select language */ - HMI_flag.language_chinese ^= true; - if (HMI_flag.language_chinese) { - HMI_SetAndSaveLanguageChinese(); - DWIN_JPG_CacheTo1(Language_Chinese); - } - else { - HMI_SetAndSaveLanguageWestern(); - DWIN_JPG_CacheTo1(Language_English); - } + #if HAS_ZOFFSET_ITEM + case PREPARE_CASE_ZOFF: // Z-offset + #if EITHER(HAS_BED_PROBE, BABYSTEPPING) + checkkey = Homeoffset; + HMI_ValueStruct.show_mode = -4; + HMI_ValueStruct.offset_value = BABY_Z_VAR * 100; + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(PREPARE_CASE_ZOFF + MROWS - index_prepare), HMI_ValueStruct.offset_value); + EncoderRate.enabled = true; + #else + // Apply workspace offset, making the current position 0,0,0 + queue.inject_P(PSTR("G92 X0 Y0 Z0")); + HMI_AudioFeedback(); + #endif + break; + #endif + #if HAS_HOTEND + case PREPARE_CASE_PLA: // PLA preheat + thermalManager.setTargetHotend(ui.material_preset[0].hotend_temp, 0); + thermalManager.setTargetBed(ui.material_preset[0].bed_temp); + thermalManager.set_fan_speed(0, ui.material_preset[0].fan_speed); + break; + case PREPARE_CASE_ABS: // ABS preheat + thermalManager.setTargetHotend(ui.material_preset[1].hotend_temp, 0); + thermalManager.setTargetBed(ui.material_preset[1].bed_temp); + thermalManager.set_fan_speed(0, ui.material_preset[1].fan_speed); + break; + #endif + #if HAS_PREHEAT + case PREPARE_CASE_COOL: // Cool + TERN_(HAS_FAN, thermalManager.zero_fan_speeds()); + #if HAS_HOTEND || HAS_HEATED_BED + thermalManager.disable_all_heaters(); + #endif + break; + #endif + case PREPARE_CASE_LANG: // Toggle Language + HMI_ToggleLanguage(); Draw_Prepare_Menu(); break; default: break; @@ -2271,72 +2460,108 @@ void Draw_Temperature_Menu() { Clear_Main_Window(); if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 236, 2, 263, 13, 14, 8); - - DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 100, 89, 178, 101, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 180, 89, 260, 100, LBLX, MBASE(5)); + DWIN_Frame_TitleCopy(1, 236, 2, 263, 13); // "Temperature" + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(TEMP_CASE_TEMP)); + #endif + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX, MBASE(TEMP_CASE_BED)); + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX, MBASE(TEMP_CASE_FAN)); + #endif + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 100, 89, 178, 101, LBLX, MBASE(TEMP_CASE_PLA)); + DWIN_Frame_AreaCopy(1, 180, 89, 260, 100, LBLX, MBASE(TEMP_CASE_ABS)); + #endif } else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("PLA Preheat Settings")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(5), F("ABS Preheat Settings")); + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + #endif + #if HAS_HEATED_BED + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + #endif + #if HAS_FAN + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + #endif + #if HAS_HOTEND + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_PLA), F("PLA Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_ABS), F("ABS Preheat Settings")); + #endif #else - DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); - DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(1)); // Nozzle... - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(1)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(2)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(3)); // Fan speed - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(4)); // Preheat... - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(4)); // ...PLA - DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 79, MBASE(4)); // PLA setting - DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(5)); // Preheat... - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(5)); // ...ABS - DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 81, MBASE(5)); // ABS setting + DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "Temperature" + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX, MBASE(TEMP_CASE_TEMP)); // Nozzle... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 44, MBASE(TEMP_CASE_TEMP)); // ...Temperature + #endif + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX, MBASE(TEMP_CASE_BED)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 27, MBASE(TEMP_CASE_BED)); // ...Temperature + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX, MBASE(TEMP_CASE_FAN)); // Fan speed + #endif + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(TEMP_CASE_PLA)); // Preheat... + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX + 52, MBASE(TEMP_CASE_PLA)); // ...PLA + DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 79, MBASE(TEMP_CASE_PLA)); // PLA setting + DWIN_Frame_AreaCopy(1, 107, 76, 156, 86, LBLX, MBASE(TEMP_CASE_ABS)); // Preheat... + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 52, MBASE(TEMP_CASE_ABS)); // ...ABS + DWIN_Frame_AreaCopy(1, 131, 119, 182, 132, LBLX + 81, MBASE(TEMP_CASE_ABS)); // ABS setting + #endif #endif } Draw_Back_First(select_temp.now == 0); if (select_temp.now) Draw_Menu_Cursor(select_temp.now); - LOOP_L_N(i, 5) Draw_Menu_Line(i + 1, ICON_SetEndTemp + i); - - Draw_More_Icon(4); - Draw_More_Icon(5); - - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), thermalManager.temp_bed.target); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), thermalManager.fan_speed[0]); + // Draw icons and lines + uint8_t i = 0; + #define _TMENU_ICON(N) Draw_Menu_Line(++i, ICON_SetEndTemp + (N) - 1) + #if HAS_HOTEND + _TMENU_ICON(TEMP_CASE_TEMP); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.temp_hotend[0].target); + #endif + #if HAS_HEATED_BED + _TMENU_ICON(TEMP_CASE_BED); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.temp_bed.target); + #endif + #if HAS_FAN + _TMENU_ICON(TEMP_CASE_FAN); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.fan_speed[0]); + #endif + #if HAS_HOTEND + // PLA/ABS items have submenus + _TMENU_ICON(TEMP_CASE_PLA); + Draw_More_Icon(i); + _TMENU_ICON(TEMP_CASE_ABS); + Draw_More_Icon(i); + #endif } /* Control */ -void HMI_Control(void) { +void HMI_Control() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - #define CONTROL_ITEMS (5 + ENABLED(HAS_ONESTEP_LEVELING)) - if (select_control.inc(CONTROL_ITEMS)) { + if (select_control.inc(1 + CONTROL_CASE_TOTAL)) { if (select_control.now > MROWS && select_control.now > index_control) { index_control = select_control.now; Scroll_Menu(DWIN_SCROLL_UP); - Draw_Menu_Icon(MROWS, ICON_Temperature + select_control.now - 1); - Draw_More_Icon(1 + MROWS - index_control); // Temperature > - Draw_More_Icon(2 + MROWS - index_control); // Motion > + Draw_Menu_Icon(MROWS, ICON_Temperature + index_control - 1); + Draw_More_Icon(CONTROL_CASE_TEMP + MROWS - index_control); // Temperature > + Draw_More_Icon(CONTROL_CASE_MOVE + MROWS - index_control); // Motion > if (index_control > MROWS) { - Draw_More_Icon(6 + MROWS - index_control); // Info > + Draw_More_Icon(CONTROL_CASE_INFO + MROWS - index_control); // Info > if (HMI_flag.language_chinese) - DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, MBASE(CONTROL_CASE_INFO - 1)); else - DWIN_Frame_AreaCopy(1, 0, 104, 24, 114, LBLX, MBASE(5)); + DWIN_Frame_AreaCopy(1, 0, 104, 24, 114, LBLX, MBASE(CONTROL_CASE_INFO - 1)); } } else { @@ -2367,33 +2592,32 @@ void HMI_Control(void) { select_page.set(2); Goto_MainMenu(); break; - case 1: // temperature + case CONTROL_CASE_TEMP: // Temperature checkkey = TemperatureID; HMI_ValueStruct.show_mode = -1; select_temp.reset(); Draw_Temperature_Menu(); break; - case 2: // motion + case CONTROL_CASE_MOVE: // Motion checkkey = Motion; select_motion.reset(); Draw_Motion_Menu(); break; - case 3: #if ENABLED(EEPROM_SETTINGS) - { // write EEPROM + case CONTROL_CASE_SAVE: { // Write EEPROM const bool success = settings.save(); HMI_AudioFeedback(success); } break; - case 4: { // read EEPROM + case CONTROL_CASE_LOAD: { // Read EEPROM const bool success = settings.load(); HMI_AudioFeedback(success); } break; - case 5: // resume EEPROM + case CONTROL_CASE_RESET: // Reset EEPROM settings.reset(); HMI_AudioFeedback(); break; - case 6: // info #endif + case CONTROL_CASE_INFO: // Info checkkey = Info; Draw_Info_Menu(); break; @@ -2407,7 +2631,7 @@ void HMI_Control(void) { #if HAS_ONESTEP_LEVELING /* Leveling */ - void HMI_Leveling(void) { + void HMI_Leveling() { Popup_Window_Leveling(); DWIN_UpdateLCD(); queue.inject_P(PSTR("G28O\nG29")); @@ -2416,21 +2640,21 @@ void HMI_Control(void) { #endif /* Axis Move */ -void HMI_AxisMove(void) { +void HMI_AxisMove() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; - #if HAS_HOTEND + #if ENABLED(PREVENT_COLD_EXTRUSION) // popup window resume if (HMI_flag.ETempTooLow_flag) { if (encoder_diffState == ENCODER_DIFF_ENTER) { - HMI_flag.ETempTooLow_flag = 0; - Draw_Move_Menu(); + HMI_flag.ETempTooLow_flag = false; current_position.e = HMI_ValueStruct.Move_E_scale = 0; + Draw_Move_Menu(); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), 0); DWIN_UpdateLCD(); } return; @@ -2439,7 +2663,7 @@ void HMI_AxisMove(void) { // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_axis.inc(4)) Move_Highlight(1, select_axis.now); + if (select_axis.inc(1 + 3 + ENABLED(HAS_HOTEND))) Move_Highlight(1, select_axis.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_axis.dec()) Move_Highlight(-1, select_axis.now); @@ -2456,26 +2680,26 @@ void HMI_AxisMove(void) { checkkey = Move_X; HMI_ValueStruct.Move_X_scale = current_position.x * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; break; case 2: // Y axis move checkkey = Move_Y; HMI_ValueStruct.Move_Y_scale = current_position.y * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; break; case 3: // Z axis move checkkey = Move_Z; HMI_ValueStruct.Move_Z_scale = current_position.z * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; break; #if HAS_HOTEND case 4: // Extruder // window tips #ifdef PREVENT_COLD_EXTRUSION if (thermalManager.temp_hotend[0].celsius < EXTRUDE_MINTEMP) { - HMI_flag.ETempTooLow_flag = 1; + HMI_flag.ETempTooLow_flag = true; Popup_Window_ETempTooLow(); DWIN_UpdateLCD(); return; @@ -2484,7 +2708,7 @@ void HMI_AxisMove(void) { checkkey = Extruder; HMI_ValueStruct.Move_E_scale = current_position.e * MINUNITMULT; DWIN_Draw_Signed_Float(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; break; #endif } @@ -2493,13 +2717,13 @@ void HMI_AxisMove(void) { } /* TemperatureID */ -void HMI_Temperature(void) { +void HMI_Temperature() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_temp.inc(5)) Move_Highlight(1, select_temp.now); + if (select_temp.inc(1 + TEMP_CASE_TOTAL)) Move_Highlight(1, select_temp.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_temp.dec()) Move_Highlight(-1, select_temp.now); @@ -2512,141 +2736,184 @@ void HMI_Temperature(void) { index_control = MROWS; Draw_Control_Menu(); break; - #if HAS_HOTEND - case 1: // nozzle temperature - checkkey = ETemp; - HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - #if HAS_HEATED_BED - case 2: // bed temperature - checkkey = BedTemp; - HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), thermalManager.temp_bed.target); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - #if HAS_FAN - case 3: // fan speed - checkkey = FanSpeed; - HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), thermalManager.fan_speed[0]); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - #if HAS_HOTEND - case 4: // PLA preheat setting - checkkey = PLAPreheat; - select_PLA.reset(); - HMI_ValueStruct.show_mode = -2; - - Clear_Main_Window(); - - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 59, 16, 139, 29, 14, 8); - - DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(1)); // PLA nozzle temp - DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(2)); // PLA bed temp - DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(3)); // PLA fan speed - DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(4)); // save PLA configuration - } - else { - #ifdef USE_STRING_HEADINGS - Draw_Title("PLA Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Nozzle Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Bed Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STORE_EEPROM)); - #else - DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(1)); // PLA nozzle temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(2) + 3); // PLA bed temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(3)); // PLA fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(4)); // save PLA configuration - #endif - } - - Draw_Back_First(); - - Draw_Menu_Line(1, ICON_SetEndTemp); - Draw_Menu_Line(2, ICON_SetBedTemp); - Draw_Menu_Line(3, ICON_FanSpeed); + #if HAS_HOTEND + case TEMP_CASE_TEMP: // Nozzle temperature + checkkey = ETemp; + HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); + EncoderRate.enabled = true; + break; + #endif + #if HAS_HEATED_BED + case TEMP_CASE_BED: // Bed temperature + checkkey = BedTemp; + HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), thermalManager.temp_bed.target); + EncoderRate.enabled = true; + break; + #endif + #if HAS_FAN + case TEMP_CASE_FAN: // Fan speed + checkkey = FanSpeed; + HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), thermalManager.fan_speed[0]); + EncoderRate.enabled = true; + break; + #endif + #if HAS_HOTEND + case TEMP_CASE_PLA: { // PLA preheat setting + checkkey = PLAPreheat; + select_PLA.reset(); + HMI_ValueStruct.show_mode = -2; + + Clear_Main_Window(); + + if (HMI_flag.language_chinese) { + DWIN_Frame_TitleCopy(1, 59, 16, 139, 29); // "PLA Settings" + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(PREHEAT_CASE_TEMP)); // PLA nozzle temp + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(PREHEAT_CASE_BED)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(PREHEAT_CASE_BED)); // PLA bed temp + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(PREHEAT_CASE_FAN)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(PREHEAT_CASE_FAN)); // PLA fan speed + #endif #if ENABLED(EEPROM_SETTINGS) - Draw_Menu_Line(4, ICON_WriteEEPROM); + DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(PREHEAT_CASE_SAVE)); // Save PLA configuration + #endif + } + else { + #ifdef USE_STRING_HEADINGS + Draw_Title("PLA Settings"); // TODO: GET_TEXT_F + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); + #if HAS_HEATED_BED + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); + #endif + #if HAS_FAN + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + #endif + #if ENABLED(EEPROM_SETTINGS) + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + #endif + #else + DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "PLA Settings" + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(PREHEAT_CASE_TEMP)); // PLA nozzle temp + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(PREHEAT_CASE_BED) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(PREHEAT_CASE_BED) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(PREHEAT_CASE_BED) + 3); // PLA bed temp + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 157, 76, 181, 86, LBLX, MBASE(PREHEAT_CASE_FAN)); + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(PREHEAT_CASE_FAN)); // PLA fan speed + #endif + #if ENABLED(EEPROM_SETTINGS) + DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(PREHEAT_CASE_SAVE)); // Save PLA configuration + #endif #endif + } - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[0].hotend_temp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[0].bed_temp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), ui.material_preset[0].fan_speed); + Draw_Back_First(); - break; + uint8_t i = 0; + Draw_Menu_Line(++i, ICON_SetEndTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].hotend_temp); + #if HAS_HEATED_BED + Draw_Menu_Line(++i, ICON_SetBedTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].bed_temp); + #endif + #if HAS_FAN + Draw_Menu_Line(++i, ICON_FanSpeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].fan_speed); + #endif + #if ENABLED(EEPROM_SETTINGS) + Draw_Menu_Line(++i, ICON_WriteEEPROM); + #endif + } break; - case 5: // ABS preheat setting - checkkey = ABSPreheat; - select_ABS.reset(); - HMI_ValueStruct.show_mode = -3; - - Clear_Main_Window(); - - if (HMI_flag.language_chinese) { - DWIN_Frame_AreaCopy(1, 142, 16, 223, 29, 14, 8); - - DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(1)); // ABS nozzle temp - DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(2)); - DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(2)); // ABS bed temp - DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(3)); // ABS fan speed - DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX + 28, MBASE(4) + 2); // save ABS configuration - } - else { - #ifdef USE_STRING_HEADINGS - Draw_Title("ABS Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Nozzle Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Bed Temp")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), GET_TEXT_F(MSG_FAN_SPEED)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), GET_TEXT_F(MSG_STORE_EEPROM)); - #else - DWIN_Frame_AreaCopy(1, 56, 16, 141, 28, 14, 8); - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(1)); // ABS nozzle temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(2) + 3); // ABS bed temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(3)); // ABS fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 33, MBASE(4)); // save ABS configuration - #endif - } + case TEMP_CASE_ABS: { // ABS preheat setting + checkkey = ABSPreheat; + select_ABS.reset(); + HMI_ValueStruct.show_mode = -3; - Draw_Back_First(); + Clear_Main_Window(); - Draw_Menu_Line(1, ICON_SetEndTemp); - Draw_Menu_Line(2, ICON_SetBedTemp); - Draw_Menu_Line(3, ICON_FanSpeed); + if (HMI_flag.language_chinese) { + DWIN_Frame_TitleCopy(1, 142, 16, 223, 29); // "ABS Settings" + + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(PREHEAT_CASE_TEMP)); // ABS nozzle temp + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(PREHEAT_CASE_BED)); + DWIN_Frame_AreaCopy(1, 58, 134, 113, 146, LBLX + 24, MBASE(PREHEAT_CASE_BED)); // ABS bed temp + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(PREHEAT_CASE_FAN)); + DWIN_Frame_AreaCopy(1, 115, 134, 170, 146, LBLX + 24, MBASE(PREHEAT_CASE_FAN)); // ABS fan speed + #endif #if ENABLED(EEPROM_SETTINGS) - Draw_Menu_Line(4, ICON_WriteEEPROM); + DWIN_Frame_AreaCopy(1, 72, 148, 151, 162, LBLX, MBASE(PREHEAT_CASE_SAVE)); + DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX + 28, MBASE(PREHEAT_CASE_SAVE) + 2); // Save ABS configuration + #endif + } + else { + #ifdef USE_STRING_HEADINGS + Draw_Title("ABS Settings"); // TODO: GET_TEXT_F + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); + #if HAS_HEATED_BED + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); + #endif + #if HAS_FAN + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + #endif + #if ENABLED(EEPROM_SETTINGS) + DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + #endif + #else + DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "ABS Settings" + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 197, 104, 238, 114, LBLX + 27, MBASE(PREHEAT_CASE_TEMP)); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 71, MBASE(PREHEAT_CASE_TEMP)); // ABS nozzle temp + #if HAS_HEATED_BED + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(PREHEAT_CASE_BED) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 264, 114, LBLX + 27, MBASE(PREHEAT_CASE_BED) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX + 54, MBASE(PREHEAT_CASE_BED) + 3); // ABS bed temp + #endif + #if HAS_FAN + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX, MBASE(PREHEAT_CASE_FAN)); + DWIN_Frame_AreaCopy(1, 0, 119, 64, 132, LBLX + 27, MBASE(PREHEAT_CASE_FAN)); // ABS fan speed + #endif + #if ENABLED(EEPROM_SETTINGS) + DWIN_Frame_AreaCopy(1, 97, 165, 229, 177, LBLX, MBASE(PREHEAT_CASE_SAVE)); + DWIN_Frame_AreaCopy(1, 172, 76, 198, 86, LBLX + 33, MBASE(PREHEAT_CASE_SAVE)); // Save ABS configuration + #endif #endif + } - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(1), ui.material_preset[1].hotend_temp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(2), ui.material_preset[1].bed_temp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(3), ui.material_preset[1].fan_speed); + Draw_Back_First(); - break; - #endif // HAS_HOTEND + uint8_t i = 0; + Draw_Menu_Line(++i, ICON_SetEndTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].hotend_temp); + #if HAS_HEATED_BED + Draw_Menu_Line(++i, ICON_SetBedTemp); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].bed_temp); + #endif + #if HAS_FAN + Draw_Menu_Line(++i, ICON_FanSpeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].fan_speed); + #endif + #if ENABLED(EEPROM_SETTINGS) + Draw_Menu_Line(++i, ICON_WriteEEPROM); + #endif + + } break; + + #endif // HAS_HOTEND } } DWIN_UpdateLCD(); @@ -2659,18 +2926,18 @@ inline void Draw_Max_Speed_Menu() { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Max Speed (mm/s)" auto say_max_speed = [](const uint16_t row) { - DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, row); // "Max speed" + DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, row); // "Max speed" }; - say_max_speed(MBASE(1)); // "Max speed" - DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 58, MBASE(1)); // X - say_max_speed(MBASE(2)); // "Max speed" - DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 58, MBASE(2) + 3); // Y - say_max_speed(MBASE(3)); // "Max speed" - DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 58, MBASE(3) + 3); // Z + say_max_speed(MBASE(1)); // "Max speed" + DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 58, MBASE(1)); // X + say_max_speed(MBASE(2)); // "Max speed" + DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 58, MBASE(2) + 3); // Y + say_max_speed(MBASE(3)); // "Max speed" + DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 58, MBASE(3) + 3); // Z #if HAS_HOTEND - say_max_speed(MBASE(4)); // "Max speed" - DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 58, MBASE(4) + 3); // E + say_max_speed(MBASE(4)); // "Max speed" + DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 58, MBASE(4) + 3); // E #endif } else { @@ -2745,7 +3012,7 @@ inline void Draw_Max_Accel_Menu() { DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Accel E")); #endif #else - DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Acceleration" + DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Acceleration" draw_max_accel_en(MBASE(1)); say_x(108, MBASE(1)); // "Max Acceleration X" draw_max_accel_en(MBASE(2)); say_y(108, MBASE(2)); // "Max Acceleration Y" draw_max_accel_en(MBASE(3)); say_z(108, MBASE(3)); // "Max Acceleration Z" @@ -2883,13 +3150,13 @@ inline void Draw_Steps_Menu() { } /* Motion */ -void HMI_Motion(void) { +void HMI_Motion() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_motion.inc(4)) Move_Highlight(1, select_motion.now); + if (select_motion.inc(1 + MOTION_CASE_TOTAL)) Move_Highlight(1, select_motion.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_motion.dec()) Move_Highlight(-1, select_motion.now); @@ -2898,26 +3165,28 @@ void HMI_Motion(void) { switch (select_motion.now) { case 0: // Back checkkey = Control; - select_control.set(2); + select_control.set(CONTROL_CASE_MOVE); index_control = MROWS; Draw_Control_Menu(); break; - case 1: // max speed + case MOTION_CASE_RATE: // Max speed checkkey = MaxSpeed; select_speed.reset(); Draw_Max_Speed_Menu(); break; - case 2: // max acceleration + case MOTION_CASE_ACCEL: // Max acceleration checkkey = MaxAcceleration; select_acc.reset(); Draw_Max_Accel_Menu(); break; - case 3: // max jerk speed - checkkey = MaxJerk; - select_jerk.reset(); - Draw_Max_Jerk_Menu(); - break; - case 4: // transmission ratio + #if HAS_CLASSIC_JERK + case MOTION_CASE_JERK: // Max jerk + checkkey = MaxJerk; + select_jerk.reset(); + Draw_Max_Jerk_Menu(); + break; + #endif + case MOTION_CASE_STEPS: // Steps per mm checkkey = Step; select_step.reset(); Draw_Steps_Menu(); @@ -2929,13 +3198,13 @@ void HMI_Motion(void) { } /* Info */ -void HMI_Info(void) { +void HMI_Info() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; if (encoder_diffState == ENCODER_DIFF_ENTER) { #if HAS_ONESTEP_LEVELING checkkey = Control; - select_control.set(CONTROL_ITEMS); + select_control.set(CONTROL_CASE_INFO); Draw_Control_Menu(); #else select_page.set(3); @@ -2946,17 +3215,16 @@ void HMI_Info(void) { } /* Tune */ -void HMI_Tune(void) { +void HMI_Tune() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_tune.inc(6)) { + if (select_tune.inc(1 + TUNE_CASE_TOTAL)) { if (select_tune.now > MROWS && select_tune.now > index_tune) { index_tune = select_tune.now; Scroll_Menu(DWIN_SCROLL_UP); - Prepare_Item_Lang(5); } else { Move_Highlight(1, select_tune.now + MROWS - index_tune); @@ -2982,186 +3250,180 @@ void HMI_Tune(void) { Goto_PrintProcess(); } break; - case 1: // Print speed + case TUNE_CASE_SPEED: // Print speed checkkey = PrintSpeed; HMI_ValueStruct.print_speed = feedrate_percentage; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1 + MROWS - index_tune), feedrate_percentage); - EncoderRate.encoderRateEnabled = 1; - break; - #if HAS_HOTEND - case 2: // Nozzle temp - checkkey = ETemp; - HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2 + MROWS - index_tune), thermalManager.temp_hotend[0].target); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - #if HAS_HEATED_BED - case 3: // Bed temp - checkkey = BedTemp; - HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3 + MROWS - index_tune), thermalManager.temp_bed.target); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - #if HAS_FAN - case 4: // Fan speed - checkkey = FanSpeed; - HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(4 + MROWS - index_tune), thermalManager.fan_speed[0]); - EncoderRate.encoderRateEnabled = 1; - break; - #endif - case 5: // Z-offset - checkkey = Homeoffset; - HMI_ValueStruct.offset_value = BABY_Z_VAR * 100; - DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(5 + MROWS - index_tune), HMI_ValueStruct.offset_value); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_SPEED + MROWS - index_tune), feedrate_percentage); + EncoderRate.enabled = true; break; - case 6: // Language - // Select language - HMI_flag.language_chinese ^= true; - - Clear_Main_Window(); - - if (HMI_flag.language_chinese) { - HMI_SetAndSaveLanguageChinese(); - DWIN_JPG_CacheTo1(Language_Chinese); - } - else { - HMI_SetAndSaveLanguageWestern(); - DWIN_JPG_CacheTo1(Language_English); - } - - Draw_Tune_Menu(); + #if HAS_HOTEND + case TUNE_CASE_TEMP: // Nozzle temp + checkkey = ETemp; + HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); + EncoderRate.enabled = true; + break; + #endif + #if HAS_HEATED_BED + case TUNE_CASE_BED: // Bed temp + checkkey = BedTemp; + HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); + EncoderRate.enabled = true; + break; + #endif + #if HAS_FAN + case TUNE_CASE_FAN: // Fan speed + checkkey = FanSpeed; + HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); + EncoderRate.enabled = true; + break; + #endif + #if HAS_ZOFFSET_ITEM + case TUNE_CASE_ZOFF: // Z-offset + #if EITHER(HAS_BED_PROBE, BABYSTEPPING) + checkkey = Homeoffset; + HMI_ValueStruct.offset_value = BABY_Z_VAR * 100; + DWIN_Draw_Signed_Float(font8x16, Select_Color, 2, 2, 202, MBASE(TUNE_CASE_ZOFF + MROWS - index_tune), HMI_ValueStruct.offset_value); + EncoderRate.enabled = true; + #else + // Apply workspace offset, making the current position 0,0,0 + queue.inject_P(PSTR("G92 X0 Y0 Z0")); + HMI_AudioFeedback(); + #endif break; - + #endif default: break; } } DWIN_UpdateLCD(); } -/* PLA Preheat */ -void HMI_PLAPreheatSetting(void) { - ENCODER_DiffState encoder_diffState = get_encoder_state(); - if (encoder_diffState == ENCODER_DIFF_NO) return; +#if HAS_PREHEAT - // Avoid flicker by updating only the previous menu - if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_PLA.inc(4)) Move_Highlight(1, select_PLA.now); - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - if (select_PLA.dec()) Move_Highlight(-1, select_PLA.now); - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_PLA.now) { - case 0: // Back - checkkey = TemperatureID; - select_temp.now = 4; - HMI_ValueStruct.show_mode = -1; - Draw_Temperature_Menu(); - break; + /* PLA Preheat */ + void HMI_PLAPreheatSetting() { + ENCODER_DiffState encoder_diffState = get_encoder_state(); + if (encoder_diffState == ENCODER_DIFF_NO) return; + + // Avoid flicker by updating only the previous menu + if (encoder_diffState == ENCODER_DIFF_CW) { + if (select_PLA.inc(1 + PREHEAT_CASE_TOTAL)) Move_Highlight(1, select_PLA.now); + } + else if (encoder_diffState == ENCODER_DIFF_CCW) { + if (select_PLA.dec()) Move_Highlight(-1, select_PLA.now); + } + else if (encoder_diffState == ENCODER_DIFF_ENTER) { + switch (select_PLA.now) { + case 0: // Back + checkkey = TemperatureID; + select_temp.now = TEMP_CASE_PLA; + HMI_ValueStruct.show_mode = -1; + Draw_Temperature_Menu(); + break; #if HAS_HOTEND - case 1: // set nozzle temperature + case PREHEAT_CASE_TEMP: // Nozzle temperature checkkey = ETemp; HMI_ValueStruct.E_Temp = ui.material_preset[0].hotend_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), ui.material_preset[0].hotend_temp); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[0].hotend_temp); + EncoderRate.enabled = true; break; #endif #if HAS_HEATED_BED - case 2: // set bed temperature + case PREHEAT_CASE_BED: // Bed temperature checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = ui.material_preset[0].bed_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), ui.material_preset[0].bed_temp); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[0].bed_temp); + EncoderRate.enabled = true; break; #endif #if HAS_FAN - case 3: // set fan speed + case PREHEAT_CASE_FAN: // Fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = ui.material_preset[0].fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), ui.material_preset[0].fan_speed); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[0].fan_speed); + EncoderRate.enabled = true; break; #endif - #if ENABLED(EEPROM_SETTINGS) - case 4: { // Save PLA configuration - const bool success = settings.save(); - HMI_AudioFeedback(success); - } break; - #endif - default: break; + #if ENABLED(EEPROM_SETTINGS) + case 4: { // Save PLA configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + #endif + default: break; + } } + DWIN_UpdateLCD(); } - DWIN_UpdateLCD(); -} -/* ABS Preheat */ -void HMI_ABSPreheatSetting(void) { - ENCODER_DiffState encoder_diffState = get_encoder_state(); - if (encoder_diffState == ENCODER_DIFF_NO) return; + /* ABS Preheat */ + void HMI_ABSPreheatSetting() { + ENCODER_DiffState encoder_diffState = get_encoder_state(); + if (encoder_diffState == ENCODER_DIFF_NO) return; - // Avoid flicker by updating only the previous menu - if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_ABS.inc(4)) Move_Highlight(1, select_ABS.now); - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - if (select_ABS.dec()) Move_Highlight(-1, select_ABS.now); - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { - switch (select_ABS.now) { - case 0: // Back - checkkey = TemperatureID; - select_temp.now = 5; - HMI_ValueStruct.show_mode = -1; - Draw_Temperature_Menu(); - break; + // Avoid flicker by updating only the previous menu + if (encoder_diffState == ENCODER_DIFF_CW) { + if (select_ABS.inc(1 + PREHEAT_CASE_TOTAL)) Move_Highlight(1, select_ABS.now); + } + else if (encoder_diffState == ENCODER_DIFF_CCW) { + if (select_ABS.dec()) Move_Highlight(-1, select_ABS.now); + } + else if (encoder_diffState == ENCODER_DIFF_ENTER) { + switch (select_ABS.now) { + case 0: // Back + checkkey = TemperatureID; + select_temp.now = TEMP_CASE_ABS; + HMI_ValueStruct.show_mode = -1; + Draw_Temperature_Menu(); + break; #if HAS_HOTEND - case 1: // set nozzle temperature + case PREHEAT_CASE_TEMP: // Set nozzle temperature checkkey = ETemp; HMI_ValueStruct.E_Temp = ui.material_preset[1].hotend_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), ui.material_preset[1].hotend_temp); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[1].hotend_temp); + EncoderRate.enabled = true; break; #endif #if HAS_HEATED_BED - case 2: // set bed temperature + case PREHEAT_CASE_BED: // Set bed temperature checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = ui.material_preset[1].bed_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), ui.material_preset[1].bed_temp); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[1].bed_temp); + EncoderRate.enabled = true; break; #endif #if HAS_FAN - case 3: // set fan speed + case PREHEAT_CASE_FAN: // Set fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = ui.material_preset[1].fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), ui.material_preset[1].fan_speed); - EncoderRate.encoderRateEnabled = 1; + DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[1].fan_speed); + EncoderRate.enabled = true; break; #endif - #if ENABLED(EEPROM_SETTINGS) - case 4: { // save ABS configuration - const bool success = settings.save(); - HMI_AudioFeedback(success); - } break; - #endif - default: break; + #if ENABLED(EEPROM_SETTINGS) + case PREHEAT_CASE_SAVE: { // Save ABS configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + #endif + default: break; + } } + DWIN_UpdateLCD(); } - DWIN_UpdateLCD(); -} + +#endif /* Max Speed */ -void HMI_MaxSpeed(void) { +void HMI_MaxSpeed() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_speed.inc(4)) Move_Highlight(1, select_speed.now); + if (select_speed.inc(1 + 3 + ENABLED(HAS_HOTEND))) Move_Highlight(1, select_speed.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_speed.dec()) Move_Highlight(-1, select_speed.now); @@ -3169,14 +3431,14 @@ void HMI_MaxSpeed(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { if (WITHIN(select_speed.now, 1, 4)) { checkkey = MaxSpeed_value; - HMI_flag.feedspeed_flag = AxisEnum(select_speed.now - 1); - HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[HMI_flag.feedspeed_flag]; + HMI_flag.feedspeed_axis = AxisEnum(select_speed.now - 1); + HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[HMI_flag.feedspeed_axis]; DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; } else { // Back checkkey = Motion; - select_motion.now = 1; + select_motion.now = MOTION_CASE_RATE; Draw_Motion_Menu(); } } @@ -3184,13 +3446,13 @@ void HMI_MaxSpeed(void) { } /* Max Acceleration */ -void HMI_MaxAcceleration(void) { +void HMI_MaxAcceleration() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_acc.inc(4)) Move_Highlight(1, select_acc.now); + if (select_acc.inc(1 + 3 + ENABLED(HAS_HOTEND))) Move_Highlight(1, select_acc.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_acc.dec()) Move_Highlight(-1, select_acc.now); @@ -3198,57 +3460,59 @@ void HMI_MaxAcceleration(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { if (WITHIN(select_acc.now, 1, 4)) { checkkey = MaxAcceleration_value; - HMI_flag.acc_flag = AxisEnum(select_acc.now - 1); - HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[HMI_flag.acc_flag]; + HMI_flag.acc_axis = AxisEnum(select_acc.now - 1); + HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[HMI_flag.acc_axis]; DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; } else { // Back checkkey = Motion; - select_motion.now = 2; + select_motion.now = MOTION_CASE_ACCEL; Draw_Motion_Menu(); } } DWIN_UpdateLCD(); } -/* Max Jerk */ -void HMI_MaxJerk(void) { - ENCODER_DiffState encoder_diffState = get_encoder_state(); - if (encoder_diffState == ENCODER_DIFF_NO) return; +#if HAS_CLASSIC_JERK + /* Max Jerk */ + void HMI_MaxJerk() { + ENCODER_DiffState encoder_diffState = get_encoder_state(); + if (encoder_diffState == ENCODER_DIFF_NO) return; - // Avoid flicker by updating only the previous menu - if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_jerk.inc(4)) Move_Highlight(1, select_jerk.now); - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - if (select_jerk.dec()) Move_Highlight(-1, select_jerk.now); - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { - if (WITHIN(select_jerk.now, 1, 4)) { - checkkey = MaxJerk_value; - HMI_flag.jerk_flag = AxisEnum(select_jerk.now - 1); - HMI_ValueStruct.Max_Jerk = planner.max_jerk[HMI_flag.jerk_flag] * MINUNITMULT; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); - EncoderRate.encoderRateEnabled = 1; + // Avoid flicker by updating only the previous menu + if (encoder_diffState == ENCODER_DIFF_CW) { + if (select_jerk.inc(1 + 3 + ENABLED(HAS_HOTEND))) Move_Highlight(1, select_jerk.now); } - else { // Back - checkkey = Motion; - select_motion.now = 3; - Draw_Motion_Menu(); + else if (encoder_diffState == ENCODER_DIFF_CCW) { + if (select_jerk.dec()) Move_Highlight(-1, select_jerk.now); + } + else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (WITHIN(select_jerk.now, 1, 4)) { + checkkey = MaxJerk_value; + HMI_flag.jerk_axis = AxisEnum(select_jerk.now - 1); + HMI_ValueStruct.Max_Jerk = planner.max_jerk[HMI_flag.jerk_axis] * MINUNITMULT; + DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + EncoderRate.enabled = true; + } + else { // Back + checkkey = Motion; + select_motion.now = MOTION_CASE_JERK; + Draw_Motion_Menu(); + } } + DWIN_UpdateLCD(); } - DWIN_UpdateLCD(); -} +#endif // HAS_CLASSIC_JERK /* Step */ -void HMI_Step(void) { +void HMI_Step() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; // Avoid flicker by updating only the previous menu if (encoder_diffState == ENCODER_DIFF_CW) { - if (select_step.inc(4)) Move_Highlight(1, select_step.now); + if (select_step.inc(1 + 3 + ENABLED(HAS_HOTEND))) Move_Highlight(1, select_step.now); } else if (encoder_diffState == ENCODER_DIFF_CCW) { if (select_step.dec()) Move_Highlight(-1, select_step.now); @@ -3256,21 +3520,21 @@ void HMI_Step(void) { else if (encoder_diffState == ENCODER_DIFF_ENTER) { if (WITHIN(select_step.now, 1, 4)) { checkkey = Step_value; - HMI_flag.step_flag = AxisEnum(select_step.now - 1); - HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[HMI_flag.step_flag] * MINUNITMULT; + HMI_flag.step_axis = AxisEnum(select_step.now - 1); + HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[HMI_flag.step_axis] * MINUNITMULT; DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); - EncoderRate.encoderRateEnabled = 1; + EncoderRate.enabled = true; } else { // Back checkkey = Motion; - select_motion.now = 4; + select_motion.now = MOTION_CASE_STEPS; Draw_Motion_Menu(); } } DWIN_UpdateLCD(); } -void HMI_Init(void) { +void HMI_Init() { HMI_SDCardInit(); for (uint16_t t = 0; t <= 100; t += 2) { @@ -3283,13 +3547,13 @@ void HMI_Init(void) { HMI_SetLanguage(); } -void DWIN_Update(void) { +void DWIN_Update() { EachMomentUpdate(); // Status update HMI_SDCardUpdate(); // SD card update DWIN_HandleScreen(); // Rotary encoder update } -void EachMomentUpdate(void) { +void EachMomentUpdate() { static millis_t next_rts_update_ms = 0; const millis_t ms = millis(); if (PENDING(ms, next_rts_update_ms)) return; @@ -3300,9 +3564,9 @@ void EachMomentUpdate(void) { if (checkkey == PrintProcess) { // if print done - if (HMI_flag.print_finish && !HMI_flag.confirm_flag) { - HMI_flag.print_finish = 0; - HMI_flag.confirm_flag = 1; + if (HMI_flag.print_finish && !HMI_flag.done_confirm_flag) { + HMI_flag.print_finish = false; + HMI_flag.done_confirm_flag = true; TERN_(POWER_LOSS_RECOVERY, recovery.cancel()); @@ -3313,7 +3577,7 @@ void EachMomentUpdate(void) { Draw_Print_ProgressBar(); // show print done confirm - DWIN_Draw_Rectangle(1, Background_black, 0, 250, 271, 360); + DWIN_Draw_Rectangle(1, Background_black, 0, 250, DWIN_WIDTH - 1, STATUS_Y); DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 283); } else if (HMI_flag.pause_flag != printingIsPaused()) { @@ -3324,11 +3588,15 @@ void EachMomentUpdate(void) { } // pause after homing - if (pause_action_flag && printingIsPaused() && !planner.has_blocks_queued()) { - pause_action_flag = 0; + if (HMI_flag.pause_action && printingIsPaused() && !planner.has_blocks_queued()) { + HMI_flag.pause_action = false; #if ENABLED(PAUSE_HEAT) - tempbed = thermalManager.temp_bed.target; - temphot = thermalManager.temp_hotend[0].target; + #if HAS_HEATED_BED + tempbed = thermalManager.temp_bed.target; + #endif + #if HAS_HOTEND + temphot = thermalManager.temp_hotend[0].target; + #endif thermalManager.disable_all_heaters(); #endif queue.inject_P(PSTR("G1 F1200 X0 Y0")); @@ -3348,6 +3616,7 @@ void EachMomentUpdate(void) { duration_t elapsed = print_job_timer.duration(); // print timer // Print time so far + static uint16_t last_Printtime = 0; const uint16_t min = (elapsed.value % 3600) / 60; if (last_Printtime != min) { // 1 minute update last_Printtime = min; @@ -3356,14 +3625,14 @@ void EachMomentUpdate(void) { // Estimate remaining time every 20 seconds static millis_t next_remain_time_update = 0; - if (Percentrecord > 1 && ELAPSED(ms, next_remain_time_update) && HMI_flag.heat_flag == 0) { + if (Percentrecord > 1 && ELAPSED(ms, next_remain_time_update) && !HMI_flag.heat_flag) { remain_time = (elapsed.value - dwin_heat_time) / (Percentrecord * 0.01f) - (elapsed.value - dwin_heat_time); next_remain_time_update += 20 * 1000UL; Draw_Print_ProgressRemain(); } } - else if (abort_flag && !HMI_flag.home_flag) { // Print Stop - abort_flag = 0; + else if (dwin_abort_flag && !HMI_flag.home_flag) { // Print Stop + dwin_abort_flag = false; HMI_ValueStruct.print_speed = feedrate_percentage = 100; dwin_zoffset = TERN0(HAS_BED_PROBE, probe.offset.z); @@ -3378,6 +3647,7 @@ void EachMomentUpdate(void) { } #if ENABLED(POWER_LOSS_RECOVERY) else if (DWIN_lcd_sd_status && recovery.dwin_flag) { // resume print before power off + static bool recovery_flag = false; recovery.dwin_flag = false; recovery.load(); @@ -3403,8 +3673,8 @@ void EachMomentUpdate(void) { // with the active filename which can come from CardReader. card.getfilename_sorted(SD_ORDER(i, fileCnt)); if (!strcmp(card.filename, &recovery.info.sd_filename[1])) { // Resume print before power failure while have the same file - recovery_flag = 1; - HMI_flag.select_flag = 1; + recovery_flag = true; + HMI_flag.select_flag = true; Popup_Window_Resume(); draw_first_option(false); char * const name = card.longest_filename(); @@ -3422,7 +3692,7 @@ void EachMomentUpdate(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { if (encoder_diffState == ENCODER_DIFF_ENTER) { - recovery_flag = 0; + recovery_flag = false; if (HMI_flag.select_flag) break; TERN_(POWER_LOSS_RECOVERY, recovery.cancel()); HMI_StartFrame(true); @@ -3445,7 +3715,7 @@ void EachMomentUpdate(void) { DWIN_UpdateLCD(); } -void DWIN_HandleScreen(void) { +void DWIN_HandleScreen() { switch (checkkey) { case MainMenu: HMI_MainMenu(); break; case SelectFile: HMI_SelectFile(); break; @@ -3459,8 +3729,10 @@ void DWIN_HandleScreen(void) { case Motion: HMI_Motion(); break; case Info: HMI_Info(); break; case Tune: HMI_Tune(); break; - case PLAPreheat: HMI_PLAPreheatSetting(); break; - case ABSPreheat: HMI_ABSPreheatSetting(); break; + #if HAS_PREHEAT + case PLAPreheat: HMI_PLAPreheatSetting(); break; + case ABSPreheat: HMI_ABSPreheatSetting(); break; + #endif case MaxSpeed: HMI_MaxSpeed(); break; case MaxAcceleration: HMI_MaxAcceleration(); break; case MaxJerk: HMI_MaxJerk(); break; @@ -3472,11 +3744,13 @@ void DWIN_HandleScreen(void) { case Extruder: HMI_Move_E(); break; case ETemp: HMI_ETemp(); break; #endif - case Homeoffset: HMI_Zoffset(); break; + #if EITHER(HAS_BED_PROBE, BABYSTEPPING) + case Homeoffset: HMI_Zoffset(); break; + #endif #if HAS_HEATED_BED case BedTemp: HMI_BedTemp(); break; #endif - #if HAS_FAN + #if HAS_PREHEAT case FanSpeed: HMI_FanSpeed(); break; #endif case PrintSpeed: HMI_PrintSpeed(); break; @@ -3488,11 +3762,11 @@ void DWIN_HandleScreen(void) { } } -void DWIN_CompletedHoming(void) { +void DWIN_CompletedHoming() { HMI_flag.home_flag = false; if (checkkey == Last_Prepare) { checkkey = Prepare; - select_prepare.now = 3; + select_prepare.now = PREPARE_CASE_HOME; index_prepare = MROWS; Draw_Prepare_Menu(); } @@ -3504,7 +3778,7 @@ void DWIN_CompletedHoming(void) { } } -void DWIN_CompletedLeveling(void) { +void DWIN_CompletedLeveling() { if (checkkey == Leveling) Goto_MainMenu(); } diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index abdf343a9ded..fedb87afdd81 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -29,9 +29,16 @@ #include "rotary_encoder.h" #include "../../../libs/BL24CXX.h" -#include +#include "../../../inc/MarlinConfigPre.h" -enum processID { +#if ANY(HAS_HOTEND, HAS_HEATED_BED, HAS_FAN) && PREHEAT_COUNT + #define HAS_PREHEAT 1 + #if PREHEAT_COUNT < 2 + #error "Creality DWIN requires two material preheat presets." + #endif +#endif + +enum processID : uint8_t { // Process ID MainMenu, SelectFile, @@ -44,7 +51,7 @@ enum processID { Motion, Info, Tune, - #if HAS_HOTEND + #if HAS_PREHEAT PLAPreheat, ABSPreheat, #endif @@ -218,7 +225,7 @@ enum processID { #define BarFill_Color 0x10E4 // fill color of progress bar #define Select_Color 0x33BB // selected color -extern int checkkey, last_checkkey; +extern uint8_t checkkey; extern float zprobe_zoffset; extern char print_filename[16]; @@ -227,7 +234,7 @@ extern millis_t dwin_heat_time; typedef struct { TERN_(HAS_HOTEND, int16_t E_Temp = 0); TERN_(HAS_HEATED_BED, int16_t Bed_Temp = 0); - TERN_(HAS_FAN, int16_t Fan_speed = 0); + TERN_(HAS_PREHEAT, int16_t Fan_speed = 0); int16_t print_speed = 100; float Max_Feedspeed = 0; float Max_Acceleration = 0; @@ -236,7 +243,7 @@ typedef struct { float Move_X_scale = 0; float Move_Y_scale = 0; float Move_Z_scale = 0; - #if EXTRUDERS + #if HAS_HOTEND float Move_E_scale = 0; #endif float offset_value = 0; @@ -246,33 +253,27 @@ typedef struct { typedef struct { bool language_chinese; // 0: EN, 1: CN bool pause_flag:1; + bool pause_action:1; bool print_finish:1; - bool confirm_flag:1; + bool done_confirm_flag:1; bool select_flag:1; bool home_flag:1; bool heat_flag:1; // 0: heating done 1: during heating - #if HAS_HOTEND + #if ENABLED(PREVENT_COLD_EXTRUSION) bool ETempTooLow_flag:1; #endif #if HAS_LEVELING bool leveling_offset_flag:1; #endif #if HAS_FAN - AxisEnum feedspeed_flag; + AxisEnum feedspeed_axis; #endif - AxisEnum acc_flag; - AxisEnum jerk_flag; - AxisEnum step_flag; + AxisEnum acc_axis, jerk_axis, step_axis; } HMI_Flag; extern HMI_value_t HMI_ValueStruct; extern HMI_Flag HMI_flag; -// Language -void HMI_SetLanguage(void); -void HMI_SetAndSaveLanguageWestern(void); -void HMI_SetAndSaveLanguageChinese(void); - // Show ICO void ICON_Print(bool show); void ICON_Prepare(bool show); @@ -285,44 +286,47 @@ void ICON_Pause(bool show); void ICON_Continue(bool show); void ICON_Stop(bool show); -// Popup window tips +#if HAS_HOTEND || HAS_HEATED_BED + // Popup message window + void DWIN_Popup_Temperature(const bool toohigh); +#endif + #if HAS_HOTEND - void Popup_Window_Temperature(const bool toohigh); - void Popup_Window_ETempTooLow(void); + void Popup_Window_ETempTooLow(); #endif -void Popup_Window_Resume(void); -void Popup_Window_Home(void); -void Popup_Window_Leveling(void); +void Popup_Window_Resume(); +void Popup_Window_Home(const bool parking=false); +void Popup_Window_Leveling(); -void Goto_PrintProcess(void); -void Goto_MainMenu(void); +void Goto_PrintProcess(); +void Goto_MainMenu(); // Variable control -void HMI_Move_X(void); -void HMI_Move_Y(void); -void HMI_Move_Z(void); -void HMI_Move_E(void); +void HMI_Move_X(); +void HMI_Move_Y(); +void HMI_Move_Z(); +void HMI_Move_E(); -void HMI_Zoffset(void); +void HMI_Zoffset(); -TERN_(HAS_HOTEND, void HMI_ETemp(void)); -TERN_(HAS_HEATED_BED, void HMI_BedTemp(void)); -TERN_(HAS_FAN, void HMI_FanSpeed(void)); +TERN_(HAS_HOTEND, void HMI_ETemp()); +TERN_(HAS_HEATED_BED, void HMI_BedTemp()); +TERN_(HAS_FAN, void HMI_FanSpeed()); -void HMI_PrintSpeed(void); +void HMI_PrintSpeed(); -void HMI_MaxFeedspeedXYZE(void); -void HMI_MaxAccelerationXYZE(void); -void HMI_MaxJerkXYZE(void); -void HMI_StepXYZE(void); +void HMI_MaxFeedspeedXYZE(); +void HMI_MaxAccelerationXYZE(); +void HMI_MaxJerkXYZE(); +void HMI_StepXYZE(); -void update_variable(void); +void update_variable(); void DWIN_Draw_Signed_Float(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value); // SD Card -void HMI_SDCardInit(void); -void HMI_SDCardUpdate(void); +void HMI_SDCardInit(); +void HMI_SDCardUpdate(); // Main Process void Icon_print(bool value); @@ -333,32 +337,32 @@ void Icon_leveling(bool value); // Other bool Pause_HeatStatus(); void HMI_StartFrame(const bool with_update); // Startup screen -void HMI_MainMenu(void); // Main process screen -void HMI_SelectFile(void); // File page -void HMI_Printing(void); // Print page -void HMI_Prepare(void); // Prepare page -void HMI_Control(void); // Control page -void HMI_Leveling(void); // Level the page -void HMI_AxisMove(void); // Axis movement menu -void HMI_Temperature(void); // Temperature menu -void HMI_Motion(void); // Sports menu -void HMI_Info(void); // Information menu -void HMI_Tune(void); // Adjust the menu - -#if HAS_HOTEND - void HMI_PLAPreheatSetting(void); // PLA warm-up setting - void HMI_ABSPreheatSetting(void); // ABS warm-up setting +void HMI_MainMenu(); // Main process screen +void HMI_SelectFile(); // File page +void HMI_Printing(); // Print page +void HMI_Prepare(); // Prepare page +void HMI_Control(); // Control page +void HMI_Leveling(); // Level the page +void HMI_AxisMove(); // Axis movement menu +void HMI_Temperature(); // Temperature menu +void HMI_Motion(); // Sports menu +void HMI_Info(); // Information menu +void HMI_Tune(); // Adjust the menu + +#if HAS_PREHEAT + void HMI_PLAPreheatSetting(); // PLA warm-up setting + void HMI_ABSPreheatSetting(); // ABS warm-up setting #endif -void HMI_MaxSpeed(void); // Maximum speed submenu -void HMI_MaxAcceleration(void); // Maximum acceleration submenu -void HMI_MaxJerk(void); // Maximum jerk speed submenu -void HMI_Step(void); // Transmission ratio +void HMI_MaxSpeed(); // Maximum speed submenu +void HMI_MaxAcceleration(); // Maximum acceleration submenu +void HMI_MaxJerk(); // Maximum jerk speed submenu +void HMI_Step(); // Transmission ratio -void HMI_Init(void); -void DWIN_Update(void); -void EachMomentUpdate(void); -void DWIN_HandleScreen(void); +void HMI_Init(); +void DWIN_Update(); +void EachMomentUpdate(); +void DWIN_HandleScreen(); -void DWIN_CompletedHoming(void); -void DWIN_CompletedLeveling(void); +void DWIN_CompletedHoming(); +void DWIN_CompletedLeveling(); diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp index dbbd356eff2d..b1d905d9adcd 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp @@ -124,7 +124,7 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { int32_t encoderMultiplier = 1; // if must encoder rati multiplier - if (EncoderRate.encoderRateEnabled) { + if (EncoderRate.enabled) { const float abs_diff = ABS(temp_diff), encoderMovementSteps = abs_diff / (ENCODER_PULSES_PER_STEP); if (EncoderRate.lastEncoderTime) { diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h index fb8102f8b22a..93e54839d625 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.h @@ -44,7 +44,7 @@ #define BUTTON_PRESSED(BN) !READ(BTN_## BN) typedef struct { - bool encoderRateEnabled = 0; + bool enabled = false; int encoderMoveValue = 0; millis_t lastEncoderTime = 0; } ENCODER_Rate; diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index e0fa6fa98f53..d2145bcc804a 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -576,7 +576,7 @@ volatile bool Temperature::raw_temps_ready = false; #define MAX_CYCLE_TIME_PID_AUTOTUNE 20L #endif if ((ms - _MIN(t1, t2)) > (MAX_CYCLE_TIME_PID_AUTOTUNE * 60L * 1000L)) { - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); + TERN_(DWIN_CREALITY_LCD, DWIN_Popup_Temperature(0)); TERN_(EXTENSIBLE_UI, ExtUI::onPidTuning(ExtUI::result_t::PID_TUNING_TIMEOUT)); SERIAL_ECHOLNPGM(STR_PID_TIMEOUT); break; @@ -812,12 +812,16 @@ void Temperature::_temp_error(const heater_id_t heater_id, PGM_P const serial_ms } void Temperature::max_temp_error(const heater_id_t heater_id) { - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(1)); + #if ENABLED(DWIN_CREALITY_LCD) && (HAS_HOTEND || HAS_HEATED_BED) + DWIN_Popup_Temperature(1); + #endif _temp_error(heater_id, PSTR(STR_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP)); } void Temperature::min_temp_error(const heater_id_t heater_id) { - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); + #if ENABLED(DWIN_CREALITY_LCD) && (HAS_HOTEND || HAS_HEATED_BED) + DWIN_Popup_Temperature(0); + #endif _temp_error(heater_id, PSTR(STR_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP)); } @@ -1055,7 +1059,7 @@ void Temperature::manage_heater() { // Make sure temperature is increasing if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) { // Time to check this extruder? if (degHotend(e) < watch_hotend[e].target) { // Failed to increase enough? - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); + TERN_(DWIN_CREALITY_LCD, DWIN_Popup_Temperature(0)); _temp_error((heater_id_t)e, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); } else // Start again if the target is still far off @@ -1098,7 +1102,7 @@ void Temperature::manage_heater() { // Make sure temperature is increasing if (watch_bed.elapsed(ms)) { // Time to check the bed? if (degBed() < watch_bed.target) { // Failed to increase enough? - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); + TERN_(DWIN_CREALITY_LCD, DWIN_Popup_Temperature(0)); _temp_error(H_BED, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD)); } else // Start again if the target is still far off @@ -2023,7 +2027,7 @@ void Temperature::init() { state = TRRunaway; case TRRunaway: - TERN_(DWIN_CREALITY_LCD, Popup_Window_Temperature(0)); + TERN_(DWIN_CREALITY_LCD, DWIN_Popup_Temperature(0)); _temp_error(heater_id, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY)); } } @@ -2440,14 +2444,8 @@ void Temperature::tick() { #if DISABLED(SLOW_PWM_HEATERS) - #if HAS_HOTEND || HAS_HEATED_BED || HAS_HEATED_CHAMBER - constexpr uint8_t pwm_mask = - #if ENABLED(SOFT_PWM_DITHER) - _BV(SOFT_PWM_SCALE) - 1 - #else - 0 - #endif - ; + #if ANY(HAS_HOTEND, HAS_HEATED_BED, HAS_HEATED_CHAMBER, FAN_SOFT_PWM) + constexpr uint8_t pwm_mask = TERN0(SOFT_PWM_DITHER, _BV(SOFT_PWM_SCALE) - 1); #define _PWM_MOD(N,S,T) do{ \ const bool on = S.add(pwm_mask, T.soft_pwm_amount); \ WRITE_HEATER_##N(on); \ diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index c41027003e9e..e27e628b9a0d 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -89,10 +89,6 @@ #define HAS_GCODE_M876 #endif -#if PREHEAT_COUNT - #define HAS_PREHEAT_COUNT -#endif - #if EXTRUDERS #define HAS_EXTRUDERS #if EXTRUDERS > 1 diff --git a/platformio.ini b/platformio.ini index d0a4cb7b10ea..bf43936df682 100644 --- a/platformio.ini +++ b/platformio.ini @@ -153,7 +153,6 @@ default_src_filter = + - - + - - - - - - - - @@ -330,7 +329,6 @@ HOST_KEEPALIVE_FEATURE = src_filter=+ REPETIER_GCODE_M360 = src_filter=+ HAS_GCODE_M876 = src_filter=+ HAS_RESUME_CONTINUE = src_filter=+ -HAS_PREHEAT_COUNT = src_filter=+ HAS_LCD_CONTRAST = src_filter=+ LCD_SET_PROGRESS_MANUALLY = src_filter=+ TOUCH_SCREEN_CALIBRATION = src_filter=+ From 24d8daa01bfbb18b039045775f8fc7a33608d923 Mon Sep 17 00:00:00 2001 From: deram Date: Thu, 17 Sep 2020 13:41:13 +0300 Subject: [PATCH 085/277] SHOW_REMAINING_TIME for HD44780 character LCD (#19416) --- Marlin/Configuration_adv.h | 31 +++++++++++---------- Marlin/src/inc/SanityCheck.h | 6 ++-- Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp | 29 ++++++++++++++++--- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index d46ba55a922e..214bf4afdda1 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1105,23 +1105,26 @@ #define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s) #endif -#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) - //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits - //#define SHOW_REMAINING_TIME // Display estimated time to completion +#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && (HAS_GRAPHICAL_LCD || HAS_CHARACTER_LCD) + //#define SHOW_REMAINING_TIME // Display estimated time to completion #if ENABLED(SHOW_REMAINING_TIME) - //#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation - //#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time + //#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation + //#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time + #endif + + #if HAS_GRAPHICAL_LCD + //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits #endif -#endif -#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) - //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing - #if ENABLED(LCD_PROGRESS_BAR) - #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar - #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message - #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) - //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it - //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #if HAS_CHARACTER_LCD + //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing + #if ENABLED(LCD_PROGRESS_BAR) + #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar + #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message + #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) + //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it + //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #endif #endif #endif diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 1ee082720d7d..9f15d7e5e3e3 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -692,8 +692,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #elif PROGRESS_MSG_EXPIRE < 0 #error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0." #endif -#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, HAS_GRAPHICAL_TFT, EXTENSIBLE_UI) - #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, TFT, or EXTENSIBLE_UI." +#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, HAS_GRAPHICAL_TFT, HAS_CHARACTER_LCD, EXTENSIBLE_UI) + #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI." #endif #if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE) @@ -3055,8 +3055,6 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #if !HAS_GRAPHICAL_LCD #if ENABLED(PRINT_PROGRESS_SHOW_DECIMALS) #error "PRINT_PROGRESS_SHOW_DECIMALS currently requires a Graphical LCD." - #elif ENABLED(SHOW_REMAINING_TIME) - #error "SHOW_REMAINING_TIME currently requires a Graphical LCD." #endif #endif diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index 0a1177d63ee9..3dc0925b432f 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -845,10 +845,31 @@ void MarlinUI::draw_status_screen() { lcd_put_wchar('%'); char buffer[14]; - duration_t elapsed = print_job_timer.duration(); - const uint8_t len = elapsed.toDigital(buffer), - timepos = LCD_WIDTH - len - 1; - lcd_put_wchar(timepos, 2, LCD_STR_CLOCK[0]); + uint8_t timepos = 0; + #if ENABLED(SHOW_REMAINING_TIME) + const bool show_remain = TERN1(ROTATE_PROGRESS_DISPLAY, blink) && (printingIsActive() || marlin_state == MF_SD_COMPLETE); + if (show_remain) { + #if ENABLED(USE_M73_REMAINING_TIME) + duration_t remaining = get_remaining_time(); + #else + uint8_t progress = get_progress_percent(); + uint32_t elapsed = print_job_timer.duration(); + duration_t remaining = (progress > 0) ? ((elapsed * 25600 / progress) >> 8) - elapsed : 0; + #endif + const uint8_t len = remaining.toDigital(buffer); + timepos = LCD_WIDTH - 1 - len; + lcd_put_wchar(timepos, 2, 'R'); + } + #else + constexpr bool show_remain = false; + #endif + + if (!show_remain) { + duration_t elapsed = print_job_timer.duration(); + const uint8_t len = elapsed.toDigital(buffer); + timepos = LCD_WIDTH - 1 - len; + lcd_put_wchar(timepos, 2, LCD_STR_CLOCK[0]); + } lcd_put_u8str(buffer); #if LCD_WIDTH >= 20 From c539254101f33b0782dca6fa7e00275e033c6ba3 Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Mon, 14 Sep 2020 16:32:54 -0600 Subject: [PATCH 086/277] Add warning to ExtUI Bed Mesh Screen. (#19397) - Show a warning on the Mesh Bed Leveling screen if some points aren't probed. --- .../ftdi_eve_touch_ui/language/language_en.h | 1 + .../screens/bed_mesh_screen.cpp | 27 ++++++-- .../ftdi_eve_touch_ui/screens/screen_data.h | 64 ++++++++++--------- .../lib/ftdi_eve_touch_ui/screens/screens.h | 1 + 4 files changed, 58 insertions(+), 35 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h index e465aa0b93a7..bd64032729fd 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h @@ -145,6 +145,7 @@ namespace Language_en { PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate"; PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS = u8"Level X Axis"; PROGMEM Language_Str MSG_BED_MAPPING_DONE = u8"Bed mapping finished"; + PROGMEM Language_Str MSG_BED_MAPPING_INCOMPLETE = u8"Not all points probed"; PROGMEM Language_Str MSG_LEVELING = u8"Leveling"; PROGMEM Language_Str MSG_SHOW_MESH = u8"Show Bed Mesh"; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp index eea2268c5b9c..5f7c8d3b9990 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp @@ -223,7 +223,7 @@ bool BedMeshScreen::tagToPoint(uint8_t tag, uint8_t &x, uint8_t &y) { void BedMeshScreen::onEntry() { screen_data.BedMeshScreen.highlightedTag = 0; screen_data.BedMeshScreen.count = GRID_MAX_POINTS; - screen_data.BedMeshScreen.showMappingDone = false; + screen_data.BedMeshScreen.message = screen_data.BedMeshScreen.MSG_NONE; BaseScreen::onEntry(); } @@ -253,8 +253,10 @@ void BedMeshScreen::drawHighlightedPointValue() { .tag(1).button( OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY)) .tag(0); - if (screen_data.BedMeshScreen.showMappingDone) { - cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); + switch(screen_data.BedMeshScreen.message) { + case screen_data.BedMeshScreen.MSG_MESH_COMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); break; + case screen_data.BedMeshScreen.MSG_MESH_INCOMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_INCOMPLETE)); break; + default: break; } } @@ -307,15 +309,30 @@ void BedMeshScreen::onMeshUpdate(const int8_t, const int8_t, const float) { onRefresh(); } +bool BedMeshScreen::isMeshComplete(ExtUI::bed_mesh_t data) { + for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) { + for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) { + if (isnan(data[x][y])) { + return false; + } + } + } + return true; +} + void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t state) { switch(state) { case ExtUI::MESH_START: screen_data.BedMeshScreen.count = 0; - screen_data.BedMeshScreen.showMappingDone = false; + screen_data.BedMeshScreen.message = screen_data.BedMeshScreen.MSG_NONE; break; case ExtUI::MESH_FINISH: + if (screen_data.BedMeshScreen.count == GRID_MAX_POINTS && isMeshComplete(ExtUI::getMeshArray())) { + screen_data.BedMeshScreen.message = screen_data.BedMeshScreen.MSG_MESH_COMPLETE; + } else { + screen_data.BedMeshScreen.message = screen_data.BedMeshScreen.MSG_MESH_INCOMPLETE; + } screen_data.BedMeshScreen.count = GRID_MAX_POINTS; - screen_data.BedMeshScreen.showMappingDone = true; break; case ExtUI::PROBE_START: screen_data.BedMeshScreen.highlightedTag = pointToTag(x, y); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h index 39e9ce4bc568..a274fef9e747 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h @@ -52,42 +52,46 @@ union screen_data_t { uint8_t num_page; uint8_t cur_page; #if ENABLED(SCROLL_LONG_FILENAMES) && (FTDI_API_LEVEL >= 810) - uint16_t scroll_pos; - uint16_t scroll_max; + uint16_t scroll_pos; + uint16_t scroll_max; #endif } FilesScreen; struct { struct base_numeric_adjustment_t placeholder; float e_rel[ExtUI::extruderCount]; } MoveAxisScreen; -#if HAS_MESH - struct { - bool showMappingDone; - uint8_t count; - uint8_t highlightedTag; - } BedMeshScreen; -#endif -#if ENABLED(TOUCH_UI_DEVELOPER_MENU) - struct { - uint32_t next_watchdog_trigger; - const char* message; - } StressTestScreen; -#endif -#if ENABLED(TOUCH_UI_COCOA_PRESS) - struct { - uint32_t start_ms; - } PreheatTimerScreen; -#endif -#if ENABLED(BABYSTEPPING) - struct { - struct base_numeric_adjustment_t placeholder; - xyz_int_t rel; - #if EXTRUDERS > 1 - bool link_nozzles; - #endif - bool show_offsets; - } NudgeNozzleScreen; -#endif + #if HAS_MESH + struct { + enum : uint8_t { + MSG_NONE, + MSG_MESH_COMPLETE, + MSG_MESH_INCOMPLETE + } message; + uint8_t count; + uint8_t highlightedTag; + } BedMeshScreen; + #endif + #if ENABLED(TOUCH_UI_DEVELOPER_MENU) + struct { + uint32_t next_watchdog_trigger; + const char* message; + } StressTestScreen; + #endif + #if ENABLED(TOUCH_UI_COCOA_PRESS) + struct { + uint32_t start_ms; + } PreheatTimerScreen; + #endif + #if ENABLED(BABYSTEPPING) + struct { + struct base_numeric_adjustment_t placeholder; + xyz_int_t rel; + #if EXTRUDERS > 1 + bool link_nozzles; + #endif + bool show_offsets; + } NudgeNozzleScreen; + #endif }; extern screen_data_t screen_data; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h index ec8df2760789..b425c4fa45fb 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h @@ -533,6 +533,7 @@ class StepsScreen : public BaseNumericAdjustmentScreen, public CachedScreen Date: Thu, 17 Sep 2020 07:52:47 -0300 Subject: [PATCH 087/277] Fix MKS UI SPI flash typo (#19410) --- Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp index 9d3adc1bab93..ad116d5045df 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp @@ -221,7 +221,7 @@ void SPIFlashStorage::flushPage() { #if HAS_SPI_FLASH_COMPRESSION // Restart the compressed buffer, keep the pointers of the uncompressed buffer m_compressedDataUsed = 0; - #elif + #else m_pageDataUsed = 0; #endif m_currentPage++; From da1a60aeb6b1701941066d3e5a9abd62b5551526 Mon Sep 17 00:00:00 2001 From: jahartley <52391697+jahartley@users.noreply.github.com> Date: Thu, 17 Sep 2020 07:01:10 -0400 Subject: [PATCH 088/277] Expose JOYSTICK_DEBUG to the general user (#19394) Co-authored-by: Scott Lahteine --- Marlin/Configuration_adv.h | 1 + Marlin/src/feature/joystick.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 214bf4afdda1..35b1dcc563ef 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3339,6 +3339,7 @@ #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } + //#define JOYSTICK_DEBUG #endif /** diff --git a/Marlin/src/feature/joystick.h b/Marlin/src/feature/joystick.h index ca46834578cc..1d25a30cc24d 100644 --- a/Marlin/src/feature/joystick.h +++ b/Marlin/src/feature/joystick.h @@ -30,8 +30,6 @@ #include "../core/macros.h" #include "../module/temperature.h" -//#define JOYSTICK_DEBUG - class Joystick { friend class Temperature; private: From a52afd2aebeb1029f80f175489e66a310de4197d Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Thu, 17 Sep 2020 04:35:10 -0700 Subject: [PATCH 089/277] Update stale issue message and parameters (#19412) * Update stale issue bot * Update close-stale.yml * Update close-stale.yml Co-authored-by: Scott Lahteine --- .github/workflows/close-stale.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml index 083e844e9040..89d5d65351d9 100644 --- a/.github/workflows/close-stale.yml +++ b/.github/workflows/close-stale.yml @@ -20,8 +20,8 @@ jobs: - uses: actions/stale@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.' + stale-issue-message: 'This issue has had no activity in the last 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days.' days-before-stale: 30 - days-before-close: 5 + days-before-close: 7 stale-issue-label: 'stale-closing-soon' exempt-issue-labels: 'T: Feature Request' From 62206c03864746456f09767d4af351820b30a43a Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Thu, 17 Sep 2020 07:36:21 -0400 Subject: [PATCH 090/277] Host Action: Start (#19398) --- Marlin/src/feature/host_actions.cpp | 3 +++ Marlin/src/feature/host_actions.h | 3 +++ Marlin/src/inc/Conditionals_adv.h | 3 +++ Marlin/src/lcd/language/language_en.h | 1 + Marlin/src/lcd/menu/menu_main.cpp | 8 ++++++++ 5 files changed, 18 insertions(+) diff --git a/Marlin/src/feature/host_actions.cpp b/Marlin/src/feature/host_actions.cpp index 9539c82b6454..30126392207d 100644 --- a/Marlin/src/feature/host_actions.cpp +++ b/Marlin/src/feature/host_actions.cpp @@ -62,6 +62,9 @@ void host_action(PGM_P const pstr, const bool eol) { #ifdef ACTION_ON_CANCEL void host_action_cancel() { host_action(PSTR(ACTION_ON_CANCEL)); } #endif +#ifdef ACTION_ON_START + void host_action_start() { host_action(PSTR(ACTION_ON_START)); } +#endif #if ENABLED(HOST_PROMPT_SUPPORT) diff --git a/Marlin/src/feature/host_actions.h b/Marlin/src/feature/host_actions.h index a6ad2c048505..09eeed23e215 100644 --- a/Marlin/src/feature/host_actions.h +++ b/Marlin/src/feature/host_actions.h @@ -44,6 +44,9 @@ void host_action(PGM_P const pstr, const bool eol=true); #ifdef ACTION_ON_CANCEL void host_action_cancel(); #endif +#ifdef ACTION_ON_START + void host_action_start(); +#endif #if ENABLED(HOST_PROMPT_SUPPORT) diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index ff13d2897df2..73e034d05f2f 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -196,6 +196,9 @@ #ifndef ACTION_ON_CANCEL #define ACTION_ON_CANCEL "cancel" #endif + #ifndef ACTION_ON_START + #define ACTION_ON_START "start" + #endif #ifndef ACTION_ON_KILL #define ACTION_ON_KILL "poweroff" #endif diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index fc9e065abe0d..04c58fd22a1d 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -366,6 +366,7 @@ namespace Language_en { PROGMEM Language_Str MSG_PAUSING = _UxGT("Pausing..."); PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause Print"); PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Resume Print"); + PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Host Start"); PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop Print"); PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Printing Object"); PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancel Object"); diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index 8908f49fb22f..334d998d5c6f 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -54,6 +54,10 @@ #include "../../feature/password/password.h" #endif +#ifdef ACTION_ON_START + #include "../../feature/host_actions.h" +#endif + void menu_tune(); void menu_cancelobject(); void menu_motion(); @@ -158,6 +162,10 @@ void menu_main() { if (TERN0(MACHINE_CAN_PAUSE, printingIsPaused())) ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print); + #ifdef ACTION_ON_START + ACTION_ITEM(MSG_HOST_START_PRINT, host_action_start); + #endif + SUBMENU(MSG_MOTION, menu_motion); } From 5b56d6698a2a9b78a5dd40446bcb606cbfff010d Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Thu, 17 Sep 2020 08:52:21 -0300 Subject: [PATCH 091/277] Move screen for Color UI (#19386) --- .../src/lcd/tft/bitmaps/btn_64x52_rounded.bmp | Bin 0 -> 10040 bytes Marlin/src/lcd/tft/bitmaps/home.bmp | Bin 0 -> 12344 bytes .../lcd/tft/images/btn_rounded_64x52x4.cpp | 82 ++++ Marlin/src/lcd/tft/images/home_64x64x4.cpp | 94 ++++ Marlin/src/lcd/tft/tft_color.h | 10 +- Marlin/src/lcd/tft/tft_image.cpp | 2 + Marlin/src/lcd/tft/tft_image.h | 6 + Marlin/src/lcd/tft/touch.cpp | 11 + Marlin/src/lcd/tft/touch.h | 5 + Marlin/src/lcd/tft/ui_320x240.cpp | 3 + Marlin/src/lcd/tft/ui_320x240.h | 2 + Marlin/src/lcd/tft/ui_480x320.cpp | 435 ++++++++++++++++++ Marlin/src/lcd/tft/ui_480x320.h | 2 + Marlin/src/lcd/ultralcd.h | 4 + .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 12 +- 15 files changed, 662 insertions(+), 6 deletions(-) create mode 100644 Marlin/src/lcd/tft/bitmaps/btn_64x52_rounded.bmp create mode 100644 Marlin/src/lcd/tft/bitmaps/home.bmp create mode 100644 Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp create mode 100644 Marlin/src/lcd/tft/images/home_64x64x4.cpp diff --git a/Marlin/src/lcd/tft/bitmaps/btn_64x52_rounded.bmp b/Marlin/src/lcd/tft/bitmaps/btn_64x52_rounded.bmp new file mode 100644 index 0000000000000000000000000000000000000000..04e879dbb0d8ff6406b5808f0e3cdcba32af85fb GIT binary patch literal 10040 zcmeI2OG{fp7>3jSh|)h$+8`{3Z=(1tRbAyb?WP7Gfr@bKp5=9e}B%<=JYp-`X^Spq6*ZEf{T zAfE59&HO1y*4EapudhMf*w|nTQH9_?KR+i)nXC(|LltPQ3AtT0kh0koJN0ntyGLO`m0b?eomvmyjChk8vRwM zDnF;uUtTK}BaQwlRF$98=r6C8ijhWt6{^b5`9k#9_W3zr*3;&O&!08-FaE*rbUHC* zboP&g&nxt|{3HB3k-?h86k}1axv`LhQ%}7FUDL!64B}J+V1m~2@9(`m#PC9oE_lU-e1v;&S((*q1( zK*HMvwN|TvD*S6qy;7+}^6Kh}O``Mp0S*aZ@`Ad)zHXf#5Pv(4j*iIVUvF=3W2Djo zEP*BmArK!Y9b+9lAgk3X%Cn=y`3?A4fEK_zZPUI$()k3bX@R31T4SHSfVObmiN zM7RhNo>A~3M`FT(1aA;dcpwB8O-K|Fi0&5(n@;sicTZ2x4D3<~Jyq2;e|`Voe^>qW z5AlCQ{O;H-;ao%bi{1PC$?+RChvR4N|N4vg+wI`;=+UFU4{ZVduR~t2{o&O>IF1?q zJ0^;u91}9`7z$AjFvHKJ4Gj%D0)<@+BoDd@(vYn(>kZ(WL+6$&=^LpU=w5LKI)o z0!uym{K6%|!ouR?F(~neEG685&V?X zr%z8!O_>w({mq*<7cX9v-O#2#Gm)>-Gf;a$Z6Kr)&>Oyy?XV^6|mIrFMjr~;NW0FRsuf^ zP9f|hsy}}GcxY%SL9)c@s_8HOZ{NN>e*8EsEiF4cTRE$xq@>WCpPzR{tL?YOPs~pd zF%lIE>yMViT93rP%jM*7t;BB(P!8$5cc^f1_~F5l6bN0#pWG7X>!PBf8#iw7>Kzb% zz~E<1D=aM39__I|ivwfo>gpmRBYE`*c<^4%ZX6%D>u&sG&0DnJ!he{ZRSQd|rltl4 z26DR3$jBf;Ap#QdAQ&?%F4=|oSdenCivUi+qLq&-2?x_ zhYztT>lkYnXV|5srNza?7cX9r$-y_&{2VjUZfgy*(gx~|Do{0!vFd6X9)}y7)d@v>i0pjwY8Pp{@B=b$`$;~%nYbXYD@6*AW)&8pulOWVQXuP7vEFVDX!Jbn69AD&lIfmib%1Qmqa=vZEYm-zjwLQ6{vmLDA* zb>%i%crCxbR1j{{-{0>RyiFH@wANq$8 z#j55jHu5Vfz{!S1HkBMK8NB7?WzL3VENzEpMtk{%3gl;?C0EZc4s2fJkkN>%I&Wj% z!ulg^=NHp)WZ>5j{(Fa98Oc>~g3u?icGpY%)?h4r>p#G6LF)tcmBar3^A5+qc0^VJ literal 0 HcmV?d00001 diff --git a/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp b/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp new file mode 100644 index 000000000000..69a045d85af1 --- /dev/null +++ b/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp @@ -0,0 +1,82 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t btn_rounded_64x52x4[1664] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, + 0x88, 0x88, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x87, 0x77, 0x78, + 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x66, 0x78, + 0x88, 0x8d, 0xff, 0xb8, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x7b, 0xff, 0xc6, 0x67, + 0x87, 0xbf, 0xf7, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6f, 0xf9, 0x56, + 0x87, 0xef, 0x84, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x58, 0xfd, 0x46, + 0x87, 0xff, 0x54, 0x44, 0x56, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xff, 0x45, + 0x87, 0xff, 0x44, 0x45, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xff, 0x45, + 0x87, 0xff, 0x44, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, + 0x87, 0xef, 0x84, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xfe, 0x44, + 0x87, 0xaf, 0xf6, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xf9, 0x44, + 0x87, 0x7d, 0xff, 0xb8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9c, 0xff, 0xd4, 0x45, + 0x87, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x45, + 0x87, 0x76, 0x56, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x64, 0x44, 0x46, + 0x87, 0x77, 0x65, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x56, + 0x88, 0x77, 0x76, 0x55, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x55, 0x67, + 0x88, 0x77, 0x77, 0x66, 0x65, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x66, 0x78, + 0x88, 0x88, 0x77, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x77, 0x78, +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/home_64x64x4.cpp b/Marlin/src/lcd/tft/images/home_64x64x4.cpp new file mode 100644 index 000000000000..107c76e54ef3 --- /dev/null +++ b/Marlin/src/lcd/tft/images/home_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t home_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0x88, 0x76, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9d, 0xff, 0xea, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x40, 0xbf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf6, 0x54, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x57, 0xff, 0x80, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xbf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, + 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, + 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xb, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, + 0x87, 0x7f, 0xff, 0xff, 0xff, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xbf, 0xff, 0xff, 0xfb, 0x68, 0x88, + 0x87, 0x7f, 0xff, 0xff, 0xf7, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xb, 0xff, 0xff, 0xfd, 0x67, 0x88, + 0x87, 0x3d, 0xff, 0xff, 0x75, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x30, 0xbf, 0xff, 0xfa, 0x68, 0x88, + 0x88, 0x44, 0xce, 0xd7, 0x58, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x74, 0x19, 0xee, 0xa6, 0x88, 0x88, + 0x88, 0x73, 0x24, 0x56, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x52, 0x35, 0x68, 0x88, 0x88, + 0x88, 0x87, 0x66, 0x78, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x87, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x44, 0x44, 0x44, 0x12, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x72, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0x4c, 0xee, 0xee, 0xee, 0xee, 0xee, 0xff, 0x97, 0x88, 0x88, 0x88, 0x84, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x32, 0x44, 0x44, 0x44, 0x44, 0x33, 0x57, 0x88, 0x88, 0x88, 0x88, 0x86, 0x43, 0x34, 0x44, 0x44, 0x44, 0x34, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/tft_color.h b/Marlin/src/lcd/tft/tft_color.h index d2c5d8e7db7e..14906a1bcf66 100644 --- a/Marlin/src/lcd/tft/tft_color.h +++ b/Marlin/src/lcd/tft/tft_color.h @@ -42,6 +42,7 @@ #define COLOR_SCARLET 0xF904 // #FF2020 #define COLOR_LIME 0x7E00 // #00FF00 #define COLOR_BLUE 0x001F // #0000FF +#define COLOR_LIGHT_BLUE 0x061F // #00C3FF #define COLOR_YELLOW 0xFFE0 // #FFFF00 #define COLOR_MAGENTA 0xF81F // #FF00FF #define COLOR_FUCHSIA 0xF81F // #FF00FF @@ -66,10 +67,11 @@ #define COLOR_DARK_PURPLE 0x9930 // #992380 - -#define COLOR_BACKGROUND 0x20AC // #1E156E -#define COLOR_SELECTION_BG 0x9930 // #992380 -#define COLOR_WEBSITE_URL 0x03B7 +#ifndef COLOR_BACKGROUND + #define COLOR_BACKGROUND 0x20AC // #1E156E +#endif +#define COLOR_SELECTION_BG 0x9930 // #992380 +#define COLOR_WEBSITE_URL 0x03B7 #define COLOR_INACTIVE COLOR_GREY #define COLOR_COLD COLOR_AQUA diff --git a/Marlin/src/lcd/tft/tft_image.cpp b/Marlin/src/lcd/tft/tft_image.cpp index ff60bee9a9df..27749cb7f3ae 100644 --- a/Marlin/src/lcd/tft/tft_image.cpp +++ b/Marlin/src/lcd/tft/tft_image.cpp @@ -45,6 +45,8 @@ const tImage Fan_Slow1_64x64x4 = { (void *)fan_slow1_64x64x4, 64, 64, GREYS const tImage Fan_Fast0_64x64x4 = { (void *)fan_fast0_64x64x4, 64, 64, GREYSCALE4 }; const tImage Fan_Fast1_64x64x4 = { (void *)fan_fast1_64x64x4, 64, 64, GREYSCALE4 }; const tImage SD_64x64x4 = { (void *)sd_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Home_64x64x4 = { (void *)home_64x64x4, 64, 64, GREYSCALE4 }; +const tImage BtnRounded_64x52x4 = { (void *)btn_rounded_64x52x4, 64, 52, GREYSCALE4 }; const tImage Menu_64x64x4 = { (void *)menu_64x64x4, 64, 64, GREYSCALE4 }; const tImage Settings_64x64x4 = { (void *)settings_64x64x4, 64, 64, GREYSCALE4 }; const tImage Confirm_64x64x4 = { (void *)confirm_64x64x4, 64, 64, GREYSCALE4 }; diff --git a/Marlin/src/lcd/tft/tft_image.h b/Marlin/src/lcd/tft/tft_image.h index cf48065968b1..1f13967ba248 100644 --- a/Marlin/src/lcd/tft/tft_image.h +++ b/Marlin/src/lcd/tft/tft_image.h @@ -39,6 +39,8 @@ extern const uint8_t fan0_64x64x4[], fan1_64x64x4[]; extern const uint8_t fan_slow0_64x64x4[], fan_slow1_64x64x4[]; extern const uint8_t fan_fast0_64x64x4[], fan_fast1_64x64x4[]; extern const uint8_t sd_64x64x4[]; +extern const uint8_t home_64x64x4[]; +extern const uint8_t btn_rounded_64x52x4[]; extern const uint8_t menu_64x64x4[]; extern const uint8_t settings_64x64x4[]; extern const uint8_t confirm_64x64x4[]; @@ -90,6 +92,8 @@ enum MarlinImage : uint8_t { imgRefresh, imgLeveling, imgSlider, + imgHome, + imgBtn52Rounded, imgCount, noImage = imgCount, imgPageUp = imgLeft, @@ -136,6 +140,8 @@ extern const tImage Fan_Slow1_64x64x4; extern const tImage Fan_Fast0_64x64x4; extern const tImage Fan_Fast1_64x64x4; extern const tImage SD_64x64x4; +extern const tImage Home_64x64x4; +extern const tImage BtnRounded_64x52x4; extern const tImage Menu_64x64x4; extern const tImage Settings_64x64x4; extern const tImage Confirm_64x64x4; diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index d2b860ab155f..d19cc4bf1d95 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -35,6 +35,7 @@ #include "tft.h" +bool Touch::enabled = true; int16_t Touch::x, Touch::y; touch_control_t Touch::controls[]; touch_control_t *Touch::current_control; @@ -54,6 +55,7 @@ void Touch::init() { calibration_reset(); reset(); io.Init(); + enable(); } void Touch::add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data) { @@ -72,6 +74,8 @@ void Touch::idle() { uint16_t i; int16_t _x, _y; + if (!enabled) return; + if (now == millis()) return; now = millis(); @@ -253,6 +257,13 @@ void Touch::touch(touch_control_t *control) { case UBL: hold(control, UBL_REPEAT_DELAY); ui.encoderPosition += control->data; break; #endif + case MOVE_AXIS: + ui.goto_screen((screenFunc_t)ui.move_axis_screen); + break; + + // TODO: TOUCH could receive data to pass to the callback + case BUTTON: ((screenFunc_t)control->data)(); break; + default: break; } } diff --git a/Marlin/src/lcd/tft/touch.h b/Marlin/src/lcd/tft/touch.h index f3e53ae461c5..7d8f222918db 100644 --- a/Marlin/src/lcd/tft/touch.h +++ b/Marlin/src/lcd/tft/touch.h @@ -79,6 +79,8 @@ enum TouchControlType : uint16_t { FEEDRATE, FLOWRATE, UBL, + MOVE_AXIS, + BUTTON, }; typedef void (*screenFunc_t)(); @@ -132,6 +134,7 @@ class Touch { private: static TOUCH_DRIVER io; static int16_t x, y; + static bool enabled; static touch_control_t controls[MAX_CONTROLS]; static touch_control_t *current_control; @@ -162,6 +165,8 @@ class Touch { static void clear() { controls_count = 0; } static void idle(); static bool is_clicked() { return touch_control_type == CLICK; } + static void disable() { enabled = false; } + static void enable() { enabled = true; } static void add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data = 0); diff --git a/Marlin/src/lcd/tft/ui_320x240.cpp b/Marlin/src/lcd/tft/ui_320x240.cpp index a4ac1465ea25..2f4c90e17083 100644 --- a/Marlin/src/lcd/tft/ui_320x240.cpp +++ b/Marlin/src/lcd/tft/ui_320x240.cpp @@ -650,4 +650,7 @@ void menu_item(const uint8_t row, bool sel ) { TERN_(TOUCH_SCREEN, touch.add_control(sel ? CLICK : MENU_ITEM, 0, 2 + 34 * row, 320, 32, encoderTopLine + row)); } +void MarlinUI::move_axis_screen() { +} + #endif // HAS_UI_320x240 diff --git a/Marlin/src/lcd/tft/ui_320x240.h b/Marlin/src/lcd/tft/ui_320x240.h index ed69acbcd2e9..c9822f11cc69 100644 --- a/Marlin/src/lcd/tft/ui_320x240.h +++ b/Marlin/src/lcd/tft/ui_320x240.h @@ -73,6 +73,8 @@ const tImage Images[imgCount] = { Refresh_32x32x4, Leveling_32x32x4, Slider8x16x4, + Home_64x64x4, + BtnRounded_64x52x4, }; #if HAS_TEMP_CHAMBER && HOTENDS > 1 diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index c9f0bfd0e9b1..d6409c1dca7e 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -291,6 +291,7 @@ void MarlinUI::draw_status_screen() { offset += 32 - tft_string.width(); } tft.add_text(455 - tft_string.width() - offset, 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + TERN_(TOUCH_SCREEN, touch.add_control(MOVE_AXIS, 4, 132, TFT_WIDTH - 8, 34)); // feed rate tft.canvas(96, 180, 100, 32); @@ -654,4 +655,438 @@ void menu_item(const uint8_t row, bool sel ) { TERN_(TOUCH_SCREEN, touch.add_control(sel ? CLICK : MENU_ITEM, 0, 4 + 45 * row, TFT_WIDTH, 43, encoderTopLine + row)); } +#if ENABLED(BABYSTEP_ZPROBE_OFFSET) + #include "../../feature/babystep.h" +#endif + +#if HAS_BED_PROBE + #include "../../module/probe.h" +#endif + +#define Z_SELECTION_Z 1 +#define Z_SELECTION_Z_PROBE -1 + +struct MotionAxisState { + xy_int_t xValuePos, yValuePos, zValuePos, eValuePos, stepValuePos, zTypePos, eNamePos; + float currentStepSize = 10.0; + int z_selection = Z_SELECTION_Z; + uint8_t e_selection = 0; + bool homming = false; + bool blocked = false; + char message[32]; +}; + +MotionAxisState motionAxisState; + +#define E_BTN_COLOR COLOR_YELLOW +#define X_BTN_COLOR COLOR_CORAL_RED +#define Y_BTN_COLOR COLOR_VIVID_GREEN +#define Z_BTN_COLOR COLOR_LIGHT_BLUE + +#define BTN_WIDTH 64 +#define BTN_HEIGHT 52 +#define X_MARGIN 20 +#define Y_MARGIN 15 + +static void quick_feedback() { + #if HAS_CHIRP + ui.chirp(); // Buzz and wait. Is the delay needed for buttons to settle? + #if BOTH(HAS_LCD_MENU, USE_BEEPER) + for (int8_t i = 5; i--;) { buzzer.tick(); delay(2); } + #elif HAS_LCD_MENU + delay(10); + #endif + #endif +} + +#define CUR_STEP_VALUE_WIDTH 104 +static void drawCurStepValue() { + tft_string.set((uint8_t *)ftostr52sp(motionAxisState.currentStepSize)); + tft_string.add("mm"); + tft.canvas(motionAxisState.stepValuePos.x, motionAxisState.stepValuePos.y, CUR_STEP_VALUE_WIDTH, BTN_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft.add_text(tft_string.center(CUR_STEP_VALUE_WIDTH), 0, COLOR_AXIS_HOMED, tft_string); +} + +static void drawCurZSelection() { + tft_string.set("Z"); + tft.canvas(motionAxisState.zTypePos.x, motionAxisState.zTypePos.y, tft_string.width(), 34); + tft.set_background(COLOR_BACKGROUND); + tft.add_text(0, 0, Z_BTN_COLOR, tft_string); + tft.queue.sync(); + tft_string.set("Offset"); + tft.canvas(motionAxisState.zTypePos.x, motionAxisState.zTypePos.y + 34, tft_string.width(), 34); + tft.set_background(COLOR_BACKGROUND); + if (motionAxisState.z_selection == Z_SELECTION_Z_PROBE) { + tft.add_text(0, 0, Z_BTN_COLOR, tft_string); + } +} + +static void drawCurESelection() { + tft.canvas(motionAxisState.eNamePos.x, motionAxisState.eNamePos.y, BTN_WIDTH, BTN_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft_string.set("E"); + tft.add_text(0, 0, E_BTN_COLOR , tft_string); + tft.add_text(tft_string.width(), 0, E_BTN_COLOR, ui8tostr3rj(motionAxisState.e_selection)); +} + +static void drawMessage(const char *msg) { + tft.canvas(X_MARGIN, TFT_HEIGHT - Y_MARGIN - 34, TFT_HEIGHT / 2, 34); + tft.set_background(COLOR_BACKGROUND); + tft.add_text(0, 0, COLOR_YELLOW, msg); +} + +static void drawAxisValue(AxisEnum axis) { + const float value = + #if HAS_BED_PROBE + axis == Z_AXIS && motionAxisState.z_selection == Z_SELECTION_Z_PROBE ? + probe.offset.z : + #endif + NATIVE_TO_LOGICAL( + ui.manual_move.processing ? destination[axis] : current_position[axis] + TERN0(IS_KINEMATIC, ui.manual_move.offset), + axis + ); + xy_int_t pos; + uint16_t color; + switch (axis) { + case X_AXIS: pos = motionAxisState.xValuePos; color = X_BTN_COLOR; break; + case Y_AXIS: pos = motionAxisState.yValuePos; color = Y_BTN_COLOR; break; + case Z_AXIS: pos = motionAxisState.zValuePos; color = Z_BTN_COLOR; break; + case E_AXIS: pos = motionAxisState.eValuePos; color = E_BTN_COLOR; break; + default: return; + } + tft.canvas(pos.x, pos.y, BTN_WIDTH + X_MARGIN, BTN_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(ftostr52sp(value)); + tft.add_text(0, 0, color, tft_string); +} + +static void moveAxis(AxisEnum axis, const int8_t direction) { + quick_feedback(); + + if (axis == E_AXIS && thermalManager.temp_hotend[motionAxisState.e_selection].celsius < EXTRUDE_MINTEMP) { + drawMessage("Too cold"); + return; + } + + const float diff = motionAxisState.currentStepSize * direction; + + if (axis == Z_AXIS && motionAxisState.z_selection == Z_SELECTION_Z_PROBE) { + #if ENABLED(BABYSTEP_ZPROBE_OFFSET) + const int16_t babystep_increment = direction * BABYSTEP_SIZE_Z; + const bool do_probe = DISABLED(BABYSTEP_HOTEND_Z_OFFSET) || active_extruder == 0; + const float bsDiff = planner.steps_to_mm[Z_AXIS] * babystep_increment, + new_probe_offset = probe.offset.z + bsDiff, + new_offs = TERN(BABYSTEP_HOTEND_Z_OFFSET + , do_probe ? new_probe_offset : hotend_offset[active_extruder].z - bsDiff + , new_probe_offset + ); + if (WITHIN(new_offs, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) { + babystep.add_steps(Z_AXIS, babystep_increment); + if (do_probe) + probe.offset.z = new_offs; + else + TERN(BABYSTEP_HOTEND_Z_OFFSET, hotend_offset[active_extruder].z = new_offs, NOOP); + drawMessage(""); // clear the error + drawAxisValue(axis); + } + else { + drawMessage(GET_TEXT(MSG_LCD_SOFT_ENDSTOPS)); + } + #elif HAS_BED_PROBE + // only change probe.offset.z + probe.offset.z += diff; + if (direction < 0 && current_position[axis] < Z_PROBE_OFFSET_RANGE_MIN) { + current_position[axis] = Z_PROBE_OFFSET_RANGE_MIN; + drawMessage(GET_TEXT(MSG_LCD_SOFT_ENDSTOPS)); + } + else if (direction > 0 && current_position[axis] > Z_PROBE_OFFSET_RANGE_MAX) { + current_position[axis] = Z_PROBE_OFFSET_RANGE_MAX; + drawMessage(GET_TEXT(MSG_LCD_SOFT_ENDSTOPS)); + } + else { + drawMessage(""); // clear the error + } + drawAxisValue(axis); + #endif + return; + } + + if (!ui.manual_move.processing) { + // Start with no limits to movement + float min = current_position[axis] - 1000, + max = current_position[axis] + 1000; + + // Limit to software endstops, if enabled + #if HAS_SOFTWARE_ENDSTOPS + if (soft_endstops_enabled) switch (axis) { + case X_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_X, min = soft_endstop.min.x); + TERN_(MAX_SOFTWARE_ENDSTOP_X, max = soft_endstop.max.x); + break; + case Y_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_Y, min = soft_endstop.min.y); + TERN_(MAX_SOFTWARE_ENDSTOP_Y, max = soft_endstop.max.y); + break; + case Z_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_Z, min = soft_endstop.min.z); + TERN_(MAX_SOFTWARE_ENDSTOP_Z, max = soft_endstop.max.z); + default: break; + } + #endif // HAS_SOFTWARE_ENDSTOPS + + // Delta limits XY based on the current offset from center + // This assumes the center is 0,0 + #if ENABLED(DELTA) + if (axis != Z_AXIS && axis != E_AXIS) { + max = SQRT(sq((float)(DELTA_PRINTABLE_RADIUS)) - sq(current_position[Y_AXIS - axis])); // (Y_AXIS - axis) == the other axis + min = -max; + } + #endif + + // Get the new position + #if IS_KINEMATIC + ui.manual_move.offset += diff; + if (direction < 0) + NOLESS(ui.manual_move.offset, min - current_position[axis]); + else + NOMORE(ui.manual_move.offset, max - current_position[axis]); + #else + current_position[axis] += diff; + if (direction < 0 && current_position[axis] < min) { + current_position[axis] = min; + drawMessage(GET_TEXT(MSG_LCD_SOFT_ENDSTOPS)); + } + else if (direction > 0 && current_position[axis] > max) { + current_position[axis] = max; + drawMessage(GET_TEXT(MSG_LCD_SOFT_ENDSTOPS)); + } + else { + drawMessage(""); // clear the error + } + #endif + + ui.manual_move.soon(axis + #if MULTI_MANUAL + , motionAxisState.e_selection + #endif + ); + } + + drawAxisValue(axis); +} + +static void e_plus() { + moveAxis(E_AXIS, 1); +} + +static void e_minus() { + moveAxis(E_AXIS, -1); +} + +static void x_minus() { + moveAxis(X_AXIS, -1); +} + +static void x_plus() { + moveAxis(X_AXIS, 1); +} + +static void y_plus() { + moveAxis(Y_AXIS, 1); +} + +static void y_minus() { + moveAxis(Y_AXIS, -1); +} + +static void z_plus() { + moveAxis(Z_AXIS, 1); +} + +static void z_minus() { + moveAxis(Z_AXIS, -1); +} + +static void e_select() { + motionAxisState.e_selection++; + if (motionAxisState.e_selection >= EXTRUDERS) { + motionAxisState.e_selection = 0; + } + + quick_feedback(); + drawCurESelection(); + drawAxisValue(E_AXIS); +} + +static void do_home() { + quick_feedback(); + drawMessage(GET_TEXT(MSG_LEVEL_BED_HOMING)); + queue.inject_P(G28_STR); + // Disable touch until home is done + touch.disable(); + drawAxisValue(E_AXIS); + drawAxisValue(X_AXIS); + drawAxisValue(Y_AXIS); + drawAxisValue(Z_AXIS); +} + +static void step_size() { + motionAxisState.currentStepSize = motionAxisState.currentStepSize / 10.0; + if (motionAxisState.currentStepSize < 0.0015) motionAxisState.currentStepSize = 10.0; + quick_feedback(); + drawCurStepValue(); +} + +#if HAS_BED_PROBE + static void z_select() { + motionAxisState.z_selection *= -1; + quick_feedback(); + drawCurZSelection(); + drawAxisValue(Z_AXIS); + } +#endif + +static void disable_steppers() { + quick_feedback(); + queue.inject_P(PSTR("M84")); +} + +static void drawBtn(int x, int y, const char* label, int32_t data, MarlinImage img, uint16_t bgColor, bool enabled = true) { + uint16_t width = Images[imgBtn52Rounded].width; + uint16_t height = Images[imgBtn52Rounded].height; + + tft.queue.sync(); //need sync to change font + + if (!enabled) bgColor = COLOR_CONTROL_DISABLED; + + tft.canvas(x, y, width, height); + tft.set_background(COLOR_BACKGROUND); + tft.add_image(0, 0, imgBtn52Rounded, bgColor, COLOR_BACKGROUND, COLOR_DARKGREY); + + if (label != NULL) { + tft.set_font(Helvetica12Bold); + tft_string.set_font(Helvetica12Bold); + tft_string.set(label); + tft_string.trim(); + tft.add_text(tft_string.center(width), height / 2 - tft_string.font_height() / 2, bgColor, tft_string); + + tft.queue.sync(); + tft_string.set_font(Helvetica18); + tft.set_font(Helvetica18); + } + else { + tft.add_image(0, 0, img, bgColor, COLOR_BACKGROUND, COLOR_DARKGREY); + } + + if (enabled) touch.add_control(BUTTON, x, y, width, height, data); +} + +void MarlinUI::move_axis_screen() { + // Reset + motionAxisState.blocked = false; + touch.enable(); + + ui.clear_lcd(); + + TERN_(TOUCH_SCREEN, touch.clear()); + + const bool busy = printingIsActive(); + + // if we have baby step and we are printing, select baby step + if (busy && ENABLED(BABYSTEP_ZPROBE_OFFSET)) motionAxisState.z_selection = Z_SELECTION_Z_PROBE; + + // ROW 1 -> E- Y- CurY Z+ + int x = X_MARGIN, y = Y_MARGIN, spacing = 0; + + drawBtn(x, y, "E+", (int32_t)e_plus, imgUp, E_BTN_COLOR, !busy); + + spacing = (TFT_WIDTH - X_MARGIN * 2 - 3 * BTN_WIDTH) / 2; + x += BTN_WIDTH + spacing; + drawBtn(x, y, "Y+", (int32_t)y_plus, imgUp, Y_BTN_COLOR, !busy); + + // Cur Y + x += BTN_WIDTH; + motionAxisState.yValuePos.x = x + 2; + motionAxisState.yValuePos.y = y; + drawAxisValue(Y_AXIS); + + x += spacing; + drawBtn(x, y, "Z+", (int32_t)z_plus, imgUp, Z_BTN_COLOR, !busy || ENABLED(BABYSTEP_ZPROBE_OFFSET)); //only enabled when not busy or have baby step + + // ROW 2 -> "Ex" X- HOME X+ "Z" + y += BTN_HEIGHT + (TFT_HEIGHT - Y_MARGIN * 2 - 4 * BTN_HEIGHT) / 3; + x = X_MARGIN; + spacing = (TFT_WIDTH - X_MARGIN * 2 - 5 * BTN_WIDTH) / 4; + + motionAxisState.eNamePos.x = x; + motionAxisState.eNamePos.y = y; + drawCurESelection(); + if (!busy) touch.add_control(BUTTON, x, y, BTN_WIDTH, BTN_HEIGHT, (int32_t)e_select); + + x += BTN_WIDTH + spacing; + drawBtn(x, y, "X-", (int32_t)x_minus, imgLeft, X_BTN_COLOR, !busy); + + x += BTN_WIDTH + spacing; //imgHome is 64x64 + add_control(TFT_WIDTH / 2 - Images[imgHome].width / 2, y - (Images[imgHome].width - BTN_HEIGHT) / 2, BUTTON, (int32_t)do_home, imgHome, !busy); + + x += BTN_WIDTH + spacing; + uint16_t xplus_x = x; + drawBtn(x, y, "X+", (int32_t)x_plus, imgRight, X_BTN_COLOR, !busy); + + x += BTN_WIDTH + spacing; + motionAxisState.zTypePos.x = x; + motionAxisState.zTypePos.y = y; + drawCurZSelection(); + #if HAS_BED_PROBE + if (!busy) touch.add_control(BUTTON, x, y, BTN_WIDTH, 34 * 2, (int32_t)z_select); + #endif + + // ROW 3 -> E- CurX Y- Z- + y += BTN_HEIGHT + (TFT_HEIGHT - Y_MARGIN * 2 - 4 * BTN_HEIGHT) / 3; + x = X_MARGIN; + spacing = (TFT_WIDTH - X_MARGIN * 2 - 3 * BTN_WIDTH) / 2; + + drawBtn(x, y, "E-", (int32_t)e_minus, imgDown, E_BTN_COLOR, !busy); + + // Cur E + motionAxisState.eValuePos.x = x; + motionAxisState.eValuePos.y = y + BTN_HEIGHT + 2; + drawAxisValue(E_AXIS); + + // Cur X + motionAxisState.xValuePos.x = BTN_WIDTH + (TFT_WIDTH - X_MARGIN * 2 - 5 * BTN_WIDTH) / 4; //X- pos + motionAxisState.xValuePos.y = y - 10; + drawAxisValue(X_AXIS); + + x += BTN_WIDTH + spacing; + drawBtn(x, y, "Y-", (int32_t)y_minus, imgDown, Y_BTN_COLOR, !busy); + + x += BTN_WIDTH + spacing; + drawBtn(x, y, "Z-", (int32_t)z_minus, imgDown, Z_BTN_COLOR, !busy || ENABLED(BABYSTEP_ZPROBE_OFFSET)); //only enabled when not busy or have baby step + + // Cur Z + motionAxisState.zValuePos.x = x; + motionAxisState.zValuePos.y = y + BTN_HEIGHT + 2; + drawAxisValue(Z_AXIS); + + // ROW 4 -> step_size disable steppers back + y = TFT_HEIGHT - Y_MARGIN - 32; // + x = TFT_WIDTH / 2 - CUR_STEP_VALUE_WIDTH / 2; + motionAxisState.stepValuePos.x = x; + motionAxisState.stepValuePos.y = y; + if (!busy) { + drawCurStepValue(); + touch.add_control(BUTTON, motionAxisState.stepValuePos.x, motionAxisState.stepValuePos.y, CUR_STEP_VALUE_WIDTH, BTN_HEIGHT, (int32_t)step_size); + } + + // alinged with x+ + drawBtn(xplus_x, TFT_HEIGHT - Y_MARGIN - BTN_HEIGHT, "off", (int32_t)disable_steppers, imgCancel, COLOR_WHITE, !busy); + + add_control(TFT_WIDTH - X_MARGIN - BTN_WIDTH, y, BACK, imgBack); +} + +#undef BTN_WIDTH +#undef BTN_HEIGHT + #endif // HAS_UI_480x320 diff --git a/Marlin/src/lcd/tft/ui_480x320.h b/Marlin/src/lcd/tft/ui_480x320.h index d803df4a247d..053ee78158cb 100644 --- a/Marlin/src/lcd/tft/ui_480x320.h +++ b/Marlin/src/lcd/tft/ui_480x320.h @@ -73,6 +73,8 @@ const tImage Images[imgCount] = { Refresh_32x32x4, Leveling_32x32x4, Slider8x16x4, + Home_64x64x4, + BtnRounded_64x52x4, }; #if HAS_TEMP_CHAMBER && HOTENDS > 1 diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index ee7f50dabf72..59e7cbe7d1ce 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -682,6 +682,10 @@ class MarlinUI { static void touch_calibration(); #endif + #if HAS_GRAPHICAL_TFT + static void move_axis_screen(); + #endif + private: #if HAS_DISPLAY diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index 1295c7c46b12..f9652f39348b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -325,13 +325,21 @@ #define LCD_PINS_RS PC6 #elif ENABLED(TFT_480x320_SPI) + #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17253 + #endif + #ifndef XPT2046_Y_CALIBRATION #define XPT2046_Y_CALIBRATION 11579 + #endif + #ifndef XPT2046_X_OFFSET #define XPT2046_X_OFFSET 514 + #endif + #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -24 + #endif - #define TFT_DRIVER ST7796 - #define TFT_BUFFER_SIZE 14400 + #define TFT_DRIVER ST7796 + #define TFT_BUFFER_SIZE 14400 #endif From 648269e0ec02887d353ec972359cbf30fd72ebbe Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 18 Sep 2020 00:13:20 +0000 Subject: [PATCH 092/277] [cron] Bump distribution date (2020-09-18) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 0ae661f1b18e..ed8314a3a5fd 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-17" + #define STRING_DISTRIBUTION_DATE "2020-09-18" #endif /** From 55ba5044ef493e2651c5a34951d6c0973aab9e1b Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Fri, 18 Sep 2020 02:45:56 -0700 Subject: [PATCH 093/277] Fix missing include (#19418) Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com> --- Marlin/src/gcode/bedlevel/G35.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Marlin/src/gcode/bedlevel/G35.cpp b/Marlin/src/gcode/bedlevel/G35.cpp index 7595067dbf85..926e6e82c535 100755 --- a/Marlin/src/gcode/bedlevel/G35.cpp +++ b/Marlin/src/gcode/bedlevel/G35.cpp @@ -29,6 +29,10 @@ #include "../../module/probe.h" #include "../../feature/bedlevel/bedlevel.h" +#if HAS_MULTI_HOTEND + #include "../../module/tool_change.h" +#endif + #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) #include "../../core/debug_out.h" From e65deacabb4ada7dd13c6e5edfeb207e80f2a3f6 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 19 Sep 2020 00:13:10 +0000 Subject: [PATCH 094/277] [cron] Bump distribution date (2020-09-19) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index ed8314a3a5fd..0faa1f8b28e4 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-18" + #define STRING_DISTRIBUTION_DATE "2020-09-19" #endif /** From 4628f0e237d452a7c6633c3d6127a460b3bb477b Mon Sep 17 00:00:00 2001 From: Cole Markham Date: Sat, 19 Sep 2020 08:14:34 -0500 Subject: [PATCH 095/277] Fix CoreXY compile with backlash cal. (#19422) --- Marlin/src/gcode/calibrate/M425.cpp | 2 +- Marlin/src/inc/Conditionals_post.h | 5 +---- Marlin/src/lcd/menu/menu_backlash.cpp | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Marlin/src/gcode/calibrate/M425.cpp b/Marlin/src/gcode/calibrate/M425.cpp index 3e54186a5fa3..40441ac08d16 100644 --- a/Marlin/src/gcode/calibrate/M425.cpp +++ b/Marlin/src/gcode/calibrate/M425.cpp @@ -56,7 +56,7 @@ void GcodeSuite::M425() { }; LOOP_XYZ(a) { - if (AXIS_CAN_CALIBRATE(a) && parser.seen(XYZ_CHAR(a))) { + if (axis_can_calibrate(a) && parser.seen(XYZ_CHAR(a))) { planner.synchronize(); backlash.distance_mm[a] = parser.has_value() ? parser.value_linear_units() : backlash.get_measurement(AxisEnum(a)); noArgs = false; diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 71ae4bb28539..2b232623a33b 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -159,10 +159,7 @@ // Calibration codes only for non-core axes #if EITHER(BACKLASH_GCODE, CALIBRATION_GCODE) #if EITHER(IS_CORE, MARKFORGED_XY) - #define X_AXIS_INDEX 0 - #define Y_AXIS_INDEX 1 - #define Z_AXIS_INDEX 2 - #define CAN_CALIBRATE(A,B) (A##_AXIS_INDEX == B##_INDEX) + #define CAN_CALIBRATE(A,B) (_AXIS(A) == B) #else #define CAN_CALIBRATE(A,B) 1 #endif diff --git a/Marlin/src/lcd/menu/menu_backlash.cpp b/Marlin/src/lcd/menu/menu_backlash.cpp index 0e1bfb591099..9d0b970ae1d3 100644 --- a/Marlin/src/lcd/menu/menu_backlash.cpp +++ b/Marlin/src/lcd/menu/menu_backlash.cpp @@ -50,4 +50,4 @@ void menu_backlash() { END_MENU(); } -#endif // HAS_LCD_MENU && BACKLASH_COMPENSATION +#endif // HAS_LCD_MENU && BACKLASH_GCODE From 435e1535cc6f3b06d82a62cbb2697281f7cedbc8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 19 Sep 2020 07:56:01 -0500 Subject: [PATCH 096/277] Change some dwin defines --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 446 +++++++++++++++--------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 18 +- 2 files changed, 232 insertions(+), 232 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index d45511f5bc84..ca3a5cccffc6 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -99,9 +99,9 @@ #define USE_STRING_HEADINGS -#define MENU_FONT font8x16 -#define STAT_FONT font10x20 -#define HEADER_FONT font10x20 +#define DWIN_FONT_MENU font8x16 +#define DWIN_FONT_STAT font10x20 +#define DWIN_FONT_HEAD font10x20 #define MENU_CHAR_LIMIT 24 #define STATUS_Y 360 @@ -229,19 +229,19 @@ void HMI_ToggleLanguage() { void DWIN_Draw_Signed_Float(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { if (value < 0) { - DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, F("-")); - DWIN_Draw_FloatValue(true, true, 0, size, White, bColor, iNum, fNum, x, y, -value); + DWIN_Draw_String(false, true, size, Color_White, bColor, x - 6, y, F("-")); + DWIN_Draw_FloatValue(true, true, 0, size, Color_White, bColor, iNum, fNum, x, y, -value); } else { - DWIN_Draw_String(false, true, size, White, bColor, x - 6, y, F(" ")); - DWIN_Draw_FloatValue(true, true, 0, size, White, bColor, iNum, fNum, x, y, value); + DWIN_Draw_String(false, true, size, Color_White, bColor, x - 6, y, F(" ")); + DWIN_Draw_FloatValue(true, true, 0, size, Color_White, bColor, iNum, fNum, x, y, value); } } void ICON_Print() { if (select_page.now == 0) { DWIN_ICON_Show(ICON, ICON_Print_1, 17, 130); - DWIN_Draw_Rectangle(0, White, 17, 130, 126, 229); + DWIN_Draw_Rectangle(0, Color_White, 17, 130, 126, 229); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 58, 201); else @@ -259,7 +259,7 @@ void ICON_Print() { void ICON_Prepare() { if (select_page.now == 1) { DWIN_ICON_Show(ICON, ICON_Prepare_1, 145, 130); - DWIN_Draw_Rectangle(0, White, 145, 130, 254, 229); + DWIN_Draw_Rectangle(0, Color_White, 145, 130, 254, 229); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 31, 447, 58, 460, 186, 201); else @@ -277,7 +277,7 @@ void ICON_Prepare() { void ICON_Control() { if (select_page.now == 2) { DWIN_ICON_Show(ICON, ICON_Control_1, 17, 246); - DWIN_Draw_Rectangle(0, White, 17, 246, 126, 345); + DWIN_Draw_Rectangle(0, Color_White, 17, 246, 126, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 61, 447, 88, 460, 58, 318); else @@ -295,7 +295,7 @@ void ICON_Control() { void ICON_StartInfo(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Info_1, 145, 246); - DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); + DWIN_Draw_Rectangle(0, Color_White, 145, 246, 254, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 91, 447, 118, 460, 186, 318); else @@ -313,7 +313,7 @@ void ICON_StartInfo(bool show) { void ICON_Leveling(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Leveling_1, 145, 246); - DWIN_Draw_Rectangle(0, White, 145, 246, 254, 345); + DWIN_Draw_Rectangle(0, Color_White, 145, 246, 254, 345); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 211, 447, 238, 460, 186, 318); else @@ -331,7 +331,7 @@ void ICON_Leveling(bool show) { void ICON_Tune() { if (select_print.now == 0) { DWIN_ICON_Show(ICON, ICON_Setup_1, 8, 252); - DWIN_Draw_Rectangle(0, White, 8, 252, 87, 351); + DWIN_Draw_Rectangle(0, Color_White, 8, 252, 87, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 447, 148, 458, 34, 325); else @@ -349,7 +349,7 @@ void ICON_Tune() { void ICON_Pause() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Pause_1, 96, 252); - DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); + DWIN_Draw_Rectangle(0, Color_White, 96, 252, 175, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 181, 447, 208, 459, 124, 325); else @@ -367,7 +367,7 @@ void ICON_Pause() { void ICON_Continue() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Continue_1, 96, 252); - DWIN_Draw_Rectangle(0, White, 96, 252, 175, 351); + DWIN_Draw_Rectangle(0, Color_White, 96, 252, 175, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 124, 325); else @@ -385,7 +385,7 @@ void ICON_Continue() { void ICON_Stop() { if (select_print.now == 2) { DWIN_ICON_Show(ICON, ICON_Stop_1, 184, 252); - DWIN_Draw_Rectangle(0, White, 184, 252, 263, 351); + DWIN_Draw_Rectangle(0, Color_White, 184, 252, 263, 351); if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 151, 447, 178, 459, 210, 325); else @@ -401,19 +401,19 @@ void ICON_Stop() { } inline void Clear_Title_Bar() { - DWIN_Draw_Rectangle(1, Background_blue, 0, 0, DWIN_WIDTH, 30); + DWIN_Draw_Rectangle(1, Color_Bg_Blue, 0, 0, DWIN_WIDTH, 30); } inline void Draw_Title(const char * const title) { - DWIN_Draw_String(false, false, HEADER_FONT, White, Background_blue, 14, 4, (char*)title); + DWIN_Draw_String(false, false, DWIN_FONT_HEAD, Color_White, Color_Bg_Blue, 14, 4, (char*)title); } inline void Draw_Title(const __FlashStringHelper * title) { - DWIN_Draw_String(false, false, HEADER_FONT, White, Background_blue, 14, 4, (char*)title); + DWIN_Draw_String(false, false, DWIN_FONT_HEAD, Color_White, Color_Bg_Blue, 14, 4, (char*)title); } inline void Clear_Menu_Area() { - DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, STATUS_Y); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, 31, DWIN_WIDTH, STATUS_Y); } inline void Clear_Main_Window() { @@ -423,11 +423,11 @@ inline void Clear_Main_Window() { inline void Clear_Popup_Area() { Clear_Title_Bar(); - DWIN_Draw_Rectangle(1, Background_black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, 31, DWIN_WIDTH, DWIN_HEIGHT); } void Draw_Popup_Bkgd_105() { - DWIN_Draw_Rectangle(1, Background_window, 14, 105, 258, 374); + DWIN_Draw_Rectangle(1, Color_Bg_Window, 14, 105, 258, 374); } inline void Draw_More_Icon(const uint8_t line) { @@ -440,7 +440,7 @@ inline void Draw_Menu_Cursor(const uint8_t line) { } inline void Erase_Menu_Cursor(const uint8_t line) { - DWIN_Draw_Rectangle(1, Background_black, 0, MBASE(line) - 18, 14, MBASE(line + 1) - 20); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, MBASE(line) - 18, 14, MBASE(line + 1) - 20); } inline void Move_Highlight(const int16_t from, const uint16_t newline) { @@ -454,7 +454,7 @@ inline void Add_Menu_Line() { } inline void Scroll_Menu(const uint8_t dir) { - DWIN_Frame_AreaMove(1, dir, MLINE, Background_black, 0, 31, DWIN_WIDTH, 349); + DWIN_Frame_AreaMove(1, dir, MLINE, Color_Bg_Black, 0, 31, DWIN_WIDTH, 349); switch (dir) { case DWIN_SCROLL_DOWN: Move_Highlight(-1, 0); break; case DWIN_SCROLL_UP: Add_Menu_Line(); break; @@ -470,11 +470,11 @@ inline void Draw_Menu_Icon(const uint8_t line, const uint8_t icon) { } inline void Erase_Menu_Text(const uint8_t line) { - DWIN_Draw_Rectangle(1, Background_black, LBLX, MBASE(line) - 14, 271, MBASE(line) + 28); + DWIN_Draw_Rectangle(1, Color_Bg_Black, LBLX, MBASE(line) - 14, 271, MBASE(line) + 28); } inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char * const label=nullptr) { - if (label) DWIN_Draw_String(false, false, font8x16, White, Background_black, LBLX, MBASE(line) - 1, (char*)label); + if (label) DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(line) - 1, (char*)label); if (icon) Draw_Menu_Icon(line, icon); DWIN_Draw_Line(Line_Color, 16, MBASE(line) + 33, 256, MBASE(line) + 34); } @@ -583,7 +583,7 @@ inline void Item_Prepare_Home(const uint8_t row) { if (HMI_flag.language_chinese) { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); #else DWIN_Frame_AreaCopy(1, 43, 89, 98, 101, LBLX, MBASE(row)); #endif @@ -591,7 +591,7 @@ inline void Item_Prepare_Home(const uint8_t row) { else { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 93, 179, 141, 189, LBLX, MBASE(row)); // "Z-Offset" - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); #else DWIN_Frame_AreaCopy(1, 1, 76, 106, 86, LBLX, MBASE(row)); // "..." #endif @@ -638,11 +638,11 @@ inline void Item_Prepare_Home(const uint8_t row) { inline void Item_Prepare_Lang(const uint8_t row) { if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 239, 134, 266, 146, LBLX, MBASE(row)); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("CN")); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, 226, MBASE(row), F("CN")); } else { DWIN_Frame_AreaCopy(1, 0, 194, 121, 207, LBLX, MBASE(row)); // "Language selection" - DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), F("EN")); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, 226, MBASE(row), F("EN")); } Draw_Menu_Icon(row, ICON_Language); } @@ -716,14 +716,14 @@ inline void Draw_Control_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_CONTROL)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_TEMP), GET_TEXT_F(MSG_TEMPERATURE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_MOVE), GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_TEMP), GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_MOVE), GET_TEXT_F(MSG_MOTION)); #if ENABLED(EEPROM_SETTINGS) - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_LOAD), GET_TEXT_F(MSG_LOAD_EEPROM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_RESET), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_LOAD), GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_RESET), GET_TEXT_F(MSG_RESTORE_DEFAULTS)); #endif - if (CVISI(CONTROL_CASE_INFO)) DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(CONTROL_CASE_INFO), F("Info")); + if (CVISI(CONTROL_CASE_INFO)) DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(CONTROL_CASE_INFO), F("Info")); #else DWIN_Frame_TitleCopy(1, 128, 2, 176, 12); // "Control" DWIN_Frame_AreaCopy(1, 1, 89, 83, 101, LBLX, CLINE(CONTROL_CASE_TEMP)); // Temperature > @@ -784,17 +784,17 @@ inline void Draw_Tune_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TUNE)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_SPEED), GET_TEXT_F(MSG_SPEED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TUNE_CASE_SPEED), GET_TEXT_F(MSG_SPEED)); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TUNE_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); #endif #if HAS_HEATED_BED - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TUNE_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); #endif #if HAS_FAN - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TUNE_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); #endif - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TUNE_CASE_ZOFF), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TUNE_CASE_ZOFF), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else DWIN_Frame_AreaCopy(1, 94, 2, 126, 12, 14, 9); DWIN_Frame_AreaCopy(1, 1, 179, 92, 190, LBLX, MBASE(TUNE_CASE_SPEED)); // Print speed @@ -819,23 +819,23 @@ inline void Draw_Tune_Menu() { if (select_tune.now) Draw_Menu_Cursor(select_tune.now); Draw_Menu_Line(TUNE_CASE_SPEED, ICON_Speed); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_SPEED), feedrate_percentage); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_SPEED), feedrate_percentage); #if HAS_HOTEND Draw_Menu_Line(TUNE_CASE_TEMP, ICON_HotendTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_TEMP), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_TEMP), thermalManager.temp_hotend[0].target); #endif #if HAS_HEATED_BED Draw_Menu_Line(TUNE_CASE_BED, ICON_BedTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_BED), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_BED), thermalManager.temp_bed.target); #endif #if HAS_FAN Draw_Menu_Line(TUNE_CASE_FAN, ICON_FanSpeed); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_FAN), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_FAN), thermalManager.fan_speed[0]); #endif #if HAS_ZOFFSET_ITEM Draw_Menu_Line(TUNE_CASE_ZOFF, ICON_Zoffset); - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(TUNE_CASE_ZOFF), BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(TUNE_CASE_ZOFF), BABY_Z_VAR * 100); #endif } @@ -886,12 +886,12 @@ inline void Draw_Motion_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_MOTION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_RATE), F("Feedrate")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_ACCEL), GET_TEXT_F(MSG_ACCELERATION)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(MOTION_CASE_RATE), F("Feedrate")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(MOTION_CASE_ACCEL), GET_TEXT_F(MSG_ACCELERATION)); #if HAS_CLASSIC_JERK - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_JERK), GET_TEXT_F(MSG_JERK)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(MOTION_CASE_JERK), GET_TEXT_F(MSG_JERK)); #endif - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(MOTION_CASE_STEPS), GET_TEXT_F(MSG_STEPS_PER_MM)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(MOTION_CASE_STEPS), GET_TEXT_F(MSG_STEPS_PER_MM)); #else DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Motion" draw_max_en(MBASE(MOTION_CASE_RATE)); draw_speed_en(27, MBASE(MOTION_CASE_RATE)); // "Max Speed" @@ -932,8 +932,8 @@ inline void Draw_Motion_Menu() { DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too high")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, 92, 300, F("is too high")); } } else { @@ -943,8 +943,8 @@ inline void Draw_Motion_Menu() { DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 36, 300, F("Nozzle or Bed temperature")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 300, F("is too low")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, 36, 300, F("Nozzle or Bed temperature")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, 92, 300, F("is too low")); } } } @@ -952,7 +952,7 @@ inline void Draw_Motion_Menu() { #endif inline void Draw_Popup_Bkgd_60() { - DWIN_Draw_Rectangle(1, Background_window, 14, 60, 258, 330); + DWIN_Draw_Rectangle(1, Color_Bg_Window, 14, 60, 258, 330); } #if HAS_HOTEND @@ -967,7 +967,7 @@ inline void Draw_Popup_Bkgd_60() { DWIN_ICON_Show(ICON, ICON_Confirm_C, 86, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 20, 235, F("Nozzle is too cold")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, 20, 235, F("Nozzle is too cold")); DWIN_ICON_Show(ICON, ICON_Confirm_E, 86, 280); } } @@ -984,9 +984,9 @@ void Popup_Window_Resume() { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 307); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 14) / 2, 115, F("Continue Print")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 22) / 2, 192, F("It looks like the last")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 22) / 2, 212, F("file was interrupted.")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 14) / 2, 115, F("Continue Print")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 22) / 2, 192, F("It looks like the last")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 22) / 2, 212, F("file was interrupted.")); DWIN_ICON_Show(ICON, ICON_Continue_E, 26, 307); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 307); } @@ -1002,8 +1002,8 @@ void Popup_Window_Home(const bool parking/*=false*/) { DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * (parking ? 7 : 10)) / 2, 230, parking ? F("Parking") : F("Homing XYZ")); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * (parking ? 7 : 10)) / 2, 230, parking ? F("Parking") : F("Homing XYZ")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); } } @@ -1018,8 +1018,8 @@ void Popup_Window_Home(const bool parking/*=false*/) { DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 13) / 2, 230, GET_TEXT_F(MSG_BED_LEVELING)); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 13) / 2, 230, GET_TEXT_F(MSG_BED_LEVELING)); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 23) / 2, 260, F("Please wait until done.")); } } @@ -1027,8 +1027,8 @@ void Popup_Window_Home(const bool parking/*=false*/) { void Draw_Select_Highlight(const bool sel) { HMI_flag.select_flag = sel; - const uint16_t c1 = sel ? Select_Color : Background_window, - c2 = sel ? Background_window : Select_Color; + const uint16_t c1 = sel ? Select_Color : Color_Bg_Window, + c2 = sel ? Color_Bg_Window : Select_Color; DWIN_Draw_Rectangle(0, c1, 25, 279, 126, 318); DWIN_Draw_Rectangle(0, c1, 24, 278, 127, 319); DWIN_Draw_Rectangle(0, c2, 145, 279, 246, 318); @@ -1046,8 +1046,8 @@ void Popup_window_PauseOrStop() { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 280); } else { - if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 11) / 2, 150, GET_TEXT_F(MSG_PAUSE_PRINT)); - else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (272 - 8 * 10) / 2, 150, GET_TEXT_F(MSG_STOP_PRINT)); + if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 11) / 2, 150, GET_TEXT_F(MSG_PAUSE_PRINT)); + else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 10) / 2, 150, GET_TEXT_F(MSG_STOP_PRINT)); DWIN_ICON_Show(ICON, ICON_Confirm_E, 26, 280); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 280); } @@ -1070,21 +1070,21 @@ void Draw_Printing_Screen() { void Draw_Print_ProgressBar() { DWIN_ICON_Show(ICON, ICON_Bar, 15, 93); DWIN_Draw_Rectangle(1, BarFill_Color, 16 + Percentrecord * 240 / 100, 93, 256, 113); - DWIN_Draw_IntValue(true, true, 0, font8x16, Percent_Color, Background_black, 2, 117, 133, Percentrecord); - DWIN_Draw_String(false, false, font8x16, Percent_Color, Background_black, 133, 133, F("%")); + DWIN_Draw_IntValue(true, true, 0, font8x16, Percent_Color, Color_Bg_Black, 2, 117, 133, Percentrecord); + DWIN_Draw_String(false, false, font8x16, Percent_Color, Color_Bg_Black, 133, 133, F("%")); } void Draw_Print_ProgressElapsed() { duration_t elapsed = print_job_timer.duration(); // print timer - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 42, 212, elapsed.value / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 58, 212, F(":")); - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 66, 212, (elapsed.value % 3600) / 60); + DWIN_Draw_IntValue(true, true, 1, font8x16, Color_White, Color_Bg_Black, 2, 42, 212, elapsed.value / 3600); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, 58, 212, F(":")); + DWIN_Draw_IntValue(true, true, 1, font8x16, Color_White, Color_Bg_Black, 2, 66, 212, (elapsed.value % 3600) / 60); } void Draw_Print_ProgressRemain() { - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 176, 212, remain_time / 3600); - DWIN_Draw_String(false, false, font8x16, White, Background_black, 192, 212, F(":")); - DWIN_Draw_IntValue(true, true, 1, font8x16, White, Background_black, 2, 200, 212, (remain_time % 3600) / 60); + DWIN_Draw_IntValue(true, true, 1, font8x16, Color_White, Color_Bg_Black, 2, 176, 212, remain_time / 3600); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, 192, 212, F(":")); + DWIN_Draw_IntValue(true, true, 1, font8x16, Color_White, Color_Bg_Black, 2, 200, 212, (remain_time % 3600) / 60); } void Goto_PrintProcess() { @@ -1100,7 +1100,7 @@ void Goto_PrintProcess() { // Copy into filebuf string before entry char * const name = card.longest_filename(); const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2; - DWIN_Draw_String(false, false, font8x16, White, Background_black, npos, 60, name); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, npos, 60, name); DWIN_ICON_Show(ICON, ICON_PrintTime, 17, 193); DWIN_ICON_Show(ICON, ICON_RemainTime, 150, 191); @@ -1155,7 +1155,7 @@ void HMI_Move_X() { else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; EncoderRate.enabled = false; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); if (!planner.is_full()) { // Wait for planner moves to finish! planner.synchronize(); @@ -1167,7 +1167,7 @@ void HMI_Move_X() { NOLESS(HMI_ValueStruct.Move_X_scale, (X_MIN_POS) * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_X_scale, (X_MAX_POS) * MINUNITMULT); current_position.x = HMI_ValueStruct.Move_X_scale / 10; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); DWIN_UpdateLCD(); } } @@ -1184,7 +1184,7 @@ void HMI_Move_Y() { else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; EncoderRate.enabled = false; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); if (!planner.is_full()) { // Wait for planner moves to finish! planner.synchronize(); @@ -1196,7 +1196,7 @@ void HMI_Move_Y() { NOLESS(HMI_ValueStruct.Move_Y_scale, (Y_MIN_POS) * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_Y_scale, (Y_MAX_POS) * MINUNITMULT); current_position.y = HMI_ValueStruct.Move_Y_scale / 10; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); DWIN_UpdateLCD(); } } @@ -1213,7 +1213,7 @@ void HMI_Move_Z() { else if (encoder_diffState == ENCODER_DIFF_ENTER) { checkkey = AxisMove; EncoderRate.enabled = false; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); if (!planner.is_full()) { // Wait for planner moves to finish! planner.synchronize(); @@ -1225,7 +1225,7 @@ void HMI_Move_Z() { NOLESS(HMI_ValueStruct.Move_Z_scale, Z_MIN_POS * MINUNITMULT); NOMORE(HMI_ValueStruct.Move_Z_scale, Z_MAX_POS * MINUNITMULT); current_position.z = HMI_ValueStruct.Move_Z_scale / 10; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); DWIN_UpdateLCD(); } } @@ -1246,7 +1246,7 @@ void HMI_Move_Z() { checkkey = AxisMove; EncoderRate.enabled = false; last_E_scale = HMI_ValueStruct.Move_E_scale; - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); if (!planner.is_full()) { planner.synchronize(); // Wait for planner moves to finish! planner.buffer_line(current_position, MMM_TO_MMS(FEEDRATE_E), active_extruder); @@ -1290,11 +1290,11 @@ void HMI_Move_Z() { #endif if (HMI_ValueStruct.show_mode == -4) { checkkey = Prepare; - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); } else { checkkey = Tune; - DWIN_Draw_Signed_Float(font8x16, Background_black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(zoff_line), TERN(HAS_BED_PROBE, BABY_Z_VAR * 100, HMI_ValueStruct.offset_value)); } DWIN_UpdateLCD(); return; @@ -1336,23 +1336,23 @@ void HMI_Move_Z() { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { // temperature checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].hotend_temp = HMI_ValueStruct.E_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), ui.material_preset[0].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(temp_line), ui.material_preset[0].hotend_temp); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].hotend_temp = HMI_ValueStruct.E_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), ui.material_preset[1].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(temp_line), ui.material_preset[1].hotend_temp); return; } else { // tune checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } thermalManager.setTargetHotend(HMI_ValueStruct.E_Temp, 0); return; @@ -1361,7 +1361,7 @@ void HMI_Move_Z() { NOMORE(HMI_ValueStruct.E_Temp, MAX_E_TEMP); NOLESS(HMI_ValueStruct.E_Temp, MIN_E_TEMP); // E_Temp value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(temp_line), HMI_ValueStruct.E_Temp); } } @@ -1389,23 +1389,23 @@ void HMI_Move_Z() { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].bed_temp = HMI_ValueStruct.Bed_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), ui.material_preset[0].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(bed_line), ui.material_preset[0].bed_temp); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].bed_temp = HMI_ValueStruct.Bed_Temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), ui.material_preset[1].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(bed_line), ui.material_preset[1].bed_temp); return; } else { checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } thermalManager.setTargetBed(HMI_ValueStruct.Bed_Temp); return; @@ -1414,7 +1414,7 @@ void HMI_Move_Z() { NOMORE(HMI_ValueStruct.Bed_Temp, BED_MAX_TARGET); NOLESS(HMI_ValueStruct.Bed_Temp, MIN_BED_TEMP); // Bed_Temp value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(bed_line), HMI_ValueStruct.Bed_Temp); } } @@ -1443,23 +1443,23 @@ void HMI_Move_Z() { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } else if (HMI_ValueStruct.show_mode == -2) { checkkey = PLAPreheat; ui.material_preset[0].fan_speed = HMI_ValueStruct.Fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), ui.material_preset[0].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(fan_line), ui.material_preset[0].fan_speed); return; } else if (HMI_ValueStruct.show_mode == -3) { checkkey = ABSPreheat; ui.material_preset[1].fan_speed = HMI_ValueStruct.Fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), ui.material_preset[1].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(fan_line), ui.material_preset[1].fan_speed); return; } else { checkkey = Tune; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } thermalManager.set_fan_speed(0, HMI_ValueStruct.Fan_speed); return; @@ -1468,7 +1468,7 @@ void HMI_Move_Z() { NOMORE(HMI_ValueStruct.Fan_speed, FANON); NOLESS(HMI_ValueStruct.Fan_speed, FANOFF); // Fan_speed value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(fan_line), HMI_ValueStruct.Fan_speed); } } @@ -1487,14 +1487,14 @@ void HMI_PrintSpeed() { checkkey = Tune; EncoderRate.enabled = false; feedrate_percentage = HMI_ValueStruct.print_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); return; } // print_speed limit NOMORE(HMI_ValueStruct.print_speed, MAX_PRINT_SPEED); NOLESS(HMI_ValueStruct.print_speed, MIN_PRINT_SPEED); // print_speed value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(select_tune.now + MROWS - index_tune), HMI_ValueStruct.print_speed); } } @@ -1512,7 +1512,7 @@ void HMI_MaxFeedspeedXYZE() { EncoderRate.enabled = false; if (WITHIN(HMI_flag.feedspeed_axis, X_AXIS, E_AXIS)) planner.set_max_feedrate(HMI_flag.feedspeed_axis, HMI_ValueStruct.Max_Feedspeed); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); return; } // MaxFeedspeed limit @@ -1520,7 +1520,7 @@ void HMI_MaxFeedspeedXYZE() { NOMORE(HMI_ValueStruct.Max_Feedspeed, default_max_feedrate[HMI_flag.feedspeed_axis] * 2); if (HMI_ValueStruct.Max_Feedspeed < MIN_MAXFEEDSPEED) HMI_ValueStruct.Max_Feedspeed = MIN_MAXFEEDSPEED; // MaxFeedspeed value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); } } @@ -1538,7 +1538,7 @@ void HMI_MaxAccelerationXYZE() { #if HAS_HOTEND else if (HMI_flag.acc_axis == E_AXIS) planner.set_max_acceleration(E_AXIS, HMI_ValueStruct.Max_Acceleration); #endif - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); return; } // MaxAcceleration limit @@ -1546,7 +1546,7 @@ void HMI_MaxAccelerationXYZE() { NOMORE(HMI_ValueStruct.Max_Acceleration, default_max_acceleration[HMI_flag.acc_axis] * 2); if (HMI_ValueStruct.Max_Acceleration < MIN_MAXACCELERATION) HMI_ValueStruct.Max_Acceleration = MIN_MAXACCELERATION; // MaxAcceleration value - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); } } @@ -1564,7 +1564,7 @@ void HMI_MaxAccelerationXYZE() { EncoderRate.enabled = false; if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) planner.set_max_jerk(HMI_flag.step_axis, HMI_ValueStruct.Max_Jerk / 10); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); return; } // MaxJerk limit @@ -1572,7 +1572,7 @@ void HMI_MaxAccelerationXYZE() { NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[HMI_flag.jerk_axis] * 2 * MINUNITMULT); NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXJERK) * MINUNITMULT); // MaxJerk value - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); } } @@ -1592,7 +1592,7 @@ void HMI_StepXYZE() { EncoderRate.enabled = false; if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) planner.settings.axis_steps_per_mm[HMI_flag.step_axis] = HMI_ValueStruct.Max_Step / 10; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); return; } // Step limit @@ -1600,7 +1600,7 @@ void HMI_StepXYZE() { NOMORE(HMI_ValueStruct.Max_Step, default_axis_steps_per_unit[HMI_flag.step_axis] * 2 * MINUNITMULT); NOLESS(HMI_ValueStruct.Max_Step, MIN_STEP); // Step value - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); } } @@ -1619,15 +1619,15 @@ void update_variable() { if (checkkey == Tune) { #if HAS_HOTEND if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); #endif #if HAS_HEATED_BED if (last_temp_bed_target != thermalManager.temp_bed.target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); #endif #if HAS_FAN if (last_fan_speed != thermalManager.fan_speed[0]) { - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); last_fan_speed = thermalManager.fan_speed[0]; } #endif @@ -1637,15 +1637,15 @@ void update_variable() { if (checkkey == TemperatureID) { #if HAS_HOTEND if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_TEMP), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TEMP_CASE_TEMP), thermalManager.temp_hotend[0].target); #endif #if HAS_HEATED_BED if (last_temp_bed_target != thermalManager.temp_bed.target) - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_BED), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TEMP_CASE_BED), thermalManager.temp_bed.target); #endif #if HAS_FAN if (last_fan_speed != thermalManager.fan_speed[0]) { - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(TEMP_CASE_FAN), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(TEMP_CASE_FAN), thermalManager.fan_speed[0]); last_fan_speed = thermalManager.fan_speed[0]; } #endif @@ -1654,32 +1654,32 @@ void update_variable() { /* Bottom temperature update */ #if HAS_HOTEND if (last_temp_hotend_current != thermalManager.temp_hotend[0].celsius) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); last_temp_hotend_current = thermalManager.temp_hotend[0].celsius; } if (last_temp_hotend_target != thermalManager.temp_hotend[0].target) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); last_temp_hotend_target = thermalManager.temp_hotend[0].target; } #endif #if HAS_HEATED_BED if (last_temp_bed_current != thermalManager.temp_bed.celsius) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 178, 382, thermalManager.temp_bed.celsius); last_temp_bed_current = thermalManager.temp_bed.celsius; } if (last_temp_bed_target != thermalManager.temp_bed.target) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); last_temp_bed_target = thermalManager.temp_bed.target; } #endif static uint16_t last_speed = 0; if (last_speed != feedrate_percentage) { - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); last_speed = feedrate_percentage; } #if HAS_ZOFFSET_ITEM if (last_zoffset != BABY_Z_VAR) { - DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(DWIN_FONT_STAT, Color_Bg_Black, 2, 2, 178 + STAT_CHR_W, 429, BABY_Z_VAR * 100); last_zoffset = BABY_Z_VAR; } #endif @@ -1869,16 +1869,16 @@ void HMI_StartFrame(const bool with_update) { Goto_MainMenu(); // Clear the bottom area of the screen - DWIN_Draw_Rectangle(1, Background_black, 0, STATUS_Y, DWIN_WIDTH, DWIN_HEIGHT - 1); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, STATUS_Y, DWIN_WIDTH, DWIN_HEIGHT - 1); // // Status Area // #if HAS_HOTEND DWIN_ICON_Show(ICON, ICON_HotendTemp, 13, 381); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33, 382, thermalManager.temp_hotend[0].celsius); + DWIN_Draw_String(false, false, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 33 + 3 * STAT_CHR_W + 5, 383, F("/")); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_hotend[0].target); #endif #if HOTENDS > 1 // DWIN_ICON_Show(ICON,ICON_HotendTemp, 13, 381); @@ -1886,18 +1886,18 @@ void HMI_StartFrame(const bool with_update) { #if HAS_HEATED_BED DWIN_ICON_Show(ICON, ICON_BedTemp, 158, 381); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178, 382, thermalManager.temp_bed.celsius); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 178, 382, thermalManager.temp_bed.celsius); + DWIN_Draw_String(false, false, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 178 + 3 * STAT_CHR_W + 5, 383, F("/")); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 178 + 4 * STAT_CHR_W + 6, 382, thermalManager.temp_bed.target); #endif DWIN_ICON_Show(ICON, ICON_Speed, 13, 429); - DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); - DWIN_Draw_String(false, false, STAT_FONT, White, Background_black, 33 + 5 * STAT_CHR_W + 2, 429, F("%")); + DWIN_Draw_IntValue(true, true, 0, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); + DWIN_Draw_String(false, false, DWIN_FONT_STAT, Color_White, Color_Bg_Black, 33 + 5 * STAT_CHR_W + 2, 429, F("%")); #if HAS_ZOFFSET_ITEM DWIN_ICON_Show(ICON, ICON_Zoffset, 158, 428); - DWIN_Draw_Signed_Float(STAT_FONT, Background_black, 2, 2, 178, 429, BABY_Z_VAR * 100); + DWIN_Draw_Signed_Float(DWIN_FONT_STAT, Color_Bg_Black, 2, 2, 178, 429, BABY_Z_VAR * 100); #endif if (with_update) { @@ -1909,8 +1909,8 @@ void HMI_StartFrame(const bool with_update) { inline void Draw_Info_Menu() { Clear_Main_Window(); - DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(MACHINE_SIZE) * MENU_CHR_W) / 2, 122, (char*)MACHINE_SIZE); - DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(MACHINE_SIZE) * MENU_CHR_W) / 2, 122, (char*)MACHINE_SIZE); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); if (HMI_flag.language_chinese) { DWIN_Frame_TitleCopy(1, 30, 17, 57, 29); // "Info" @@ -1918,7 +1918,7 @@ inline void Draw_Info_Menu() { DWIN_Frame_AreaCopy(1, 197, 149, 252, 161, 108, 102); DWIN_Frame_AreaCopy(1, 1, 164, 56, 176, 108, 175); DWIN_Frame_AreaCopy(1, 58, 164, 113, 176, 105, 248); - DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(CORP_WEBSITE_C) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_C); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(CORP_WEBSITE_C) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_C); } else { #ifdef USE_STRING_HEADINGS @@ -1930,7 +1930,7 @@ inline void Draw_Info_Menu() { DWIN_Frame_AreaCopy(1, 120, 150, 146, 161, 124, 102); DWIN_Frame_AreaCopy(1, 146, 151, 254, 161, 82, 175); DWIN_Frame_AreaCopy(1, 0, 165, 94, 175, 89, 248); - DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(CORP_WEBSITE_E) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_E); + DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(CORP_WEBSITE_E) * MENU_CHR_W) / 2, 268, (char*)CORP_WEBSITE_E); } Draw_Back_First(); @@ -2393,13 +2393,13 @@ void HMI_Prepare() { select_axis.reset(); Draw_Move_Menu(); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), current_position.x * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), current_position.y * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), current_position.z * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), current_position.x * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), current_position.y * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), current_position.z * MINUNITMULT); #if HAS_HOTEND queue.inject_P(PSTR("G92 E0")); current_position.e = HMI_ValueStruct.Move_E_scale = 0; - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), 0); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), 0); #endif break; case PREPARE_CASE_DISA: // Disable steppers @@ -2479,17 +2479,17 @@ void Draw_Temperature_Menu() { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_TEMPERATURE)); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TEMP_CASE_TEMP), GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); #endif #if HAS_HEATED_BED - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TEMP_CASE_BED), GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); #endif #if HAS_FAN - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TEMP_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); #endif #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_PLA), F("PLA Preheat Settings")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(TEMP_CASE_ABS), F("ABS Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TEMP_CASE_PLA), F("PLA Preheat Settings")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(TEMP_CASE_ABS), F("ABS Preheat Settings")); #endif #else DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "Temperature" @@ -2523,15 +2523,15 @@ void Draw_Temperature_Menu() { #define _TMENU_ICON(N) Draw_Menu_Line(++i, ICON_SetEndTemp + (N) - 1) #if HAS_HOTEND _TMENU_ICON(TEMP_CASE_TEMP); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), thermalManager.temp_hotend[0].target); #endif #if HAS_HEATED_BED _TMENU_ICON(TEMP_CASE_BED); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), thermalManager.temp_bed.target); #endif #if HAS_FAN _TMENU_ICON(TEMP_CASE_FAN); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), thermalManager.fan_speed[0]); #endif #if HAS_HOTEND // PLA/ABS items have submenus @@ -2651,10 +2651,10 @@ void HMI_AxisMove() { HMI_flag.ETempTooLow_flag = false; current_position.e = HMI_ValueStruct.Move_E_scale = 0; Draw_Move_Menu(); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); - DWIN_Draw_Signed_Float(font8x16, Background_black, 3, 1, 216, MBASE(4), 0); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); + DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), 0); DWIN_UpdateLCD(); } return; @@ -2679,19 +2679,19 @@ void HMI_AxisMove() { case 1: // X axis move checkkey = Move_X; HMI_ValueStruct.Move_X_scale = current_position.x * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); EncoderRate.enabled = true; break; case 2: // Y axis move checkkey = Move_Y; HMI_ValueStruct.Move_Y_scale = current_position.y * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); EncoderRate.enabled = true; break; case 3: // Z axis move checkkey = Move_Z; HMI_ValueStruct.Move_Z_scale = current_position.z * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); EncoderRate.enabled = true; break; #if HAS_HOTEND @@ -2740,7 +2740,7 @@ void HMI_Temperature() { case TEMP_CASE_TEMP: // Nozzle temperature checkkey = ETemp; HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(1), thermalManager.temp_hotend[0].target); EncoderRate.enabled = true; break; #endif @@ -2748,7 +2748,7 @@ void HMI_Temperature() { case TEMP_CASE_BED: // Bed temperature checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(2), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(2), thermalManager.temp_bed.target); EncoderRate.enabled = true; break; #endif @@ -2756,7 +2756,7 @@ void HMI_Temperature() { case TEMP_CASE_FAN: // Fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(3), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(3), thermalManager.fan_speed[0]); EncoderRate.enabled = true; break; #endif @@ -2787,15 +2787,15 @@ void HMI_Temperature() { else { #ifdef USE_STRING_HEADINGS Draw_Title("PLA Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); #if HAS_HEATED_BED - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); #endif #if HAS_FAN - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); #endif #if ENABLED(EEPROM_SETTINGS) - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); #endif #else DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "PLA Settings" @@ -2821,14 +2821,14 @@ void HMI_Temperature() { uint8_t i = 0; Draw_Menu_Line(++i, ICON_SetEndTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[0].hotend_temp); #if HAS_HEATED_BED Draw_Menu_Line(++i, ICON_SetBedTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[0].bed_temp); #endif #if HAS_FAN Draw_Menu_Line(++i, ICON_FanSpeed); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[0].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[0].fan_speed); #endif #if ENABLED(EEPROM_SETTINGS) Draw_Menu_Line(++i, ICON_WriteEEPROM); @@ -2863,15 +2863,15 @@ void HMI_Temperature() { else { #ifdef USE_STRING_HEADINGS Draw_Title("ABS Settings"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_TEMP), F("Nozzle Temp")); #if HAS_HEATED_BED - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_BED), F("Bed Temp")); #endif #if HAS_FAN - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_FAN), GET_TEXT_F(MSG_FAN_SPEED)); #endif #if ENABLED(EEPROM_SETTINGS) - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(PREHEAT_CASE_SAVE), GET_TEXT_F(MSG_STORE_EEPROM)); #endif #else DWIN_Frame_TitleCopy(1, 56, 16, 141, 28); // "ABS Settings" @@ -2898,14 +2898,14 @@ void HMI_Temperature() { uint8_t i = 0; Draw_Menu_Line(++i, ICON_SetEndTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[1].hotend_temp); #if HAS_HEATED_BED Draw_Menu_Line(++i, ICON_SetBedTemp); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[1].bed_temp); #endif #if HAS_FAN Draw_Menu_Line(++i, ICON_FanSpeed); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 3, 216, MBASE(i), ui.material_preset[1].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 216, MBASE(i), ui.material_preset[1].fan_speed); #endif #if ENABLED(EEPROM_SETTINGS) Draw_Menu_Line(++i, ICON_WriteEEPROM); @@ -2943,11 +2943,11 @@ inline void Draw_Max_Speed_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title("Max Speed (mm/s)"); // TODO: GET_TEXT_F - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Feedrate X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Feedrate Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Feedrate Z")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Feedrate X")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Feedrate Y")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Feedrate Z")); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Feedrate E")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Feedrate E")); #endif #else DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Max Speed (mm/s)" @@ -2973,11 +2973,11 @@ inline void Draw_Max_Speed_Menu() { Draw_Back_First(); LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedX + i); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(1), planner.settings.max_feedrate_mm_s[X_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(2), planner.settings.max_feedrate_mm_s[Y_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(3), planner.settings.max_feedrate_mm_s[Z_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(1), planner.settings.max_feedrate_mm_s[X_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(2), planner.settings.max_feedrate_mm_s[Y_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(3), planner.settings.max_feedrate_mm_s[Z_AXIS]); #if HAS_HOTEND - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_feedrate_mm_s[E_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(4), planner.settings.max_feedrate_mm_s[E_AXIS]); #endif } @@ -3005,11 +3005,11 @@ inline void Draw_Max_Accel_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_ACCELERATION)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Accel X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Accel Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Accel Z")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Accel X")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Accel Y")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Accel Z")); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Accel E")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Accel E")); #endif #else DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Acceleration" @@ -3024,11 +3024,11 @@ inline void Draw_Max_Accel_Menu() { Draw_Back_First(); LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxAccX + i); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(1), planner.settings.max_acceleration_mm_per_s2[X_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(2), planner.settings.max_acceleration_mm_per_s2[Y_AXIS]); - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(3), planner.settings.max_acceleration_mm_per_s2[Z_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(1), planner.settings.max_acceleration_mm_per_s2[X_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(2), planner.settings.max_acceleration_mm_per_s2[Y_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(3), planner.settings.max_acceleration_mm_per_s2[Z_AXIS]); #if HAS_HOTEND - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Background_black, 4, 210, MBASE(4), planner.settings.max_acceleration_mm_per_s2[E_AXIS]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 4, 210, MBASE(4), planner.settings.max_acceleration_mm_per_s2[E_AXIS]); #endif } @@ -3060,11 +3060,11 @@ inline void Draw_Max_Jerk_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_JERK)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Max Jerk X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Max Jerk Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Max Jerk Z")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Jerk X")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Jerk Y")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Jerk Z")); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Max Jerk E")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Jerk E")); #endif #else DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk" @@ -3094,11 +3094,11 @@ inline void Draw_Max_Jerk_Menu() { Draw_Back_First(); LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT); #if HAS_HOTEND - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT); #endif } @@ -3122,11 +3122,11 @@ inline void Draw_Steps_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title(GET_TEXT_F(MSG_STEPS_PER_MM)); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(1), F("Steps/mm X")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(2), F("Steps/mm Y")); - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(3), F("Steps/mm Z")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Steps/mm X")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Steps/mm Y")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Steps/mm Z")); #if HAS_HOTEND - DWIN_Draw_String(false, true, font8x16, White, Background_black, LBLX, MBASE(4), F("Steps/mm E")); + DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Steps/mm E")); #endif #else DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Steps per mm" @@ -3141,11 +3141,11 @@ inline void Draw_Steps_Menu() { Draw_Back_First(); LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_StepX + i); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(1), planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(2), planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT); - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(3), planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT); #if HAS_HOTEND - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Background_black, 3, 1, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT); #endif } @@ -3253,14 +3253,14 @@ void HMI_Tune() { case TUNE_CASE_SPEED: // Print speed checkkey = PrintSpeed; HMI_ValueStruct.print_speed = feedrate_percentage; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_SPEED + MROWS - index_tune), feedrate_percentage); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(TUNE_CASE_SPEED + MROWS - index_tune), feedrate_percentage); EncoderRate.enabled = true; break; #if HAS_HOTEND case TUNE_CASE_TEMP: // Nozzle temp checkkey = ETemp; HMI_ValueStruct.E_Temp = thermalManager.temp_hotend[0].target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(TUNE_CASE_TEMP + MROWS - index_tune), thermalManager.temp_hotend[0].target); EncoderRate.enabled = true; break; #endif @@ -3268,7 +3268,7 @@ void HMI_Tune() { case TUNE_CASE_BED: // Bed temp checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = thermalManager.temp_bed.target; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(TUNE_CASE_BED + MROWS - index_tune), thermalManager.temp_bed.target); EncoderRate.enabled = true; break; #endif @@ -3276,7 +3276,7 @@ void HMI_Tune() { case TUNE_CASE_FAN: // Fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = thermalManager.fan_speed[0]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(TUNE_CASE_FAN + MROWS - index_tune), thermalManager.fan_speed[0]); EncoderRate.enabled = true; break; #endif @@ -3326,7 +3326,7 @@ void HMI_Tune() { case PREHEAT_CASE_TEMP: // Nozzle temperature checkkey = ETemp; HMI_ValueStruct.E_Temp = ui.material_preset[0].hotend_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[0].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[0].hotend_temp); EncoderRate.enabled = true; break; #endif @@ -3334,7 +3334,7 @@ void HMI_Tune() { case PREHEAT_CASE_BED: // Bed temperature checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = ui.material_preset[0].bed_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[0].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[0].bed_temp); EncoderRate.enabled = true; break; #endif @@ -3342,7 +3342,7 @@ void HMI_Tune() { case PREHEAT_CASE_FAN: // Fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = ui.material_preset[0].fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[0].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[0].fan_speed); EncoderRate.enabled = true; break; #endif @@ -3382,7 +3382,7 @@ void HMI_Tune() { case PREHEAT_CASE_TEMP: // Set nozzle temperature checkkey = ETemp; HMI_ValueStruct.E_Temp = ui.material_preset[1].hotend_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[1].hotend_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_TEMP), ui.material_preset[1].hotend_temp); EncoderRate.enabled = true; break; #endif @@ -3390,7 +3390,7 @@ void HMI_Tune() { case PREHEAT_CASE_BED: // Set bed temperature checkkey = BedTemp; HMI_ValueStruct.Bed_Temp = ui.material_preset[1].bed_temp; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[1].bed_temp); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_BED), ui.material_preset[1].bed_temp); EncoderRate.enabled = true; break; #endif @@ -3398,7 +3398,7 @@ void HMI_Tune() { case PREHEAT_CASE_FAN: // Set fan speed checkkey = FanSpeed; HMI_ValueStruct.Fan_speed = ui.material_preset[1].fan_speed; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[1].fan_speed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 216, MBASE(PREHEAT_CASE_FAN), ui.material_preset[1].fan_speed); EncoderRate.enabled = true; break; #endif @@ -3433,7 +3433,7 @@ void HMI_MaxSpeed() { checkkey = MaxSpeed_value; HMI_flag.feedspeed_axis = AxisEnum(select_speed.now - 1); HMI_ValueStruct.Max_Feedspeed = planner.settings.max_feedrate_mm_s[HMI_flag.feedspeed_axis]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 4, 210, MBASE(select_speed.now), HMI_ValueStruct.Max_Feedspeed); EncoderRate.enabled = true; } else { // Back @@ -3462,7 +3462,7 @@ void HMI_MaxAcceleration() { checkkey = MaxAcceleration_value; HMI_flag.acc_axis = AxisEnum(select_acc.now - 1); HMI_ValueStruct.Max_Acceleration = planner.settings.max_acceleration_mm_per_s2[HMI_flag.acc_axis]; - DWIN_Draw_IntValue(true, true, 0, font8x16, White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); + DWIN_Draw_IntValue(true, true, 0, font8x16, Color_White, Select_Color, 4, 210, MBASE(select_acc.now), HMI_ValueStruct.Max_Acceleration); EncoderRate.enabled = true; } else { // Back @@ -3492,7 +3492,7 @@ void HMI_MaxAcceleration() { checkkey = MaxJerk_value; HMI_flag.jerk_axis = AxisEnum(select_jerk.now - 1); HMI_ValueStruct.Max_Jerk = planner.max_jerk[HMI_flag.jerk_axis] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk); EncoderRate.enabled = true; } else { // Back @@ -3522,7 +3522,7 @@ void HMI_Step() { checkkey = Step_value; HMI_flag.step_axis = AxisEnum(select_step.now - 1); HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[HMI_flag.step_axis] * MINUNITMULT; - DWIN_Draw_FloatValue(true, true, 0, font8x16, White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); + DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step); EncoderRate.enabled = true; } else { // Back @@ -3539,7 +3539,7 @@ void HMI_Init() { for (uint16_t t = 0; t <= 100; t += 2) { DWIN_ICON_Show(ICON, ICON_Bar, 15, 260); - DWIN_Draw_Rectangle(1, Background_black, 15 + t * 242 / 100, 260, 257, 280); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 15 + t * 242 / 100, 260, 257, 280); DWIN_UpdateLCD(); delay(20); } @@ -3577,7 +3577,7 @@ void EachMomentUpdate() { Draw_Print_ProgressBar(); // show print done confirm - DWIN_Draw_Rectangle(1, Background_black, 0, 250, DWIN_WIDTH - 1, STATUS_Y); + DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, 250, DWIN_WIDTH - 1, STATUS_Y); DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 283); } else if (HMI_flag.pause_flag != printingIsPaused()) { @@ -3654,7 +3654,7 @@ void EachMomentUpdate() { if (!recovery.valid()) return recovery.purge(); auto draw_first_option = [](const bool sel) { - const uint16_t c1 = sel ? Background_window : Select_Color; + const uint16_t c1 = sel ? Color_Bg_Window : Select_Color; DWIN_Draw_Rectangle(0, c1, 25, 306, 126, 345); DWIN_Draw_Rectangle(0, c1, 24, 305, 127, 346); }; @@ -3662,7 +3662,7 @@ void EachMomentUpdate() { auto update_selection = [&](const bool sel) { HMI_flag.select_flag = sel; draw_first_option(sel); - const uint16_t c2 = sel ? Select_Color : Background_window; + const uint16_t c2 = sel ? Select_Color : Color_Bg_Window; DWIN_Draw_Rectangle(0, c2, 145, 306, 246, 345); DWIN_Draw_Rectangle(0, c2, 144, 305, 247, 346); }; @@ -3679,7 +3679,7 @@ void EachMomentUpdate() { draw_first_option(false); char * const name = card.longest_filename(); const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, npos, 252, name); + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, npos, 252, name); DWIN_UpdateLCD(); break; } diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index fedb87afdd81..7b759d9cbfea 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -214,16 +214,16 @@ enum processID : uint8_t { #define font32x64 0x09 // Color -#define White 0xFFFF -#define Background_window 0x31E8 // Popup background color -#define Background_blue 0x1125 // Dark blue background color -#define Background_black 0x0841 // black background color -#define Font_window 0xD6BA // Popup font background color +#define Color_White 0xFFFF +#define Color_Bg_Window 0x31E8 // Popup background color +#define Color_Bg_Blue 0x1125 // Dark blue background color +#define Color_Bg_Black 0x0841 // Black background color +#define Popup_Text_Color 0xD6BA // Popup font background color #define Line_Color 0x3A6A // Split line color -#define Rectangle_Color 0xEE2F // blue square cursor color -#define Percent_Color 0xFE29 // percentage color -#define BarFill_Color 0x10E4 // fill color of progress bar -#define Select_Color 0x33BB // selected color +#define Rectangle_Color 0xEE2F // Blue square cursor color +#define Percent_Color 0xFE29 // Percentage color +#define BarFill_Color 0x10E4 // Fill color of progress bar +#define Select_Color 0x33BB // Selected color extern uint8_t checkkey; extern float zprobe_zoffset; From 4696142a31fe74ad32a57a5939e3af1cbae23e52 Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Sat, 19 Sep 2020 10:20:15 -0400 Subject: [PATCH 097/277] Fix compile for Taz Pro (#19424) --- .../ftdi_eve_touch_ui/screens/boot_screen.cpp | 2 +- .../screens/leveling_menu.cpp | 3 -- .../lib/ftdi_eve_touch_ui/screens/screens.h | 4 ++ .../theme/bootscreen_logo_portrait.h | 42 +++++++++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/bootscreen_logo_portrait.h diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/boot_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/boot_screen.cpp index 2c2c0c6a18ec..4ce8f608f123 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/boot_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/boot_screen.cpp @@ -32,7 +32,7 @@ #ifdef SHOW_CUSTOM_BOOTSCREEN #ifdef TOUCH_UI_PORTRAIT - #include "../theme/_bootscreen_portrait.h" + #include "../theme/bootscreen_logo_portrait.h" #else #include "../theme/_bootscreen_landscape.h" #endif diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp index 2eab27c6086b..74ab332fb4d7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp @@ -94,9 +94,6 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) { switch (tag) { case 1: GOTO_PREVIOUS(); break; case 2: - #ifndef BED_LEVELING_COMMANDS - #define BED_LEVELING_COMMANDS "G29" - #endif #if HAS_MESH BedMeshScreen::startMeshProbe(); #else diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h index b425c4fa45fb..2108cff8df2a 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h @@ -27,6 +27,10 @@ #include "../theme/theme.h" #include "string_format.h" +#ifndef BED_LEVELING_COMMANDS + #define BED_LEVELING_COMMANDS "G29" +#endif + extern tiny_timer_t refresh_timer; /********************************* DL CACHE SLOTS ******************************/ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/bootscreen_logo_portrait.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/bootscreen_logo_portrait.h new file mode 100644 index 000000000000..6ea317dbc3cd --- /dev/null +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/bootscreen_logo_portrait.h @@ -0,0 +1,42 @@ +/**************************************************************************** + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +/** + * This file was auto-generated using "svg2cpp.pl" + * + * The encoding consists of x,y pairs with the min and max scaled to + * 0x0000 and 0xFFFE. A single 0xFFFF in the data stream indicates the + * start of a new closed path. + */ + +#pragma once + +constexpr float x_min = 0.000000, x_max = 272.000000, + y_min = 0.000000, y_max = 480.000000; + +const PROGMEM uint16_t logo_green[] = {0x8048, 0x46D9, 0x27BC, 0x9DBA, 0xD8D3, 0x9DBA}; +const PROGMEM uint16_t logo_mark[] = {0xDB9F, 0xAC0C, 0xDA6F, 0xAC2D, 0xD970, 0xAC91, 0xD8C0, 0xAD23, 0xD885, 0xADCF, 0xD8C0, 0xAE7A, 0xD970, 0xAF0C, 0xDA6F, 0xAF6F, 0xDB9F, 0xAF8F, 0xDCCE, 0xAF6F, 0xDDD0, 0xAF0C, 0xDE7D, 0xAE7B, 0xDEB9, 0xADCF, 0xDE7D, 0xAD22, 0xDDD0, 0xAC91, 0xDCCE, 0xAC2D, 0xFFFF, 0xDB9F, 0xABC3, 0xDCFE, 0xABEA, 0xDE28, 0xAC5E, 0xDEF1, 0xAD06, 0xDF36, 0xADCF, 0xDEF1, 0xAE95, 0xDE28, 0xAF3E, 0xDCFE, 0xAFB1, 0xDB9F, 0xAFD8, 0xDA3F, 0xAFB1, 0xD916, 0xAF3E, 0xD849, 0xAE95, 0xD808, 0xADCF, 0xD849, 0xAD06, 0xD916, 0xAC5E, 0xDA3F, 0xABEA, 0xFFFF, 0xDB7D, 0xACE6, 0xDAE4, 0xACE6, 0xDAE4, 0xADA9, 0xDB7D, 0xADA9, 0xDC3B, 0xAD94, 0xDC71, 0xAD48, 0xDC3B, 0xACFD, 0xFFFF, 0xDB85, 0xAC9E, 0xDCCB, 0xACC8, 0xDD37, 0xAD47, 0xDCF6, 0xADAC, 0xDC3E, 0xADDE, 0xDC85, 0xADFF, 0xDCE8, 0xAE4E, 0xDD92, 0xAEEA, 0xDCBD, 0xAEEA, 0xDC1E, 0xAE58, 0xDBA7, 0xAE03, 0xDB36, 0xADEF, 0xDAE4, 0xADEF, 0xDAE4, 0xAEEA, 0xDA26, 0xAEEA, 0xDA26, 0xAC9E}; +const PROGMEM uint16_t logo_type[] = {0xD8D5, 0xA520, 0xD8A5, 0xA563, 0xD82E, 0xA57F, 0xD348, 0xA57F, 0xD2D1, 0xA598, 0xD2A0, 0xA5D9, 0xD2A0, 0xAF7A, 0xD274, 0xAFBE, 0xD202, 0xAFDA, 0xCD37, 0xAFDA, 0xCCBF, 0xAFBE, 0xCC8F, 0xAF7A, 0xCC8F, 0xA5D9, 0xCC63, 0xA598, 0xCBF1, 0xA57F, 0xC70B, 0xA57F, 0xC694, 0xA563, 0xC664, 0xA520, 0xC664, 0xA28C, 0xC70B, 0xA22C, 0xD82E, 0xA22C, 0xD8A5, 0xA248, 0xD8D5, 0xA28C, 0xFFFF, 0xB138, 0xAC8C, 0xB952, 0xAC8C, 0xB952, 0xA57F, 0xB138, 0xA57F, 0xFFFF, 0xBF27, 0xA421, 0xBF57, 0xA476, 0xBF6D, 0xA4D0, 0xBF6D, 0xAD36, 0xBF57, 0xAD90, 0xBF27, 0xADE6, 0xBBFA, 0xAFB2, 0xBB60, 0xAFCF, 0xBABD, 0xAFDA, 0xAFCE, 0xAFDA, 0xAF30, 0xAFCF, 0xAE9A, 0xAFB2, 0xAB6E, 0xADE6, 0xAB39, 0xAD90, 0xAB28, 0xAD36, 0xAB28, 0xA4D0, 0xAB39, 0xA476, 0xAB6E, 0xA421, 0xAE9A, 0xA255, 0xAF30, 0xA239, 0xAFCE, 0xA22C, 0xBABD, 0xA22C, 0xBB60, 0xA239, 0xBBFA, 0xA255, 0xFFFF, 0x93A4, 0xACDC, 0x9CEA, 0xACDC, 0x9CEA, 0xAA34, 0x93A4, 0xAA34, 0x93A4, 0xACDC, 0xFFFF, 0x93A4, 0xA796, 0x9CEA, 0xA796, 0x9CEA, 0xA525, 0x93A4, 0xA525, 0xFFFF, 0xA227, 0xA421, 0xA258, 0xA478, 0xA26E, 0xA4D5, 0xA26E, 0xA700, 0xA24F, 0xA757, 0xA204, 0xA7A5, 0xA089, 0xA8B8, 0xA061, 0xA903, 0xA092, 0xA949, 0xA1FC, 0xAA43, 0xA24B, 0xAA91, 0xA26E, 0xAAE8, 0xA26E, 0xAD36, 0xA258, 0xAD90, 0xA227, 0xADE6, 0x9EFC, 0xAFB2, 0x9E61, 0xAFCF, 0x9DBE, 0xAFDA, 0x8ED0, 0xAFDA, 0x8E28, 0xAF7A, 0x8E28, 0xA28C, 0x8E59, 0xA248, 0x8ED0, 0xA22C, 0x9DBE, 0xA22C, 0x9E61, 0xA239, 0x9EFC, 0xA255, 0xFFFF, 0x853C, 0xA502, 0x8517, 0xA557, 0x84C9, 0xA5A2, 0x7994, 0xACC8, 0x8494, 0xACC8, 0x850A, 0xACE4, 0x853C, 0xAD27, 0x853C, 0xAF7A, 0x850A, 0xAFBE, 0x8494, 0xAFDA, 0x7371, 0xAFDA, 0x72C9, 0xAF7A, 0x72C9, 0xAD09, 0x72E8, 0xACB2, 0x7333, 0xAC64, 0x7EA5, 0xA53E, 0x73A6, 0xA53E, 0x732F, 0xA522, 0x72FE, 0xA4DF, 0x72FE, 0xA28C, 0x732F, 0xA248, 0x73A6, 0xA22C, 0x8494, 0xA22C, 0x850A, 0xA248, 0x853C, 0xA28C, 0xFFFF, 0x6B68, 0xAC87, 0x6BDB, 0xACA3, 0x6C07, 0xACE6, 0x6C07, 0xAF7A, 0x6BDB, 0xAFBE, 0x6B68, 0xAFDA, 0x5C84, 0xAFDA, 0x5BDC, 0xAF7A, 0x5BDC, 0xA28C, 0x5C84, 0xA22C, 0x6146, 0xA22C, 0x61EE, 0xA28C, 0x61EE, 0xAC2D, 0x621E, 0xAC6E, 0x6295, 0xAC87, 0xFFFF, 0x52C6, 0xA248, 0x52F7, 0xA28C, 0x52F7, 0xAD45, 0x52EE, 0xAD45, 0x52DC, 0xAD9B, 0x52B1, 0xADE6, 0x4F85, 0xAFB2, 0x4EEA, 0xAFCF, 0x4E47, 0xAFDA, 0x4359, 0xAFDA, 0x42BA, 0xAFCF, 0x4224, 0xAFB2, 0x3EF8, 0xADE6, 0x3EC3, 0xAD90, 0x3EB2, 0xAD36, 0x3EB2, 0xA28C, 0x3EE2, 0xA248, 0x3F5A, 0xA22C, 0x441B, 0xA22C, 0x4493, 0xA248, 0x44C3, 0xA28C, 0x44C3, 0xAC2D, 0x44F4, 0xAC71, 0x456B, 0xAC8C, 0x4C3E, 0xAC8C, 0x4CB1, 0xAC71, 0x4CDD, 0xAC2D, 0x4CDD, 0xA28C, 0x4D0D, 0xA248, 0x4D85, 0xA22C, 0x524F, 0xA22C, 0xFFFF, 0x3748, 0xAC87, 0x37BB, 0xACA3, 0x37E7, 0xACE6, 0x37E7, 0xAF7A, 0x37BB, 0xAFBE, 0x3748, 0xAFDA, 0x2864, 0xAFDA, 0x27BC, 0xAF7A, 0x27BC, 0xA28C, 0x2864, 0xA22C, 0x2D26, 0xA22C, 0x2DCD, 0xA28C, 0x2DCD, 0xAC2D, 0x2DFE, 0xAC6E, 0x2E75, 0xAC87}; +const PROGMEM uint16_t logo_black[] = {0x8048, 0x527A, 0x8ADE, 0x5CDE, 0x75B2, 0x5CDE, 0xFFFF, 0x8048, 0x4FF6, 0x71D9, 0x5E20, 0x8EB8, 0x5E20, 0x8048, 0x4FF6, 0xFFFF, 0x4436, 0x8D8E, 0x4ECC, 0x97F2, 0x39A0, 0x97F2, 0xFFFF, 0x4436, 0x8B0A, 0x35C8, 0x9934, 0x52A5, 0x9934, 0xFFFF, 0xBC3D, 0x8D8E, 0xC6D4, 0x97F2, 0xB1A7, 0x97F2, 0xFFFF, 0xBC3D, 0x8B0A, 0xADCE, 0x9934, 0xCAAC, 0x9934, 0xFFFF, 0x8045, 0x6778, 0x7F6D, 0x67A7, 0x7E9D, 0x689F, 0x7D49, 0x69EA, 0x7B41, 0x6A81, 0x7908, 0x6A3A, 0x7726, 0x692C, 0x75EA, 0x685A, 0x7505, 0x684C, 0x744A, 0x6899, 0x73F5, 0x69A8, 0x7345, 0x6B1A, 0x7193, 0x6BF8, 0x6F4D, 0x6C08, 0x6CFA, 0x6B45, 0x6B61, 0x6AA3, 0x6A7D, 0x6AB7, 0x69EB, 0x6B1D, 0x6A1D, 0x6C34, 0x6A22, 0x6DB8, 0x68E5, 0x6ECD, 0x66B9, 0x6F33, 0x6417, 0x6EC5, 0x6239, 0x6E5C, 0x6165, 0x6E91, 0x6108, 0x6F09, 0x61C1, 0x7018, 0x6282, 0x7196, 0x61CF, 0x72D1, 0x5FE5, 0x7384, 0x5D38, 0x7380, 0x5B4B, 0x7365, 0x5A97, 0x73B7, 0x5A74, 0x7438, 0x5B90, 0x7520, 0x5CE8, 0x7671, 0x5CCB, 0x77BB, 0x5B43, 0x78B0, 0x58B6, 0x7914, 0x56D7, 0x7944, 0x564F, 0x79AD, 0x5667, 0x7A2F, 0x57DA, 0x7AE3, 0x59B7, 0x7BF3, 0x5A31, 0x7D37, 0x5927, 0x7E5D, 0x56E0, 0x7F1E, 0x5529, 0x7F93, 0x54D7, 0x800D, 0x5529, 0x8087, 0x56E0, 0x80FD, 0x5926, 0x81BE, 0x5A30, 0x82E5, 0x59B5, 0x8428, 0x57D8, 0x8538, 0x5664, 0x85EB, 0x564C, 0x866D, 0x56D4, 0x86D7, 0x58B2, 0x8708, 0x5B3F, 0x876B, 0x5CC6, 0x8860, 0x5CE3, 0x89AA, 0x5B8B, 0x8AFC, 0x5A6D, 0x8BE3, 0x5A91, 0x8C65, 0x5B44, 0x8CB7, 0x5D32, 0x8C9C, 0x5FDE, 0x8C98, 0x61C7, 0x8D4B, 0x627A, 0x8E87, 0x61B9, 0x9005, 0x60FF, 0x9114, 0x615C, 0x918B, 0x622F, 0x91C0, 0x640E, 0x9158, 0x66B0, 0x90EA, 0x68DC, 0x9150, 0x6A18, 0x9266, 0x6A12, 0x93E9, 0x69E0, 0x9501, 0x6A72, 0x9567, 0x6B56, 0x957B, 0x6CEE, 0x94D9, 0x6F43, 0x9417, 0x7188, 0x9428, 0x7339, 0x9506, 0x73E9, 0x9678, 0x743E, 0x9787, 0x74F8, 0x97D4, 0x75DD, 0x97C6, 0x771A, 0x96F4, 0x78FB, 0x95E6, 0x7B35, 0x95A1, 0x7D3D, 0x9637, 0x7E91, 0x9782, 0x7F60, 0x987A, 0x8038, 0x98AA, 0x810F, 0x987B, 0x81DF, 0x9782, 0x8333, 0x9638, 0x853B, 0x95A1, 0x8775, 0x95E7, 0x8956, 0x96F5, 0x8A92, 0x97C8, 0x8B78, 0x97D6, 0x8C32, 0x9789, 0x8C88, 0x967A, 0x8D37, 0x9508, 0x8EE9, 0x942A, 0x912F, 0x941A, 0x9383, 0x94DD, 0x951B, 0x957F, 0x95FF, 0x956B, 0x9690, 0x9505, 0x9660, 0x93ED, 0x9659, 0x926A, 0x9797, 0x9154, 0x99C3, 0x90EF, 0x9C65, 0x915D, 0x9E43, 0x91C6, 0x9F17, 0x9191, 0x9F74, 0x9119, 0x9EBB, 0x900A, 0x9DFA, 0x8E8C, 0x9EAE, 0x8D51, 0xA098, 0x8C9E, 0xA345, 0x8CA2, 0xA531, 0x8CBE, 0xA5E5, 0x8C6B, 0xA609, 0x8BEA, 0xA4EC, 0x8B02, 0xA394, 0x89B1, 0xA3B2, 0x8867, 0xA53A, 0x8772, 0xA7C6, 0x870E, 0xA9A5, 0x86DE, 0xAA2D, 0x8675, 0xAA14, 0x85F2, 0xA8A2, 0x853F, 0xA6C5, 0x842E, 0xA64B, 0x82EB, 0xA755, 0x81C5, 0xA99C, 0x8104, 0xAB52, 0x808F, 0xABA6, 0x8015, 0xAB52, 0x7F9B, 0xA99C, 0x7F25, 0xA755, 0x7E64, 0xA64C, 0x7D3E, 0xA6C7, 0x7BFA, 0xA8A5, 0x7AEA, 0xAA18, 0x7A37, 0xAA31, 0x79B5, 0xA9A9, 0x794B, 0xA7CA, 0x791B, 0xA53C, 0x78B7, 0xA3B6, 0x77C1, 0xA39A, 0x7677, 0xA4F1, 0x7526, 0xA60E, 0x743F, 0xA5EB, 0x73BD, 0xA538, 0x736B, 0xA34B, 0x7387, 0xA09E, 0x738A, 0x9EB4, 0x72D6, 0x9E02, 0x719B, 0x9EC4, 0x701D, 0x9F7E, 0x6F0E, 0x9F20, 0x6E96, 0x9E4E, 0x6E61, 0x9C6E, 0x6ECA, 0x99CB, 0x6F37, 0x97A0, 0x6ED2, 0x9664, 0x6DBC, 0x966B, 0x6C38, 0x969B, 0x6B21, 0x960B, 0x6ABB, 0x9526, 0x6AA6, 0x938E, 0x6B48, 0x913B, 0x6C0B, 0x8EF4, 0x6BFA, 0x8D43, 0x6B1D, 0x8C94, 0x69AA, 0x8C3F, 0x689B, 0x8B85, 0x684D, 0x8A9E, 0x685C, 0x8962, 0x692E, 0x8781, 0x6A3C, 0x8546, 0x6A82, 0x833F, 0x69EA, 0x81EC, 0x68A0, 0x811C, 0x67A8, 0x8045, 0x6778, 0x8045, 0x6778, 0xFFFF, 0x8047, 0x6AA0, 0x81C8, 0x6AFA, 0x8268, 0x6BD5, 0x81C8, 0x6CAF, 0x8047, 0x6D09, 0x7EC6, 0x6CAF, 0x7E27, 0x6BD5, 0x7EC6, 0x6AFA, 0x8047, 0x6AA0, 0x8047, 0x6AA0, 0xFFFF, 0x803E, 0x6E19, 0x867C, 0x6E71, 0x8C65, 0x6F75, 0x91D7, 0x711B, 0x96AD, 0x735B, 0x9ABC, 0x762C, 0x9DA2, 0x794C, 0x9F5F, 0x7CA2, 0x9FF3, 0x8011, 0x9F5E, 0x8380, 0x9DA1, 0x86D5, 0x9ABA, 0x89F6, 0x96AB, 0x8CC7, 0x91D6, 0x8F08, 0x8C65, 0x90AD, 0x867C, 0x91B1, 0x803D, 0x9209, 0x7A00, 0x91B1, 0x7416, 0x90AD, 0x6EA6, 0x8F08, 0x69D0, 0x8CC7, 0x65D6, 0x8A0A, 0x62EE, 0x86F4, 0x6125, 0x839B, 0x6089, 0x8011, 0x6124, 0x7C88, 0x62ED, 0x792E, 0x65D6, 0x7619, 0x69CF, 0x735B, 0x6EA5, 0x711B, 0x7416, 0x6F75, 0x7A00, 0x6E71, 0x803E, 0x6E19, 0x803E, 0x6E19, 0xFFFF, 0x803E, 0x6EB2, 0x7A5A, 0x6F04, 0x74B2, 0x6FF8, 0x6F4B, 0x7194, 0x6A8F, 0x73C7, 0x66A2, 0x7681, 0x63D5, 0x7986, 0x6226, 0x7CBF, 0x6197, 0x8011, 0x6226, 0x8363, 0x63D5, 0x869C, 0x66A2, 0x89A2, 0x6A8F, 0x8C5B, 0x6F4B, 0x8E8E, 0x74B2, 0x902B, 0x7A5A, 0x911E, 0x803D, 0x9170, 0x803E, 0x9170, 0x8621, 0x911E, 0x8BCA, 0x902B, 0x9130, 0x8E8E, 0x95ED, 0x8C5B, 0x99CF, 0x89AB, 0x9CA7, 0x869C, 0x9E55, 0x8367, 0x9EE5, 0x8011, 0x9E55, 0x7CBB, 0x9CA7, 0x7986, 0x99CF, 0x7677, 0x95ED, 0x73C7, 0x9130, 0x7194, 0x8BCA, 0x6FF8, 0x8621, 0x6F04, 0x803E, 0x6EB2, 0x803E, 0x6EB2, 0xFFFF, 0x80BC, 0x6FD7, 0x80AF, 0x71D8, 0x7FC8, 0x71D9, 0x7FB7, 0x6FD8, 0x80BC, 0x6FD7, 0x80BC, 0x6FD7, 0xFFFF, 0x83CB, 0x6FF6, 0x84CD, 0x700B, 0x843E, 0x7206, 0x835B, 0x71F4, 0xFFFF, 0x7CA9, 0x6FF8, 0x7D1A, 0x71F5, 0x7C37, 0x7207, 0x7BA7, 0x700D, 0x7CA9, 0x6FF8, 0x7CA9, 0x6FF8, 0xFFFF, 0x87CD, 0x7068, 0x88C7, 0x7092, 0x87BA, 0x727C, 0x86DF, 0x7258, 0xFFFF, 0x78A8, 0x706B, 0x7997, 0x725A, 0x78BA, 0x727E, 0x77AD, 0x7095, 0x78A8, 0x706B, 0x78A8, 0x706B, 0xFFFF, 0x6700, 0x708A, 0x6880, 0x70E5, 0x6920, 0x71BF, 0x6880, 0x7299, 0x66FF, 0x72F4, 0x657F, 0x7299, 0x64E0, 0x71BF, 0x657F, 0x70E4, 0x6700, 0x708A, 0x6700, 0x708A, 0xFFFF, 0x998D, 0x708C, 0x9B0E, 0x70E6, 0x9BAE, 0x71C0, 0x9B0E, 0x729B, 0x998D, 0x72F6, 0x980D, 0x729B, 0x976E, 0x71C1, 0x980D, 0x70E7, 0x998D, 0x708C, 0x998D, 0x708C, 0xFFFF, 0x8BA7, 0x712C, 0x8C95, 0x716A, 0x8B10, 0x7339, 0x8A3F, 0x7303, 0x8BA7, 0x712C, 0xFFFF, 0x74CE, 0x712F, 0x7635, 0x7307, 0x7564, 0x733C, 0x73DE, 0x716D, 0x74CE, 0x712F, 0x74CE, 0x712F, 0xFFFF, 0x8F47, 0x723F, 0x9023, 0x728E, 0x8E2D, 0x743A, 0x8D6B, 0x73F4, 0x8F47, 0x723F, 0xFFFF, 0x712D, 0x7242, 0x7308, 0x73F7, 0x7248, 0x743D, 0x7050, 0x7292, 0x712D, 0x7242, 0x712D, 0x7242, 0xFFFF, 0x803E, 0x72F6, 0x891B, 0x73F4, 0x909A, 0x76CC, 0x959F, 0x7B0B, 0x975E, 0x8011, 0x959F, 0x8517, 0x909A, 0x8957, 0x891B, 0x8C2E, 0x803E, 0x8D2B, 0x7761, 0x8C2E, 0x6FE2, 0x8957, 0x6ADD, 0x8517, 0x691E, 0x8011, 0x6ADD, 0x7B0B, 0x6FE2, 0x76CC, 0x7761, 0x73F4, 0x803E, 0x72F6, 0x803E, 0x72F6, 0xFFFF, 0x803E, 0x738F, 0x77C8, 0x7481, 0x70A0, 0x7738, 0x6BD7, 0x7B46, 0x6A2C, 0x8011, 0x6BD7, 0x84DC, 0x70A1, 0x88EA, 0x77C9, 0x8BA1, 0x803E, 0x8C93, 0x88B4, 0x8BA1, 0x8FDB, 0x88EA, 0x94A5, 0x84DD, 0x9650, 0x8011, 0x94A5, 0x7B46, 0x8FDB, 0x7738, 0x88B4, 0x7481, 0x803E, 0x738F, 0x803E, 0x738F, 0xFFFF, 0x929B, 0x739A, 0x935C, 0x73FA, 0x9100, 0x7578, 0x905A, 0x7527, 0x9175, 0x745E, 0xFFFF, 0x6DDC, 0x739D, 0x7022, 0x7527, 0x6F74, 0x757C, 0x6D16, 0x73FF, 0x6DDC, 0x739D, 0x6DDC, 0x739D, 0xFFFF, 0x9589, 0x7533, 0x9634, 0x75A4, 0x937E, 0x76ED, 0x92E8, 0x768B, 0xFFFF, 0x6AEB, 0x7539, 0x6D8D, 0x7690, 0x6CFB, 0x76F0, 0x6CEC, 0x76FA, 0x6BED, 0x7674, 0x6A40, 0x75A9, 0x6A45, 0x75A7, 0x6AEB, 0x7539, 0x6AEB, 0x7539, 0xFFFF, 0x980B, 0x7707, 0x989A, 0x7784, 0x9597, 0x7892, 0x951A, 0x7825, 0xFFFF, 0x686A, 0x770C, 0x6B5B, 0x782A, 0x6ADF, 0x7897, 0x67DD, 0x7788, 0x686A, 0x770C, 0x686A, 0x770C, 0xFFFF, 0x9A12, 0x790A, 0x9A7E, 0x7991, 0x9740, 0x7A5E, 0x96E1, 0x79E8, 0x9A12, 0x790A, 0xFFFF, 0x6664, 0x790F, 0x6996, 0x79ED, 0x6937, 0x7A63, 0x65F9, 0x7996, 0x6664, 0x790F, 0x6664, 0x790F, 0xFFFF, 0x9B91, 0x7B32, 0x9BDB, 0x7BC1, 0x9870, 0x7C48, 0x9831, 0x7BCB, 0xFFFF, 0x64E6, 0x7B37, 0x6847, 0x7BD0, 0x6807, 0x7C4C, 0x649D, 0x7BC5, 0x64E6, 0x7B37, 0x64E6, 0x7B37, 0xFFFF, 0x9C82, 0x7D72, 0x9CA7, 0x7E06, 0x9925, 0x7E46, 0x9903, 0x7DC5, 0xFFFF, 0x63F7, 0x7D78, 0x6776, 0x7DC9, 0x6756, 0x7E49, 0x63D3, 0x7E0A, 0x63F7, 0x7D78, 0x63F7, 0x7D78, 0xFFFF, 0x5C87, 0x7EDB, 0x5E08, 0x7F35, 0x5EA8, 0x800F, 0x5E08, 0x80E9, 0x5C87, 0x8144, 0x5C85, 0x8144, 0x5B06, 0x80E9, 0x5A67, 0x800F, 0x5B06, 0x7F35, 0x5C87, 0x7EDB, 0x5C87, 0x7EDB, 0xFFFF, 0xA402, 0x7EDE, 0xA583, 0x7F38, 0xA623, 0x8011, 0xA623, 0x8013, 0xA583, 0x80EC, 0xA402, 0x8147, 0xA281, 0x80ED, 0xA1E2, 0x8013, 0xA281, 0x7F38, 0xA402, 0x7EDE, 0xA402, 0x7EDE, 0xFFFF, 0x9CE0, 0x7FC0, 0x9CE0, 0x8055, 0x9957, 0x804D, 0x9957, 0x7FCB, 0xFFFF, 0x639D, 0x7FC5, 0x6726, 0x7FCE, 0x6726, 0x8051, 0x639D, 0x805A, 0x639D, 0x7FC5, 0x639D, 0x7FC5, 0xFFFF, 0x9927, 0x81D1, 0x9CAA, 0x8210, 0x9C87, 0x82A2, 0x9907, 0x8252, 0x9927, 0x81D1, 0x9927, 0x81D1, 0xFFFF, 0x6757, 0x81D5, 0x6777, 0x8255, 0x63F9, 0x82A7, 0x63D4, 0x8214, 0xFFFF, 0x9877, 0x83CF, 0x9BE2, 0x8455, 0x9B99, 0x84E3, 0x9838, 0x844C, 0x9877, 0x83CF, 0x9877, 0x83CF, 0xFFFF, 0x6808, 0x83D3, 0x6848, 0x8450, 0x64E7, 0x84E8, 0x649E, 0x845A, 0xFFFF, 0x9749, 0x85B9, 0x9A88, 0x8684, 0x9A1D, 0x870C, 0x96EB, 0x862E, 0x9749, 0x85B9, 0x9749, 0x85B9, 0xFFFF, 0x6938, 0x85BD, 0x6997, 0x8634, 0x6665, 0x8710, 0x65F9, 0x8689, 0xFFFF, 0x95A2, 0x8785, 0x98A5, 0x8892, 0x9818, 0x890F, 0x9527, 0x87F2, 0x95A2, 0x8785, 0x95A2, 0x8785, 0xFFFF, 0x6ADF, 0x878A, 0x6B5B, 0x87F8, 0x686A, 0x8914, 0x67DC, 0x8897, 0x6ADF, 0x878A, 0xFFFF, 0x6CF7, 0x892F, 0x6D8D, 0x8991, 0x6AEB, 0x8AE9, 0x6A40, 0x8A79, 0xFFFF, 0x9380, 0x8932, 0x9645, 0x8A72, 0x963E, 0x8A77, 0x9599, 0x8AE3, 0x92F5, 0x898D, 0x9380, 0x8932, 0x9380, 0x8932, 0xFFFF, 0x9110, 0x8AA1, 0x936F, 0x8C1F, 0x92AA, 0x8C80, 0x9064, 0x8AF7, 0x9110, 0x8AA1, 0x9110, 0x8AA1, 0xFFFF, 0x6F73, 0x8AA5, 0x7021, 0x8AFB, 0x7035, 0x8B04, 0x6DED, 0x8C8B, 0x6DE1, 0x8C87, 0x6D17, 0x8C23, 0xFFFF, 0x8E3E, 0x8BE1, 0x9037, 0x8D8B, 0x8F59, 0x8DDC, 0x8D7C, 0x8C27, 0x8E3E, 0x8BE1, 0x8E3E, 0x8BE1, 0xFFFF, 0x7259, 0x8BEB, 0x731B, 0x8C31, 0x7140, 0x8DE7, 0x7064, 0x8D97, 0xFFFF, 0x8B21, 0x8CE3, 0x8CA9, 0x8EB2, 0x8BBA, 0x8EEF, 0x8A51, 0x8D18, 0x8B21, 0x8CE3, 0x8B21, 0x8CE3, 0xFFFF, 0x7576, 0x8CEB, 0x7648, 0x8D20, 0x74E0, 0x8EF8, 0x73F2, 0x8EBB, 0xFFFF, 0x66F3, 0x8D2F, 0x6874, 0x8D8A, 0x687D, 0x8D8F, 0x6886, 0x8D94, 0x6926, 0x8E6E, 0x6887, 0x8F48, 0x6705, 0x8FA2, 0x6584, 0x8F49, 0x657F, 0x8F45, 0x6570, 0x8F3E, 0x6573, 0x8F3E, 0x64D3, 0x8E63, 0x6573, 0x8D89, 0x66F3, 0x8D2F, 0x66F3, 0x8D2F, 0xFFFF, 0x9993, 0x8D31, 0x9B13, 0x8D8C, 0x9BB4, 0x8E66, 0x9B16, 0x8F40, 0x9993, 0x8F9A, 0x9814, 0x8F40, 0x9774, 0x8E66, 0x9812, 0x8D8C, 0x9993, 0x8D31, 0x9993, 0x8D31, 0xFFFF, 0x87CD, 0x8DA1, 0x88DC, 0x8F8B, 0x87E0, 0x8FB5, 0x86F0, 0x8DC6, 0x87CD, 0x8DA1, 0x87CD, 0x8DA1, 0xFFFF, 0x78CD, 0x8DA8, 0x79A8, 0x8DCB, 0x78BC, 0x8FBB, 0x77C1, 0x8F92, 0xFFFF, 0x8450, 0x8E19, 0x84E2, 0x9014, 0x83E0, 0x9029, 0x836C, 0x8E2C, 0x8450, 0x8E19, 0x8450, 0x8E19, 0xFFFF, 0x7C48, 0x8E1C, 0x7D2B, 0x8E2E, 0x7CBD, 0x902C, 0x7BBB, 0x9017, 0x7C48, 0x8E1C, 0xFFFF, 0x80BF, 0x8E49, 0x80D2, 0x904A, 0x7FCC, 0x904A, 0x7FD9, 0x8E49, 0x80BF, 0x8E49, 0x80BF, 0x8E49, 0xFFFF, 0x804F, 0x9321, 0x81D0, 0x937A, 0x8271, 0x9455, 0x81D1, 0x952F, 0x8051, 0x958A, 0x7ECF, 0x9530, 0x7E2F, 0x9456, 0x7ECE, 0x937B, 0x804F, 0x9321, 0x804F, 0x9321, 0xFFFF, 0x8048, 0x46D9, 0x27BC, 0x9DBA, 0xD8D3, 0x9DBA, 0xFFFF, 0x8048, 0x4BC9, 0x952E, 0x604A, 0x6B62, 0x604A, 0xFFFF, 0x68D2, 0x62CE, 0x97BF, 0x62CE, 0xB9BA, 0x8427, 0xA239, 0x9B36, 0x5E16, 0x9B36, 0x46B6, 0x8446, 0x68D2, 0x62CE, 0xFFFF, 0xBC3E, 0x869F, 0xD13B, 0x9B36, 0xA742, 0x9B36, 0xFFFF, 0x4431, 0x86BE, 0x590E, 0x9B36, 0x2F54, 0x9B36, 0x4431, 0x86BE}; +const PROGMEM uint16_t logo_white[] = {0x80BC, 0x6FD7, 0x80AF, 0x71D8, 0x7FC8, 0x71D9, 0x7FB7, 0x6FD8, 0x80BC, 0x6FD7, 0xFFFF, 0x83CB, 0x6FF6, 0x84CD, 0x700B, 0x843E, 0x7206, 0x835B, 0x71F4, 0xFFFF, 0x7CA9, 0x6FF8, 0x7D1A, 0x71F5, 0x7C37, 0x7207, 0x7BA7, 0x700D, 0x7CA9, 0x6FF8, 0x7CA9, 0x6FF8, 0xFFFF, 0x87CD, 0x7068, 0x88C7, 0x7092, 0x87BA, 0x727C, 0x86DF, 0x7258, 0xFFFF, 0x78A8, 0x706B, 0x7997, 0x725A, 0x78BA, 0x727E, 0x77AD, 0x7095, 0x78A8, 0x706B, 0x78A8, 0x706B, 0xFFFF, 0x8BA7, 0x712C, 0x8C95, 0x716A, 0x8B10, 0x7339, 0x8A3F, 0x7303, 0xFFFF, 0x74CE, 0x712F, 0x7635, 0x7307, 0x7564, 0x733C, 0x73DE, 0x716D, 0x74CE, 0x712F, 0x74CE, 0x712F, 0xFFFF, 0x8F47, 0x723F, 0x9023, 0x728E, 0x8E2D, 0x743A, 0x8D6B, 0x73F4, 0xFFFF, 0x712D, 0x7242, 0x7309, 0x73F7, 0x7248, 0x743D, 0x7050, 0x7292, 0x712D, 0x7242, 0x712D, 0x7242, 0xFFFF, 0x929B, 0x739A, 0x935C, 0x73FA, 0x9100, 0x7578, 0x905A, 0x7527, 0xFFFF, 0x6DDC, 0x739D, 0x7022, 0x7527, 0x6F74, 0x757C, 0x6D16, 0x73FF, 0x6DDC, 0x739D, 0x6DDC, 0x739D, 0xFFFF, 0x9589, 0x7533, 0x9634, 0x75A4, 0x937E, 0x76ED, 0x92E8, 0x768B, 0xFFFF, 0x6AEB, 0x7539, 0x6D8D, 0x7690, 0x6CFB, 0x76F0, 0x6A40, 0x75A9, 0x6AEB, 0x7539, 0xFFFF, 0x980B, 0x7707, 0x989A, 0x7784, 0x9597, 0x7892, 0x951A, 0x7825, 0xFFFF, 0x686A, 0x770C, 0x6B5B, 0x782A, 0x6ADF, 0x7897, 0x67DD, 0x7788, 0x686A, 0x770C, 0x686A, 0x770C, 0xFFFF, 0x9A12, 0x790A, 0x9A7E, 0x7991, 0x9740, 0x7A5E, 0x96E1, 0x79E8, 0xFFFF, 0x6664, 0x790F, 0x6996, 0x79ED, 0x6937, 0x7A63, 0x65F9, 0x7996, 0x6664, 0x790F, 0x6664, 0x790F, 0xFFFF, 0x9B91, 0x7B32, 0x9BDB, 0x7BC1, 0x9870, 0x7C48, 0x9831, 0x7BCC, 0xFFFF, 0x64E6, 0x7B37, 0x6847, 0x7BD0, 0x6807, 0x7C4C, 0x649D, 0x7BC5, 0x64E6, 0x7B37, 0x64E6, 0x7B37, 0xFFFF, 0x9C82, 0x7D72, 0x9CA7, 0x7E06, 0x9925, 0x7E46, 0x9903, 0x7DC5, 0xFFFF, 0x63F7, 0x7D78, 0x6776, 0x7DC9, 0x6756, 0x7E49, 0x63D3, 0x7E0A, 0x63F7, 0x7D78, 0x63F7, 0x7D78, 0xFFFF, 0x9CE0, 0x7FC0, 0x9CE0, 0x8055, 0x9957, 0x804D, 0x9957, 0x7FCB, 0xFFFF, 0x639D, 0x7FC5, 0x6726, 0x7FCE, 0x6726, 0x8051, 0x639D, 0x805A, 0x639D, 0x7FC5, 0xFFFF, 0x9927, 0x81D1, 0x9CAA, 0x8210, 0x9C87, 0x82A2, 0x9907, 0x8252, 0x9927, 0x81D1, 0x9927, 0x81D1, 0xFFFF, 0x6757, 0x81D5, 0x6777, 0x8256, 0x63F9, 0x82A7, 0x63D4, 0x8214, 0xFFFF, 0x9877, 0x83CF, 0x9BE2, 0x8455, 0x9B99, 0x84E3, 0x9838, 0x844C, 0x9877, 0x83CF, 0xFFFF, 0x6808, 0x83D3, 0x6848, 0x8450, 0x64E7, 0x84E8, 0x649E, 0x845A, 0xFFFF, 0x9749, 0x85B9, 0x9A88, 0x8684, 0x9A1D, 0x870C, 0x96EB, 0x862E, 0x9749, 0x85B9, 0x9749, 0x85B9, 0xFFFF, 0x6938, 0x85BD, 0x6997, 0x8634, 0x6665, 0x8710, 0x65F9, 0x8689, 0xFFFF, 0x95A2, 0x8785, 0x98A5, 0x8892, 0x9818, 0x890F, 0x9527, 0x87F2, 0x95A2, 0x8785, 0x95A2, 0x8785, 0xFFFF, 0x6ADF, 0x878A, 0x6B5B, 0x87F8, 0x686A, 0x8915, 0x67DC, 0x8897, 0xFFFF, 0x6CF7, 0x8930, 0x6D8D, 0x8991, 0x6AEB, 0x8AE9, 0x6A40, 0x8A79, 0xFFFF, 0x9380, 0x8932, 0x9645, 0x8A72, 0x9599, 0x8AE3, 0x92F5, 0x898D, 0x9380, 0x8932, 0xFFFF, 0x9110, 0x8AA1, 0x936F, 0x8C1F, 0x92AA, 0x8C80, 0x9064, 0x8AF7, 0x9110, 0x8AA1, 0x9110, 0x8AA1, 0xFFFF, 0x6F73, 0x8AA5, 0x7021, 0x8AFB, 0x6DED, 0x8C8C, 0x6D17, 0x8C23, 0xFFFF, 0x8E3E, 0x8BE1, 0x9037, 0x8D8B, 0x8F59, 0x8DDC, 0x8D7C, 0x8C27, 0x8E3E, 0x8BE1, 0x8E3E, 0x8BE1, 0xFFFF, 0x7259, 0x8BEB, 0x731B, 0x8C31, 0x7140, 0x8DE7, 0x7064, 0x8D97, 0xFFFF, 0x8B21, 0x8CE3, 0x8CA9, 0x8EB2, 0x8BBA, 0x8EEF, 0x8A51, 0x8D18, 0x8B21, 0x8CE3, 0x8B21, 0x8CE3, 0xFFFF, 0x7576, 0x8CEB, 0x7648, 0x8D20, 0x74E0, 0x8EF8, 0x73F2, 0x8EBB, 0xFFFF, 0x87CD, 0x8DA1, 0x88DC, 0x8F8B, 0x87E0, 0x8FB5, 0x86F0, 0x8DC6, 0x87CD, 0x8DA1, 0x87CD, 0x8DA1, 0xFFFF, 0x78CC, 0x8DA8, 0x79A8, 0x8DCB, 0x78BC, 0x8FBB, 0x77C0, 0x8F92, 0xFFFF, 0x8450, 0x8E19, 0x84E2, 0x9014, 0x83E0, 0x9029, 0x836C, 0x8E2C, 0x8450, 0x8E19, 0x8450, 0x8E19, 0xFFFF, 0x7C48, 0x8E1C, 0x7D2B, 0x8E2E, 0x7CBD, 0x902C, 0x7BBB, 0x9017, 0xFFFF, 0x80BE, 0x8E49, 0x80D1, 0x904A, 0x7FCC, 0x904A, 0x7FD9, 0x8E49, 0x80BE, 0x8E49, 0xFFFF, 0x8276, 0x75D6, 0x83AF, 0x75FE, 0x8436, 0x7628, 0x84AE, 0x7661, 0x8542, 0x7706, 0x8512, 0x77BA, 0x8457, 0x7845, 0x8335, 0x788B, 0x8318, 0x7882, 0x82D8, 0x7860, 0x831E, 0x7830, 0x8353, 0x7823, 0x83E6, 0x77F9, 0x8464, 0x7790, 0x847A, 0x771A, 0x8415, 0x76B7, 0x83B6, 0x7691, 0x8351, 0x7676, 0x827F, 0x7662, 0x81BB, 0x7687, 0x8161, 0x76AF, 0x8123, 0x76DA, 0x80E5, 0x771A, 0x80C5, 0x774D, 0x80B8, 0x77C1, 0x80D1, 0x77EE, 0x8107, 0x7814, 0x81CC, 0x786B, 0x837F, 0x7918, 0x8464, 0x7983, 0x84C0, 0x79B2, 0x852D, 0x79FD, 0x859D, 0x7ABC, 0x858E, 0x7B79, 0x8545, 0x7C25, 0x84D9, 0x7CC5, 0x8469, 0x7D4D, 0x843B, 0x7DCD, 0x8555, 0x7DA8, 0x85D3, 0x7D67, 0x870D, 0x7CA0, 0x87E0, 0x7BC0, 0x880D, 0x7B5B, 0x886D, 0x7A46, 0x88B3, 0x799B, 0x88CC, 0x7970, 0x893A, 0x78EA, 0x8995, 0x78A8, 0x8A01, 0x786F, 0x8AF8, 0x781F, 0x8BA6, 0x77FD, 0x8C0C, 0x77EF, 0x8C96, 0x77FB, 0x8D1D, 0x7815, 0x8D59, 0x7826, 0x8E40, 0x7889, 0x8EDB, 0x7925, 0x8EFC, 0x797B, 0x8EFF, 0x79D4, 0x8E71, 0x7A7B, 0x8D58, 0x7AD2, 0x8C23, 0x7ADE, 0x8AFF, 0x7A97, 0x8AF5, 0x7A81, 0x8AEF, 0x7A4E, 0x8B68, 0x7A52, 0x8B96, 0x7A5F, 0x8C39, 0x7A87, 0x8D33, 0x7A7F, 0x8E07, 0x7A3F, 0x8E66, 0x79CB, 0x8E63, 0x7985, 0x8E43, 0x793F, 0x8DC6, 0x78C6, 0x8CFA, 0x7876, 0x8C7E, 0x785F, 0x8C18, 0x7857, 0x8B84, 0x7874, 0x8B22, 0x788F, 0x8A7D, 0x78CA, 0x8A2E, 0x78F9, 0x89F0, 0x7930, 0x89A3, 0x79A5, 0x8979, 0x7AC0, 0x897C, 0x7B9C, 0x8972, 0x7BF2, 0x88CC, 0x7D32, 0x87B7, 0x7E4C, 0x8665, 0x7F52, 0x8660, 0x7F5A, 0x878F, 0x7F01, 0x88AE, 0x7EC2, 0x89FD, 0x7E9E, 0x8B8D, 0x7EC6, 0x8C40, 0x7F0E, 0x8CB6, 0x7F68, 0x8D1D, 0x7FD7, 0x8DFA, 0x80BD, 0x8EA8, 0x816E, 0x8F34, 0x81D4, 0x8F8A, 0x81F9, 0x8FDA, 0x820A, 0x90AB, 0x820F, 0x9120, 0x81FF, 0x91A5, 0x81DC, 0x91F4, 0x81B8, 0x922C, 0x8198, 0x9288, 0x812B, 0x927D, 0x80AB, 0x9252, 0x8068, 0x921C, 0x8033, 0x9174, 0x7FEB, 0x9099, 0x7FEB, 0x8FCF, 0x8029, 0x8F5D, 0x808D, 0x8F47, 0x80A4, 0x8ED4, 0x80A4, 0x8EC5, 0x8070, 0x8F65, 0x7FE6, 0x906D, 0x7F92, 0x91A4, 0x7F90, 0x92A8, 0x7FF7, 0x92FC, 0x8043, 0x9331, 0x8090, 0x9349, 0x813D, 0x92D1, 0x81E3, 0x9264, 0x8227, 0x91E5, 0x825B, 0x915D, 0x8280, 0x90D3, 0x8296, 0x8FA0, 0x829A, 0x8F2C, 0x8286, 0x8EE7, 0x8273, 0x8E78, 0x824A, 0x8DA9, 0x81D4, 0x8CB9, 0x8127, 0x8B68, 0x802C, 0x8B22, 0x8001, 0x8AC3, 0x7FE7, 0x8A50, 0x7FF4, 0x88FD, 0x8068, 0x87A4, 0x811D, 0x879E, 0x812D, 0x8904, 0x81F1, 0x89D4, 0x8285, 0x8A7C, 0x8343, 0x8A94, 0x8431, 0x8A4E, 0x84A1, 0x89E8, 0x850E, 0x892F, 0x85E5, 0x88B0, 0x86E5, 0x88C0, 0x8757, 0x88F2, 0x878D, 0x8927, 0x87AD, 0x8ABF, 0x8821, 0x8B0E, 0x881E, 0x8B70, 0x8811, 0x8C1B, 0x87D6, 0x8C9B, 0x8776, 0x8CC4, 0x873D, 0x8CD3, 0x8705, 0x8CA2, 0x86A3, 0x8C06, 0x8662, 0x8B39, 0x864F, 0x8A77, 0x8662, 0x89F9, 0x864D, 0x8A10, 0x8606, 0x8A66, 0x85F7, 0x8B35, 0x85DC, 0x8C50, 0x85FD, 0x8D3C, 0x8663, 0x8D94, 0x870A, 0x8D7D, 0x875F, 0x8D3A, 0x87B8, 0x8CB1, 0x882D, 0x8BC1, 0x888C, 0x8B30, 0x88A7, 0x8A8D, 0x88AE, 0x89EE, 0x8898, 0x896E, 0x887E, 0x8869, 0x882D, 0x87EE, 0x87EA, 0x87A4, 0x87A8, 0x878E, 0x8785, 0x874D, 0x86E3, 0x875D, 0x8637, 0x87FD, 0x8466, 0x8705, 0x835A, 0x86B8, 0x8359, 0x84A4, 0x8358, 0x7F20, 0x851B, 0x7F13, 0x864D, 0x8016, 0x86F9, 0x818E, 0x87D8, 0x823B, 0x8869, 0x8272, 0x88C9, 0x8276, 0x8915, 0x8266, 0x893D, 0x81FB, 0x89D8, 0x8197, 0x8A21, 0x8119, 0x8A62, 0x80A7, 0x8A8A, 0x8016, 0x8AAA, 0x7EDC, 0x8AAE, 0x7DC5, 0x8A63, 0x7D55, 0x8A29, 0x7CFA, 0x89E5, 0x7CAD, 0x8939, 0x7D1B, 0x8895, 0x7E00, 0x8825, 0x7F27, 0x8800, 0x7F66, 0x880F, 0x7F69, 0x8850, 0x7E49, 0x8873, 0x7D9A, 0x88C9, 0x7D4F, 0x893E, 0x7D8B, 0x89B2, 0x7DD8, 0x89E6, 0x7E36, 0x8A10, 0x7F02, 0x8A40, 0x7FDB, 0x8A34, 0x8046, 0x8A16, 0x8091, 0x89F5, 0x80A5, 0x89EB, 0x80FE, 0x89AB, 0x8126, 0x8981, 0x8159, 0x8918, 0x814F, 0x88E6, 0x8128, 0x88B8, 0x8094, 0x8856, 0x7EFC, 0x8796, 0x7D74, 0x86E7, 0x7D3D, 0x86C5, 0x7CD8, 0x8674, 0x7C98, 0x8605, 0x7CA0, 0x8536, 0x7D7C, 0x83E6, 0x7E07, 0x8357, 0x7DED, 0x835B, 0x79CC, 0x843E, 0x7962, 0x8448, 0x77CB, 0x8450, 0x76F3, 0x8438, 0x763E, 0x841E, 0x7502, 0x83FE, 0x746C, 0x83FD, 0x73E4, 0x840A, 0x72CE, 0x8444, 0x729B, 0x8457, 0x71E6, 0x84B7, 0x71B5, 0x84EB, 0x719B, 0x853B, 0x719B, 0x8558, 0x71D4, 0x85E0, 0x72B0, 0x8642, 0x73D4, 0x8661, 0x74B3, 0x8616, 0x74AD, 0x84D7, 0x74B2, 0x84B3, 0x74B5, 0x849B, 0x751E, 0x8496, 0x753B, 0x84B8, 0x75C5, 0x856E, 0x756D, 0x865A, 0x74D0, 0x86B8, 0x73FA, 0x86EA, 0x7250, 0x86CF, 0x70E7, 0x863F, 0x707E, 0x85C8, 0x705F, 0x8549, 0x7075, 0x84CC, 0x70AC, 0x8475, 0x70CD, 0x8452, 0x71FF, 0x839C, 0x7287, 0x8376, 0x736A, 0x833A, 0x7443, 0x8319, 0x751E, 0x8311, 0x76AC, 0x8327, 0x77C4, 0x8341, 0x7810, 0x8340, 0x799F, 0x8313, 0x7A2A, 0x82EA, 0x7B24, 0x8281, 0x7BE4, 0x820C, 0x7BEC, 0x81B1, 0x7A5E, 0x81C8, 0x7809, 0x81ED, 0x7751, 0x81F8, 0x7664, 0x81EF, 0x7571, 0x81B4, 0x74BB, 0x8141, 0x7483, 0x80F9, 0x7408, 0x802F, 0x73D9, 0x7FEB, 0x7359, 0x7F50, 0x72A0, 0x7EC4, 0x719E, 0x7E89, 0x7074, 0x7EA8, 0x7015, 0x7ECC, 0x6FD0, 0x7EF8, 0x6FA3, 0x7F19, 0x6F6B, 0x7FBB, 0x6F93, 0x8017, 0x6FA7, 0x8032, 0x6FD7, 0x805A, 0x70DF, 0x8092, 0x7205, 0x805A, 0x729E, 0x7FCB, 0x72B3, 0x7FBC, 0x7309, 0x7FA6, 0x733B, 0x7FDE, 0x72F9, 0x804B, 0x726D, 0x80A7, 0x70E6, 0x80FB, 0x700D, 0x80EC, 0x6F48, 0x80A8, 0x6EFC, 0x8073, 0x6EC1, 0x8026, 0x6E93, 0x7FCC, 0x6ED4, 0x7ED8, 0x6F54, 0x7E72, 0x6FCB, 0x7E3A, 0x700B, 0x7E25, 0x71AB, 0x7DED, 0x7356, 0x7E3E, 0x7472, 0x7EF4, 0x7536, 0x7FBD, 0x75DA, 0x8075, 0x7628, 0x80B6, 0x767B, 0x80D8, 0x76D9, 0x80EF, 0x7755, 0x80FC, 0x7881, 0x80D5, 0x7931, 0x8093, 0x7A00, 0x801E, 0x799B, 0x7D9B, 0x789A, 0x7CD8, 0x77C0, 0x7BE5, 0x7783, 0x7B55, 0x7787, 0x7AB9, 0x77AE, 0x7A67, 0x77E6, 0x7A1D, 0x781E, 0x79CD, 0x785E, 0x7909, 0x7853, 0x78C0, 0x7823, 0x788B, 0x7808, 0x7875, 0x7649, 0x77E8, 0x74B6, 0x7869, 0x7488, 0x78B3, 0x7472, 0x7901, 0x74D2, 0x796F, 0x75D8, 0x799A, 0x76EE, 0x7971, 0x774A, 0x797A, 0x7751, 0x79B4, 0x76A0, 0x79F0, 0x75E4, 0x7A0A, 0x7454, 0x79E1, 0x73AF, 0x7986, 0x7369, 0x7909, 0x7374, 0x7891, 0x739D, 0x783C, 0x73B6, 0x781E, 0x74B7, 0x7768, 0x765D, 0x772C, 0x77ED, 0x7769, 0x7932, 0x77FC, 0x7979, 0x7836, 0x79B8, 0x787B, 0x79DF, 0x7912, 0x7998, 0x7A14, 0x7967, 0x7AB4, 0x796A, 0x7AD8, 0x79C5, 0x7B60, 0x7A9D, 0x7BE9, 0x7B72, 0x7C47, 0x7EBA, 0x7BD6, 0x8206, 0x7CA8, 0x82FA, 0x7C2E, 0x8391, 0x7BB4, 0x83F6, 0x7B40, 0x8413, 0x7AD0, 0x83DD, 0x7A71, 0x838A, 0x7A39, 0x8296, 0x79B7, 0x80F3, 0x78FA, 0x8016, 0x788A, 0x7FB4, 0x7833, 0x7F8D, 0x77DF, 0x7F92, 0x77A9, 0x7FB3, 0x7718, 0x7FF6, 0x76C2, 0x8036, 0x768A, 0x8097, 0x764A, 0x80DF, 0x762A, 0x813C, 0x7605, 0x8275, 0x75D5}; + +#define LOGO_BACKGROUND 0xDEEA5C + +#define LOGO_PAINT_PATHS \ + LOGO_PAINT_PATH(0xC1D82F, logo_green) \ + LOGO_PAINT_PATH(0x000000, logo_black) \ + LOGO_PAINT_PATH(0x000000, logo_type) \ + LOGO_PAINT_PATH(0x000000, logo_mark) \ + LOGO_PAINT_PATH(0xFFFFFF, logo_white) From 9fd06fa7678efd6838fbe7c47e2b65a892be4b2c Mon Sep 17 00:00:00 2001 From: Marcio T Date: Sat, 19 Sep 2020 08:23:56 -0600 Subject: [PATCH 098/277] Fix case light brightness save/load (#19436) --- Marlin/src/module/settings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 2c679068b936..3cb88da4eee1 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -138,7 +138,7 @@ void M710_report(const bool forReplay); #endif -#if ENABLED(CASE_LIGHT_MENU) && DISABLED(CASE_LIGHT_NO_BRIGHTNESS) +#if ENABLED(CASE_LIGHT_ENABLE) && DISABLED(CASE_LIGHT_NO_BRIGHTNESS) #include "../feature/caselight.h" #define HAS_CASE_LIGHT_BRIGHTNESS 1 #endif From af8f9f790a34f3a14b3478cd5ae98d219a8cf9e4 Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Sat, 19 Sep 2020 17:17:24 +0200 Subject: [PATCH 099/277] Optional Host Start menu item (#19443) --- Marlin/Configuration_adv.h | 1 + Marlin/src/lcd/menu/menu_main.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 35b1dcc563ef..a010856d1871 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3232,6 +3232,7 @@ //#define HOST_ACTION_COMMANDS #if ENABLED(HOST_ACTION_COMMANDS) //#define HOST_PROMPT_SUPPORT + //#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start #endif /** diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index 334d998d5c6f..5b983825599e 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -54,7 +54,7 @@ #include "../../feature/password/password.h" #endif -#ifdef ACTION_ON_START +#if ENABLED(HOST_START_MENU_ITEM) && defined(ACTION_ON_START) #include "../../feature/host_actions.h" #endif @@ -162,7 +162,7 @@ void menu_main() { if (TERN0(MACHINE_CAN_PAUSE, printingIsPaused())) ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print); - #ifdef ACTION_ON_START + #if ENABLED(HOST_START_MENU_ITEM) && defined(ACTION_ON_START) ACTION_ITEM(MSG_HOST_START_PRINT, host_action_start); #endif From 98bcb25fd4494875e6c76a5bacef8b7c2fd452f0 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sun, 20 Sep 2020 03:18:42 +1200 Subject: [PATCH 100/277] Ultratronics Pro SPI pins (#19444) --- Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h index 671307bc00cf..75b29629e90d 100644 --- a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h +++ b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h @@ -23,6 +23,7 @@ /** * ReprapWorld ULTRATRONICS v1.0 + * https://reprapworld.com/documentation/datasheet_ultratronics10_05.pdf */ #ifndef ARDUINO_ARCH_SAM @@ -146,6 +147,10 @@ #define SPI_EEPROM2_CS -1 #define SPI_FLASH_CS -1 +#define SCK_PIN 76 +#define MISO_PIN 74 +#define MOSI_PIN 75 + // SPI for Max6675 or Max31855 Thermocouple #define MAX6675_SS_PIN 65 #define MAX31855_SS0 65 From b5e4511de8c4b147d791e90bb102299e77ee4fb0 Mon Sep 17 00:00:00 2001 From: enigmaquip Date: Sat, 19 Sep 2020 09:19:45 -0600 Subject: [PATCH 101/277] Fix Creality DWIN Control menu icons (#19441) --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index ca3a5cccffc6..131c96bef1e1 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -744,7 +744,7 @@ inline void Draw_Control_Menu() { // Draw icons and lines uint8_t i = 0; - #define _TEMP_ICON(N) do{ ++i; if (CVISI(i)) Draw_Menu_Line(CSCROL(i), ICON_SetEndTemp + (N) - 1); }while(0) + #define _TEMP_ICON(N) do{ ++i; if (CVISI(i)) Draw_Menu_Line(CSCROL(i), ICON_Temperature + (N) - 1); }while(0) _TEMP_ICON(CONTROL_CASE_TEMP); if (CVISI(i)) Draw_More_Icon(CSCROL(i)); From 0c7035d8a3725d799cb286516a1bba40c578d202 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 20 Sep 2020 00:13:46 +0000 Subject: [PATCH 102/277] [cron] Bump distribution date (2020-09-20) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 0faa1f8b28e4..b33163f5f3c5 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-19" + #define STRING_DISTRIBUTION_DATE "2020-09-20" #endif /** From 8e0fac897b2ab0352059d5f9bd2d6293ae7d9bbf Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 20 Sep 2020 18:24:05 -0500 Subject: [PATCH 103/277] Whitespace cleanup --- Marlin/src/HAL/ESP32/WebSocketSerial.cpp | 5 +-- Marlin/src/HAL/STM32/tft/xpt2046.cpp | 4 +- Marlin/src/feature/binary_stream.h | 4 +- Marlin/src/feature/spindle_laser.h | 2 +- Marlin/src/gcode/control/M993_M994.cpp | 2 +- Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp | 4 +- .../anycubic_i3mega/anycubic_i3mega_lcd.cpp | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h | 2 +- Marlin/src/lcd/tft/ili9341.h | 4 +- Marlin/src/lcd/tft/st7735.h | 4 +- Marlin/src/lcd/tft/st7789v.h | 2 +- Marlin/src/lcd/tft/st7796s.h | 42 +++++++++---------- Marlin/src/lcd/tft/ui_320x240.cpp | 2 +- Marlin/src/lcd/tft/ui_480x320.cpp | 2 +- 14 files changed, 41 insertions(+), 42 deletions(-) diff --git a/Marlin/src/HAL/ESP32/WebSocketSerial.cpp b/Marlin/src/HAL/ESP32/WebSocketSerial.cpp index 533f873e4ffd..ca7f47a1f8bd 100644 --- a/Marlin/src/HAL/ESP32/WebSocketSerial.cpp +++ b/Marlin/src/HAL/ESP32/WebSocketSerial.cpp @@ -86,7 +86,7 @@ int RingBuffer::read() { ring_buffer_pos_t RingBuffer::read(uint8_t *buffer) { ring_buffer_pos_t len = available(); - for(ring_buffer_pos_t i = 0; read_index != write_index; i++) { + for (ring_buffer_pos_t i = 0; read_index != write_index; i++) { buffer[i] = data[read_index]; read_index = NEXT_INDEX(read_index, size); } @@ -139,9 +139,8 @@ size_t WebSocketSerial::write(const uint8_t c) { size_t WebSocketSerial::write(const uint8_t* buffer, size_t size) { size_t written = 0; - for(size_t i = 0; i < size; i++) { + for (size_t i = 0; i < size; i++) written += write(buffer[i]); - } return written; } diff --git a/Marlin/src/HAL/STM32/tft/xpt2046.cpp b/Marlin/src/HAL/STM32/tft/xpt2046.cpp index 49e64da6a113..921e377a9f4e 100644 --- a/Marlin/src/HAL/STM32/tft/xpt2046.cpp +++ b/Marlin/src/HAL/STM32/tft/xpt2046.cpp @@ -155,9 +155,9 @@ uint16_t XPT2046::getRawData(const XPTCoordinate coordinate) { uint16_t XPT2046::HardwareIO(uint16_t data) { __HAL_SPI_ENABLE(&SPIx); - while((SPIx.Instance->SR & SPI_FLAG_TXE) != SPI_FLAG_TXE) {} + while ((SPIx.Instance->SR & SPI_FLAG_TXE) != SPI_FLAG_TXE) {} SPIx.Instance->DR = data; - while((SPIx.Instance->SR & SPI_FLAG_RXNE) != SPI_FLAG_RXNE) {} + while ((SPIx.Instance->SR & SPI_FLAG_RXNE) != SPI_FLAG_RXNE) {} __HAL_SPI_DISABLE(&SPIx); return SPIx.Instance->DR; diff --git a/Marlin/src/feature/binary_stream.h b/Marlin/src/feature/binary_stream.h index 10dea10d47bb..32ebcce2f62f 100644 --- a/Marlin/src/feature/binary_stream.h +++ b/Marlin/src/feature/binary_stream.h @@ -441,9 +441,9 @@ class BinaryStream { } void dispatch() { - switch(static_cast(packet.header.protocol())) { + switch (static_cast(packet.header.protocol())) { case Protocol::CONTROL: - switch(static_cast(packet.header.type())) { + switch (static_cast(packet.header.type())) { case ProtocolControl::CLOSE: // revert back to ASCII mode card.flag.binary_mode = false; break; diff --git a/Marlin/src/feature/spindle_laser.h b/Marlin/src/feature/spindle_laser.h index 8240efa2ddee..15ff661c73e6 100644 --- a/Marlin/src/feature/spindle_laser.h +++ b/Marlin/src/feature/spindle_laser.h @@ -224,7 +224,7 @@ class SpindleLaser { */ // Force disengage planner power control - static inline void inline_disable() { + static inline void inline_disable() { isReady = false; unitPower = 0; planner.laser_inline.status.isPlanned = false; diff --git a/Marlin/src/gcode/control/M993_M994.cpp b/Marlin/src/gcode/control/M993_M994.cpp index ddc95238bf89..ff9ff85bf5bd 100644 --- a/Marlin/src/gcode/control/M993_M994.cpp +++ b/Marlin/src/gcode/control/M993_M994.cpp @@ -74,7 +74,7 @@ void GcodeSuite::M994() { W25QXX.init(SPI_QUARTER_SPEED); W25QXX.SPI_FLASH_BulkErase(); SERIAL_ECHOPGM("Load SPI Flash"); - while(addr < SPI_FLASH_SIZE) { + while (addr < SPI_FLASH_SIZE) { card.read(buf, COUNT(buf)); W25QXX.SPI_FLASH_BufferWrite(buf, addr, COUNT(buf)); addr += COUNT(buf); diff --git a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp index b1d905d9adcd..d39c6cfbd5e8 100644 --- a/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp +++ b/Marlin/src/lcd/dwin/e3v2/rotary_encoder.cpp @@ -194,7 +194,7 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { unsigned char temp_Counter; for (temp_Counter = 0; temp_Counter < LED_NUM; temp_Counter++) { LED_DataArray[temp_Counter] = 0; - switch(RGB_Scale) { + switch (RGB_Scale) { case RGB_SCALE_R10_G7_B5: LED_DataArray[temp_Counter] = (luminance*10/10) << 8 | (luminance*7/10) << 16 | luminance*5/10; break; case RGB_SCALE_R10_G7_B4: LED_DataArray[temp_Counter] = (luminance*10/10) << 8 | (luminance*7/10) << 16 | luminance*4/10; break; case RGB_SCALE_R10_G8_B7: LED_DataArray[temp_Counter] = (luminance*10/10) << 8 | (luminance*8/10) << 16 | luminance*7/10; break; @@ -213,7 +213,7 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) { bool LED_R_Flag = 0, LED_G_Flag = 0, LED_B_Flag = 0; for (temp_Counter = 0; temp_Counter < LED_NUM; temp_Counter++) { - switch(RGB_Scale) { + switch (RGB_Scale) { case RGB_SCALE_R10_G7_B5: { LED_R_Data[temp_Counter] = luminance*10/10; LED_G_Data[temp_Counter] = luminance*7/10; diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index 9b54dbdd2ba2..a7173b1ad2a7 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -27,8 +27,8 @@ #include "../../../../inc/MarlinConfig.h" #include "../../ui_api.h" -#include "../../../../MarlinCore.h" // for quickstop_stepper and disable_steppers -#include "../../../../module/motion.h" // for A20 read printing speed feedrate_percentage +#include "../../../../MarlinCore.h" // for quickstop_stepper and disable_steppers +#include "../../../../module/motion.h" // for A20 read printing speed feedrate_percentage // command sending macro's with debugging capability #define SEND_PGM(x) send_P(PSTR(x)) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h index 595565e1c704..21c3b6185ae1 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h @@ -161,7 +161,7 @@ typedef struct { uint8_t waitEndMoves; uint16_t moveSpeed; float move_dist; - uint8_t F[4]; + uint8_t F[4]; } UI_CFG; typedef enum { diff --git a/Marlin/src/lcd/tft/ili9341.h b/Marlin/src/lcd/tft/ili9341.h index 22709e4cf7d3..d4a493412fb2 100644 --- a/Marlin/src/lcd/tft/ili9341.h +++ b/Marlin/src/lcd/tft/ili9341.h @@ -33,10 +33,10 @@ #define ILI9341_MADCTL_RGB 0x00 #define ILI9341_MADCTL_MH 0x04 // Horizontal Refresh Order -#define ILI9341_ORIENTATION_UP ILI9341_MADCTL_MY // 240x320 ; Cable on the upper side +#define ILI9341_ORIENTATION_UP ILI9341_MADCTL_MY // 240x320 ; Cable on the upper side #define ILI9341_ORIENTATION_RIGHT ILI9341_MADCTL_MV // 320x240 ; Cable on the right side #define ILI9341_ORIENTATION_LEFT ILI9341_MADCTL_MY | ILI9341_MADCTL_MX | ILI9341_MADCTL_MV // 320x240 ; Cable on the left side -#define ILI9341_ORIENTATION_DOWN ILI9341_MADCTL_MX // 240x320 ; Cable on the upper side +#define ILI9341_ORIENTATION_DOWN ILI9341_MADCTL_MX // 240x320 ; Cable on the upper side #ifndef ILI9341_COLOR_RGB #define ILI9341_COLOR_BGR diff --git a/Marlin/src/lcd/tft/st7735.h b/Marlin/src/lcd/tft/st7735.h index 30e77fbd91ab..62f93d5044c0 100644 --- a/Marlin/src/lcd/tft/st7735.h +++ b/Marlin/src/lcd/tft/st7735.h @@ -33,7 +33,7 @@ #define ST7735_MADCTL_RGB 0x00 #define ST7735_MADCTL_MH 0x04 // Horizontal Refresh Order -#define ST7735_ORIENTATION_UP 0x00 // 128x160 ; Cable on the upper side +#define ST7735_ORIENTATION_UP 0x00 // 128x160 ; Cable on the upper side #define ST7735_ORIENTATION_RIGHT ST7735_MADCTL_MV | ST7735_MADCTL_MY // 160x128 ; Cable on the right side #define ST7735_ORIENTATION_LEFT ST7735_MADCTL_MV | ST7735_MADCTL_MX // 160x128 ; Cable on the left side #define ST7735_ORIENTATION_DOWN ST7735_MADCTL_MX | ST7735_MADCTL_MY // 128x160 ; Cable on the lower side @@ -71,7 +71,7 @@ #define ST7735_IDMOFF 0x38 // Idle Mode Off #define ST7735_IDMON 0x39 // Idle Mode On #define ST7735_COLMOD 0x3A // Interface Pixel Format -#define ST7735_RDID1 0xDA // Read ID1 Value +#define ST7735_RDID1 0xDA // Read ID1 Value #define ST7735_RDID2 0xDB // Read ID2 Value #define ST7735_RDID3 0xDC // Read ID3 Value diff --git a/Marlin/src/lcd/tft/st7789v.h b/Marlin/src/lcd/tft/st7789v.h index f6e937c2c2b3..67da67966d2c 100644 --- a/Marlin/src/lcd/tft/st7789v.h +++ b/Marlin/src/lcd/tft/st7789v.h @@ -89,7 +89,7 @@ #define ST7789V_WRCABCMB 0x5E // Write CABC Minimum Brightness #define ST7789V_RDCABCMB 0x5F // Read CABC Minimum Brightness #define ST7789V_RDABCSDR 0x68 // Read Automatic Brightness Control Self-Diagnostic Result -#define ST7789V_RDID1 0xDA // Read ID1 Value +#define ST7789V_RDID1 0xDA // Read ID1 Value #define ST7789V_RDID2 0xDB // Read ID2 Value #define ST7789V_RDID3 0xDC // Read ID3 Value diff --git a/Marlin/src/lcd/tft/st7796s.h b/Marlin/src/lcd/tft/st7796s.h index 7ddbcfae840d..806977732cfb 100644 --- a/Marlin/src/lcd/tft/st7796s.h +++ b/Marlin/src/lcd/tft/st7796s.h @@ -133,8 +133,8 @@ static const uint16_t st7796s_init[] = { ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, /* Gamma Correction. */ - ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, - ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, + ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, + ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, ESC_REG(ST7796S_NORON), ESC_REG(ST7796S_WRCTRLD), 0x0024, @@ -146,30 +146,30 @@ static const uint16_t st7796s_init[] = { static const uint16_t lerdge_st7796s_init[] = { DATASIZE_8BIT, - ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I - ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II + ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II - ESC_REG(ST7796S_MADCTL), ST7796S_MADCTL_DATA, + ESC_REG(ST7796S_MADCTL), ST7796S_MADCTL_DATA, ESC_REG(ST7796S_COLMOD), 0x0055, - ESC_REG(ST7796S_DIC), 0x0001, // 1-dot inversion - ESC_REG(ST7796S_EM), 0x00C6, + ESC_REG(ST7796S_DIC), 0x0001, // 1-dot inversion + ESC_REG(ST7796S_EM), 0x00C6, - ESC_REG(ST7796S_PWR2), 0x0015, - ESC_REG(ST7796S_PWR3), 0x00AF, - ESC_REG(0xC3), 0x0009, // Register not documented in datasheet - ESC_REG(ST7796S_VCMPCTL), 0x0022, - ESC_REG(ST7796S_VCMOST), 0x0000, - ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, + ESC_REG(ST7796S_PWR2), 0x0015, + ESC_REG(ST7796S_PWR3), 0x00AF, + ESC_REG(0xC3), 0x0009, // Register not documented in datasheet + ESC_REG(ST7796S_VCMPCTL), 0x0022, + ESC_REG(ST7796S_VCMOST), 0x0000, + ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, /* Gamma Correction. */ - ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, - ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, - - ESC_REG(ST7796S_INVON), // Display inversion ON - ESC_REG(ST7796S_WRCTRLD), 0x0024, - ESC_REG(ST7796S_CSCON), 0x003C, // disable command 2 part I - ESC_REG(ST7796S_CSCON), 0x0069, // disable command 2 part II - ESC_REG(ST7796S_DISPON), + ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, + ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, + + ESC_REG(ST7796S_INVON), // Display inversion ON + ESC_REG(ST7796S_WRCTRLD), 0x0024, + ESC_REG(ST7796S_CSCON), 0x003C, // disable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0069, // disable command 2 part II + ESC_REG(ST7796S_DISPON), ESC_END }; diff --git a/Marlin/src/lcd/tft/ui_320x240.cpp b/Marlin/src/lcd/tft/ui_320x240.cpp index 2f4c90e17083..de8498c5ff0f 100644 --- a/Marlin/src/lcd/tft/ui_320x240.cpp +++ b/Marlin/src/lcd/tft/ui_320x240.cpp @@ -603,7 +603,7 @@ void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const touch.clear(); if (calibration_stage < CALIBRATION_SUCCESS) { - switch(calibration_stage) { + switch (calibration_stage) { case CALIBRATION_POINT_1: tft_string.set("Top Left"); break; case CALIBRATION_POINT_2: y = TFT_HEIGHT - 21; tft_string.set("Bottom Left"); break; case CALIBRATION_POINT_3: x = TFT_WIDTH - 21; tft_string.set("Top Right"); break; diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index d6409c1dca7e..b5b332910bd6 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -608,7 +608,7 @@ void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const touch.clear(); if (calibration_stage < CALIBRATION_SUCCESS) { - switch(calibration_stage) { + switch (calibration_stage) { case CALIBRATION_POINT_1: tft_string.set("Top Left"); break; case CALIBRATION_POINT_2: y = TFT_HEIGHT - 21; tft_string.set("Bottom Left"); break; case CALIBRATION_POINT_3: x = TFT_WIDTH - 21; tft_string.set("Top Right"); break; From 76d8d1742c1d4a1efe0fd6c0645d3fc656bfd0b2 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 20 Sep 2020 18:29:08 -0500 Subject: [PATCH 104/277] Add multi-extruder condition --- Marlin/Configuration_adv.h | 4 ++-- Marlin/src/HAL/DUE/HAL_SPI.cpp | 2 +- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 10 +++++----- Marlin/src/feature/dac/dac_dac084s085.cpp | 6 +++--- Marlin/src/feature/fwretract.cpp | 16 +++++++--------- Marlin/src/feature/fwretract.h | 4 ++-- Marlin/src/feature/powerloss.cpp | 10 +++++----- Marlin/src/feature/powerloss.h | 2 +- Marlin/src/gcode/config/M217.cpp | 4 ++-- Marlin/src/gcode/control/T.cpp | 2 +- Marlin/src/gcode/feature/fwretract/G10_G11.cpp | 4 ++-- Marlin/src/gcode/feature/pause/M600.cpp | 6 +++--- Marlin/src/gcode/feature/pause/M603.cpp | 2 +- Marlin/src/gcode/feature/pause/M701_M702.cpp | 12 ++++++------ Marlin/src/gcode/gcode.cpp | 2 +- Marlin/src/gcode/gcode.h | 4 +--- Marlin/src/inc/Conditionals_LCD.h | 2 ++ Marlin/src/inc/Conditionals_post.h | 2 +- Marlin/src/inc/SanityCheck.h | 4 ++-- .../screens/endstop_state_screen.cpp | 2 +- .../screens/linear_advance_screen.cpp | 4 ++-- .../screens/max_velocity_screen.cpp | 2 +- .../screens/move_axis_screen.cpp | 4 ++-- .../screens/nudge_nozzle_screen.cpp | 12 ++++++------ .../lib/ftdi_eve_touch_ui/screens/screen_data.h | 2 +- .../screens/stepper_current_screen.cpp | 4 ++-- .../ftdi_eve_touch_ui/screens/steps_screen.cpp | 4 ++-- .../screens/stress_test_screen.cpp | 4 +--- .../lcd/extui/lib/mks_ui/draw_change_speed.cpp | 2 +- Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp | 2 +- .../src/lcd/extui/lib/mks_ui/draw_extrusion.cpp | 2 +- .../src/lcd/extui/lib/mks_ui/draw_preHeat.cpp | 4 ++-- .../src/lcd/extui/lib/mks_ui/draw_printing.cpp | 12 +++++++----- Marlin/src/lcd/extui/ui_api.cpp | 17 ++++++----------- Marlin/src/lcd/menu/menu_advanced.cpp | 12 ++++++------ Marlin/src/lcd/menu/menu_configuration.cpp | 10 +++++----- Marlin/src/lcd/menu/menu_tune.cpp | 4 ++-- Marlin/src/lcd/ultralcd.cpp | 6 ++---- Marlin/src/module/endstops.cpp | 2 +- Marlin/src/module/motion.cpp | 2 +- Marlin/src/module/motion.h | 2 +- Marlin/src/module/planner.cpp | 4 ++-- Marlin/src/module/planner.h | 2 +- Marlin/src/module/settings.cpp | 12 ++++++------ Marlin/src/module/stepper.cpp | 12 ++++++------ Marlin/src/module/stepper.h | 13 ++++--------- Marlin/src/module/tool_change.cpp | 6 +++--- Marlin/src/module/tool_change.h | 2 +- Marlin/src/pins/sensitive_pins.h | 4 ++-- .../PlatformIO/scripts/common-dependencies.h | 3 --- 50 files changed, 127 insertions(+), 144 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a010856d1871..23d39b4d0ad7 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1979,7 +1979,7 @@ * Universal tool change settings. * Applies to all types of extruders except where explicitly noted. */ -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER // Z raise distance for tool-change, as needed for some extruders #define TOOLCHANGE_ZRAISE 2 // (mm) //#define TOOLCHANGE_ZRAISE_BEFORE_RETRACT // Apply raise before swap retraction (if enabled) @@ -2043,7 +2043,7 @@ //#define TOOLCHANGE_PARK_X_ONLY // X axis only move //#define TOOLCHANGE_PARK_Y_ONLY // Y axis only move #endif -#endif // EXTRUDERS > 1 +#endif // HAS_MULTI_EXTRUDER /** * Advanced Pause diff --git a/Marlin/src/HAL/DUE/HAL_SPI.cpp b/Marlin/src/HAL/DUE/HAL_SPI.cpp index 6d8f7ef81939..97d69f0d726b 100644 --- a/Marlin/src/HAL/DUE/HAL_SPI.cpp +++ b/Marlin/src/HAL/DUE/HAL_SPI.cpp @@ -595,7 +595,7 @@ SPI_Enable(SPI0); SET_OUTPUT(DAC0_SYNC); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER SET_OUTPUT(DAC1_SYNC); WRITE(DAC1_SYNC, HIGH); #endif diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index caec347bf599..3fc1dd801a45 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -141,7 +141,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #error "Serial port pins (2) conflict with probe pin!" #elif IS_TX2(X_ENABLE_PIN) || IS_RX2(X_DIR_PIN) || IS_TX2(Y_ENABLE_PIN) || IS_RX2(Y_DIR_PIN) #error "Serial port pins (2) conflict with X/Y stepper pins!" - #elif EXTRUDERS > 1 && (IS_TX2(E1_ENABLE_PIN) || (AXIS_HAS_SPI(E1) && IS_TX2(E1_CS_PIN))) + #elif HAS_MULTI_EXTRUDER && (IS_TX2(E1_ENABLE_PIN) || (AXIS_HAS_SPI(E1) && IS_TX2(E1_CS_PIN))) #error "Serial port pins (2) conflict with E1 stepper pins!" #elif EXTRUDERS && (IS_RX2(E0_DIR_PIN) || IS_RX2(E0_STEP_PIN)) #error "Serial port pins (2) conflict with E stepper pins!" @@ -168,7 +168,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #error "Serial port pins (3) conflict with Z3 pins!" #elif PIN_IS_TX3(Z4_DIR) || PIN_IS_RX3(Z4_STEP) #error "Serial port pins (3) conflict with Z4 pins!" - #elif EXTRUDERS > 1 && (PIN_IS_TX3(E1_DIR) || PIN_IS_RX3(E1_STEP)) + #elif HAS_MULTI_EXTRUDER && (PIN_IS_TX3(E1_DIR) || PIN_IS_RX3(E1_STEP)) #error "Serial port pins (3) conflict with E1 pins!" #endif #undef PIN_IS_TX3 @@ -214,7 +214,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #error "One or more i2c (1) pins overlaps with Z3 pins! Disable i2c peripherals." #elif PIN_IS_SDA1(Z4_DIR) || PIN_IS_SCL1(Z4_STEP) #error "One or more i2c (1) pins overlaps with Z4 pins! Disable i2c peripherals." - #elif EXTRUDERS > 1 && (PIN_IS_SDA1(E1_DIR) || PIN_IS_SCL1(E1_STEP)) + #elif HAS_MULTI_EXTRUDER && (PIN_IS_SDA1(E1_DIR) || PIN_IS_SCL1(E1_STEP)) #error "One or more i2c (1) pins overlaps with E1 pins! Disable i2c peripherals." #endif #undef PIN_IS_SDA1 @@ -240,9 +240,9 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #error "i2c SDA2 overlaps with Z3 enable pin! Disable i2c peripherals." #elif PIN_IS_SDA2(Z4_ENABLE) #error "i2c SDA2 overlaps with Z4 enable pin! Disable i2c peripherals." - #elif EXTRUDERS > 1 && PIN_IS_SDA2(E1_ENABLE) + #elif HAS_MULTI_EXTRUDER && PIN_IS_SDA2(E1_ENABLE) #error "i2c SDA2 overlaps with E1 enable pin! Disable i2c peripherals." - #elif EXTRUDERS > 1 && AXIS_HAS_SPI(E1) && PIN_IS_SDA2(E1_CS) + #elif HAS_MULTI_EXTRUDER && AXIS_HAS_SPI(E1) && PIN_IS_SDA2(E1_CS) #error "i2c SDA2 overlaps with E1 CS pin! Disable i2c peripherals." #elif EXTRUDERS && (PIN_IS_SDA2(E0_STEP) || PIN_IS_SDA2(E0_DIR)) #error "i2c SCL2 overlaps with E0 STEP/DIR pin! Disable i2c peripherals." diff --git a/Marlin/src/feature/dac/dac_dac084s085.cpp b/Marlin/src/feature/dac/dac_dac084s085.cpp index a07dc071dd43..82d17fa28f07 100644 --- a/Marlin/src/feature/dac/dac_dac084s085.cpp +++ b/Marlin/src/feature/dac/dac_dac084s085.cpp @@ -21,7 +21,7 @@ void dac084s085::begin() { // All SPI chip-select HIGH SET_OUTPUT(DAC0_SYNC); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER SET_OUTPUT(DAC1_SYNC); #endif cshigh(); @@ -38,7 +38,7 @@ void dac084s085::begin() { spiSend(SPI_CHAN_DAC, externalDac_buf, COUNT(externalDac_buf)); WRITE(DAC0_SYNC, HIGH); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER //init Piggy DAC DELAY_US(2); WRITE(DAC1_SYNC, LOW); @@ -86,7 +86,7 @@ void dac084s085::setValue(const uint8_t channel, const uint8_t value) { void dac084s085::cshigh() { WRITE(DAC0_SYNC, HIGH); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER WRITE(DAC1_SYNC, HIGH); #endif WRITE(SPI_EEPROM1_CS, HIGH); diff --git a/Marlin/src/feature/fwretract.cpp b/Marlin/src/feature/fwretract.cpp index c0e4db0a455f..e5c52562a9ad 100644 --- a/Marlin/src/feature/fwretract.cpp +++ b/Marlin/src/feature/fwretract.cpp @@ -42,7 +42,7 @@ FWRetract fwretract; // Single instance - this calls the constructor // private: -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER bool FWRetract::retracted_swap[EXTRUDERS]; // Which extruders are swap-retracted #endif @@ -73,9 +73,7 @@ void FWRetract::reset() { LOOP_L_N(i, EXTRUDERS) { retracted[i] = false; - #if EXTRUDERS > 1 - retracted_swap[i] = false; - #endif + TERN_(HAS_MULTI_EXTRUDER, retracted_swap[i] = false); current_retract[i] = 0.0; } } @@ -92,7 +90,7 @@ void FWRetract::reset() { * included in the G-code. Use M207 Z0 to to prevent double hop. */ void FWRetract::retract(const bool retracting - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER , bool swapping/*=false*/ #endif ) { @@ -100,7 +98,7 @@ void FWRetract::retract(const bool retracting if (retracted[active_extruder] == retracting) return; // Prevent two swap-retract or recovers in a row - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER // Allow G10 S1 only after G11 if (swapping && retracted_swap[active_extruder] == retracting) return; // G11 priority to recover the long retract if activated @@ -117,7 +115,7 @@ void FWRetract::retract(const bool retracting ); LOOP_L_N(i, EXTRUDERS) { SERIAL_ECHOLNPAIR("retracted[", i, "] ", retracted[i]); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER SERIAL_ECHOLNPAIR("retracted_swap[", i, "] ", retracted_swap[i]); #endif } @@ -180,7 +178,7 @@ void FWRetract::retract(const bool retracting retracted[active_extruder] = retracting; // Active extruder now retracted / recovered // If swap retract/recover update the retracted_swap flag too - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER if (swapping) retracted_swap[active_extruder] = retracting; #endif @@ -190,7 +188,7 @@ void FWRetract::retract(const bool retracting SERIAL_ECHOLNPAIR("active_extruder ", active_extruder); LOOP_L_N(i, EXTRUDERS) { SERIAL_ECHOLNPAIR("retracted[", i, "] ", retracted[i]); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER SERIAL_ECHOLNPAIR("retracted_swap[", i, "] ", retracted_swap[i]); #endif } diff --git a/Marlin/src/feature/fwretract.h b/Marlin/src/feature/fwretract.h index 3d6873642911..134851965dc4 100644 --- a/Marlin/src/feature/fwretract.h +++ b/Marlin/src/feature/fwretract.h @@ -42,7 +42,7 @@ typedef struct { class FWRetract { private: - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER static bool retracted_swap[EXTRUDERS]; // Which extruders are swap-retracted #endif @@ -75,7 +75,7 @@ class FWRetract { } static void retract(const bool retracting - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER , bool swapping = false #endif ); diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index 06296dd215fa..ed3a4b9fadea 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -186,13 +186,13 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/ TERN_(HAS_POSITION_SHIFT, info.position_shift = position_shift); info.feedrate = uint16_t(feedrate_mm_s * 60.0f); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER info.active_extruder = active_extruder; #endif #if DISABLED(NO_VOLUMETRICS) info.volumetric_enabled = parser.volumetric_enabled; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER for (int8_t e = 0; e < EXTRUDERS; e++) info.filament_size[e] = planner.filament_size[e]; #else if (parser.volumetric_enabled) info.filament_size[0] = planner.filament_size[active_extruder]; @@ -369,7 +369,7 @@ void PrintJobRecovery::resume() { // Recover volumetric extrusion state #if DISABLED(NO_VOLUMETRICS) - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER for (int8_t e = 0; e < EXTRUDERS; e++) { sprintf_P(cmd, PSTR("M200 T%i D%s"), e, dtostrf(info.filament_size[e], 1, 3, str_1)); gcode.process_subcommands_now(cmd); @@ -411,7 +411,7 @@ void PrintJobRecovery::resume() { #endif // Select the previously active tool (with no_move) - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER sprintf_P(cmd, PSTR("T%i S"), info.active_extruder); gcode.process_subcommands_now(cmd); #endif @@ -543,7 +543,7 @@ void PrintJobRecovery::resume() { DEBUG_ECHOLNPAIR("feedrate: ", info.feedrate); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER DEBUG_ECHOLNPAIR("active_extruder: ", int(info.active_extruder)); #endif diff --git a/Marlin/src/feature/powerloss.h b/Marlin/src/feature/powerloss.h index 10653493ab8f..1943175b0564 100644 --- a/Marlin/src/feature/powerloss.h +++ b/Marlin/src/feature/powerloss.h @@ -58,7 +58,7 @@ typedef struct { uint16_t feedrate; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER uint8_t active_extruder; #endif diff --git a/Marlin/src/gcode/config/M217.cpp b/Marlin/src/gcode/config/M217.cpp index 0d049ede16e4..b57dec31f360 100644 --- a/Marlin/src/gcode/config/M217.cpp +++ b/Marlin/src/gcode/config/M217.cpp @@ -22,7 +22,7 @@ #include "../../inc/MarlinConfigPre.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../gcode.h" #include "../../module/tool_change.h" @@ -170,4 +170,4 @@ void GcodeSuite::M217() { M217_report(); } -#endif // EXTRUDERS > 1 +#endif // HAS_MULTI_EXTRUDER diff --git a/Marlin/src/gcode/control/T.cpp b/Marlin/src/gcode/control/T.cpp index 46cdfebf11ce..729f7f222341 100644 --- a/Marlin/src/gcode/control/T.cpp +++ b/Marlin/src/gcode/control/T.cpp @@ -23,7 +23,7 @@ #include "../gcode.h" #include "../../module/tool_change.h" -#if ENABLED(DEBUG_LEVELING_FEATURE) || EXTRUDERS > 1 +#if EITHER(HAS_MULTI_EXTRUDER, DEBUG_LEVELING_FEATURE) #include "../../module/motion.h" #endif diff --git a/Marlin/src/gcode/feature/fwretract/G10_G11.cpp b/Marlin/src/gcode/feature/fwretract/G10_G11.cpp index 05f015036001..219502f28a8e 100644 --- a/Marlin/src/gcode/feature/fwretract/G10_G11.cpp +++ b/Marlin/src/gcode/feature/fwretract/G10_G11.cpp @@ -33,11 +33,11 @@ * TODO: Handle 'G10 P' for tool settings and 'G10 L' for workspace settings */ void GcodeSuite::G10() { - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER const bool rs = parser.boolval('S'); #endif fwretract.retract(true - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER , rs #endif ); diff --git a/Marlin/src/gcode/feature/pause/M600.cpp b/Marlin/src/gcode/feature/pause/M600.cpp index fe1d90109eef..7c9be54b2916 100644 --- a/Marlin/src/gcode/feature/pause/M600.cpp +++ b/Marlin/src/gcode/feature/pause/M600.cpp @@ -29,7 +29,7 @@ #include "../../../module/motion.h" #include "../../../module/printcounter.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../../../module/tool_change.h" #endif @@ -105,7 +105,7 @@ void GcodeSuite::M600() { if (!all_axes_known()) home_all_axes(); #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER // Change toolhead if specified const uint8_t active_extruder_before_filament_change = active_extruder; if (active_extruder != target_extruder && TERN1(DUAL_X_CARRIAGE, !dxc_is_duplicating())) @@ -163,7 +163,7 @@ void GcodeSuite::M600() { #endif } - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER // Restore toolhead if it was changed if (active_extruder_before_filament_change != active_extruder) tool_change(active_extruder_before_filament_change, false); diff --git a/Marlin/src/gcode/feature/pause/M603.cpp b/Marlin/src/gcode/feature/pause/M603.cpp index a62b5cd46d18..c40f3ae6e136 100644 --- a/Marlin/src/gcode/feature/pause/M603.cpp +++ b/Marlin/src/gcode/feature/pause/M603.cpp @@ -29,7 +29,7 @@ #include "../../../module/motion.h" #include "../../../module/printcounter.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../../../module/tool_change.h" #endif diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp index a02f2368e21c..c1f7223142c3 100644 --- a/Marlin/src/gcode/feature/pause/M701_M702.cpp +++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp @@ -30,7 +30,7 @@ #include "../../../module/temperature.h" #include "../../../feature/pause.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../../../module/tool_change.h" #endif @@ -86,7 +86,7 @@ void GcodeSuite::M701() { // Show initial "wait for load" message TERN_(HAS_LCD_MENU, lcd_pause_show_message(PAUSE_MESSAGE_LOAD, PAUSE_MODE_LOAD_FILAMENT, target_extruder)); - #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) + #if HAS_MULTI_EXTRUDER && DISABLED(PRUSA_MMU2) // Change toolhead if specified uint8_t active_extruder_before_filament_change = active_extruder; if (active_extruder != target_extruder) @@ -121,7 +121,7 @@ void GcodeSuite::M701() { if (park_point.z > 0) do_blocking_move_to_z(_MAX(current_position.z - park_point.z, 0), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); - #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) + #if HAS_MULTI_EXTRUDER && DISABLED(PRUSA_MMU2) // Restore toolhead if it was changed if (active_extruder_before_filament_change != active_extruder) tool_change(active_extruder_before_filament_change, false); @@ -186,7 +186,7 @@ void GcodeSuite::M702() { // Show initial "wait for unload" message TERN_(HAS_LCD_MENU, lcd_pause_show_message(PAUSE_MESSAGE_UNLOAD, PAUSE_MODE_UNLOAD_FILAMENT, target_extruder)); - #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) + #if HAS_MULTI_EXTRUDER && DISABLED(PRUSA_MMU2) // Change toolhead if specified uint8_t active_extruder_before_filament_change = active_extruder; if (active_extruder != target_extruder) @@ -201,7 +201,7 @@ void GcodeSuite::M702() { #if ENABLED(PRUSA_MMU2) mmu2.unload(); #else - #if EXTRUDERS > 1 && ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS) + #if BOTH(HAS_MULTI_EXTRUDER, FILAMENT_UNLOAD_ALL_EXTRUDERS) if (!parser.seenval('T')) { HOTEND_LOOP() { if (e != active_extruder) tool_change(e, false); @@ -227,7 +227,7 @@ void GcodeSuite::M702() { if (park_point.z > 0) do_blocking_move_to_z(_MAX(current_position.z - park_point.z, 0), feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); - #if EXTRUDERS > 1 && DISABLED(PRUSA_MMU2) + #if HAS_MULTI_EXTRUDER && DISABLED(PRUSA_MMU2) // Restore toolhead if it was changed if (active_extruder_before_filament_change != active_extruder) tool_change(active_extruder_before_filament_change, false); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index c1b6deeadda8..39276bc72909 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -614,7 +614,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 211: M211(); break; // M211: Enable, Disable, and/or Report software endstops #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 217: M217(); break; // M217: Set filament swap parameters #endif diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 24273012629f..085f6b361895 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -661,9 +661,7 @@ class GcodeSuite { static void M211(); - #if EXTRUDERS > 1 - static void M217(); - #endif + TERN_(HAS_MULTI_EXTRUDER, static void M217()); TERN_(HAS_HOTEND_OFFSET, static void M218()); diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index d5ef62b621b6..95c93beb9ec1 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -501,6 +501,8 @@ #undef MK2_MULTIPLEXER #undef PRUSA_MMU2 #undef HOTEND_IDLE_TIMEOUT +#elif EXTRUDERS > 1 + #define HAS_MULTI_EXTRUDER 1 #endif #if ENABLED(SWITCHING_EXTRUDER) // One stepper for every two EXTRUDERS diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 2b232623a33b..2ae4f4e399d6 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -2334,7 +2334,7 @@ #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 #endif -#if EXTRUDERS > 1 && !defined(TOOLCHANGE_FS_EXTRA_PRIME) +#if HAS_MULTI_EXTRUDER && !defined(TOOLCHANGE_FS_EXTRA_PRIME) #define TOOLCHANGE_FS_EXTRA_PRIME 0 #endif diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 9f15d7e5e3e3..8d68b33ece20 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -865,7 +865,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Options only for EXTRUDERS > 1 */ -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #if EXTRUDERS > 8 #error "Marlin supports a maximum of 8 EXTRUDERS." @@ -987,7 +987,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * Mixing Extruder requirements */ #if ENABLED(MIXING_EXTRUDER) - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER #error "For MIXING_EXTRUDER set MIXING_STEPPERS > 1 instead of EXTRUDERS > 1." #elif MIXING_STEPPERS < 2 #error "You must set MIXING_STEPPERS >= 2 for a mixing extruder." diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp index 6044d0a951eb..7f3f507fd64f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp @@ -96,7 +96,7 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { #else PIN_DISABLED(1, 4, GET_TEXT_F(MSG_RUNOUT_1), FIL_RUNOUT) #endif - #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2) && EXTRUDERS > 1 + #if BOTH(HAS_MULTI_EXTRUDER, FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2) PIN_ENABLED (3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2, FIL_RUNOUT_STATE) #else PIN_DISABLED(3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/linear_advance_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/linear_advance_screen.cpp index fb90ae1133c7..8a5c675facc4 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/linear_advance_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/linear_advance_screen.cpp @@ -34,7 +34,7 @@ void LinearAdvanceScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(2, DEFAULT_LOWEST).color(e_axis); w.heading( GET_TEXT_F(MSG_LINEAR_ADVANCE)); - #if EXTRUDERS == 1 + #if !HAS_MULTI_EXTRUDER w.adjuster( 2, GET_TEXT_F(MSG_LINEAR_ADVANCE_K), getLinearAdvance_mm_mm_s(E0) ); #else w.adjuster( 2, GET_TEXT_F(MSG_LINEAR_ADVANCE_K1), getLinearAdvance_mm_mm_s(E0) ); @@ -55,7 +55,7 @@ bool LinearAdvanceScreen::onTouchHeld(uint8_t tag) { switch (tag) { case 2: UI_DECREMENT(LinearAdvance_mm_mm_s, E0); break; case 3: UI_INCREMENT(LinearAdvance_mm_mm_s, E0); break; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 4: UI_DECREMENT(LinearAdvance_mm_mm_s, E1); break; case 5: UI_INCREMENT(LinearAdvance_mm_mm_s, E1); break; #if EXTRUDERS > 2 diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/max_velocity_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/max_velocity_screen.cpp index 95e29c197de6..2316f93ee236 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/max_velocity_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/max_velocity_screen.cpp @@ -41,7 +41,7 @@ void MaxVelocityScreen::onRedraw(draw_mode_t what) { w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_VMAX_Z), getAxisMaxFeedrate_mm_s(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_VMAX_E), getAxisMaxFeedrate_mm_s(E0) ); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER w.heading(GET_TEXT_F(MSG_VMAX_E)); w.color(e_axis) .adjuster( 8, F(LCD_STR_E0), getAxisMaxFeedrate_mm_s(E0) ); w.color(e_axis) .adjuster( 10, F(LCD_STR_E1), getAxisMaxFeedrate_mm_s(E1) ); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/move_axis_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/move_axis_screen.cpp index 14ca6fe2973e..5dd3174821e2 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/move_axis_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/move_axis_screen.cpp @@ -55,7 +55,7 @@ void MoveAxisScreen::onRedraw(draw_mode_t what) { w.color(Theme::e_axis); #if EXTRUDERS == 1 w.adjuster( 8, GET_TEXT_F(MSG_AXIS_E), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER w.adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); w.adjuster( 10, GET_TEXT_F(MSG_AXIS_E2), screen_data.MoveAxisScreen.e_rel[1], canMove(E1)); #if EXTRUDERS > 2 @@ -82,7 +82,7 @@ bool MoveAxisScreen::onTouchHeld(uint8_t tag) { // For extruders, also update relative distances. case 8: UI_DECREMENT_AXIS(E0); screen_data.MoveAxisScreen.e_rel[0] -= increment; break; case 9: UI_INCREMENT_AXIS(E0); screen_data.MoveAxisScreen.e_rel[0] += increment; break; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 10: UI_DECREMENT_AXIS(E1); screen_data.MoveAxisScreen.e_rel[1] -= increment; break; case 11: UI_INCREMENT_AXIS(E1); screen_data.MoveAxisScreen.e_rel[1] += increment; break; #endif diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp index 091ad8f124fa..ed3c8d999b4b 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp @@ -33,7 +33,7 @@ using namespace ExtUI; void NudgeNozzleScreen::onEntry() { screen_data.NudgeNozzleScreen.show_offsets = false; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER screen_data.NudgeNozzleScreen.link_nozzles = true; #endif screen_data.NudgeNozzleScreen.rel.reset(); @@ -52,11 +52,11 @@ void NudgeNozzleScreen::onRedraw(draw_mode_t what) { #endif w.color(z_axis).adjuster(6, GET_TEXT_F(MSG_AXIS_Z), screen_data.NudgeNozzleScreen.rel.z / getAxisSteps_per_mm(Z)); w.increments(); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER w.toggle(8, GET_TEXT_F(MSG_ADJUST_BOTH_NOZZLES), screen_data.NudgeNozzleScreen.link_nozzles); #endif - #if EXTRUDERS > 1 || HAS_BED_PROBE + #if HAS_MULTI_EXTRUDER || HAS_BED_PROBE w.toggle(9, GET_TEXT_F(MSG_SHOW_OFFSETS), screen_data.NudgeNozzleScreen.show_offsets); if (screen_data.NudgeNozzleScreen.show_offsets) { @@ -82,7 +82,7 @@ void NudgeNozzleScreen::onRedraw(draw_mode_t what) { bool NudgeNozzleScreen::onTouchHeld(uint8_t tag) { const float inc = getIncrement(); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER const bool link = screen_data.NudgeNozzleScreen.link_nozzles; #else constexpr bool link = true; @@ -95,13 +95,13 @@ bool NudgeNozzleScreen::onTouchHeld(uint8_t tag) { case 5: steps = mmToWholeSteps(inc, Y); smartAdjustAxis_steps( steps, Y, link); screen_data.NudgeNozzleScreen.rel.y += steps; break; case 6: steps = mmToWholeSteps(inc, Z); smartAdjustAxis_steps(-steps, Z, link); screen_data.NudgeNozzleScreen.rel.z -= steps; break; case 7: steps = mmToWholeSteps(inc, Z); smartAdjustAxis_steps( steps, Z, link); screen_data.NudgeNozzleScreen.rel.z += steps; break; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 8: screen_data.NudgeNozzleScreen.link_nozzles = !link; break; #endif case 9: screen_data.NudgeNozzleScreen.show_offsets = !screen_data.NudgeNozzleScreen.show_offsets; break; default: return false; } - #if EXTRUDERS > 1 || HAS_BED_PROBE + #if HAS_MULTI_EXTRUDER || HAS_BED_PROBE SaveSettingsDialogBox::settingsChanged(); #endif return true; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h index a274fef9e747..dc38890a0efc 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screen_data.h @@ -86,7 +86,7 @@ union screen_data_t { struct { struct base_numeric_adjustment_t placeholder; xyz_int_t rel; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER bool link_nozzles; #endif bool show_offsets; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp index a8e948a9c3ed..e89bbd20201f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp @@ -40,7 +40,7 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) { w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) ); #if EXTRUDERS == 1 w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisCurrent_mA(E0) ); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisCurrent_mA(E0) ); w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) ); #if EXTRUDERS > 2 @@ -64,7 +64,7 @@ bool StepperCurrentScreen::onTouchHeld(uint8_t tag) { case 7: UI_INCREMENT(AxisCurrent_mA, Z ); break; case 8: UI_DECREMENT(AxisCurrent_mA, E0); break; case 9: UI_INCREMENT(AxisCurrent_mA, E0); break; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 10: UI_DECREMENT(AxisCurrent_mA, E1); break; case 11: UI_INCREMENT(AxisCurrent_mA, E1); break; #endif diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/steps_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/steps_screen.cpp index f3957c0173bc..92035d1b1c04 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/steps_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/steps_screen.cpp @@ -40,7 +40,7 @@ void StepsScreen::onRedraw(draw_mode_t what) { w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisSteps_per_mm(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisSteps_per_mm(E0) ); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER w.color(e_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisSteps_per_mm(E0) ); w.color(e_axis) .adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisSteps_per_mm(E1) ); #if EXTRUDERS > 2 @@ -64,7 +64,7 @@ bool StepsScreen::onTouchHeld(uint8_t tag) { case 7: UI_INCREMENT(AxisSteps_per_mm, Z); break; case 8: UI_DECREMENT(AxisSteps_per_mm, E0); break; case 9: UI_INCREMENT(AxisSteps_per_mm, E0); break; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER case 10: UI_DECREMENT(AxisSteps_per_mm, E1); break; case 11: UI_INCREMENT(AxisSteps_per_mm, E1); break; #endif diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp index 321c608abd92..0f1fdaceaca5 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp @@ -127,9 +127,7 @@ void StressTestScreen::onIdle() { injectCommands_P(PSTR( "G0 X100 Y100 Z100 F6000\n" "T0\nG4 S1" - #if EXTRUDERS > 1 - "\nT1\nG4 S1" - #endif + TERN_(HAS_MULTI_EXTRUDER, "\nT1\nG4 S1") "\nG0 X150 Y150 Z150" )); } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp index 264d528c0311..3589b96d6a9a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp @@ -70,7 +70,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { //planner.flow_percentage[1] = planner.flow_percentage[0]; //planner.e_factor[1]= planner.flow_percentage[1]*0.01; planner.refresh_e_factor(0); - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = planner.flow_percentage[0]; planner.refresh_e_factor(1); } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp index aad5e4362e38..3b4fc8d2071c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp @@ -95,7 +95,7 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) { //saved_feedrate_percentage = feedrate_percentage; planner.flow_percentage[0] = 100; planner.e_factor[0] = planner.flow_percentage[0] * 0.01f; - #if EXTRUDERS == 2 + #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = 100; planner.e_factor[1] = planner.flow_percentage[1] * 0.01f; #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp index ca84b4b5ecdd..95d0a15bea72 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp @@ -90,7 +90,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - if (EXTRUDERS == 2) { + if (ENABLED(HAS_MULTI_EXTRUDER)) { if (uiCfg.curSprayerChoose == 0) { uiCfg.curSprayerChoose = 1; queue.inject_P(PSTR("T1")); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp index 801114e6b2ea..196522b8d42d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp @@ -61,7 +61,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } } - #if !defined(SINGLENOZZLE) && EXTRUDERS >= 2 + #if !defined(SINGLENOZZLE) && HAS_MULTI_EXTRUDER else if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) { thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); @@ -117,7 +117,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { if (uiCfg.curTempType == 0) { - if (EXTRUDERS == 2) { + if (ENABLED(HAS_MULTI_EXTRUDER)) { if (uiCfg.curSprayerChoose == 0) { uiCfg.curSprayerChoose = 1; } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp index 2079ed824560..e5a7bb18d999 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp @@ -242,8 +242,10 @@ void lv_draw_printing(void) { #endif // if 1 lv_obj_set_pos(buttonExt1, 205, 136); - if (EXTRUDERS == 2) + + #if HAS_MULTI_EXTRUDER lv_obj_set_pos(buttonExt2, 350, 136); + #endif #if HAS_HEATED_BED lv_obj_set_pos(buttonBedstate, 205, 186); @@ -275,11 +277,11 @@ void lv_draw_printing(void) { lv_obj_set_style(labelExt1, &tft_style_label_rel); lv_obj_set_pos(labelExt1, 250, 146); - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER labelExt2 = lv_label_create(scr, NULL); lv_obj_set_style(labelExt2, &tft_style_label_rel); lv_obj_set_pos(labelExt2, 395, 146); - } + #endif #if HAS_HEATED_BED labelBed = lv_label_create(scr, NULL); @@ -344,11 +346,11 @@ void disp_ext_temp() { sprintf(public_buf_l, printing_menu.temp1, (int)thermalManager.temp_hotend[0].celsius, (int)thermalManager.temp_hotend[0].target); lv_label_set_text(labelExt1, public_buf_l); - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER ZERO(public_buf_l); sprintf(public_buf_l, printing_menu.temp1, (int)thermalManager.temp_hotend[1].celsius, (int)thermalManager.temp_hotend[1].target); lv_label_set_text(labelExt2, public_buf_l); - } + #endif } void disp_bed_temp() { diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 1637d32877e4..afc9c6692e00 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -61,7 +61,7 @@ #include "../../libs/numtostr.h" #endif -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../../module/tool_change.h" #endif @@ -348,7 +348,7 @@ namespace ExtUI { } void setActiveTool(const extruder_t extruder, bool no_move) { - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER const uint8_t e = extruder - E0; if (e != active_extruder) tool_change(e, no_move); active_extruder = e; @@ -699,21 +699,17 @@ namespace ExtUI { */ void smartAdjustAxis_steps(const int16_t steps, const axis_t axis, bool linked_nozzles) { const float mm = steps * planner.steps_to_mm[axis]; + UNUSED(mm); if (!babystepAxis_steps(steps, axis)) return; #if ENABLED(BABYSTEP_ZPROBE_OFFSET) // Make it so babystepping in Z adjusts the Z probe offset. - if (axis == Z - #if EXTRUDERS > 1 - && (linked_nozzles || active_extruder == 0) - #endif - ) probe.offset.z += mm; - #else - UNUSED(mm); + if (axis == Z && TERN1(HAS_MULTI_EXTRUDER, linked_nozzles || active_extruder == 0)) + probe.offset.z += mm; #endif - #if EXTRUDERS > 1 && HAS_HOTEND_OFFSET + #if HAS_MULTI_EXTRUDER && HAS_HOTEND_OFFSET /** * When linked_nozzles is false, as an axis is babystepped * adjust the hotend offsets so that the other nozzles are @@ -730,7 +726,6 @@ namespace ExtUI { } #else UNUSED(linked_nozzles); - UNUSED(mm); #endif } diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 9978bc7eabef..5bca89141f8b 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -111,7 +111,7 @@ void menu_backlash(); #if ENABLED(LIN_ADVANCE) #if EXTRUDERS == 1 EDIT_ITEM(float42_52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_N(float42_52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999); #endif @@ -122,7 +122,7 @@ void menu_backlash(); #if ENABLED(VOLUMETRIC_EXTRUDER_LIMIT) EDIT_ITEM_FAST(float42_52, MSG_VOLUMETRIC_LIMIT, &planner.volumetric_extruder_limit[active_extruder], 0.0f, 20.0f, planner.calculate_volumetric_extruder_limits); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_FAST_N(float42_52, n, MSG_VOLUMETRIC_LIMIT_E, &planner.volumetric_extruder_limit[n], 0.0f, 20.00f, planner.calculate_volumetric_extruder_limits); #endif @@ -130,7 +130,7 @@ void menu_backlash(); if (parser.volumetric_enabled) { EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_FAST_N(float43, n, MSG_FILAMENT_DIAM_E, &planner.filament_size[n], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #endif @@ -141,13 +141,13 @@ void menu_backlash(); constexpr float extrude_maxlength = TERN(PREVENT_LENGTHY_EXTRUDE, EXTRUDE_MAXLENGTH, 999); EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_FAST_N(float3, n, MSG_FILAMENTUNLOAD_E, &fc_settings[n].unload_length, 0, extrude_maxlength); #endif EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_FAST_N(float3, n, MSG_FILAMENTLOAD_E, &fc_settings[n].load_length, 0, extrude_maxlength); #endif @@ -583,7 +583,7 @@ void menu_advanced_settings() { #elif ENABLED(LIN_ADVANCE) #if EXTRUDERS == 1 EDIT_ITEM(float42_52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER LOOP_L_N(n, E_STEPPERS) EDIT_ITEM_N(float42_52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999); #endif diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index a77e9a735462..2953b3b46454 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -94,7 +94,7 @@ void menu_advanced_settings(); #endif -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "../../module/tool_change.h" @@ -280,17 +280,17 @@ void menu_advanced_settings(); EDIT_ITEM(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract); #endif EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT, &fwretract.settings.retract_length, 0, 100); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_SWAP, &fwretract.settings.swap_retract_length, 0, 100); #endif EDIT_ITEM(float3, MSG_CONTROL_RETRACTF, &fwretract.settings.retract_feedrate_mm_s, 1, 999); EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_ZHOP, &fwretract.settings.retract_zraise, 0, 999); EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_RECOVER, &fwretract.settings.retract_recover_extra, -100, 100); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.settings.swap_retract_recover_extra, -100, 100); #endif EDIT_ITEM(float3, MSG_CONTROL_RETRACT_RECOVERF, &fwretract.settings.retract_recover_feedrate_mm_s, 1, 999); - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER EDIT_ITEM(float3, MSG_CONTROL_RETRACT_RECOVER_SWAPF, &fwretract.settings.swap_retract_recover_feedrate_mm_s, 1, 999); #endif END_MENU(); @@ -380,7 +380,7 @@ void menu_configuration() { // // Set single nozzle filament retract and prime length // - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER SUBMENU(MSG_TOOL_CHANGE, menu_tool_change); #if ENABLED(TOOLCHANGE_MIGRATION_FEATURE) SUBMENU(MSG_TOOL_MIGRATION, menu_toolchange_migration); diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index c02906f7f946..758d75c8e915 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -215,7 +215,7 @@ void menu_tune() { #if EXTRUDERS EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, []{ planner.refresh_e_factor(active_extruder); }); // Flow En: - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_N(int3, n, MSG_FLOW_N, &planner.flow_percentage[n], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); }); #endif @@ -227,7 +227,7 @@ void menu_tune() { #if ENABLED(LIN_ADVANCE) && DISABLED(SLIM_LCD_MENUS) #if EXTRUDERS == 1 EDIT_ITEM(float42_52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999); - #elif EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER LOOP_L_N(n, EXTRUDERS) EDIT_ITEM_N(float42_52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999); #endif diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index b30f6e49c9e0..fc55c3c2f6c9 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -695,7 +695,7 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) { #if IS_KINEMATIC - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER const int8_t old_extruder = active_extruder; if (axis == E_AXIS) active_extruder = e_index; #endif @@ -716,9 +716,7 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) { prepare_internal_move_to_destination(fr_mm_s); // will set current_position from destination processing = false; - #if EXTRUDERS > 1 - active_extruder = old_extruder; - #endif + TERN_(HAS_MULTI_EXTRUDER, active_extruder = old_extruder); #else diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index 1169ede2dc1e..a3a89736e5aa 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -505,7 +505,7 @@ void Endstops::update() { // With Dual X, endstops are only checked in the homing direction for the active extruder #if ENABLED(DUAL_X_CARRIAGE) - #define E0_ACTIVE stepper.movement_extruder() == 0 + #define E0_ACTIVE stepper.last_moved_extruder == 0 #define X_MIN_TEST() ((X_HOME_DIR < 0 && E0_ACTIVE) || (X2_HOME_DIR < 0 && !E0_ACTIVE)) #define X_MAX_TEST() ((X_HOME_DIR > 0 && E0_ACTIVE) || (X2_HOME_DIR > 0 && !E0_ACTIVE)) #else diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 2f12302e5915..b904309018d6 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -111,7 +111,7 @@ xyze_pos_t destination; // {0} #endif // The active extruder (tool). Set with T command. -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER uint8_t active_extruder = 0; // = 0 #endif diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 052e3180c86e..2b108b053177 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -98,7 +98,7 @@ extern feedRate_t feedrate_mm_s; extern int16_t feedrate_percentage; // The active extruder (tool). Set with T command. -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER extern uint8_t active_extruder; #else constexpr uint8_t active_extruder = 0; diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 82c62ed579de..30e1ffb0cafb 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -1992,7 +1992,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move, block->e_to_p_pressure = baricuda_e_to_p_pressure; #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER block->extruder = extruder; #endif @@ -2843,7 +2843,7 @@ bool Planner::buffer_line(const float &rx, const float &ry, const float &rz, con FANS_LOOP(i) block->fan_speed[i] = thermalManager.fan_speed[i]; #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER block->extruder = extruder; #endif diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index f3a3a0e0fc7c..660d9ad5aa1e 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -164,7 +164,7 @@ typedef struct block_t { }; uint32_t step_event_count; // The number of step events required to complete this block - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER uint8_t extruder; // The extruder to move (if E move) #else static constexpr uint8_t extruder = 0; diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 3cb88da4eee1..6608b4033265 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -115,7 +115,7 @@ extern float other_extruder_advance_K[EXTRUDERS]; #endif -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER #include "tool_change.h" void M217_report(const bool eeprom); #endif @@ -388,7 +388,7 @@ typedef struct SettingsDataStruct { // // Tool-change settings // - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER toolchange_settings_t toolchange_settings; // M217 S P R #endif @@ -1320,7 +1320,7 @@ void MarlinSettings::postprocess() { // Multiple Extruders // - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER _FIELD_TEST(toolchange_settings); EEPROM_WRITE(toolchange_settings); #endif @@ -2167,7 +2167,7 @@ void MarlinSettings::postprocess() { // // Tool-change settings // - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER _FIELD_TEST(toolchange_settings); EEPROM_READ(toolchange_settings); #endif @@ -2488,7 +2488,7 @@ void MarlinSettings::reset() { // Tool-change Settings // - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) toolchange_settings.swap_length = TOOLCHANGE_FS_LENGTH; toolchange_settings.extra_resume = TOOLCHANGE_FS_EXTRA_RESUME_LENGTH; @@ -3719,7 +3719,7 @@ void MarlinSettings::reset() { #endif #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER CONFIG_ECHO_HEADING("Tool-changing:"); CONFIG_ECHO_START(); M217_report(true); diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index fab1a615482d..56a75d1b4812 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -155,7 +155,7 @@ uint8_t Stepper::last_direction_bits, // = 0 bool Stepper::abort_current_block; -#if DISABLED(MIXING_EXTRUDER) && EXTRUDERS > 1 +#if DISABLED(MIXING_EXTRUDER) && HAS_MULTI_EXTRUDER uint8_t Stepper::last_moved_extruder = 0xFF; #endif @@ -191,7 +191,7 @@ uint32_t Stepper::advance_divisor = 0, Stepper::decelerate_after, // The count at which to start decelerating Stepper::step_event_count; // The total event count for the current block -#if EXTRUDERS > 1 || ENABLED(MIXING_EXTRUDER) +#if EITHER(HAS_MULTI_EXTRUDER, MIXING_EXTRUDER) uint8_t Stepper::stepper_extruder; #else constexpr uint8_t Stepper::stepper_extruder; @@ -357,11 +357,11 @@ xyze_int8_t Stepper::count_direction{0}; #elif ENABLED(DUAL_X_CARRIAGE) #define X_APPLY_DIR(v,ALWAYS) do{ \ if (extruder_duplication_enabled || ALWAYS) { X_DIR_WRITE(v); X2_DIR_WRITE(mirrored_duplication_mode ? !(v) : v); } \ - else if (movement_extruder()) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \ + else if (last_moved_extruder) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \ }while(0) #define X_APPLY_STEP(v,ALWAYS) do{ \ if (extruder_duplication_enabled || ALWAYS) { X_STEP_WRITE(v); X2_STEP_WRITE(v); } \ - else if (movement_extruder()) X2_STEP_WRITE(v); else X_STEP_WRITE(v); \ + else if (last_moved_extruder) X2_STEP_WRITE(v); else X_STEP_WRITE(v); \ }while(0) #else #define X_APPLY_DIR(v,Q) X_DIR_WRITE(v) @@ -2131,7 +2131,7 @@ uint32_t Stepper::block_phase_isr() { MIXER_STEPPER_SETUP(); #endif - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER stepper_extruder = current_block->extruder; #endif @@ -2156,7 +2156,7 @@ uint32_t Stepper::block_phase_isr() { || TERN(MIXING_EXTRUDER, false, stepper_extruder != last_moved_extruder) ) { last_direction_bits = current_block->direction_bits; - #if EXTRUDERS > 1 + #if HAS_MULTI_EXTRUDER last_moved_extruder = stepper_extruder; #endif diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index 3b68553689cc..f83142444a49 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -263,10 +263,10 @@ class Stepper { static bool abort_current_block; // Signals to the stepper that current block should be aborted // Last-moved extruder, as set when the last movement was fetched from planner - #if EXTRUDERS < 2 - static constexpr uint8_t last_moved_extruder = 0; - #elif DISABLED(MIXING_EXTRUDER) + #if HAS_MULTI_EXTRUDER static uint8_t last_moved_extruder; + #else + static constexpr uint8_t last_moved_extruder = 0; #endif #if ENABLED(X_DUAL_ENDSTOPS) @@ -304,7 +304,7 @@ class Stepper { decelerate_after, // The point from where we need to start decelerating step_event_count; // The total event count for the current block - #if EXTRUDERS > 1 || ENABLED(MIXING_EXTRUDER) + #if EITHER(HAS_MULTI_EXTRUDER, MIXING_EXTRUDER) static uint8_t stepper_extruder; #else static constexpr uint8_t stepper_extruder = 0; @@ -451,11 +451,6 @@ class Stepper { // The last movement direction was not null on the specified axis. Note that motor direction is not necessarily the same. FORCE_INLINE static bool axis_is_moving(const AxisEnum axis) { return TEST(axis_did_move, axis); } - // The extruder associated to the last movement - FORCE_INLINE static uint8_t movement_extruder() { - return (EXTRUDERS > 1 && DISABLED(MIXING_EXTRUDER)) ? last_moved_extruder : 0; - } - // Handle a triggered endstop static void endstop_triggered(const AxisEnum axis); diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 855756026684..0f823cfbd000 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -36,7 +36,7 @@ #define DEBUG_OUT ENABLED(DEBUG_TOOL_CHANGE) #include "../core/debug_out.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER toolchange_settings_t toolchange_settings; // Initialized by settings.load() #endif @@ -870,7 +870,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { if (new_tool) invalid_extruder_error(new_tool); return; - #else // EXTRUDERS > 1 + #elif HAS_MULTI_EXTRUDER planner.synchronize(); @@ -1197,7 +1197,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(STR_ACTIVE_EXTRUDER, int(active_extruder)); - #endif // EXTRUDERS > 1 + #endif // HAS_MULTI_EXTRUDER } #if ENABLED(TOOLCHANGE_MIGRATION_FEATURE) diff --git a/Marlin/src/module/tool_change.h b/Marlin/src/module/tool_change.h index d0cb57841bf1..38347191d390 100644 --- a/Marlin/src/module/tool_change.h +++ b/Marlin/src/module/tool_change.h @@ -24,7 +24,7 @@ #include "../inc/MarlinConfigPre.h" #include "../core/types.h" -#if EXTRUDERS > 1 +#if HAS_MULTI_EXTRUDER typedef struct { #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) diff --git a/Marlin/src/pins/sensitive_pins.h b/Marlin/src/pins/sensitive_pins.h index 5f61389cf977..169f74b43787 100644 --- a/Marlin/src/pins/sensitive_pins.h +++ b/Marlin/src/pins/sensitive_pins.h @@ -354,7 +354,7 @@ #endif #endif -#elif EXTRUDERS > 1 || ENABLED(MIXING_EXTRUDER) +#elif EITHER(HAS_MULTI_EXTRUDER, MIXING_EXTRUDER) #undef _E1_PINS #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, _E1_CS _E1_MS1 _E1_MS2 _E1_MS3 @@ -383,7 +383,7 @@ #endif // EXTRUDERS > 3 || MIXING_EXTRUDER > 3 #endif // EXTRUDERS > 2 || MIXING_EXTRUDER > 2 -#endif // EXTRUDERS > 1 || MIXING_EXTRUDER +#endif // HAS_MULTI_EXTRUDER || MIXING_EXTRUDER // // Heaters, Fans, Temp Sensors diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index e27e628b9a0d..e88e74e81d04 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -91,9 +91,6 @@ #if EXTRUDERS #define HAS_EXTRUDERS - #if EXTRUDERS > 1 - #define HAS_MULTI_EXTRUDER - #endif #endif #if HAS_LCD_MENU From 60ab7a1ddbda1b1a6d20cbeb5c574ce775f57a4b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 20 Sep 2020 19:07:59 -0500 Subject: [PATCH 105/277] Cleanup before MKS changes --- Marlin/src/HAL/DUE/usb/compiler.h | 39 ++-- Marlin/src/HAL/STM32/tft/tft_fsmc.cpp | 2 +- .../archim2-flash/flash_storage.cpp | 12 +- .../ftdi_eve_lib/extended/dl_cache.cpp | 3 +- .../ftdi_eve_lib/extended/grid_layout.h | 4 +- .../ftdi_eve_lib/extended/screen_types.cpp | 5 +- .../ftdi_eve_lib/extended/text_box.cpp | 8 +- .../ftdi_eve_lib/extended/text_ellipsis.cpp | 6 +- .../screens/bed_mesh_screen.cpp | 4 +- .../screens/files_screen.cpp | 2 +- .../screens/interface_settings_screen.cpp | 4 +- .../screens/interface_sounds_screen.cpp | 2 +- .../screens/status_screen.cpp | 13 +- .../screens/stress_test_screen.cpp | 4 +- .../src/lcd/extui/lib/mks_ui/draw_about.cpp | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_about.h | 4 +- .../lib/mks_ui/draw_acceleration_settings.h | 4 +- .../extui/lib/mks_ui/draw_advance_settings.h | 4 +- .../extui/lib/mks_ui/draw_change_speed.cpp | 24 +-- .../lcd/extui/lib/mks_ui/draw_change_speed.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h | 4 +- .../extui/lib/mks_ui/draw_eeprom_settings.h | 4 +- .../lcd/extui/lib/mks_ui/draw_error_message.h | 4 +- .../lcd/extui/lib/mks_ui/draw_extrusion.cpp | 21 ++- .../src/lcd/extui/lib/mks_ui/draw_extrusion.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp | 27 +-- Marlin/src/lcd/extui/lib/mks_ui/draw_fan.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp | 1 - Marlin/src/lcd/extui/lib/mks_ui/draw_home.h | 4 +- .../lcd/extui/lib/mks_ui/draw_jerk_settings.h | 4 +- .../lcd/extui/lib/mks_ui/draw_language.cpp | 21 +-- .../src/lcd/extui/lib/mks_ui/draw_language.h | 4 +- .../lcd/extui/lib/mks_ui/draw_machine_para.h | 4 +- .../extui/lib/mks_ui/draw_machine_settings.h | 4 +- .../lcd/extui/lib/mks_ui/draw_manuaLevel.cpp | 16 +- .../lcd/extui/lib/mks_ui/draw_manuaLevel.h | 4 +- .../lib/mks_ui/draw_max_feedrate_settings.h | 4 +- .../extui/lib/mks_ui/draw_motor_settings.h | 4 +- .../lcd/extui/lib/mks_ui/draw_move_motor.cpp | 20 +-- .../lcd/extui/lib/mks_ui/draw_move_motor.h | 4 +- .../lcd/extui/lib/mks_ui/draw_number_key.cpp | 15 +- .../lcd/extui/lib/mks_ui/draw_number_key.h | 4 +- .../src/lcd/extui/lib/mks_ui/draw_operation.h | 4 +- .../lcd/extui/lib/mks_ui/draw_pause_message.h | 4 +- .../extui/lib/mks_ui/draw_pause_position.h | 4 +- .../src/lcd/extui/lib/mks_ui/draw_preHeat.cpp | 13 +- .../src/lcd/extui/lib/mks_ui/draw_preHeat.h | 4 +- .../lcd/extui/lib/mks_ui/draw_print_file.cpp | 4 +- .../lcd/extui/lib/mks_ui/draw_print_file.h | 4 +- .../src/lcd/extui/lib/mks_ui/draw_printing.h | 4 +- .../lcd/extui/lib/mks_ui/draw_ready_print.cpp | 10 +- .../lcd/extui/lib/mks_ui/draw_ready_print.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_set.h | 4 +- .../lcd/extui/lib/mks_ui/draw_step_settings.h | 4 +- .../lib/mks_ui/draw_tmc_current_settings.cpp | 1 + .../lib/mks_ui/draw_tmc_current_settings.h | 4 +- .../lib/mks_ui/draw_tmc_step_mode_settings.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_tool.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h | 2 +- Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h | 4 +- .../extui/lib/mks_ui/printer_operation.cpp | 1 + .../lcd/extui/lib/mks_ui/printer_operation.h | 4 +- Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h | 4 +- Marlin/src/lcd/tft/st7796s.h | 168 +++++++++--------- Marlin/src/pins/pins.h | 20 +-- 66 files changed, 296 insertions(+), 320 deletions(-) diff --git a/Marlin/src/HAL/DUE/usb/compiler.h b/Marlin/src/HAL/DUE/usb/compiler.h index 7b746543c4c6..879007fa2a90 100644 --- a/Marlin/src/HAL/DUE/usb/compiler.h +++ b/Marlin/src/HAL/DUE/usb/compiler.h @@ -173,11 +173,11 @@ # define __always_inline __forceinline #elif (defined __GNUC__) #ifdef __always_inline -# undef __always_inline +# undef __always_inline #endif -# define __always_inline inline __attribute__((__always_inline__)) +# define __always_inline inline __attribute__((__always_inline__)) #elif (defined __ICCARM__) -# define __always_inline _Pragma("inline=forced") +# define __always_inline _Pragma("inline=forced") #endif /** @@ -188,11 +188,11 @@ * heuristics and not inline the function. */ #ifdef __CC_ARM -# define __no_inline __attribute__((noinline)) +# define __no_inline __attribute__((noinline)) #elif (defined __GNUC__) -# define __no_inline __attribute__((__noinline__)) +# define __no_inline __attribute__((__noinline__)) #elif (defined __ICCARM__) -# define __no_inline _Pragma("inline=never") +# define __no_inline _Pragma("inline=never") #endif /*! \brief This macro is used to test fatal errors. @@ -211,9 +211,9 @@ # else #undef TEST_SUITE_DEFINE_ASSERT_MACRO # define Assert(expr) \ - {\ - if (!(expr)) while (true);\ - } + {\ + if (!(expr)) while (true);\ + } # endif #else # define Assert(expr) ((void) 0) @@ -1106,17 +1106,16 @@ static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data) /* Converts a 8 Byte array into a 32-Bit value */ static inline uint32_t convert_byte_array_to_32_bit(uint8_t *data) { - union - { - uint32_t u32; - uint8_t u8[8]; - }long_addr; - uint8_t index; - for (index = 0; index < 4; index++) - { - long_addr.u8[index] = *data++; - } - return long_addr.u32; + union + { + uint32_t u32; + uint8_t u8[8]; + }long_addr; + uint8_t index; + for (index = 0; index < 4; index++) { + long_addr.u8[index] = *data++; + } + return long_addr.u32; } /** diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp index f11fab39dbad..3a080d5e271e 100644 --- a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp +++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp @@ -87,7 +87,7 @@ void TFT_FSMC::Init() { __HAL_RCC_FSMC_CLK_ENABLE(); - for(uint16_t i = 0; PinMap_FSMC[i].pin != NC; i++) + for (uint16_t i = 0; PinMap_FSMC[i].pin != NC; i++) pinmap_pinout(PinMap_FSMC[i].pin, PinMap_FSMC); pinmap_pinout(digitalPinToPinName(TFT_CS_PIN), PinMap_FSMC_CS); pinmap_pinout(digitalPinToPinName(TFT_RS_PIN), PinMap_FSMC_RS); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp index 0c38c8216c1d..6a635b9ddb94 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp @@ -188,7 +188,7 @@ bool UIFlashStorage::is_present = false; } void UIFlashStorage::initialize() { - for(uint8_t i = 0; i < 10; i++) { + for (uint8_t i = 0; i < 10; i++) { if (check_known_device()) { is_present = true; break; @@ -239,7 +239,7 @@ bool UIFlashStorage::is_present = false; uint16_t stride = 4 + block_size; int32_t read_offset = -1; - for(uint32_t offset = 0; offset < (data_storage_area_size - stride); offset += stride) { + for (uint32_t offset = 0; offset < (data_storage_area_size - stride); offset += stride) { uint32_t delim; spi_read_begin(offset); spi_read_bulk (&delim, sizeof(delim)); @@ -395,9 +395,8 @@ bool UIFlashStorage::is_present = false; uint32_t UIFlashStorage::get_media_file_start(uint8_t slot) { uint32_t addr = media_storage_addr + sizeof(uint32_t) * media_storage_slots; spi_read_begin(media_storage_addr); - for(uint8_t i = 0; i < slot; i++) { + for (uint8_t i = 0; i < slot; i++) addr += spi_read_32(); - } spi_read_end(); return addr; } @@ -442,7 +441,7 @@ bool UIFlashStorage::is_present = false; addr = get_media_file_start(slot); // Write out the file itself - for(;;) { + for (;;) { const int16_t nBytes = reader.read(buff, write_page_size); if (nBytes == -1) { SERIAL_ECHOLNPGM("Failed to read from file"); @@ -450,8 +449,7 @@ bool UIFlashStorage::is_present = false; } addr = write(addr, buff, nBytes); - if (nBytes != write_page_size) - break; + if (nBytes != write_page_size) break; TERN_(EXTENSIBLE_UI, ExtUI::yield()); } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/dl_cache.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/dl_cache.cpp index f736916a3be4..baed9f8502fe 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/dl_cache.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/dl_cache.cpp @@ -69,9 +69,8 @@ using namespace FTDI; void DLCache::init() { CLCD::mem_write_32(DL_FREE_ADDR, DL_FREE_ADDR + 4); - for(uint8_t slot = 0; slot < DL_CACHE_SLOTS; slot++) { + for (uint8_t slot = 0; slot < DL_CACHE_SLOTS; slot++) save_slot(slot, 0, 0, 0); - } } bool DLCache::has_data() { diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/grid_layout.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/grid_layout.h index 1975d36af716..e3c3ebb39d5a 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/grid_layout.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/grid_layout.h @@ -74,12 +74,12 @@ #define DRAW_LAYOUT_GRID \ { \ cmd.cmd(LINE_WIDTH(4)); \ - for(int i = 1; i <= GRID_COLS; i++) { \ + for (int i = 1; i <= GRID_COLS; i++) { \ cmd.cmd(BEGIN(LINES)); \ cmd.cmd(VERTEX2F(GRID_X(i) *16, 0 *16)); \ cmd.cmd(VERTEX2F(GRID_X(i) *16, FTDI::display_height *16)); \ } \ - for(int i = 1; i < GRID_ROWS; i++) { \ + for (int i = 1; i < GRID_ROWS; i++) { \ cmd.cmd(BEGIN(LINES)); \ cmd.cmd(VERTEX2F(0 *16, GRID_Y(i) *16)); \ cmd.cmd(VERTEX2F(FTDI::display_width *16, GRID_Y(i) *16)); \ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.cpp index bebee5467da7..57a9e3e89b0a 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.cpp @@ -26,7 +26,7 @@ /********************** VIRTUAL DISPATCH DATA TYPE ******************************/ uint8_t ScreenRef::lookupScreen(onRedraw_func_t onRedraw_ptr) { - for(uint8_t type = 0; type < functionTableSize; type++) { + for (uint8_t type = 0; type < functionTableSize; type++) { if (GET_METHOD(type, onRedraw) == onRedraw_ptr) { return type; } @@ -50,9 +50,8 @@ void ScreenRef::setScreen(onRedraw_func_t onRedraw_ptr) { } void ScreenRef::initializeAll() { - for(uint8_t type = 0; type < functionTableSize; type++) { + for (uint8_t type = 0; type < functionTableSize; type++) GET_METHOD(type, onStartup)(); - } } /********************** SCREEN STACK ******************************/ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_box.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_box.cpp index 9600bd128946..3616f15ab620 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_box.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_box.cpp @@ -34,7 +34,7 @@ namespace FTDI { const char *p = str; end = str; uint16_t lw = 0, result = 0; - for(;;) { + for (;;) { utf8_char_t c = get_utf8_char_and_inc(p); if (c == ' ' || c == '\n' || c == '\0') { if (lw < w || end == str) { @@ -60,7 +60,7 @@ namespace FTDI { const char *line_end; const uint16_t wrap_width = width; width = height = 0; - for(;;) { + for (;;) { uint16_t line_width = find_line_break(fm, wrap_width, line_start, line_end); if (line_end == line_start) break; width = max(width, line_width); @@ -78,7 +78,7 @@ namespace FTDI { FontMetrics fm(font); // Shrink the font until we find a font that fits - for(;;) { + for (;;) { box_width = w; measure_text_box(fm, str, box_width, box_height); if (box_width <= (uint16_t)w && box_height <= (uint16_t)h) break; @@ -91,7 +91,7 @@ namespace FTDI { const char *line_start = str; const char *line_end; - for(;;) { + for (;;) { find_line_break(fm, w, line_start, line_end); if (line_end == line_start) break; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp index 266b6efdab1e..b2f62f060ccc 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/text_ellipsis.cpp @@ -37,13 +37,13 @@ namespace FTDI { // split and still allow the ellipsis to fit. int16_t lineWidth = 0; char *breakPoint = str; - for(char* c = str; *c; c++) { + for (char* c = str; *c; c++) { lineWidth += fm.get_char_width(*c); - if(lineWidth + ellipsisWidth < w) + if (lineWidth + ellipsisWidth < w) breakPoint = c; } - if(lineWidth > w) { + if (lineWidth > w) { *breakPoint = '\0'; strcpy_P(breakPoint,PSTR("...")); } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp index 5f7c8d3b9990..a11609dd97d2 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp @@ -253,7 +253,7 @@ void BedMeshScreen::drawHighlightedPointValue() { .tag(1).button( OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY)) .tag(0); - switch(screen_data.BedMeshScreen.message) { + switch (screen_data.BedMeshScreen.message) { case screen_data.BedMeshScreen.MSG_MESH_COMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); break; case screen_data.BedMeshScreen.MSG_MESH_INCOMPLETE: cmd.text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_INCOMPLETE)); break; default: break; @@ -321,7 +321,7 @@ bool BedMeshScreen::isMeshComplete(ExtUI::bed_mesh_t data) { } void BedMeshScreen::onMeshUpdate(const int8_t x, const int8_t y, const ExtUI::probe_state_t state) { - switch(state) { + switch (state) { case ExtUI::MESH_START: screen_data.BedMeshScreen.count = 0; screen_data.BedMeshScreen.message = screen_data.BedMeshScreen.MSG_NONE; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp index dd0eb263d5fa..f4c224dbe8cf 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/files_screen.cpp @@ -115,7 +115,7 @@ void FilesScreen::drawFileList() { #define MARGIN_T 0 #define MARGIN_B 0 uint16_t fileIndex = screen_data.FilesScreen.cur_page * files_per_page; - for(uint8_t i = 0; i < files_per_page; i++, fileIndex++) { + for (uint8_t i = 0; i < files_per_page; i++, fileIndex++) { if (files.seek(fileIndex)) { drawFileButton(files.filename(), getTagForLine(i), files.isDir(), false); } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp index def31e4a403f..c806ef499b65 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp @@ -222,7 +222,7 @@ void InterfaceSettingsScreen::saveSettings(char *buff) { eeprom.touch_transform_f = CLCD::mem_read_32(CLCD::REG::TOUCH_TRANSFORM_F); eeprom.display_h_offset_adj = CLCD::mem_read_16(CLCD::REG::HOFFSET) - FTDI::Hoffset; eeprom.display_v_offset_adj = CLCD::mem_read_16(CLCD::REG::VOFFSET) - FTDI::Voffset; - for(uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++) + for (uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++) eeprom.event_sounds[i] = InterfaceSoundsScreen::event_sounds[i]; memcpy(buff, &eeprom, sizeof(eeprom)); @@ -251,7 +251,7 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) { CLCD::mem_write_32(CLCD::REG::TOUCH_TRANSFORM_F, eeprom.touch_transform_f); CLCD::mem_write_16(CLCD::REG::HOFFSET, eeprom.display_h_offset_adj + FTDI::Hoffset); CLCD::mem_write_16(CLCD::REG::VOFFSET, eeprom.display_v_offset_adj + FTDI::Voffset); - for(uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++) + for (uint8_t i = 0; i < InterfaceSoundsScreen::NUM_EVENTS; i++) InterfaceSoundsScreen::event_sounds[i] = eeprom.event_sounds[i]; TERN_(TOUCH_UI_DEVELOPER_MENU, StressTestScreen::startupCheck()); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_sounds_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_sounds_screen.cpp index 6c05c3a887ad..25a44c1adbb5 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_sounds_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_sounds_screen.cpp @@ -43,7 +43,7 @@ void InterfaceSoundsScreen::toggleSoundSelection(event_t event) { } void InterfaceSoundsScreen::setSoundSelection(event_t event, const SoundPlayer::sound_t* sound) { - for(uint8_t i = 0; i < SoundList::n; i++) + for (uint8_t i = 0; i < SoundList::n; i++) if (SoundList::data(i) == sound) event_sounds[event] = i; } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp index 6b258b53893b..fc7453fca70f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp @@ -176,11 +176,7 @@ void StatusScreen::draw_temperature(draw_mode_t what) { char bed_str[20]; char fan_str[20]; - sprintf_P( - fan_str, - PSTR("%-3d %%"), - int8_t(getActualFan_percent(FAN0)) - ); + sprintf_P(fan_str, PSTR("%-3d %%"), int8_t(getActualFan_percent(FAN0))); if (isHeaterIdle(BED)) format_temp_and_idle(bed_str, getActualTemp_celsius(BED)); @@ -193,16 +189,13 @@ void StatusScreen::draw_temperature(draw_mode_t what) { format_temp_and_temp(e0_str, getActualTemp_celsius(H0), getTargetTemp_celsius(H0)); - #if EXTRUDERS == 2 + #if HAS_MULTI_EXTRUDER if (isHeaterIdle(H1)) format_temp_and_idle(e1_str, getActualTemp_celsius(H1)); else format_temp_and_temp(e1_str, getActualTemp_celsius(H1), getTargetTemp_celsius(H1)); #else - strcpy_P( - e1_str, - PSTR("-") - ); + strcpy_P(e1_str, PSTR("-")); #endif cmd.tag(5) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp index 0f1fdaceaca5..44ee453f15e6 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stress_test_screen.cpp @@ -38,7 +38,7 @@ using namespace ExtUI; void StressTestScreen::drawDots(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { CommandProcessor cmd; - for(uint8_t i = 0; i < 100; i++) { + for (uint8_t i = 0; i < 100; i++) { cmd.cmd(BEGIN(POINTS)) .cmd(POINT_SIZE(20*16)) .cmd(COLOR_RGB(random(0xFFFFFF))) @@ -111,7 +111,7 @@ void StressTestScreen::recursiveLockup() { void StressTestScreen::iterativeLockup() { screen_data.StressTestScreen.message = PSTR("Test 3: Printer will restart."); - for(;;) current_screen.onRefresh(); + for (;;) current_screen.onRefresh(); } void StressTestScreen::onIdle() { diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp index 94a865d04557..e2df14a36b56 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp @@ -75,7 +75,7 @@ void lv_draw_about(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create an Image button buttonBack = lv_imgbtn_create(scr, NULL); #if 1 @@ -88,8 +88,8 @@ void lv_draw_about(void) { lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - /*Create a label on the Image button*/ + // Create a label on the image button label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.h index 4c6c288d088d..2ee7ec04c61a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_about(void); @@ -30,5 +30,5 @@ extern void lv_clear_about(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.h index b5b62fdc4ca1..6ab49713c9dd 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_acceleration_settings(void); extern void lv_clear_acceleration_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.h index bfd76125bb8a..84e4a4d4cf60 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_advance_settings(void); extern void lv_clear_advance_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp index 3589b96d6a9a..cc3f847bced7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp @@ -73,7 +73,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = planner.flow_percentage[0]; planner.refresh_e_factor(1); - } + #endif } disp_print_speed(); } @@ -98,10 +98,10 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { //planner.flow_percentage[1] = planner.flow_percentage[0]; //planner.e_factor[1]= planner.flow_percentage[1] * 0.01; planner.refresh_e_factor(0); - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = planner.flow_percentage[0]; planner.refresh_e_factor(1); - } + #endif } disp_print_speed(); } @@ -177,7 +177,7 @@ void lv_draw_change_speed(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create an Image button buttonAdd = lv_imgbtn_create(scr, NULL); buttonDec = lv_imgbtn_create(scr, NULL); buttonMov = lv_imgbtn_create(scr, NULL); @@ -228,7 +228,7 @@ void lv_draw_change_speed(void) { lv_obj_set_pos(buttonStep, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonAdd, LV_LAYOUT_OFF); lv_btn_set_layout(buttonDec, LV_LAYOUT_OFF); lv_btn_set_layout(buttonMov, LV_LAYOUT_OFF); @@ -236,12 +236,12 @@ void lv_draw_change_speed(void) { lv_btn_set_layout(buttonStep, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelAdd = lv_label_create(buttonAdd, NULL); - lv_obj_t * labelDec = lv_label_create(buttonDec, NULL); - labelMov = lv_label_create(buttonMov, NULL); - labelExt = lv_label_create(buttonExt, NULL); - labelStep = lv_label_create(buttonStep, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *labelAdd = lv_label_create(buttonAdd, NULL); + lv_obj_t *labelDec = lv_label_create(buttonDec, NULL); + labelMov = lv_label_create(buttonMov, NULL); + labelExt = lv_label_create(buttonExt, NULL); + labelStep = lv_label_create(buttonStep, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelAdd, speed_menu.add); @@ -286,7 +286,7 @@ void disp_speed_step() { } void disp_print_speed() { - char buf[30] = {0}; + char buf[30] = { 0 }; public_buf_l[0] = '\0'; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.h index d071da20bb11..c4996a3ef732 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #define MIN_EXT_SPEED_PERCENT 10 @@ -36,5 +36,5 @@ extern void disp_speed_type(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h index a5b829a2cf94..f08c7b779ae1 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #define DIALOG_TYPE_STOP 0 @@ -79,5 +79,5 @@ extern void lv_clear_dialog(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.h index da699353babd..6d5ecf0870eb 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_eeprom_settings(void); extern void lv_clear_eeprom_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.h index 010b612ff708..8f64d67f93da 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #ifndef PGM_P @@ -34,5 +34,5 @@ extern void lv_clear_error_message(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp index 95d0a15bea72..9f5977d70c70 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp @@ -100,9 +100,9 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.inject_P(PSTR("T0")); } } - else { + else uiCfg.curSprayerChoose = 0; - } + extructAmount = 0; disp_hotend_temp(); disp_ext_type(); @@ -149,7 +149,6 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } } - void lv_draw_extrusion(void) { lv_obj_t *buttonAdd, *buttonDec, *buttonBack; @@ -174,7 +173,7 @@ void lv_draw_extrusion(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create image buttons buttonAdd = lv_imgbtn_create(scr, NULL); buttonDec = lv_imgbtn_create(scr, NULL); buttoType = lv_imgbtn_create(scr, NULL); @@ -224,7 +223,7 @@ void lv_draw_extrusion(void) { lv_obj_set_pos(buttonSpeed, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonAdd, LV_LAYOUT_OFF); lv_btn_set_layout(buttonDec, LV_LAYOUT_OFF); lv_btn_set_layout(buttoType, LV_LAYOUT_OFF); @@ -232,12 +231,12 @@ void lv_draw_extrusion(void) { lv_btn_set_layout(buttonSpeed, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelAdd = lv_label_create(buttonAdd, NULL); - lv_obj_t * labelDec = lv_label_create(buttonDec, NULL); - labelType = lv_label_create(buttoType, NULL); - labelStep = lv_label_create(buttonStep, NULL); - labelSpeed = lv_label_create(buttonSpeed, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *labelAdd = lv_label_create(buttonAdd, NULL); + lv_obj_t *labelDec = lv_label_create(buttonDec, NULL); + labelType = lv_label_create(buttoType, NULL); + labelStep = lv_label_create(buttonStep, NULL); + labelSpeed = lv_label_create(buttonSpeed, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelAdd, extrude_menu.in); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.h index a7b2afcd8ab5..576cc6c66c15 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_extrusion(void); @@ -35,5 +35,5 @@ extern void disp_extru_amount(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp index 4dcac62aeefd..e1975aca7e9c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp @@ -140,12 +140,12 @@ void lv_draw_fan(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ - buttonAdd = lv_imgbtn_create(scr, NULL); - buttonDec = lv_imgbtn_create(scr, NULL); + // Create an Image button + buttonAdd = lv_imgbtn_create(scr, NULL); + buttonDec = lv_imgbtn_create(scr, NULL); buttonHigh = lv_imgbtn_create(scr, NULL); - buttonMid = lv_imgbtn_create(scr, NULL); - buttonOff = lv_imgbtn_create(scr, NULL); + buttonMid = lv_imgbtn_create(scr, NULL); + buttonOff = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_F_ADD, "bmp_Add.bin", 0); @@ -154,6 +154,7 @@ void lv_draw_fan(void) { lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW); + #if 1 lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_F_DEC, "bmp_Dec.bin", 0); lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, &bmp_pic); @@ -184,6 +185,7 @@ void lv_draw_fan(void) { lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #endif lv_obj_set_pos(buttonAdd, INTERVAL_V, titleHeight); @@ -193,7 +195,7 @@ void lv_draw_fan(void) { lv_obj_set_pos(buttonOff, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonAdd, LV_LAYOUT_OFF); lv_btn_set_layout(buttonDec, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHigh, LV_LAYOUT_OFF); @@ -201,13 +203,12 @@ void lv_draw_fan(void) { lv_btn_set_layout(buttonOff, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelAdd = lv_label_create(buttonAdd, NULL); - lv_obj_t * labelDec = lv_label_create(buttonDec, NULL); - lv_obj_t * labelHigh = lv_label_create(buttonHigh, NULL); - lv_obj_t * labelMid = lv_label_create(buttonMid, NULL); - lv_obj_t * labelOff = lv_label_create(buttonOff, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); - + lv_obj_t *labelAdd = lv_label_create(buttonAdd, NULL); + lv_obj_t *labelDec = lv_label_create(buttonDec, NULL); + lv_obj_t *labelHigh = lv_label_create(buttonHigh, NULL); + lv_obj_t *labelMid = lv_label_create(buttonMid, NULL); + lv_obj_t *labelOff = lv_label_create(buttonOff, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelAdd, fan_menu.add); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.h index ef17885926f8..602d02c6c044 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_fan(void); @@ -31,5 +31,5 @@ extern void disp_fan_value(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp index 35d442ebae76..595d1078c76a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp @@ -96,7 +96,6 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { lv_draw_tool(); } break; - } } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.h index e93c0a0fad88..c5060127a876 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_home(void); @@ -30,5 +30,5 @@ extern void lv_clear_home(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.h index 5badcde52932..0531dae9da96 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_jerk_settings(void); extern void lv_clear_jerk_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp index 65d0961248ed..9029f6868c02 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp @@ -246,7 +246,7 @@ void lv_draw_language(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create image buttons buttonCN = lv_imgbtn_create(scr, NULL); buttonT_CN = lv_imgbtn_create(scr, NULL); buttonEN = lv_imgbtn_create(scr, NULL); @@ -304,6 +304,7 @@ void lv_draw_language(void) { lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #endif // if 1 lv_obj_set_pos(buttonCN, INTERVAL_V, titleHeight); @@ -315,7 +316,7 @@ void lv_draw_language(void) { lv_obj_set_pos(buttonIT, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonCN, LV_LAYOUT_OFF); lv_btn_set_layout(buttonT_CN, LV_LAYOUT_OFF); lv_btn_set_layout(buttonEN, LV_LAYOUT_OFF); @@ -325,14 +326,14 @@ void lv_draw_language(void) { lv_btn_set_layout(buttonIT, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * label_CN = lv_label_create(buttonCN, NULL); - lv_obj_t * label_T_CN = lv_label_create(buttonT_CN, NULL); - lv_obj_t * label_EN = lv_label_create(buttonEN, NULL); - lv_obj_t * label_RU = lv_label_create(buttonRU, NULL); - lv_obj_t * label_ES = lv_label_create(buttonES, NULL); - lv_obj_t * label_FR = lv_label_create(buttonFR, NULL); - lv_obj_t * label_IT = lv_label_create(buttonIT, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *label_CN = lv_label_create(buttonCN, NULL); + lv_obj_t *label_T_CN = lv_label_create(buttonT_CN, NULL); + lv_obj_t *label_EN = lv_label_create(buttonEN, NULL); + lv_obj_t *label_RU = lv_label_create(buttonRU, NULL); + lv_obj_t *label_ES = lv_label_create(buttonES, NULL); + lv_obj_t *label_FR = lv_label_create(buttonFR, NULL); + lv_obj_t *label_IT = lv_label_create(buttonIT, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); disp_language(gCfgItems.language, SELECTED); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.h index 4b6b2b022169..ca6d40bfc3ca 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_language(void); @@ -30,5 +30,5 @@ extern void lv_clear_language(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.h index d75df293b11c..e830f75db7e5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_machine_para(void); extern void lv_clear_machine_para(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.h index 37029c85c43c..38d02e718948 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_machine_settings(void); extern void lv_clear_machine_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp index ab4d9eb881ee..6530b1554c47 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp @@ -187,7 +187,7 @@ void lv_draw_manualLevel(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create an Image button buttonPoint1 = lv_imgbtn_create(scr, NULL); buttonPoint2 = lv_imgbtn_create(scr, NULL); buttonPoint3 = lv_imgbtn_create(scr, NULL); @@ -240,7 +240,7 @@ void lv_draw_manualLevel(void) { lv_obj_set_pos(buttonPoint5, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonPoint1, LV_LAYOUT_OFF); lv_btn_set_layout(buttonPoint2, LV_LAYOUT_OFF); lv_btn_set_layout(buttonPoint3, LV_LAYOUT_OFF); @@ -248,12 +248,12 @@ void lv_draw_manualLevel(void) { lv_btn_set_layout(buttonPoint5, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * label_Point1 = lv_label_create(buttonPoint1, NULL); - lv_obj_t * label_Point2 = lv_label_create(buttonPoint2, NULL); - lv_obj_t * label_Point3 = lv_label_create(buttonPoint3, NULL); - lv_obj_t * label_Point4 = lv_label_create(buttonPoint4, NULL); - lv_obj_t * label_Point5 = lv_label_create(buttonPoint5, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *label_Point1 = lv_label_create(buttonPoint1, NULL); + lv_obj_t *label_Point2 = lv_label_create(buttonPoint2, NULL); + lv_obj_t *label_Point3 = lv_label_create(buttonPoint3, NULL); + lv_obj_t *label_Point4 = lv_label_create(buttonPoint4, NULL); + lv_obj_t *label_Point5 = lv_label_create(buttonPoint5, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(label_Point1, leveling_menu.position1); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.h index 4ec33afce397..cfa10370e128 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_manualLevel(void); @@ -30,5 +30,5 @@ extern void lv_clear_manualLevel(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.h index 24edae27e415..78caca5adea4 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_max_feedrate_settings(void); extern void lv_clear_max_feedrate_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.h index bae1918ad581..9a1c7a4db517 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_motor_settings(void); extern void lv_clear_motor_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp index e0d29467e616..24abadb57c9a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp @@ -34,7 +34,7 @@ static lv_obj_t * scr; -static lv_obj_t * labelV, *buttonV; +static lv_obj_t *labelV, *buttonV; #define ID_M_X_P 1 #define ID_M_X_N 2 @@ -181,7 +181,7 @@ void lv_draw_move_motor(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create an Image button buttonXI = lv_imgbtn_create(scr, NULL); buttonXD = lv_imgbtn_create(scr, NULL); buttonYI = lv_imgbtn_create(scr, NULL); @@ -249,7 +249,7 @@ void lv_draw_move_motor(void) { lv_obj_set_pos(buttonZD, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonXI, LV_LAYOUT_OFF); lv_btn_set_layout(buttonXD, LV_LAYOUT_OFF); lv_btn_set_layout(buttonYI, LV_LAYOUT_OFF); @@ -259,14 +259,14 @@ void lv_draw_move_motor(void) { lv_btn_set_layout(buttonV, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelXI = lv_label_create(buttonXI, NULL); - lv_obj_t * labelXD = lv_label_create(buttonXD, NULL); - lv_obj_t * labelYI = lv_label_create(buttonYI, NULL); - lv_obj_t * labelYD = lv_label_create(buttonYD, NULL); - lv_obj_t * labelZI = lv_label_create(buttonZI, NULL); - lv_obj_t * labelZD = lv_label_create(buttonZD, NULL); + lv_obj_t *labelXI = lv_label_create(buttonXI, NULL); + lv_obj_t *labelXD = lv_label_create(buttonXD, NULL); + lv_obj_t *labelYI = lv_label_create(buttonYI, NULL); + lv_obj_t *labelYD = lv_label_create(buttonYD, NULL); + lv_obj_t *labelZI = lv_label_create(buttonZI, NULL); + lv_obj_t *labelZD = lv_label_create(buttonZD, NULL); labelV = lv_label_create(buttonV, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelXI, move_menu.x_add); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.h index c2583c7ef346..fdbb61f6f95f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_move_motor(void); @@ -31,5 +31,5 @@ extern void disp_move_dist(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp index 7a4e7257e203..2fe32b04c934 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp @@ -34,8 +34,9 @@ #include "../../../../MarlinCore.h" #include "../../../../module/temperature.h" #include "../../../../gcode/queue.h" + #if ENABLED(POWER_LOSS_RECOVERY) - #include "../../../../../feature/powerloss.h" + #include "../../../../feature/powerloss.h" #endif #include "../../../../gcode/gcode.h" @@ -253,15 +254,12 @@ static void set_value_confirm() { switch (value) { case PrintAcceleration: planner.settings.acceleration = atof(key_value); - break; case RetractAcceleration: planner.settings.retract_acceleration = atof(key_value); - break; case TravelAcceleration: planner.settings.travel_acceleration = atof(key_value); - break; case XAcceleration: planner.settings.max_acceleration_mm_per_s2[X_AXIS] = atof(key_value); @@ -293,7 +291,6 @@ static void set_value_confirm() { case E1MaxFeedRate: planner.settings.max_feedrate_mm_s[E_AXIS_N(1)] = atof(key_value); break; - case XJerk: #if HAS_CLASSIC_JERK planner.max_jerk[X_AXIS] = atof(key_value); @@ -314,7 +311,6 @@ static void set_value_confirm() { planner.max_jerk[E_AXIS] = atof(key_value); #endif break; - case Xstep: planner.settings.axis_steps_per_mm[X_AXIS] = atof(key_value); break; @@ -330,43 +326,36 @@ static void set_value_confirm() { case E1step: planner.settings.axis_steps_per_mm[E_AXIS_N(1)] = atof(key_value); break; - case Xcurrent: #if AXIS_IS_TMC(X) current_mA = atoi(key_value); stepperX.rms_current(current_mA); #endif break; - case Ycurrent: #if AXIS_IS_TMC(Y) current_mA = atoi(key_value); stepperY.rms_current(current_mA); #endif break; - case Zcurrent: #if AXIS_IS_TMC(Z) current_mA = atoi(key_value); stepperZ.rms_current(current_mA); #endif break; - case E0current: #if AXIS_IS_TMC(E0) current_mA = atoi(key_value); stepperE0.rms_current(current_mA); #endif break; - case E1current: #if AXIS_IS_TMC(E1) current_mA = atoi(key_value); stepperE1.rms_current(current_mA); #endif break; - - break; case pause_pos_x: gCfgItems.pausePosX = atof(key_value); update_spi_flash(); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.h index d35cee63439c..7902da36493a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_number_key(void); extern void lv_clear_number_key(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.h index e2eaaf06a499..cca1f6a2a5aa 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_operation(void); @@ -30,5 +30,5 @@ extern void lv_clear_operation(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_message.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_message.h index ce541ee68b8d..7d55d8375601 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_message.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_message.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_pause_message(const PauseMessage msg); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.h index 5f1b4dc96091..3e9e0798271b 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_pause_position(void); extern void lv_clear_pause_position(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp index 196522b8d42d..ff7641ddfda3 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp @@ -267,7 +267,7 @@ void lv_draw_preHeat(void) { lv_obj_set_pos(buttonOff, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonAdd, LV_LAYOUT_OFF); lv_btn_set_layout(buttonDec, LV_LAYOUT_OFF); lv_btn_set_layout(buttoType, LV_LAYOUT_OFF); @@ -275,13 +275,12 @@ void lv_draw_preHeat(void) { lv_btn_set_layout(buttonOff, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelAdd = lv_label_create(buttonAdd, NULL); - lv_obj_t * labelDec = lv_label_create(buttonDec, NULL); + lv_obj_t *labelAdd = lv_label_create(buttonAdd, NULL); + lv_obj_t *labelDec = lv_label_create(buttonDec, NULL); labelType = lv_label_create(buttoType, NULL); labelStep = lv_label_create(buttonStep, NULL); - lv_obj_t * labelOff = lv_label_create(buttonOff, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); - + lv_obj_t *labelOff = lv_label_create(buttonOff, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelAdd, preheat_menu.add); @@ -306,7 +305,6 @@ void lv_draw_preHeat(void) { } void disp_temp_type() { - if (uiCfg.curTempType == 0) { if (uiCfg.curSprayerChoose == 1) { lv_obj_set_event_cb_mks(buttoType, event_handler, ID_P_TYPE, "bmp_extru2.bin", 0); @@ -331,7 +329,6 @@ void disp_temp_type() { lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } - } void disp_desire_temp() { diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.h index db0e3617641b..c8de942f3f60 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_preHeat(void); @@ -33,5 +33,5 @@ extern void disp_desire_temp(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp index 33405a905fe4..13a92269f8a0 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp @@ -305,6 +305,7 @@ void disp_gcode_icon(uint8_t file_num) { lv_refr_now(lv_refr_get_disp_refreshing()); + // Create image buttons buttonPageUp = lv_imgbtn_create(scr, NULL); buttonPageDown = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); @@ -334,8 +335,7 @@ void disp_gcode_icon(uint8_t file_num) { lv_obj_set_pos(buttonPageDown, OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight + OTHER_BTN_YPIEL + INTERVAL_H); lv_obj_set_pos(buttonBack, OTHER_BTN_XPIEL * 3 + INTERVAL_V * 4, titleHeight + OTHER_BTN_YPIEL * 2 + INTERVAL_H * 2); - /*Create a label on the Image button*/ - + // Create labels on the image buttons lv_btn_set_layout(buttonPageUp, LV_LAYOUT_OFF); lv_btn_set_layout(buttonPageDown, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h index 987282c07906..226e4f668e93 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif typedef struct { @@ -61,5 +61,5 @@ extern void lv_clear_print_file(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.h index 1f7d9f909def..b7d464e4f093 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #define IDLE 0 @@ -48,5 +48,5 @@ extern void setProBarRate(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp index c987ddb0846b..38750d608d0d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp @@ -159,7 +159,7 @@ void lv_draw_ready_print(void) { //lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); //lv_label_set_text(title, creat_title_text()); - /*Create an Image button*/ + // Create image buttons //buttonPrint = lv_imgbtn_create(scr, NULL); buttonTool = lv_imgbtn_create(scr, NULL); //buttonSet = lv_imgbtn_create(scr, NULL); @@ -196,14 +196,14 @@ void lv_draw_ready_print(void) { //lv_obj_set_pos(buttonSet,BTN_X_PIXEL+SIMPLE_FIRST_PAGE_GRAP*2+1,(TFT_HEIGHT-BTN_Y_PIXEL)/2+2); //lv_obj_set_pos(buttonPrint,BTN_X_PIXEL*2+SIMPLE_FIRST_PAGE_GRAP*3+1,(TFT_HEIGHT-BTN_Y_PIXEL)/2+2); - /*Create a label on the Image button*/ + // Create labels on the image buttons //lv_btn_set_layout(buttonPrint, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonSet, LV_LAYOUT_OFF); lv_btn_set_layout(buttonTool, LV_LAYOUT_OFF); - //lv_obj_t * label_print = lv_label_create(buttonPrint, NULL); - //lv_obj_t * label_set = lv_label_create(buttonSet, NULL); - lv_obj_t * label_tool = lv_label_create(buttonTool, NULL); + //lv_obj_t *label_print = lv_label_create(buttonPrint, NULL); + //lv_obj_t *label_set = lv_label_create(buttonSet, NULL); + lv_obj_t *label_tool = lv_label_create(buttonTool, NULL); if (gCfgItems.multiple_language != 0) { //lv_label_set_text(label_print, main_menu.print); //lv_obj_align(label_print, buttonPrint, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.h index 9951beaa4172..5cefe8b59b36 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_ready_print(void); @@ -35,5 +35,5 @@ extern void lv_clear_ready_print(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_set.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_set.h index 1cb60b5681e3..b243bca296ad 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_set.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_set.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_set(void); @@ -30,5 +30,5 @@ extern void lv_clear_set(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.h index 1a5efda40825..b7eaeb4c61e3 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_step_settings(void); extern void lv_clear_step_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp index f1559e0f553e..24650ee9309f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp @@ -25,6 +25,7 @@ #include "lv_conf.h" #include "draw_ui.h" + #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" #include "../../../../module/stepper/indirection.h" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.h index 46463dd3c6d1..927db37138e6 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.h @@ -22,13 +22,13 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_tmc_current_settings(void); extern void lv_clear_tmc_current_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.h index 93085b7ca16b..35c57ab0cc01 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.h @@ -22,12 +22,12 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_tmc_step_mode_settings(void); extern void lv_clear_tmc_step_mode_settings(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp index 91dd2f36ab9e..a2d0937e4767 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp @@ -140,7 +140,7 @@ void lv_draw_tool(void) { LV_IMG_DECLARE(bmp_pic); - /*Create an Image button*/ + // Create image buttons buttonPreHeat = lv_imgbtn_create(scr, NULL); buttonExtrusion = lv_imgbtn_create(scr, NULL); buttonMove = lv_imgbtn_create(scr, NULL); @@ -210,7 +210,7 @@ void lv_draw_tool(void) { //lv_obj_set_pos(buttonMore,BTN_X_PIXEL*2+INTERVAL_V*3, BTN_Y_PIXEL+INTERVAL_H+titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonPreHeat, LV_LAYOUT_OFF); lv_btn_set_layout(buttonExtrusion, LV_LAYOUT_OFF); lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.h index 14be3bce4f26..8a033e2c40b9 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif extern void lv_draw_tool(void); @@ -30,5 +30,5 @@ extern void lv_clear_tool(); //extern void disp_temp_ready_print(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h index 21c3b6185ae1..8cd4670ffa8d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h @@ -328,5 +328,5 @@ extern void LV_TASK_HANDLER(); extern void lv_ex_line(lv_obj_t * line, lv_point_t *points); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index f1086fd1b941..24b2945d73e7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -124,7 +124,7 @@ #define VAR_INF_ADDR 0x000000 #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif union union32 { @@ -157,5 +157,5 @@ extern void default_view_Read(uint8_t *default_view_Rbuff, uint32_t default_view extern void flash_view_Read(uint8_t *flash_view_Rbuff, uint32_t flash_view_Readsize); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp index 138168b12fb0..2d03373a7f4f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp @@ -51,6 +51,7 @@ void printer_state_polling() { if (uiCfg.waitEndMoves > 20) { uiCfg.waitEndMoves = 0; planner.synchronize(); + gcode.process_subcommands_now_P(PSTR("M25")); if (gCfgItems.pausePosZ != (float)-1) { gcode.process_subcommands_now_P(PSTR("G91")); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.h b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.h index 9605d65085d7..f30415882451 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.h @@ -22,7 +22,7 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #define MIN_FILE_PRINTED 100 //5000 @@ -32,5 +32,5 @@ extern void filament_pin_setup(); extern void filament_check(); #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h index f7b0e0d31060..b2e19d66f8f8 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h @@ -22,9 +22,9 @@ #pragma once #ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ + extern "C" { /* C-declarations for C++ */ #endif #ifdef __cplusplus -} /* C-declarations for C++ */ + } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/tft/st7796s.h b/Marlin/src/lcd/tft/st7796s.h index 806977732cfb..10452293de0b 100644 --- a/Marlin/src/lcd/tft/st7796s.h +++ b/Marlin/src/lcd/tft/st7796s.h @@ -25,92 +25,92 @@ #include "../../inc/MarlinConfig.h" -#define ST7796S_MADCTL_MY 0x80 // Row Address Order -#define ST7796S_MADCTL_MX 0x40 // Column Address Order -#define ST7796S_MADCTL_MV 0x20 // Row/Column Exchange -#define ST7796S_MADCTL_ML 0x10 // Vertical Refresh Order -#define ST7796S_MADCTL_BGR 0x08 // RGB-BGR ORDER -#define ST7796S_MADCTL_RGB 0x00 -#define ST7796S_MADCTL_MH 0x04 // Horizontal Refresh Order +#define ST7796S_MADCTL_MY 0x80 // Row Address Order +#define ST7796S_MADCTL_MX 0x40 // Column Address Order +#define ST7796S_MADCTL_MV 0x20 // Row/Column Exchange +#define ST7796S_MADCTL_ML 0x10 // Vertical Refresh Order +#define ST7796S_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ST7796S_MADCTL_RGB 0x00 +#define ST7796S_MADCTL_MH 0x04 // Horizontal Refresh Order #define ST7796S_COLOR_BGR -#define ST7796S_ORIENTATION ST7796S_MADCTL_MV -#define ST7796S_MADCTL_DATA (ST7796S_ORIENTATION | TERN(ST7796S_COLOR_BGR, ST7796S_MADCTL_BGR, ST7796S_MADCTL_RGB)) - -#define ST7796S_NOP 0x00 // No Operation -#define ST7796S_SWRESET 0x01 // Software reset -#define ST7796S_RDDID 0x04 // Read Display ID -#define ST7796S_RDNUMED 0x05 // Read Number of the Errors on DSI -#define ST7796S_RDDST 0x09 // Read Display Status -#define ST7796S_RDDPM 0x0A // Read Display Power Mode -#define ST7796S_RDDMADCTL 0x0B // Read Display MADCTL -#define ST7796S_RDDCOLMOD 0x0C // Read Display Pixel Format -#define ST7796S_RDDIM 0x0D // Read Display Image Mode -#define ST7796S_RDDSM 0x0E // Read Display Signal Status -#define ST7796S_RDDSDR 0x0F // Read Display Self-Diagnostic Result -#define ST7796S_SLPIN 0x10 // Sleep In -#define ST7796S_SLPOUT 0x11 // Sleep Out -#define ST7796S_PTLON 0x12 // Partial Display Mode On -#define ST7796S_NORON 0x13 // Normal Display Mode On -#define ST7796S_INVOFF 0x20 // Display Inversion Off -#define ST7796S_INVON 0x21 // Display Inversion On -#define ST7796S_DISPOFF 0x28 // Display Off -#define ST7796S_DISPON 0x29 // Display On -#define ST7796S_CASET 0x2A // Column Address Set -#define ST7796S_RASET 0x2B // Row Address Set -#define ST7796S_RAMWR 0x2C // Memory Write -#define ST7796S_RAMRD 0x2E // Memory Read -#define ST7796S_PTLAR 0x30 // Partial Area -#define ST7796S_VSCRDEF 0x33 // Vertical Scrolling Definition -#define ST7796S_TEOFF 0x34 // Tearing Effect Line OFF -#define ST7796S_TEON 0x35 // Tearing Effect Line On -#define ST7796S_MADCTL 0x36 // Memory Data Access Control -#define ST7796S_VSCSAD 0x37 // Vertical Scroll Start Address of RAM -#define ST7796S_IDMOFF 0x38 // Idle Mode Off -#define ST7796S_IDMON 0x39 // Idle Mode On -#define ST7796S_COLMOD 0x3A // Interface Pixel Format -#define ST7796S_WRMEMC 0x3C // Write Memory Continue -#define ST7796S_RDMEMC 0x3E // Read Memory Continue -#define ST7796S_STE 0x44 // Set Tear ScanLine -#define ST7796S_GSCAN 0x45 // Get ScanLine -#define ST7796S_WRDISBV 0x51 // Write Display Brightness -#define ST7796S_RDDISBV 0x52 // Read Display Brightness Value -#define ST7796S_WRCTRLD 0x53 // Write CTRL Display -#define ST7796S_RDCTRLD 0x54 // Read CTRL value Display -#define ST7796S_WRCABC 0x55 // Write Adaptive Brightness Control -#define ST7796S_RDCABC 0x56 // Read Content Adaptive Brightness Control -#define ST7796S_WRCABCMB 0x5E // Write CABC Minimum Brightness -#define ST7796S_RDCABCMB 0x5F // Read CABC Minimum Brightness -#define ST7796S_RDFCS 0xAA // Read First Checksum -#define ST7796S_RDCFCS 0xAF // Read Continue Checksum -#define ST7796S_RDID1 0xDA // Read ID1 -#define ST7796S_RDID2 0xDB // Read ID2 -#define ST7796S_RDID3 0xDC // Read ID3 - -#define ST7796S_IFMODE 0xB0 // Interface Mode Control -#define ST7796S_FRMCTR1 0xB1 // Frame Rate Control (In Normal Mode/Full Colors) -#define ST7796S_FRMCTR2 0xB2 // Frame Rate Control 2 (In Idle Mode/8 colors) -#define ST7796S_FRMCTR3 0xB3 // Frame Rate Control 3(In Partial Mode/Full Colors) -#define ST7796S_DIC 0xB4 // Display Inversion Control -#define ST7796S_BPC 0xB5 // Blanking Porch Control -#define ST7796S_DFC 0xB6 // Display Function Control -#define ST7796S_EM 0xB7 // Entry Mode Set -#define ST7796S_PWR1 0xC0 // Power Control 1 -#define ST7796S_PWR2 0xC1 // Power Control 2 -#define ST7796S_PWR3 0xC2 // Power Control 3 -#define ST7796S_VCMPCTL 0xC5 // VCOM Control -#define ST7796S_VCMOST 0xC6 // VCOM Offset Register -#define ST7796S_NVMADW 0xD0 // NVM Address/Data Write -#define ST7796S_NVMBPROG 0xD1 // NVM Byte Program -#define ST7796S_NVMSTRD 0xD2 // NVM Status Read -#define ST7796S_RDID4 0xD3 // Read ID4 -#define ST7796S_PGC 0xE0 // Positive Gamma Control -#define ST7796S_NGC 0xE1 // Negative Gamma Control -#define ST7796S_DGC1 0xE2 // Digital Gamma Control 1 -#define ST7796S_DGC2 0xE3 // Digital Gamma Control 2 -#define ST7796S_DOCA 0xE8 // Display Output Ctrl Adjust -#define ST7796S_CSCON 0xF0 // Command Set Control -#define ST7796S_SPIRC 0xFB // SPI Read Control +#define ST7796S_ORIENTATION ST7796S_MADCTL_MV +#define ST7796S_MADCTL_DATA (ST7796S_ORIENTATION | TERN(ST7796S_COLOR_BGR, ST7796S_MADCTL_BGR, ST7796S_MADCTL_RGB)) + +#define ST7796S_NOP 0x00 // No Operation +#define ST7796S_SWRESET 0x01 // Software reset +#define ST7796S_RDDID 0x04 // Read Display ID +#define ST7796S_RDNUMED 0x05 // Read Number of the Errors on DSI +#define ST7796S_RDDST 0x09 // Read Display Status +#define ST7796S_RDDPM 0x0A // Read Display Power Mode +#define ST7796S_RDDMADCTL 0x0B // Read Display MADCTL +#define ST7796S_RDDCOLMOD 0x0C // Read Display Pixel Format +#define ST7796S_RDDIM 0x0D // Read Display Image Mode +#define ST7796S_RDDSM 0x0E // Read Display Signal Status +#define ST7796S_RDDSDR 0x0F // Read Display Self-Diagnostic Result +#define ST7796S_SLPIN 0x10 // Sleep In +#define ST7796S_SLPOUT 0x11 // Sleep Out +#define ST7796S_PTLON 0x12 // Partial Display Mode On +#define ST7796S_NORON 0x13 // Normal Display Mode On +#define ST7796S_INVOFF 0x20 // Display Inversion Off +#define ST7796S_INVON 0x21 // Display Inversion On +#define ST7796S_DISPOFF 0x28 // Display Off +#define ST7796S_DISPON 0x29 // Display On +#define ST7796S_CASET 0x2A // Column Address Set +#define ST7796S_RASET 0x2B // Row Address Set +#define ST7796S_RAMWR 0x2C // Memory Write +#define ST7796S_RAMRD 0x2E // Memory Read +#define ST7796S_PTLAR 0x30 // Partial Area +#define ST7796S_VSCRDEF 0x33 // Vertical Scrolling Definition +#define ST7796S_TEOFF 0x34 // Tearing Effect Line OFF +#define ST7796S_TEON 0x35 // Tearing Effect Line On +#define ST7796S_MADCTL 0x36 // Memory Data Access Control +#define ST7796S_VSCSAD 0x37 // Vertical Scroll Start Address of RAM +#define ST7796S_IDMOFF 0x38 // Idle Mode Off +#define ST7796S_IDMON 0x39 // Idle Mode On +#define ST7796S_COLMOD 0x3A // Interface Pixel Format +#define ST7796S_WRMEMC 0x3C // Write Memory Continue +#define ST7796S_RDMEMC 0x3E // Read Memory Continue +#define ST7796S_STE 0x44 // Set Tear ScanLine +#define ST7796S_GSCAN 0x45 // Get ScanLine +#define ST7796S_WRDISBV 0x51 // Write Display Brightness +#define ST7796S_RDDISBV 0x52 // Read Display Brightness Value +#define ST7796S_WRCTRLD 0x53 // Write CTRL Display +#define ST7796S_RDCTRLD 0x54 // Read CTRL value Display +#define ST7796S_WRCABC 0x55 // Write Adaptive Brightness Control +#define ST7796S_RDCABC 0x56 // Read Content Adaptive Brightness Control +#define ST7796S_WRCABCMB 0x5E // Write CABC Minimum Brightness +#define ST7796S_RDCABCMB 0x5F // Read CABC Minimum Brightness +#define ST7796S_RDFCS 0xAA // Read First Checksum +#define ST7796S_RDCFCS 0xAF // Read Continue Checksum +#define ST7796S_RDID1 0xDA // Read ID1 +#define ST7796S_RDID2 0xDB // Read ID2 +#define ST7796S_RDID3 0xDC // Read ID3 + +#define ST7796S_IFMODE 0xB0 // Interface Mode Control +#define ST7796S_FRMCTR1 0xB1 // Frame Rate Control (In Normal Mode/Full Colors) +#define ST7796S_FRMCTR2 0xB2 // Frame Rate Control 2 (In Idle Mode/8 colors) +#define ST7796S_FRMCTR3 0xB3 // Frame Rate Control 3(In Partial Mode/Full Colors) +#define ST7796S_DIC 0xB4 // Display Inversion Control +#define ST7796S_BPC 0xB5 // Blanking Porch Control +#define ST7796S_DFC 0xB6 // Display Function Control +#define ST7796S_EM 0xB7 // Entry Mode Set +#define ST7796S_PWR1 0xC0 // Power Control 1 +#define ST7796S_PWR2 0xC1 // Power Control 2 +#define ST7796S_PWR3 0xC2 // Power Control 3 +#define ST7796S_VCMPCTL 0xC5 // VCOM Control +#define ST7796S_VCMOST 0xC6 // VCOM Offset Register +#define ST7796S_NVMADW 0xD0 // NVM Address/Data Write +#define ST7796S_NVMBPROG 0xD1 // NVM Byte Program +#define ST7796S_NVMSTRD 0xD2 // NVM Status Read +#define ST7796S_RDID4 0xD3 // Read ID4 +#define ST7796S_PGC 0xE0 // Positive Gamma Control +#define ST7796S_NGC 0xE1 // Negative Gamma Control +#define ST7796S_DGC1 0xE2 // Digital Gamma Control 1 +#define ST7796S_DGC2 0xE3 // Digital Gamma Control 2 +#define ST7796S_DOCA 0xE8 // Display Output Ctrl Adjust +#define ST7796S_CSCON 0xF0 // Command Set Control +#define ST7796S_SPIRC 0xFB // SPI Read Control static const uint16_t st7796s_init[] = { DATASIZE_8BIT, diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 9dce52b4204f..d07d36339934 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -498,10 +498,10 @@ #include "stm32f1/pins_STM3R_MINI.h" // STM32F1 env:STM32F103RE #elif MB(GTM32_PRO_VB) #include "stm32f1/pins_GTM32_PRO_VB.h" // STM32F1 env:STM32F103RE -#elif MB(GTM32_MINI_A30) - #include "stm32f1/pins_GTM32_MINI_A30.h" // STM32F1 env:STM32F103RE #elif MB(GTM32_MINI) #include "stm32f1/pins_GTM32_MINI.h" // STM32F1 env:STM32F103RE +#elif MB(GTM32_MINI_A30) + #include "stm32f1/pins_GTM32_MINI_A30.h" // STM32F1 env:STM32F103RE #elif MB(GTM32_REV_B) #include "stm32f1/pins_GTM32_REV_B.h" // STM32F1 env:STM32F103RE #elif MB(MORPHEUS) @@ -518,6 +518,14 @@ #include "stm32f1/pins_MKS_ROBIN_NANO_V2.h" // STM32F1 env:mks_robin_nano35 #elif MB(MKS_ROBIN_LITE) #include "stm32f1/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite +#elif MB(MKS_ROBIN_LITE3) + #include "stm32f1/pins_MKS_ROBIN_LITE3.h" // STM32F1 env:mks_robin_lite3 +#elif MB(MKS_ROBIN_PRO) + #include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro +#elif MB(MKS_ROBIN_E3) + #include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3 +#elif MB(MKS_ROBIN_E3D) + #include "stm32f1/pins_MKS_ROBIN_E3D.h" // STM32F1 env:mks_robin_e3 #elif MB(BTT_SKR_MINI_V1_1) #include "stm32f1/pins_BTT_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_512K env:STM32F103RC_btt_USB env:STM32F103RC_btt_512K_USB #elif MB(BTT_SKR_MINI_E3_V1_0) @@ -538,14 +546,6 @@ #include "stm32f1/pins_FYSETC_CHEETAH_V12.h" // STM32F1 env:STM32F103RC_fysetc #elif MB(LONGER3D_LK) #include "stm32f1/pins_LONGER3D_LK.h" // STM32F1 env:STM32F103VE_longer -#elif MB(MKS_ROBIN_LITE3) - #include "stm32f1/pins_MKS_ROBIN_LITE3.h" // STM32F1 env:mks_robin_lite3 -#elif MB(MKS_ROBIN_PRO) - #include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro -#elif MB(MKS_ROBIN_E3D) - #include "stm32f1/pins_MKS_ROBIN_E3D.h" // STM32F1 env:mks_robin_e3 -#elif MB(MKS_ROBIN_E3) - #include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3 #elif MB(CCROBOT_MEEB_3DP) #include "stm32f1/pins_CCROBOT_MEEB_3DP.h" // STM32F1 env:STM32F103RC_meeb #elif MB(CHITU3D_V5) From 4f73ac728991eed39946d1fdfff65d294b744a3f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 20 Sep 2020 19:08:08 -0500 Subject: [PATCH 106/277] Add HAS_ROTARY_ENCODER --- Marlin/src/inc/Conditionals_post.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 2ae4f4e399d6..c9a29b351cbb 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -2622,6 +2622,10 @@ #endif #endif +#if BUTTONS_EXIST(EN1, EN2, ENC) + #define HAS_ROTARY_ENCODER 1 +#endif + #if !NUM_SERIAL #undef BAUD_RATE_GCODE #elif NUM_SERIAL > 1 From 77b06dce0c527833f00a24a55771049313ce59bb Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 21 Sep 2020 00:13:48 +0000 Subject: [PATCH 107/277] [cron] Bump distribution date (2020-09-21) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index b33163f5f3c5..c1b57d136716 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-20" + #define STRING_DISTRIBUTION_DATE "2020-09-21" #endif /** From d8ed74904559aa8bdccc8b68acbccfbf1bf779d3 Mon Sep 17 00:00:00 2001 From: makerbase <4164049@qq.com> Date: Mon, 21 Sep 2020 09:55:02 +0800 Subject: [PATCH 108/277] Add MKS Robin E3P, improve LVGL UI (#19442) --- Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp | 2 + Marlin/src/MarlinCore.cpp | 11 + Marlin/src/core/boards.h | 73 +- .../lcd/extui/lib/mks_ui/SPIFlashStorage.cpp | 2 + Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp | 5 +- .../src/lcd/extui/lib/mks_ui/draw_about.cpp | 41 +- .../lib/mks_ui/draw_acceleration_settings.cpp | 322 ++- .../lib/mks_ui/draw_advance_settings.cpp | 234 +- .../draw_auto_level_offset_settings.cpp | 203 ++ .../mks_ui/draw_auto_level_offset_settings.h | 33 + .../extui/lib/mks_ui/draw_baby_stepping.cpp | 352 +++ .../lcd/extui/lib/mks_ui/draw_baby_stepping.h | 36 + .../extui/lib/mks_ui/draw_change_speed.cpp | 83 +- .../src/lcd/extui/lib/mks_ui/draw_dialog.cpp | 455 +++- Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h | 5 + .../extui/lib/mks_ui/draw_eeprom_settings.cpp | 139 +- .../lib/mks_ui/draw_encoder_settings.cpp | 172 ++ .../extui/lib/mks_ui/draw_encoder_settings.h | 33 + .../lcd/extui/lib/mks_ui/draw_extrusion.cpp | 97 +- Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp | 56 +- .../extui/lib/mks_ui/draw_filament_change.cpp | 270 +++ .../extui/lib/mks_ui/draw_filament_change.h | 36 + .../lib/mks_ui/draw_filament_settings.cpp | 329 +++ .../extui/lib/mks_ui/draw_filament_settings.h | 33 + Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp | 137 +- .../draw_homing_sensitivity_settings.cpp | 262 +++ .../mks_ui/draw_homing_sensitivity_settings.h | 33 + .../extui/lib/mks_ui/draw_jerk_settings.cpp | 150 +- .../lcd/extui/lib/mks_ui/draw_keyboard.cpp | 286 +++ .../src/lcd/extui/lib/mks_ui/draw_keyboard.h | 33 + .../lcd/extui/lib/mks_ui/draw_language.cpp | 136 +- .../extui/lib/mks_ui/draw_level_settings.cpp | 261 +++ .../extui/lib/mks_ui/draw_level_settings.h | 33 + .../extui/lib/mks_ui/draw_machine_para.cpp | 114 +- .../lib/mks_ui/draw_machine_settings.cpp | 81 +- .../lcd/extui/lib/mks_ui/draw_manuaLevel.cpp | 69 +- .../mks_ui/draw_manual_level_pos_settings.cpp | 459 ++++ .../mks_ui/draw_manual_level_pos_settings.h | 33 + .../lib/mks_ui/draw_max_feedrate_settings.cpp | 212 +- .../extui/lib/mks_ui/draw_motor_settings.cpp | 160 +- .../lcd/extui/lib/mks_ui/draw_move_motor.cpp | 87 +- .../lcd/extui/lib/mks_ui/draw_number_key.cpp | 291 ++- .../lcd/extui/lib/mks_ui/draw_operation.cpp | 261 ++- .../extui/lib/mks_ui/draw_pause_position.cpp | 120 +- .../src/lcd/extui/lib/mks_ui/draw_preHeat.cpp | 97 +- .../lcd/extui/lib/mks_ui/draw_print_file.cpp | 103 +- .../lcd/extui/lib/mks_ui/draw_print_file.h | 3 +- .../lcd/extui/lib/mks_ui/draw_printing.cpp | 195 +- .../lcd/extui/lib/mks_ui/draw_ready_print.cpp | 122 +- Marlin/src/lcd/extui/lib/mks_ui/draw_set.cpp | 249 ++- .../extui/lib/mks_ui/draw_step_settings.cpp | 216 +- .../lib/mks_ui/draw_tmc_current_settings.cpp | 389 ++-- .../mks_ui/draw_tmc_step_mode_settings.cpp | 456 ++-- Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp | 171 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp | 495 +++-- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h | 168 +- Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.cpp | 222 ++ Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.h | 38 + .../lcd/extui/lib/mks_ui/draw_wifi_list.cpp | 235 ++ .../src/lcd/extui/lib/mks_ui/draw_wifi_list.h | 76 + .../extui/lib/mks_ui/draw_wifi_settings.cpp | 299 +++ .../lcd/extui/lib/mks_ui/draw_wifi_settings.h | 36 + .../lcd/extui/lib/mks_ui/draw_wifi_tips.cpp | 85 + .../src/lcd/extui/lib/mks_ui/draw_wifi_tips.h | 51 + .../src/lcd/extui/lib/mks_ui/irq_overrid.cpp | 69 + .../extui/lib/mks_ui/mks_hardware_test.cpp | 100 +- .../src/lcd/extui/lib/mks_ui/pic_manager.cpp | 174 +- Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h | 13 +- .../extui/lib/mks_ui/printer_operation.cpp | 44 +- .../lcd/extui/lib/mks_ui/tft_Language_en.h | 54 +- .../lcd/extui/lib/mks_ui/tft_Language_fr.h | 5 - .../lcd/extui/lib/mks_ui/tft_Language_it.h | 5 - .../lcd/extui/lib/mks_ui/tft_Language_ru.h | 5 - .../lcd/extui/lib/mks_ui/tft_Language_s_cn.h | 52 +- .../lcd/extui/lib/mks_ui/tft_Language_sp.h | 5 - .../lcd/extui/lib/mks_ui/tft_Language_t_cn.h | 51 +- .../lib/mks_ui/tft_lvgl_configuration.cpp | 880 +++++--- .../extui/lib/mks_ui/tft_lvgl_configuration.h | 51 +- .../extui/lib/mks_ui/tft_multi_language.cpp | 291 +-- .../lcd/extui/lib/mks_ui/tft_multi_language.h | 75 +- .../src/lcd/extui/lib/mks_ui/wifiSerial.cpp | 120 + Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.h | 102 + .../src/lcd/extui/lib/mks_ui/wifi_module.cpp | 1927 +++++++++++++++++ Marlin/src/lcd/extui/lib/mks_ui/wifi_module.h | 202 ++ .../src/lcd/extui/lib/mks_ui/wifi_upload.cpp | 847 ++++++++ Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.h | 74 + Marlin/src/module/stepper.h | 14 +- Marlin/src/pins/pins.h | 2 + Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h | 377 ++++ Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 38 +- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 48 +- .../PlatformIO/ldscripts/mks_robin_e3p.ld | 14 + .../share/PlatformIO/scripts/mks_robin_e3p.py | 40 + platformio.ini | 18 +- 94 files changed, 12673 insertions(+), 2970 deletions(-) create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/irq_overrid.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifi_module.h create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp create mode 100644 Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.h create mode 100644 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h create mode 100644 buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld create mode 100644 buildroot/share/PlatformIO/scripts/mks_robin_e3p.py diff --git a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp index bc1b012dc788..069be7ad54e3 100644 --- a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp @@ -201,6 +201,8 @@ uint32_t TFT_FSMC::GetID() { id = ReadID(LCD_READ_ID); if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) id = ReadID(LCD_READ_ID4); + if ((id & 0xFF00) == 0 && (id & 0xFF) != 0) + id = ReadID(LCD_READ_ID4); return id; } diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 2927a3e40b28..22935c146073 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -796,6 +796,10 @@ void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr UNUSED(lcd_component); #endif + #if HAS_TFT_LVGL_UI + lv_draw_error_message(lcd_error); + #endif + #ifdef ACTION_ON_KILL host_action_kill(); #endif @@ -920,6 +924,13 @@ void setup() { SERIAL_ECHO_MSG("start"); #endif + #if BOTH(HAS_TFT_LVGL_UI, USE_WIFI_FUNCTION) + mks_esp_wifi_init(); + WIFISERIAL.begin(WIFI_BAUDRATE); + serial_connect_timeout = millis() + 1000UL; + while (/*!WIFISERIAL && */PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + #endif + SETUP_RUN(HAL_init()); #if HAS_L64XX diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 581c801feb88..293c6a523076 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -282,42 +282,43 @@ // STM32 ARM Cortex-M3 // -#define BOARD_STM32F103RE 4000 // STM32F103RE Libmaple-based STM32F1 controller -#define BOARD_MALYAN_M200 4001 // STM32C8T6 Libmaple-based STM32F1 controller -#define BOARD_MALYAN_M200_V2 4002 // STM32F070CB STM32F0 controller -#define BOARD_STM3R_MINI 4003 // STM32F103RE Libmaple-based STM32F1 controller -#define BOARD_GTM32_PRO_VB 4004 // STM32F103VET6 controller -#define BOARD_MORPHEUS 4005 // STM32F103C8 / STM32F103CB Libmaple-based STM32F1 controller -#define BOARD_CHITU3D 4006 // Chitu3D (STM32F103RET6) -#define BOARD_MKS_ROBIN 4007 // MKS Robin (STM32F103ZET6) -#define BOARD_MKS_ROBIN_MINI 4008 // MKS Robin Mini (STM32F103VET6) -#define BOARD_MKS_ROBIN_NANO 4009 // MKS Robin Nano (STM32F103VET6) -#define BOARD_MKS_ROBIN_NANO_V2 4010 // MKS Robin Nano V2 (STM32F103VET6) -#define BOARD_MKS_ROBIN_LITE 4011 // MKS Robin Lite/Lite2 (STM32F103RCT6) -#define BOARD_MKS_ROBIN_LITE3 4012 // MKS Robin Lite3 (STM32F103RCT6) -#define BOARD_MKS_ROBIN_PRO 4013 // MKS Robin Pro (STM32F103ZET6) -#define BOARD_BTT_SKR_MINI_V1_1 4014 // BigTreeTech SKR Mini v1.1 (STM32F103RC) -#define BOARD_BTT_SKR_MINI_E3_V1_0 4015 // BigTreeTech SKR Mini E3 (STM32F103RC) -#define BOARD_BTT_SKR_MINI_E3_V1_2 4016 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC) -#define BOARD_BTT_SKR_MINI_E3_V2_0 4017 // BigTreeTech SKR Mini E3 V2.0 (STM32F103RC) -#define BOARD_BTT_SKR_E3_DIP 4018 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC / STM32F103RE) -#define BOARD_JGAURORA_A5S_A1 4019 // JGAurora A5S A1 (STM32F103ZET6) -#define BOARD_FYSETC_AIO_II 4020 // FYSETC AIO_II -#define BOARD_FYSETC_CHEETAH 4021 // FYSETC Cheetah -#define BOARD_FYSETC_CHEETAH_V12 4022 // FYSETC Cheetah V1.2 -#define BOARD_LONGER3D_LK 4023 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6 -#define BOARD_GTM32_MINI 4024 // STM32F103VET6 controller -#define BOARD_GTM32_MINI_A30 4025 // STM32F103VET6 controller -#define BOARD_GTM32_REV_B 4026 // STM32F103VET6 controller -#define BOARD_MKS_ROBIN_E3D 4027 // MKS Robin E3D (STM32F103RCT6) -#define BOARD_MKS_ROBIN_E3 4028 // MKS Robin E3 (STM32F103RCT6) -#define BOARD_MALYAN_M300 4029 // STM32F070-based delta -#define BOARD_CCROBOT_MEEB_3DP 4030 // ccrobot-online.com MEEB_3DP (STM32F103RC) -#define BOARD_CHITU3D_V5 4031 // Chitu3D TronXY X5SA V5 Board -#define BOARD_CHITU3D_V6 4032 // Chitu3D TronXY X5SA V5 Board -#define BOARD_CREALITY_V4 4033 // Creality v4.x (STM32F103RE) -#define BOARD_CREALITY_V427 4034 // Creality v4.2.7 (STM32F103RE) -#define BOARD_TRIGORILLA_PRO 4035 // Trigorilla Pro (STM32F103ZET6) +#define BOARD_MALYAN_M200_V2 4000 // STM32F070CB STM32F0 controller +#define BOARD_MALYAN_M300 4001 // STM32F070-based delta +#define BOARD_STM32F103RE 4002 // STM32F103RE Libmaple-based STM32F1 controller +#define BOARD_MALYAN_M200 4003 // STM32C8T6 Libmaple-based STM32F1 controller +#define BOARD_STM3R_MINI 4004 // STM32F103RE Libmaple-based STM32F1 controller +#define BOARD_GTM32_PRO_VB 4005 // STM32F103VET6 controller +#define BOARD_GTM32_MINI 4006 // STM32F103VET6 controller +#define BOARD_GTM32_MINI_A30 4007 // STM32F103VET6 controller +#define BOARD_GTM32_REV_B 4008 // STM32F103VET6 controller +#define BOARD_MORPHEUS 4009 // STM32F103C8 / STM32F103CB Libmaple-based STM32F1 controller +#define BOARD_CHITU3D 4010 // Chitu3D (STM32F103RET6) +#define BOARD_MKS_ROBIN 4011 // MKS Robin (STM32F103ZET6) +#define BOARD_MKS_ROBIN_MINI 4012 // MKS Robin Mini (STM32F103VET6) +#define BOARD_MKS_ROBIN_NANO 4013 // MKS Robin Nano (STM32F103VET6) +#define BOARD_MKS_ROBIN_NANO_V2 4014 // MKS Robin Nano V2 (STM32F103VET6) +#define BOARD_MKS_ROBIN_LITE 4015 // MKS Robin Lite/Lite2 (STM32F103RCT6) +#define BOARD_MKS_ROBIN_LITE3 4016 // MKS Robin Lite3 (STM32F103RCT6) +#define BOARD_MKS_ROBIN_PRO 4017 // MKS Robin Pro (STM32F103ZET6) +#define BOARD_MKS_ROBIN_E3 4018 // MKS Robin E3 (STM32F103RCT6) +#define BOARD_MKS_ROBIN_E3D 4019 // MKS Robin E3D (STM32F103RCT6) +#define BOARD_MKS_ROBIN_E3P 4020 // MKS Robin E3p (STM32F103VET6) +#define BOARD_BTT_SKR_MINI_V1_1 4021 // BigTreeTech SKR Mini v1.1 (STM32F103RC) +#define BOARD_BTT_SKR_MINI_E3_V1_0 4022 // BigTreeTech SKR Mini E3 (STM32F103RC) +#define BOARD_BTT_SKR_MINI_E3_V1_2 4023 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC) +#define BOARD_BTT_SKR_MINI_E3_V2_0 4024 // BigTreeTech SKR Mini E3 V2.0 (STM32F103RC) +#define BOARD_BTT_SKR_E3_DIP 4025 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC / STM32F103RE) +#define BOARD_JGAURORA_A5S_A1 4026 // JGAurora A5S A1 (STM32F103ZET6) +#define BOARD_FYSETC_AIO_II 4027 // FYSETC AIO_II +#define BOARD_FYSETC_CHEETAH 4028 // FYSETC Cheetah +#define BOARD_FYSETC_CHEETAH_V12 4029 // FYSETC Cheetah V1.2 +#define BOARD_LONGER3D_LK 4030 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6 +#define BOARD_CCROBOT_MEEB_3DP 4031 // ccrobot-online.com MEEB_3DP (STM32F103RC) +#define BOARD_CHITU3D_V5 4032 // Chitu3D TronXY X5SA V5 Board +#define BOARD_CHITU3D_V6 4033 // Chitu3D TronXY X5SA V5 Board +#define BOARD_CREALITY_V4 4034 // Creality v4.x (STM32F103RE) +#define BOARD_CREALITY_V427 4035 // Creality v4.2.7 (STM32F103RE) +#define BOARD_TRIGORILLA_PRO 4036 // Trigorilla Pro (STM32F103ZET6) // // ARM Cortex-M4F diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp index ad116d5045df..3f5712445138 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp @@ -27,6 +27,8 @@ #include "../../../../inc/MarlinConfig.h" #include "SPIFlashStorage.h" +extern W25QXXFlash W25QXX; + uint8_t SPIFlashStorage::m_pageData[SPI_FLASH_PageSize]; uint32_t SPIFlashStorage::m_currentPage; uint16_t SPIFlashStorage::m_pageDataUsed; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp index ea94d6c1a571..351d033d01ec 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp @@ -26,6 +26,7 @@ #include "SPI_TFT.h" #include "pic_manager.h" +#include "tft_lvgl_configuration.h" #include "../../../../inc/MarlinConfig.h" @@ -74,6 +75,7 @@ void TFT::SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height) { } void TFT::LCD_init() { + TFT_BLK_L; TFT_RST_H; delay(150); TFT_RST_L; @@ -92,8 +94,7 @@ void TFT::LCD_init() { LCD_WR_DATA(0x96); LCD_WR_REG(0x36); - LCD_WR_DATA(0x28); - + LCD_WR_DATA(0x28 + TERN0(GRAPHICAL_TFT_ROTATE_180, 0x80)); LCD_WR_REG(0x3A); LCD_WR_DATA(0x55); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp index e2df14a36b56..34b7427860ed 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_about.cpp @@ -33,8 +33,9 @@ #include "../../../../MarlinCore.h" #include "../../../../module/temperature.h" +extern lv_group_t * g; static lv_obj_t * scr; -static lv_obj_t * fw_type, *board, *fw_version; +static lv_obj_t * fw_type, *board; //*fw_version; #define ID_A_RETURN 1 @@ -73,17 +74,18 @@ void lv_draw_about(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create an Image button buttonBack = lv_imgbtn_create(scr, NULL); #if 1 - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_A_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_A_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif #endif lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); @@ -97,30 +99,27 @@ void lv_draw_about(void) { lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } - fw_version = lv_label_create(scr, NULL); - lv_obj_set_style(fw_version, &tft_style_label_rel); - lv_label_set_text(fw_version, SHORT_BUILD_VERSION); - lv_obj_align(fw_version, NULL, LV_ALIGN_CENTER, 0, -60); + //fw_version = lv_label_create(scr, NULL); + //lv_obj_set_style(fw_version, &tft_style_label_rel); + //lv_label_set_text(fw_version, SHORT_BUILD_VERSION); + //lv_obj_align(fw_version, NULL, LV_ALIGN_CENTER, 0, -60); fw_type = lv_label_create(scr, NULL); lv_obj_set_style(fw_type, &tft_style_label_rel); - lv_label_set_text(fw_type, - #if MB(MKS_ROBIN_PRO) - "Firmware: Robin_Pro35" - #elif MB(MKS_ROBIN_NANO, MKS_ROBIN_NANO_V2) - "Firmware: Robin_Nano35" - #else - CUSTOM_MACHINE_NAME - #endif - ); + lv_label_set_text(fw_type, "Firmware: Marlin " SHORT_BUILD_VERSION); lv_obj_align(fw_type, NULL, LV_ALIGN_CENTER, 0, -20); board = lv_label_create(scr, NULL); lv_obj_set_style(board, &tft_style_label_rel); lv_label_set_text(board, "Board: " BOARD_INFO_NAME); - lv_obj_align(board, NULL, LV_ALIGN_CENTER, 0, 20); + lv_obj_align(board, NULL, LV_ALIGN_CENTER, 0, -60); } -void lv_clear_about() { lv_obj_del(scr); } +void lv_clear_about() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp index b6906a6dfec4..a30c99dba07d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp @@ -29,6 +29,7 @@ #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_ACCE_RETURN 1 @@ -160,14 +161,14 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_acceleration_settings(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonTurnPage = NULL, *labelTurnPage = NULL; - lv_obj_t *buttonPrintText = NULL, *labelPrintText = NULL, *buttonPrintValue = NULL, *labelPrintValue = NULL; - lv_obj_t *buttonRetraText = NULL, *labelRetraText = NULL, *buttonRetraValue = NULL, *labelRetraValue = NULL; - lv_obj_t *buttonTravelText = NULL, *labelTravelText = NULL, *buttonTravelValue = NULL, *labelTravelValue = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; - lv_obj_t *buttonE0Text = NULL, *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; - lv_obj_t *buttonE1Text = NULL, *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; + lv_obj_t *labelPrintText = NULL, *buttonPrintValue = NULL, *labelPrintValue = NULL; + lv_obj_t *labelRetraText = NULL, *buttonRetraValue = NULL, *labelRetraValue = NULL; + lv_obj_t *labelTravelText = NULL, *buttonTravelValue = NULL, *labelTravelValue = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; + lv_obj_t *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != ACCELERATION_UI) { disp_state_stack._disp_index++; @@ -188,231 +189,202 @@ void lv_draw_acceleration_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); - if (uiCfg.para_ui_page != 1) { - buttonPrintText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonPrintText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonPrintText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonPrintText, event_handler); - lv_btn_set_style(buttonPrintText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonPrintText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonPrintText, LV_LAYOUT_OFF); - labelPrintText = lv_label_create(buttonPrintText, NULL); /*Add a label to the button*/ - - buttonPrintValue = lv_imgbtn_create(scr, NULL); + + labelPrintText = lv_label_create(scr, NULL); + lv_obj_set_style(labelPrintText, &tft_style_label_rel); + lv_obj_set_pos(labelPrintText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelPrintText, machine_menu.PrintAcceleration); + + buttonPrintValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonPrintValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonPrintValue, event_handler, ID_ACCE_PRINT, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonPrintValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonPrintValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonPrintValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonPrintValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonPrintValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonPrintValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonPrintValue, event_handler, ID_ACCE_PRINT, NULL, 0); + lv_btn_set_style(buttonPrintValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonPrintValue, LV_BTN_STYLE_PR, &style_para_value); labelPrintValue = lv_label_create(buttonPrintValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonRetraText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonRetraText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonRetraText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonRetraText, event_handler); - lv_btn_set_style(buttonRetraText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonRetraText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonRetraText, LV_LAYOUT_OFF); - labelRetraText = lv_label_create(buttonRetraText, NULL); /*Add a label to the button*/ + labelRetraText = lv_label_create(scr, NULL); + lv_obj_set_style(labelRetraText, &tft_style_label_rel); + lv_obj_set_pos(labelRetraText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelRetraText, machine_menu.RetractAcceleration); - buttonRetraValue = lv_imgbtn_create(scr, NULL); + buttonRetraValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonRetraValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonRetraValue, event_handler, ID_ACCE_RETRA, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonRetraValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonRetraValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonRetraValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonRetraValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonRetraValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonRetraValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonRetraValue, event_handler, ID_ACCE_RETRA, NULL, 0); + lv_btn_set_style(buttonRetraValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonRetraValue, LV_BTN_STYLE_PR, &style_para_value); labelRetraValue = lv_label_create(buttonRetraValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonTravelText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonTravelText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonTravelText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonTravelText, event_handler); - lv_btn_set_style(buttonTravelText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonTravelText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonTravelText, LV_LAYOUT_OFF); - labelTravelText = lv_label_create(buttonTravelText, NULL); /*Add a label to the button*/ + labelTravelText = lv_label_create(scr, NULL); + lv_obj_set_style(labelTravelText, &tft_style_label_rel); + lv_obj_set_pos(labelTravelText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelTravelText, machine_menu.TravelAcceleration); - buttonTravelValue = lv_imgbtn_create(scr, NULL); + buttonTravelValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonTravelValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonTravelValue, event_handler, ID_ACCE_TRAVEL, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonTravelValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonTravelValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonTravelValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonTravelValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonTravelValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonTravelValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonTravelValue, event_handler, ID_ACCE_TRAVEL, NULL, 0); + lv_btn_set_style(buttonTravelValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonTravelValue, LV_BTN_STYLE_PR, &style_para_value); labelTravelValue = lv_label_create(buttonTravelValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelXText, machine_menu.X_Acceleration); - buttonXValue = lv_imgbtn_create(scr, NULL); + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_ACCE_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_ACCE_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); labelXValue = lv_label_create(buttonXValue, NULL); line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_ACCE_DOWN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_ACCE_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPrintValue); + lv_group_add_obj(g, buttonRetraValue); + lv_group_add_obj(g, buttonTravelValue); + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } else { - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ - - buttonYValue = lv_imgbtn_create(scr, NULL); + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelYText, machine_menu.Y_Acceleration); + + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_ACCE_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_ACCE_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); labelYValue = lv_label_create(buttonYValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelZText, machine_menu.Z_Acceleration); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_ACCE_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_ACCE_Y, NULL, 0); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_ACCE_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); labelZValue = lv_label_create(buttonZValue, NULL); + line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonE0Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonE0Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE0Text, event_handler); - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE0Text, LV_LAYOUT_OFF); - labelE0Text = lv_label_create(buttonE0Text, NULL); /*Add a label to the button*/ + labelE0Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE0Text, &tft_style_label_rel); + lv_obj_set_pos(labelE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelE0Text, machine_menu.E0_Acceleration); - buttonE0Value = lv_imgbtn_create(scr, NULL); + buttonE0Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE0Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_ACCE_E0, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE0Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE0Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_ACCE_Y, NULL, 0); + lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_ACCE_E0, NULL, 0); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_PR, &style_para_value); labelE0Value = lv_label_create(buttonE0Value, NULL); + line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonE1Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE1Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonE1Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE1Text, event_handler); - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE1Text, LV_LAYOUT_OFF); - labelE1Text = lv_label_create(buttonE1Text, NULL); /*Add a label to the button*/ + labelE1Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE1Text, &tft_style_label_rel); + lv_obj_set_pos(labelE1Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelE1Text, machine_menu.E1_Acceleration); - buttonE1Value = lv_imgbtn_create(scr, NULL); + buttonE1Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE1Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_ACCE_E1, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE1Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_ACCE_Y, NULL, 0); + lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_ACCE_E1, NULL, 0); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_PR, &style_para_value); labelE1Value = lv_label_create(buttonE1Value, NULL); + line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_ACCE_UP, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_ACCE_UP, NULL, 0); + //lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + //lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + //lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); + //lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonE0Value); + lv_group_add_obj(g, buttonE1Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } + //lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); + //lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); + //labelTurnPage = lv_label_create(buttonTurnPage, NULL); lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); - lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); labelTurnPage = lv_label_create(buttonTurnPage, NULL); - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_ACCE_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_ACCE_RETURN, NULL, 0); + //lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + //lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + //lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + //lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); label_Back = lv_label_create(buttonBack, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + //lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + //lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); if (gCfgItems.multiple_language != 0) { if (uiCfg.para_ui_page != 1) { - lv_label_set_text(labelPrintText, machine_menu.PrintAcceleration); - lv_obj_align(labelPrintText, buttonPrintText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelRetraText, machine_menu.RetractAcceleration); - lv_obj_align(labelRetraText, buttonRetraText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelTravelText, machine_menu.TravelAcceleration); - lv_obj_align(labelTravelText, buttonTravelText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelXText, machine_menu.X_Acceleration); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); lv_label_set_text(labelTurnPage, machine_menu.next); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -438,17 +410,6 @@ void lv_draw_acceleration_settings(void) { lv_obj_align(labelXValue, buttonXValue, LV_ALIGN_CENTER, 0, 0); } else { - lv_label_set_text(labelYText, machine_menu.Y_Acceleration); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.Z_Acceleration); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelE0Text, machine_menu.E0_Acceleration); - lv_obj_align(labelE0Text, buttonE0Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelE1Text, machine_menu.E1_Acceleration); - lv_obj_align(labelE1Text, buttonE1Text, LV_ALIGN_IN_LEFT_MID, 0, 0); lv_label_set_text(labelTurnPage, machine_menu.previous); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -478,6 +439,11 @@ void lv_draw_acceleration_settings(void) { } } -void lv_clear_acceleration_settings() { lv_obj_del(scr); } +void lv_clear_acceleration_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.cpp index 7d3eab436bd9..5b1b24171697 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_advance_settings.cpp @@ -28,11 +28,18 @@ #include "../../../../MarlinCore.h" +extern lv_group_t * g; static lv_obj_t * scr; -#define ID_ADVANCE_RETURN 1 -#define ID_PAUSE_POS 2 -#define ID_PAUSE_POS_ARROW 3 +#define ID_ADVANCE_RETURN 1 +#define ID_PAUSE_POS 2 +#define ID_PAUSE_POS_ARROW 3 +#define ID_WIFI_PARA 4 +#define ID_WIFI_PARA_ARROW 5 +#define ID_FILAMENT_SETTINGS 6 +#define ID_FILAMENT_SETTINGS_ARROW 7 +#define ID_ENCODER_SETTINGS 8 +#define ID_ENCODER_SETTINGS_ARROW 9 static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { @@ -63,13 +70,79 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { lv_draw_pause_position(); } break; + case ID_FILAMENT_SETTINGS: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_filament_settings(); + } + break; + case ID_FILAMENT_SETTINGS_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_filament_settings(); + } + break; + #if ENABLED(USE_WIFI_FUNCTION) + case ID_WIFI_PARA: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_wifi_settings(); + } + break; + case ID_WIFI_PARA_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_wifi_settings(); + } + break; + #endif + #if HAS_ROTARY_ENCODER + case ID_ENCODER_SETTINGS: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_encoder_settings(); + } + break; + case ID_ENCODER_SETTINGS_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_advance_settings(); + lv_draw_encoder_settings(); + } + break; + #endif } } void lv_draw_advance_settings(void) { lv_obj_t *buttonBack, *label_Back; lv_obj_t *buttonPausePos, *labelPausePos, *buttonPausePosNarrow; - lv_obj_t * line1; + lv_obj_t *buttonFilamentSettings, *labelFilamentSettings, *buttonFilamentSettingsNarrow; + lv_obj_t * line1,* line2; + #if ENABLED(USE_WIFI_FUNCTION) + lv_obj_t *buttonWifiSet,*labelWifiSet,*buttonWifiSetNarrow; + #endif + #if HAS_ROTARY_ENCODER + lv_obj_t *buttonEcoder,*labelEcoder,*buttonEcoderNarrow; + #endif + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != ADVANCED_UI) { disp_state_stack._disp_index++; disp_state_stack._disp_state[disp_state_stack._disp_index] = ADVANCED_UI; @@ -89,24 +162,24 @@ void lv_draw_advance_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_arrow); - - buttonPausePos = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonPausePos, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonPausePos, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + buttonPausePos = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonPausePos, PARA_UI_POS_X, PARA_UI_POS_Y); + lv_obj_set_size(buttonPausePos, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); //lv_obj_set_event_cb(buttonMachine, event_handler); lv_obj_set_event_cb_mks(buttonPausePos, event_handler, ID_PAUSE_POS, NULL, 0); - lv_btn_set_style(buttonPausePos, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonPausePos, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_style(buttonPausePos, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonPausePos, LV_BTN_STYLE_PR, &tft_style_label_pre); lv_btn_set_layout(buttonPausePos, LV_LAYOUT_OFF); - labelPausePos = lv_label_create(buttonPausePos, NULL); /*Add a label to the button*/ + labelPausePos = lv_label_create(buttonPausePos, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonPausePos); + #endif buttonPausePosNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonPausePosNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonPausePosNarrow, event_handler, ID_PAUSE_POS_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonPausePosNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonPausePosNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonPausePosNarrow, event_handler, ID_PAUSE_POS_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonPausePosNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonPausePosNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonPausePosNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPausePosNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonPausePosNarrow, LV_LAYOUT_OFF); @@ -114,13 +187,117 @@ void lv_draw_advance_settings(void) { line1 = lv_line_create(lv_scr_act(), NULL); lv_ex_line(line1, line_points[0]); + buttonFilamentSettings = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonFilamentSettings, PARA_UI_POS_X, PARA_UI_POS_Y*2); + lv_obj_set_size(buttonFilamentSettings, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); + lv_obj_set_event_cb_mks(buttonFilamentSettings, event_handler, ID_FILAMENT_SETTINGS, NULL, 0); + lv_btn_set_style(buttonFilamentSettings, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonFilamentSettings, LV_BTN_STYLE_PR, &tft_style_label_pre); + lv_btn_set_layout(buttonFilamentSettings, LV_LAYOUT_OFF); + labelFilamentSettings = lv_label_create(buttonFilamentSettings, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonFilamentSettings); + #endif + + buttonFilamentSettingsNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonFilamentSettingsNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y*2 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonFilamentSettingsNarrow, event_handler, ID_FILAMENT_SETTINGS_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonFilamentSettingsNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonFilamentSettingsNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonFilamentSettingsNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonFilamentSettingsNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonFilamentSettingsNarrow, LV_LAYOUT_OFF); + + line2 = lv_line_create(lv_scr_act(), NULL); + lv_ex_line(line2, line_points[1]); + + #if ENABLED(USE_WIFI_FUNCTION) + + buttonWifiSet = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonWifiSet, PARA_UI_POS_X,PARA_UI_POS_Y*3); + lv_obj_set_size(buttonWifiSet, PARA_UI_SIZE_X,PARA_UI_SIZE_Y); + lv_obj_set_event_cb_mks(buttonWifiSet, event_handler,ID_WIFI_PARA,NULL,0); + lv_btn_set_style(buttonWifiSet, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonWifiSet, LV_BTN_STYLE_PR, &tft_style_label_pre); + lv_btn_set_layout(buttonWifiSet, LV_LAYOUT_OFF); + labelWifiSet = lv_label_create(buttonWifiSet, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonWifiSet); + #endif + + buttonWifiSetNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonWifiSetNarrow,PARA_UI_POS_X+PARA_UI_SIZE_X,PARA_UI_POS_Y*3+PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonWifiSetNarrow, event_handler,ID_WIFI_PARA_ARROW, NULL,0); + lv_imgbtn_set_src(buttonWifiSetNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonWifiSetNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonWifiSetNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonWifiSetNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonWifiSetNarrow, LV_LAYOUT_OFF); + + lv_obj_t * line3 = lv_line_create(scr, NULL); + lv_ex_line(line3,line_points[2]); + + #if HAS_ROTARY_ENCODER + buttonEcoder = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonEcoder, PARA_UI_POS_X,PARA_UI_POS_Y*4); + lv_obj_set_size(buttonEcoder, PARA_UI_SIZE_X,PARA_UI_SIZE_Y); + lv_obj_set_event_cb_mks(buttonEcoder, event_handler,ID_ENCODER_SETTINGS,NULL,0); + lv_btn_set_style(buttonEcoder, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonEcoder, LV_BTN_STYLE_PR, &tft_style_label_pre); + lv_btn_set_layout(buttonEcoder, LV_LAYOUT_OFF); + labelEcoder = lv_label_create(buttonEcoder, NULL); + + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonEcoder); + + buttonEcoderNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonEcoderNarrow,PARA_UI_POS_X+PARA_UI_SIZE_X,PARA_UI_POS_Y*4+PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonEcoderNarrow, event_handler,ID_ENCODER_SETTINGS_ARROW, NULL,0); + lv_imgbtn_set_src(buttonEcoderNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonEcoderNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonEcoderNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonEcoderNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonEcoderNarrow, LV_LAYOUT_OFF); + + lv_obj_t * line4 = lv_line_create(scr, NULL); + lv_ex_line(line4,line_points[3]); + #endif + + #elif HAS_ROTARY_ENCODER + buttonEcoder = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonEcoder, PARA_UI_POS_X,PARA_UI_POS_Y*3); + lv_obj_set_size(buttonEcoder, PARA_UI_SIZE_X,PARA_UI_SIZE_Y); + lv_obj_set_event_cb_mks(buttonEcoder, event_handler,ID_ENCODER_SETTINGS,NULL,0); + lv_btn_set_style(buttonEcoder, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonEcoder, LV_BTN_STYLE_PR, &tft_style_label_pre); + lv_btn_set_layout(buttonEcoder, LV_LAYOUT_OFF); + labelEcoder = lv_label_create(buttonEcoder, NULL); + + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonEcoder); + + buttonEcoderNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonEcoderNarrow,PARA_UI_POS_X+PARA_UI_SIZE_X,PARA_UI_POS_Y*3+PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonEcoderNarrow, event_handler,ID_ENCODER_SETTINGS_ARROW, NULL,0); + lv_imgbtn_set_src(buttonEcoderNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonEcoderNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonEcoderNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonEcoderNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonEcoderNarrow, LV_LAYOUT_OFF); + + lv_obj_t * line3 = lv_line_create(scr, NULL); + lv_ex_line(line3,line_points[2]); + #endif + buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_ADVANCE_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_ADVANCE_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); label_Back = lv_label_create(buttonBack, NULL); @@ -131,10 +308,27 @@ void lv_draw_advance_settings(void) { lv_label_set_text(labelPausePos, machine_menu.PausePosition); lv_obj_align(labelPausePos, buttonPausePos, LV_ALIGN_IN_LEFT_MID, 0, 0); + + lv_label_set_text(labelFilamentSettings, machine_menu.FilamentConf); + lv_obj_align(labelFilamentSettings, buttonFilamentSettings, LV_ALIGN_IN_LEFT_MID, 0, 0); + + #if ENABLED(USE_WIFI_FUNCTION) + lv_label_set_text(labelWifiSet, machine_menu.WifiSettings); + lv_obj_align(labelWifiSet, buttonWifiSet, LV_ALIGN_IN_LEFT_MID,0, 0); + #endif + #if HAS_ROTARY_ENCODER + lv_label_set_text(labelEcoder, machine_menu.EncoderSettings); + lv_obj_align(labelEcoder, buttonEcoder, LV_ALIGN_IN_LEFT_MID,0, 0); + #endif } } -void lv_clear_advance_settings() { lv_obj_del(scr); } +void lv_clear_advance_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.cpp new file mode 100644 index 000000000000..bb6b45aebe48 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.cpp @@ -0,0 +1,203 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if BOTH(HAS_TFT_LVGL_UI, HAS_BED_PROBE) + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/planner.h" +#include "../../../../module/probe.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define ID_OFFSET_RETURN 1 +#define ID_OFFSET_X 2 +#define ID_OFFSET_Y 3 +#define ID_OFFSET_Z 4 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_OFFSET_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_auto_level_offset_settings(); + draw_return_ui(); + } + break; + case ID_OFFSET_X: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = x_offset; + lv_clear_auto_level_offset_settings(); + lv_draw_number_key(); + } + break; + case ID_OFFSET_Y: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = y_offset; + lv_clear_auto_level_offset_settings(); + lv_draw_number_key(); + } + break; + case ID_OFFSET_Z: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = z_offset; + lv_clear_auto_level_offset_settings(); + lv_draw_number_key(); + } + break; + } +} + +void lv_draw_auto_level_offset_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != NOZZLE_PROBE_OFFSET_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = NOZZLE_PROBE_OFFSET_UI; + } + disp_state = NOZZLE_PROBE_OFFSET_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.OffsetConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.Xoffset); + + buttonXValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_OFFSET_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); + labelXValue = lv_label_create(buttonXValue, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.Yoffset); + + buttonYValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_OFFSET_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); + labelYValue = lv_label_create(buttonYValue, NULL); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.Zoffset); + + buttonZValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_OFFSET_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); + labelZValue = lv_label_create(buttonZValue, NULL); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_OFFSET_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + label_Back = lv_label_create(buttonBack, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonBack); + } + #endif + + if (gCfgItems.multiple_language != 0) { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), TERN(HAS_PROBE_XY_OFFSET, probe.offset.x, 0)); + lv_label_set_text(labelXValue, public_buf_l); + lv_obj_align(labelXValue, buttonXValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), TERN(HAS_PROBE_XY_OFFSET, probe.offset.y, 0)); + lv_label_set_text(labelYValue, public_buf_l); + lv_obj_align(labelYValue, buttonYValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), probe.offset.z); + lv_label_set_text(labelZValue, public_buf_l); + lv_obj_align(labelZValue, buttonZValue, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + } +} + +void lv_clear_auto_level_offset_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI && HAS_BED_PROBE diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.h new file mode 100644 index 000000000000..688cd205d04f --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_auto_level_offset_settings(void); +extern void lv_clear_auto_level_offset_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.cpp new file mode 100644 index 000000000000..70564c036c64 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.cpp @@ -0,0 +1,352 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../gcode/queue.h" +#include "../../../../gcode/gcode.h" + +#if HAS_BED_PROBE + #include "../../../../module/probe.h" +#endif + +extern lv_group_t * g; +static lv_obj_t * scr; + +static lv_obj_t *labelV, *buttonV, * zOffsetText; + +#define ID_BABY_STEP_X_P 1 +#define ID_BABY_STEP_X_N 2 +#define ID_BABY_STEP_Y_P 3 +#define ID_BABY_STEP_Y_N 4 +#define ID_BABY_STEP_Z_P 5 +#define ID_BABY_STEP_Z_N 6 +#define ID_BABY_STEP_DIST 7 +#define ID_BABY_STEP_RETURN 8 + +static float babystep_dist=0.01; +static uint8_t has_adjust_z = 0; + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + char baby_buf[30]={0}; + switch (obj->mks_obj_id) { + case ID_BABY_STEP_X_P: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 X%.3f"),babystep_dist); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_X_N: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 X%.3f"),((float)0 - babystep_dist)); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_Y_P: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 Y%.3f"), babystep_dist); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_Y_N: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 Y%.3f"),((float)0 - babystep_dist)); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_Z_P: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 Z%.3f"), babystep_dist); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_Z_N: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + ZERO(baby_buf); + sprintf_P(baby_buf, PSTR("M290 Z%.3f"),((float)0 - babystep_dist)); + gcode.process_subcommands_now_P(PSTR(baby_buf)); + has_adjust_z = 1; + } + break; + case ID_BABY_STEP_DIST: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + if (abs((int)(100 * babystep_dist)) == 1) + babystep_dist = 0.05; + else if (abs((int)(100 * babystep_dist)) == 5) + babystep_dist = 0.1; + else + babystep_dist = 0.01; + disp_baby_step_dist(); + } + + break; + case ID_BABY_STEP_RETURN: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + if (has_adjust_z == 1) { + gcode.process_subcommands_now_P(PSTR("M500")); + has_adjust_z = 0; + } + clear_cur_ui(); + draw_return_ui(); + } + break; + } +} + +void lv_draw_baby_stepping(void) { + lv_obj_t *buttonXI, *buttonXD, *buttonYI, *buttonYD, *buttonZI, *buttonZD, *buttonBack; + + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != BABY_STEP_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = BABY_STEP_UI; + } + disp_state = BABY_STEP_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + // Create an Image button + buttonXI = lv_imgbtn_create(scr, NULL); + buttonXD = lv_imgbtn_create(scr, NULL); + buttonYI = lv_imgbtn_create(scr, NULL); + buttonYD = lv_imgbtn_create(scr, NULL); + buttonZI = lv_imgbtn_create(scr, NULL); + buttonZD = lv_imgbtn_create(scr, NULL); + buttonV = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + + lv_obj_set_event_cb_mks(buttonXI, event_handler, ID_BABY_STEP_X_P, NULL, 0); + lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_REL, "F:/bmp_xAdd.bin"); + lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_PR, "F:/bmp_xAdd.bin"); + lv_imgbtn_set_style(buttonXI, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonXI, LV_BTN_STATE_REL, &tft_style_label_rel); + + #if 1 + lv_obj_set_event_cb_mks(buttonXD, event_handler, ID_BABY_STEP_X_N, NULL, 0); + lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_REL, "F:/bmp_xDec.bin"); + lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_PR, "F:/bmp_xDec.bin"); + lv_imgbtn_set_style(buttonXD, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonXD, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonYI, event_handler, ID_BABY_STEP_Y_P, NULL, 0); + lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_REL, "F:/bmp_yAdd.bin"); + lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_PR, "F:/bmp_yAdd.bin"); + lv_imgbtn_set_style(buttonYI, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonYI, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonYD, event_handler, ID_BABY_STEP_Y_N, NULL, 0); + lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_REL, "F:/bmp_yDec.bin"); + lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_PR, "F:/bmp_yDec.bin"); + lv_imgbtn_set_style(buttonYD, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonYD, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonZI, event_handler, ID_BABY_STEP_Z_P, NULL, 0); + lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_REL, "F:/bmp_zAdd.bin"); + lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_PR, "F:/bmp_zAdd.bin"); + lv_imgbtn_set_style(buttonZI, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonZI, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonZD, event_handler, ID_BABY_STEP_Z_N, NULL, 0); + lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_REL, "F:/bmp_zDec.bin"); + lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_PR, "F:/bmp_zDec.bin"); + lv_imgbtn_set_style(buttonZD, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonZD, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonV, event_handler, ID_BABY_STEP_DIST, NULL, 0); + lv_imgbtn_set_style(buttonV, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonV, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_BABY_STEP_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + + #endif // if 1 + lv_obj_set_pos(buttonXI, INTERVAL_V, titleHeight); + lv_obj_set_pos(buttonYI, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); + lv_obj_set_pos(buttonZI, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); + lv_obj_set_pos(buttonV, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); + lv_obj_set_pos(buttonXD, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonYD, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonZD, BTN_X_PIXEL * 2 + INTERVAL_V * 3, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + + // Create labels on the image buttons + lv_btn_set_layout(buttonXI, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonXD, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonYI, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonYD, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonZI, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonZD, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonV, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + lv_obj_t *labelXI = lv_label_create(buttonXI, NULL); + lv_obj_t *labelXD = lv_label_create(buttonXD, NULL); + lv_obj_t *labelYI = lv_label_create(buttonYI, NULL); + lv_obj_t *labelYD = lv_label_create(buttonYD, NULL); + lv_obj_t *labelZI = lv_label_create(buttonZI, NULL); + lv_obj_t *labelZD = lv_label_create(buttonZD, NULL); + labelV = lv_label_create(buttonV, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.multiple_language != 0) { + lv_label_set_text(labelXI, move_menu.x_add); + lv_obj_align(labelXI, buttonXI, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelXD, move_menu.x_dec); + lv_obj_align(labelXD, buttonXD, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelYI, move_menu.y_add); + lv_obj_align(labelYI, buttonYI, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelYD, move_menu.y_dec); + lv_obj_align(labelYD, buttonYD, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelZI, move_menu.z_add); + lv_obj_align(labelZI, buttonZI, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelZD, move_menu.z_dec); + lv_obj_align(labelZD, buttonZD, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXI); + lv_group_add_obj(g, buttonXD); + lv_group_add_obj(g, buttonYI); + lv_group_add_obj(g, buttonYD); + lv_group_add_obj(g, buttonZI); + lv_group_add_obj(g, buttonZD); + lv_group_add_obj(g, buttonV); + lv_group_add_obj(g, buttonBack); + } + #endif + + disp_baby_step_dist(); + + zOffsetText = lv_label_create(scr, NULL); + lv_obj_set_style(zOffsetText, &tft_style_label_rel); + lv_obj_set_pos(zOffsetText, 290, TITLE_YPOS); + disp_z_offset_value(); +} + +void disp_baby_step_dist() { + // char buf[30] = {0}; + + if ((int)(100 * babystep_dist) == 1) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_baby_move0_01.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_baby_move0_01.bin"); + } + else if ((int)(100 * babystep_dist) == 5) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_baby_move0_05.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_baby_move0_05.bin"); + } + else if ((int)(100 * babystep_dist) == 10) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_baby_move0_1.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_baby_move0_1.bin"); + } + if (gCfgItems.multiple_language != 0) { + if ((int)(100 * babystep_dist) == 1) { + lv_label_set_text(labelV, move_menu.step_001mm); + lv_obj_align(labelV, buttonV, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + else if ((int)(100 * babystep_dist) == 5) { + lv_label_set_text(labelV, move_menu.step_005mm); + lv_obj_align(labelV, buttonV, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + else if ((int)(100 * babystep_dist) == 10) { + lv_label_set_text(labelV, move_menu.step_01mm); + lv_obj_align(labelV, buttonV, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + } +} + +void disp_z_offset_value() { + char buf[20]; + + ZERO(buf); + sprintf_P(buf, PSTR("offset Z: %.3f"), (double)TERN(HAS_BED_PROBE, probe.offset.z, 0)); + lv_label_set_text(zOffsetText, buf); +} + +void lv_clear_baby_stepping() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.h new file mode 100644 index 000000000000..333ba2d59717 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.h @@ -0,0 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_baby_stepping(void); +extern void lv_clear_baby_stepping(); +extern void disp_baby_step_dist(); +extern void disp_z_offset_value(); + +//extern void disp_temp_ready_print(); +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp index cc3f847bced7..c60000afaee3 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_change_speed.cpp @@ -34,9 +34,10 @@ #include "../../../../module/temperature.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; -static lv_obj_t * labelStep, *buttonStep, *buttonMov, *buttonExt; -static lv_obj_t * labelMov, *labelExt; +static lv_obj_t *labelStep, *buttonStep, *buttonMov, *buttonExt; +static lv_obj_t *labelMov, *labelExt; static lv_obj_t * printSpeedText; #define ID_C_ADD 1 @@ -175,7 +176,6 @@ void lv_draw_change_speed(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); // Create an Image button buttonAdd = lv_imgbtn_create(scr, NULL); @@ -185,38 +185,34 @@ void lv_draw_change_speed(void) { buttonStep = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_C_ADD, "bmp_Add.bin", 0); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_C_ADD, NULL, 0); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, "F:/bmp_Add.bin"); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, "F:/bmp_Add.bin"); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW); #if 1 - lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_C_DEC, "bmp_Dec.bin", 0); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_C_DEC, NULL, 0); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, "F:/bmp_Dec.bin"); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, "F:/bmp_Dec.bin"); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonMov, event_handler, ID_C_MOVE, NULL, 0); lv_imgbtn_set_style(buttonMov, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMov, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonExt, event_handler, ID_C_EXT, NULL, 0); lv_imgbtn_set_style(buttonExt, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonExt, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_C_STEP, NULL, 0); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_C_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_C_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -253,6 +249,17 @@ void lv_draw_change_speed(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonAdd); + lv_group_add_obj(g, buttonDec); + lv_group_add_obj(g, buttonMov); + lv_group_add_obj(g, buttonExt); + lv_group_add_obj(g, buttonStep); + lv_group_add_obj(g, buttonBack); + } + #endif + disp_speed_type(); disp_speed_step(); @@ -262,13 +269,18 @@ void lv_draw_change_speed(void) { } void disp_speed_step() { - if (uiCfg.stepPrintSpeed == 1) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_C_STEP, "bmp_step1_percent.bin", 0); - else if (uiCfg.stepPrintSpeed == 5) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_C_STEP, "bmp_step5_percent.bin", 0); - else if (uiCfg.stepPrintSpeed == 10) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_C_STEP, "bmp_step10_percent.bin", 0); - + if (uiCfg.stepPrintSpeed == 1) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step1_percent.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step1_percent.bin"); + } + else if (uiCfg.stepPrintSpeed == 5) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step5_percent.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step5_percent.bin"); + } + else if (uiCfg.stepPrintSpeed == 10) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step10_percent.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step10_percent.bin"); + } if (gCfgItems.multiple_language != 0) { if (uiCfg.stepPrintSpeed == 1) { lv_label_set_text(labelStep, speed_menu.step_1percent); @@ -309,13 +321,17 @@ void disp_print_speed() { void disp_speed_type() { switch (speedType) { case 1: - lv_obj_set_event_cb_mks(buttonExt, event_handler, ID_C_EXT, "bmp_extruct_sel.bin", 0); - lv_obj_set_event_cb_mks(buttonMov, event_handler, ID_C_MOVE, "bmp_mov_changeSpeed.bin", 0); + lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_REL, "F:/bmp_mov_changeSpeed.bin"); + lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_PR, "F:/bmp_mov_changeSpeed.bin"); + lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_REL, "F:/bmp_extruct_sel.bin"); + lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_PR, "F:/bmp_extruct_sel.bin"); break; default: - lv_obj_set_event_cb_mks(buttonExt, event_handler, ID_C_EXT, "bmp_speed_extruct.bin", 0); - lv_obj_set_event_cb_mks(buttonMov, event_handler, ID_C_MOVE, "bmp_mov_sel.bin", 0); + lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_REL, "F:/bmp_mov_sel.bin"); + lv_imgbtn_set_src(buttonMov, LV_BTN_STATE_PR, "F:/bmp_mov_sel.bin"); + lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_REL, "F:/bmp_speed_extruct.bin"); + lv_imgbtn_set_src(buttonExt, LV_BTN_STATE_PR, "F:/bmp_speed_extruct.bin"); break; } lv_obj_refresh_ext_draw_pad(buttonExt); @@ -330,6 +346,11 @@ void disp_speed_type() { } } -void lv_clear_change_speed() { lv_obj_del(scr); } +void lv_clear_change_speed() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp index 3b4fc8d2071c..c8483230103c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp @@ -41,6 +41,7 @@ #include "../../../../gcode/queue.h" #include "../../../../module/temperature.h" #include "../../../../module/planner.h" +#include "../../../../gcode/gcode.h" #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../feature/powerloss.h" @@ -51,20 +52,25 @@ #endif #include "../../../../gcode/gcode.h" -#include "pic_manager.h" - +extern lv_group_t * g; static lv_obj_t * scr; +static lv_obj_t * tempText1; +static lv_obj_t * filament_bar; + extern uint8_t sel_id; extern uint8_t once_flag; extern uint8_t gcode_preview_over; -uint8_t DialogType; +extern int upload_result ; +extern uint32_t upload_time; +extern uint32_t upload_size; +extern uint8_t temperature_change_frequency; static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) { if (event == LV_EVENT_CLICKED) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - if (DialogType == DIALOG_TYPE_PRINT_FILE) { + if (uiCfg.dialogType == DIALOG_TYPE_PRINT_FILE) { #if HAS_GCODE_PREVIEW preview_gcode_prehandle(list_file.file_name[sel_id]); #endif @@ -108,7 +114,8 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) { } #endif } - else if (DialogType == DIALOG_TYPE_STOP) { + else if (uiCfg.dialogType == DIALOG_TYPE_STOP) { + wait_for_heatup = false; stop_print_time(); lv_clear_dialog(); lv_draw_ready_print(); @@ -130,40 +137,57 @@ static void btn_ok_event_cb(lv_obj_t * btn, lv_event_t event) { //queue.inject_P(PSTR("G91\nG1 Z10\nG90\nG28 X0 Y0\nM84\nM107")); #endif } - else if (DialogType == DIALOG_TYPE_FINISH_PRINT) { + else if (uiCfg.dialogType == DIALOG_TYPE_FINISH_PRINT) { clear_cur_ui(); lv_draw_ready_print(); } #if ENABLED(ADVANCED_PAUSE_FEATURE) - else if (DialogType == DIALOG_PAUSE_MESSAGE_WAITING - || DialogType == DIALOG_PAUSE_MESSAGE_INSERT - || DialogType == DIALOG_PAUSE_MESSAGE_HEAT + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_WAITING + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_INSERT + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_HEAT ) { wait_for_user = false; } - else if (DialogType == DIALOG_PAUSE_MESSAGE_OPTION) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_OPTION) { pause_menu_response = PAUSE_RESPONSE_EXTRUDE_MORE; } - else if (DialogType == DIALOG_PAUSE_MESSAGE_RESUME) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_RESUME) { clear_cur_ui(); draw_return_ui(); } #endif - else if (DialogType == DIALOG_STORE_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_STORE_EEPROM_TIPS) { gcode.process_subcommands_now_P(PSTR("M500")); clear_cur_ui(); draw_return_ui(); } - else if (DialogType == DIALOG_READ_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_READ_EEPROM_TIPS) { gcode.process_subcommands_now_P(PSTR("M501")); clear_cur_ui(); draw_return_ui(); } - else if (DialogType == DIALOG_REVERT_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_REVERT_EEPROM_TIPS) { gcode.process_subcommands_now_P(PSTR("M502")); clear_cur_ui(); draw_return_ui(); } + else if (uiCfg.dialogType == DIALOG_WIFI_CONFIG_TIPS) { + uiCfg.configWifi = 1; + clear_cur_ui(); + draw_return_ui(); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED) { + uiCfg.filament_heat_completed_load = 1; + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_UNLOAD_COMPLETED) { + uiCfg.filament_heat_completed_unload = 1; + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_COMPLETED + || uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_COMPLETED + ) { + clear_cur_ui(); + draw_return_ui(); + } } } @@ -172,11 +196,35 @@ static void btn_cancel_event_cb(lv_obj_t * btn, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - if (DialogType == DIALOG_PAUSE_MESSAGE_OPTION) { + if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_OPTION) { #if ENABLED(ADVANCED_PAUSE_FEATURE) pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; #endif } + else if ((uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_HEAT) + || (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_HEAT) + || (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED) + || (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_UNLOAD_COMPLETED) + ) { + thermalManager.temp_hotend[uiCfg.curSprayerChoose].target= uiCfg.desireSprayerTempBak; + clear_cur_ui(); + draw_return_ui(); + } + else if ((uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOADING) + || (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOADING) + ) { + queue.enqueue_one_P(PSTR("M410")); + uiCfg.filament_rate = 0; + uiCfg.filament_loading_completed = 0; + uiCfg.filament_unloading_completed = 0; + uiCfg.filament_loading_time_flg = 0; + uiCfg.filament_loading_time_cnt = 0; + uiCfg.filament_unloading_time_flg = 0; + uiCfg.filament_unloading_time_cnt = 0; + thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = uiCfg.desireSprayerTempBak; + clear_cur_ui(); + draw_return_ui(); + } else { clear_cur_ui(); draw_return_ui(); @@ -186,13 +234,15 @@ static void btn_cancel_event_cb(lv_obj_t * btn, lv_event_t event) { void lv_draw_dialog(uint8_t type) { + lv_obj_t * btnOk = NULL; + lv_obj_t * btnCancel = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != DIALOG_UI) { disp_state_stack._disp_index++; disp_state_stack._disp_state[disp_state_stack._disp_index] = DIALOG_UI; } disp_state = DIALOG_UI; - DialogType = type; + uiCfg.dialogType = type; scr = lv_obj_create(NULL, NULL); @@ -208,7 +258,6 @@ void lv_draw_dialog(uint8_t type) { lv_refr_now(lv_refr_get_disp_refreshing()); - //LV_IMG_DECLARE(bmp_pic); static lv_style_t style_btn_rel; // A variable to store the released style lv_style_copy(&style_btn_rel, &lv_style_plain); // Initialize from a built-in style @@ -231,60 +280,151 @@ void lv_draw_dialog(uint8_t type) { style_btn_pr.text.color = lv_color_hex3(0xBCD); style_btn_pr.text.font = &TERN(HAS_SPI_FLASH_FONT, gb2312_puhui32, lv_font_roboto_22); - lv_obj_t * labelDialog = lv_label_create(scr, NULL); + lv_obj_t *labelDialog = lv_label_create(scr, NULL); lv_obj_set_style(labelDialog, &tft_style_label_rel); - if (DialogType == DIALOG_TYPE_FINISH_PRINT || DialogType == DIALOG_PAUSE_MESSAGE_RESUME) { - lv_obj_t * btnOk = lv_btn_create(scr, NULL); // Add a button the current screen - lv_obj_set_pos(btnOk, BTN_OK_X + 90, BTN_OK_Y); // Set its position - lv_obj_set_size(btnOk, 100, 50); // Set its size - lv_obj_set_event_cb(btnOk, btn_ok_event_cb); - lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); // Set the button's released style - lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); // Set the button's pressed style - lv_obj_t * labelOk = lv_label_create(btnOk, NULL); // Add a label to the button - lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text + if (uiCfg.dialogType == DIALOG_TYPE_FINISH_PRINT || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_RESUME) { + btnOk = lv_btn_create(scr, NULL); // Add a button the current screen + lv_obj_set_pos(btnOk, BTN_OK_X + 90, BTN_OK_Y); // Set its position + lv_obj_set_size(btnOk, 100, 50); // Set its size + lv_obj_set_event_cb(btnOk, btn_ok_event_cb); + lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); // Set the button's released style + lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); // Set the button's pressed style + lv_obj_t *labelOk = lv_label_create(btnOk, NULL); // Add a label to the button + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text } - else if (DialogType == DIALOG_PAUSE_MESSAGE_WAITING - || DialogType == DIALOG_PAUSE_MESSAGE_INSERT - || DialogType == DIALOG_PAUSE_MESSAGE_HEAT + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_WAITING + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_INSERT + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_HEAT ) { - lv_obj_t * btnOk = lv_btn_create(scr, NULL); // Add a button the current screen + btnOk = lv_btn_create(scr, NULL); // Add a button the current screen lv_obj_set_pos(btnOk, BTN_OK_X + 90, BTN_OK_Y); // Set its position lv_obj_set_size(btnOk, 100, 50); // Set its size lv_obj_set_event_cb(btnOk, btn_ok_event_cb); lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); // Set the button's released style lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); // Set the button's pressed style - lv_obj_t * labelOk = lv_label_create(btnOk, NULL); // Add a label to the button + lv_obj_t *labelOk = lv_label_create(btnOk, NULL); // Add a label to the button lv_label_set_text(labelOk, print_file_dialog_menu.confirm); // Set the labels text } - else if (DialogType == DIALOG_PAUSE_MESSAGE_PAUSING - || DialogType == DIALOG_PAUSE_MESSAGE_CHANGING - || DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD - || DialogType == DIALOG_PAUSE_MESSAGE_LOAD - || DialogType == DIALOG_PAUSE_MESSAGE_PURGE - || DialogType == DIALOG_PAUSE_MESSAGE_RESUME - || DialogType == DIALOG_PAUSE_MESSAGE_HEATING + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_PAUSING + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_CHANGING + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_UNLOAD + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_LOAD + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_PURGE + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_RESUME + || uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_HEATING ) { // nothing to do } + else if (uiCfg.dialogType == WIFI_ENABLE_TIPS) { + btnCancel = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnCancel, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnCancel, 100, 50); + lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + } + else if (uiCfg.dialogType == DIALOG_TRANSFER_NO_DEVICE) { + btnCancel = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnCancel, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnCancel, 100, 50); + lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + } + #if ENABLED(USE_WIFI_FUNCTION) + else if (uiCfg.dialogType == DIALOG_TYPE_UPLOAD_FILE) { + if (upload_result == 2) { + btnCancel = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnCancel, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnCancel, 100, 50); + lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + } + else if (upload_result == 3) { + btnOk = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnOk, 100, 50); + lv_obj_set_event_cb(btnOk, btn_ok_event_cb); + lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelOk = lv_label_create(btnOk, NULL); + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); + } + } + #endif //USE_WIFI_FUNCTION + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_HEAT + || uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_HEAT + ) { + btnCancel = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnCancel, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnCancel, 100, 50); + lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + + tempText1 = lv_label_create(scr, NULL); + lv_obj_set_style(tempText1, &tft_style_label_rel); + filament_sprayer_temp(); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_COMPLETED + || uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_COMPLETED + ) { + btnOk = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnOk, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnOk, 100, 50); + lv_obj_set_event_cb(btnOk, btn_ok_event_cb); + lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelOk = lv_label_create(btnOk, NULL); + lv_label_set_text(labelOk, print_file_dialog_menu.confirm); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOADING + || uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOADING + ) { + btnCancel = lv_btn_create(scr, NULL); + lv_obj_set_pos(btnCancel, BTN_OK_X+90, BTN_OK_Y); + lv_obj_set_size(btnCancel, 100, 50); + lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); + lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); + lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); + + filament_bar = lv_bar_create(scr, NULL); + lv_obj_set_pos(filament_bar, (TFT_WIDTH-400)/2, ((TFT_HEIGHT - titleHeight)-40)/2); + lv_obj_set_size(filament_bar, 400, 25); + lv_bar_set_style(filament_bar, LV_BAR_STYLE_INDIC, &lv_bar_style_indic); + lv_bar_set_anim_time(filament_bar, 1000); + lv_bar_set_value(filament_bar, 0, LV_ANIM_ON); + } else { - lv_obj_t * btnOk = lv_btn_create(scr, NULL); // Add a button the current screen + btnOk = lv_btn_create(scr, NULL); // Add a button the current screen lv_obj_set_pos(btnOk, BTN_OK_X, BTN_OK_Y); // Set its position lv_obj_set_size(btnOk, 100, 50); // Set its size lv_obj_set_event_cb(btnOk, btn_ok_event_cb); lv_btn_set_style(btnOk, LV_BTN_STYLE_REL, &style_btn_rel); // Set the button's released style lv_btn_set_style(btnOk, LV_BTN_STYLE_PR, &style_btn_pr); // Set the button's pressed style - lv_obj_t * labelOk = lv_label_create(btnOk, NULL); // Add a label to the button + lv_obj_t *labelOk = lv_label_create(btnOk, NULL); // Add a label to the button - lv_obj_t * btnCancel = lv_btn_create(scr, NULL); // Add a button the current screen + btnCancel = lv_btn_create(scr, NULL); // Add a button the current screen lv_obj_set_pos(btnCancel, BTN_CANCEL_X, BTN_CANCEL_Y); // Set its position lv_obj_set_size(btnCancel, 100, 50); // Set its size lv_obj_set_event_cb(btnCancel, btn_cancel_event_cb); lv_btn_set_style(btnCancel, LV_BTN_STYLE_REL, &style_btn_rel); // Set the button's released style lv_btn_set_style(btnCancel, LV_BTN_STYLE_PR, &style_btn_pr); // Set the button's pressed style - lv_obj_t * labelCancel = lv_label_create(btnCancel, NULL); // Add a label to the button + lv_obj_t *labelCancel = lv_label_create(btnCancel, NULL); // Add a label to the button - if (DialogType == DIALOG_PAUSE_MESSAGE_OPTION) { + if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_OPTION) { lv_label_set_text(labelOk, pause_msg_menu.purgeMore); // Set the labels text lv_label_set_text(labelCancel, pause_msg_menu.continuePrint); } @@ -293,82 +433,271 @@ void lv_draw_dialog(uint8_t type) { lv_label_set_text(labelCancel, print_file_dialog_menu.cancle); } } - if (DialogType == DIALOG_TYPE_PRINT_FILE) { + if (uiCfg.dialogType == DIALOG_TYPE_PRINT_FILE) { lv_label_set_text(labelDialog, print_file_dialog_menu.print_file); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); - lv_obj_t * labelFile = lv_label_create(scr, NULL); + lv_obj_t *labelFile = lv_label_create(scr, NULL); lv_obj_set_style(labelFile, &tft_style_label_rel); lv_label_set_text(labelFile, list_file.long_name[sel_id]); lv_obj_align(labelFile, NULL, LV_ALIGN_CENTER, 0, -60); } - else if (DialogType == DIALOG_TYPE_STOP) { + else if (uiCfg.dialogType == DIALOG_TYPE_STOP) { lv_label_set_text(labelDialog, print_file_dialog_menu.cancle_print); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_TYPE_FINISH_PRINT) { + else if (uiCfg.dialogType == DIALOG_TYPE_FINISH_PRINT) { lv_label_set_text(labelDialog, print_file_dialog_menu.print_finish); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_PAUSING) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_PAUSING) { lv_label_set_text(labelDialog, pause_msg_menu.pausing); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_CHANGING) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_CHANGING) { lv_label_set_text(labelDialog, pause_msg_menu.changing); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_UNLOAD) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_UNLOAD) { lv_label_set_text(labelDialog, pause_msg_menu.unload); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_WAITING) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_WAITING) { lv_label_set_text(labelDialog, pause_msg_menu.waiting); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_INSERT) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_INSERT) { lv_label_set_text(labelDialog, pause_msg_menu.insert); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_LOAD) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_LOAD) { lv_label_set_text(labelDialog, pause_msg_menu.load); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_PURGE) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_PURGE) { lv_label_set_text(labelDialog, pause_msg_menu.purge); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_RESUME) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_RESUME) { lv_label_set_text(labelDialog, pause_msg_menu.resume); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_HEAT) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_HEAT) { lv_label_set_text(labelDialog, pause_msg_menu.heat); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_HEATING) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_HEATING) { lv_label_set_text(labelDialog, pause_msg_menu.heating); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_PAUSE_MESSAGE_OPTION) { + else if (uiCfg.dialogType == DIALOG_PAUSE_MESSAGE_OPTION) { lv_label_set_text(labelDialog, pause_msg_menu.option); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_STORE_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_STORE_EEPROM_TIPS) { lv_label_set_text(labelDialog, eeprom_menu.storeTips); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_READ_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_READ_EEPROM_TIPS) { lv_label_set_text(labelDialog, eeprom_menu.readTips); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } - else if (DialogType == DIALOG_REVERT_EEPROM_TIPS) { + else if (uiCfg.dialogType == DIALOG_REVERT_EEPROM_TIPS) { lv_label_set_text(labelDialog, eeprom_menu.revertTips); lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); } + else if (uiCfg.dialogType == DIALOG_WIFI_CONFIG_TIPS) { + lv_label_set_text(labelDialog, machine_menu.wifiConfigTips); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == WIFI_ENABLE_TIPS) { + lv_label_set_text(labelDialog, print_file_dialog_menu.wifi_enable_tips); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TRANSFER_NO_DEVICE) { + lv_label_set_text(labelDialog, DIALOG_UPDATE_NO_DEVICE_EN); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + #if ENABLED(USE_WIFI_FUNCTION) + else if (uiCfg.dialogType == DIALOG_TYPE_UPLOAD_FILE) { + if (upload_result == 1) { + lv_label_set_text(labelDialog, DIALOG_UPLOAD_ING_EN); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (upload_result == 2) { + lv_label_set_text(labelDialog, DIALOG_UPLOAD_ERROR_EN); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (upload_result == 3) { + char buf[200]; + int _index = 0; + + ZERO(buf); + + strcpy(buf, DIALOG_UPLOAD_FINISH_EN); + _index = strlen(buf); + buf[_index] = '\n'; + _index++; + strcat(buf, DIALOG_UPLOAD_SIZE_EN); + + _index = strlen(buf); + buf[_index] = ':'; + _index++; + sprintf(&buf[_index], " %d KBytes\n", (int)(upload_size / 1024)); + + strcat(buf, DIALOG_UPLOAD_TIME_EN); + _index = strlen(buf); + buf[_index] = ':'; + _index++; + sprintf(&buf[_index], " %d s\n", (int)upload_time); + + strcat(buf, DIALOG_UPLOAD_SPEED_EN); + _index = strlen(buf); + buf[_index] = ':'; + _index++; + sprintf(&buf[_index], " %d KBytes/s\n", (int)(upload_size / upload_time / 1024)); + + lv_label_set_text(labelDialog, buf); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + + } + } + #endif //USE_WIFI_FUNCTION + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_HEAT) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_load_heat); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_load_heat_confirm); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_HEAT) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_unload_heat); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_HEAT_UNLOAD_COMPLETED) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_unload_heat_confirm); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_COMPLETED) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_load_completed); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_COMPLETED) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_unload_completed); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -20); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOADING) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_loading); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -70); + } + else if (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOADING) { + lv_label_set_text(labelDialog, filament_menu.filament_dialog_unloading); + lv_obj_align(labelDialog, NULL, LV_ALIGN_CENTER, 0, -70); + } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + if (btnOk) lv_group_add_obj(g, btnOk); + if (btnCancel) lv_group_add_obj(g, btnCancel); + } + #endif +} + +void filament_sprayer_temp() { + char buf[20] = {0}; + + public_buf_l[0] = '\0'; + + if (uiCfg.curSprayerChoose < 1) + strcat(public_buf_l, preheat_menu.ext1); + else + strcat(public_buf_l, preheat_menu.ext2); + sprintf(buf, preheat_menu.value_state, (int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius, (int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target); + + strcat_P(public_buf_l, PSTR(": ")); + strcat(public_buf_l, buf); + lv_label_set_text(tempText1, public_buf_l); + lv_obj_align(tempText1, NULL, LV_ALIGN_CENTER, 0, -50); +} + +void filament_dialog_handle() { + if ((temperature_change_frequency == 1) + && ((uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOAD_HEAT) + || (uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOAD_HEAT)) + ) { + filament_sprayer_temp(); + temperature_change_frequency = 0; + } + if (uiCfg.filament_heat_completed_load == 1) { + uiCfg.filament_heat_completed_load = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_LOADING); + planner.synchronize(); + uiCfg.filament_loading_time_flg = 1; + uiCfg.filament_loading_time_cnt = 0; + ZERO(public_buf_m); + sprintf_P(public_buf_m,PSTR("T%d\nG91\nG1 E%d F%d\nG90"),uiCfg.curSprayerChoose,gCfgItems.filamentchange_load_length,gCfgItems.filamentchange_load_speed); + queue.inject_P(PSTR(public_buf_m)); + //gcode.process_subcommands_now_P(PSTR(public_buf_m)); + } + if (uiCfg.filament_heat_completed_unload == 1) { + uiCfg.filament_heat_completed_unload = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_UNLOADING); + planner.synchronize(); + uiCfg.filament_unloading_time_flg = 1; + uiCfg.filament_unloading_time_cnt = 0; + ZERO(public_buf_m); + sprintf_P(public_buf_m,PSTR("T%d\nG91\nG1 E-%d F%d\nG90"),uiCfg.curSprayerChoose,gCfgItems.filamentchange_unload_length,gCfgItems.filamentchange_unload_speed); + queue.inject_P(PSTR(public_buf_m)); + } + + if (((abs((int)((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius - gCfgItems.filament_limit_temper)) <= 1) + || ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius > gCfgItems.filament_limit_temper)) + && (uiCfg.filament_load_heat_flg == 1) + ) { + uiCfg.filament_load_heat_flg = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED); + } + + if (uiCfg.filament_loading_completed == 1) { + uiCfg.filament_rate = 0; + uiCfg.filament_loading_completed = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_LOAD_COMPLETED); + } + if (((abs((int)((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius - gCfgItems.filament_limit_temper)) <= 1) + || ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius > gCfgItems.filament_limit_temper)) + && (uiCfg.filament_unload_heat_flg == 1) + ) { + uiCfg.filament_unload_heat_flg = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_UNLOAD_COMPLETED); + } + + if (uiCfg.filament_unloading_completed == 1) { + uiCfg.filament_rate = 0; + uiCfg.filament_unloading_completed = 0; + lv_clear_dialog(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_UNLOAD_COMPLETED); + } + + if ( uiCfg.dialogType == DIALOG_TYPE_FILAMENT_LOADING + || uiCfg.dialogType == DIALOG_TYPE_FILAMENT_UNLOADING + ) lv_filament_setbar(); } -void lv_clear_dialog() { lv_obj_del(scr); } +void lv_filament_setbar() { + lv_bar_set_value(filament_bar, uiCfg.filament_rate, LV_ANIM_ON); +} + +void lv_clear_dialog() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h index f08c7b779ae1..dc5adc5ad64c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h @@ -69,6 +69,8 @@ #define DIALOG_READ_EEPROM_TIPS 33 #define DIALOG_REVERT_EEPROM_TIPS 34 +#define DIALOG_WIFI_CONFIG_TIPS 35 +#define DIALOG_TRANSFER_NO_DEVICE 36 #define BTN_OK_X 100 #define BTN_OK_Y 180 #define BTN_CANCEL_X 280 @@ -76,6 +78,9 @@ extern void lv_draw_dialog(uint8_t type); extern void lv_clear_dialog(); +extern void filament_sprayer_temp(); +extern void filament_dialog_handle(); +extern void lv_filament_setbar(); //extern void disp_temp_ready_print(); #ifdef __cplusplus diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.cpp index f340ca463223..ca7d2d1e31b8 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_eeprom_settings.cpp @@ -28,6 +28,7 @@ #include "../../../../MarlinCore.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_EEPROM_RETURN 1 @@ -48,26 +49,25 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { draw_return_ui(); } break; + case ID_EEPROM_STORE: + if (event == LV_EVENT_CLICKED) { - #if 0 - case ID_EEPROM_STORE: - if (event == LV_EVENT_CLICKED) { - - } - else if (event == LV_EVENT_RELEASED) { - lv_clear_eeprom_settings(); - lv_draw_dialog(DIALOG_STORE_EEPROM_TIPS); - } - break; - case ID_EEPROM_STORE_ARROW: - if (event == LV_EVENT_CLICKED) { + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_eeprom_settings(); + lv_draw_dialog(DIALOG_STORE_EEPROM_TIPS); + } + break; + case ID_EEPROM_STORE_ARROW: + if (event == LV_EVENT_CLICKED) { - } - else if (event == LV_EVENT_RELEASED) { - lv_clear_eeprom_settings(); - lv_draw_dialog(DIALOG_STORE_EEPROM_TIPS); - } - break; + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_eeprom_settings(); + lv_draw_dialog(DIALOG_STORE_EEPROM_TIPS); + } + break; + #if 0 case ID_EEPROM_READ: if (event == LV_EVENT_CLICKED) { @@ -111,10 +111,10 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_eeprom_settings(void) { lv_obj_t *buttonBack, *label_Back; - //lv_obj_t *buttonStore,*labelStore,*buttonStoreNarrow; + lv_obj_t *buttonStore,*labelStore,*buttonStoreNarrow; //lv_obj_t *buttonRead,*labelRead,*buttonReadNarrow; lv_obj_t *buttonRevert, *labelRevert, *buttonRevertNarrow; - lv_obj_t * line1; // * line2,* line3; + lv_obj_t * line1, * line2; //* line3; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != EEPROM_SETTINGS_UI) { disp_state_stack._disp_index++; disp_state_stack._disp_state[disp_state_stack._disp_index] = EEPROM_SETTINGS_UI; @@ -134,53 +134,6 @@ void lv_draw_eeprom_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_arrow); - #if 0 - buttonStore = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonStore, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonStore, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - //lv_obj_set_event_cb(buttonMachine, event_handler); - lv_obj_set_event_cb_mks(buttonStore, event_handler, ID_EEPROM_STORE, NULL, 0); - lv_btn_set_style(buttonStore, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonStore, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonStore, LV_LAYOUT_OFF); - labelStore = lv_label_create(buttonStore, NULL); /*Add a label to the button*/ - - buttonStoreNarrow = lv_imgbtn_create(scr, NULL); - lv_obj_set_pos(buttonStoreNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonStoreNarrow, event_handler, ID_EEPROM_STORE_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonStoreNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonStoreNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); - lv_imgbtn_set_style(buttonStoreNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonStoreNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_btn_set_layout(buttonStoreNarrow, LV_LAYOUT_OFF); - - line1 = lv_line_create(scr, NULL); - lv_ex_line(line1, line_points[0]); - - buttonRead = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonRead, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonRead, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - //lv_obj_set_event_cb(buttonMotor, event_handler); - lv_obj_set_event_cb_mks(buttonRead, event_handler, ID_EEPROM_READ, NULL, 0); - lv_btn_set_style(buttonRead, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonRead, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonRead, LV_LAYOUT_OFF); - labelRead = lv_label_create(buttonRead, NULL); /*Add a label to the button*/ - - buttonReadNarrow = lv_imgbtn_create(scr, NULL); - lv_obj_set_pos(buttonReadNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonReadNarrow, event_handler, ID_EEPROM_READ_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonReadNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonReadNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); - lv_imgbtn_set_style(buttonReadNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonReadNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_btn_set_layout(buttonReadNarrow, LV_LAYOUT_OFF); - - line2 = lv_line_create(scr, NULL); - lv_ex_line(line2, line_points[1]); - #endif // if 0 buttonRevert = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonRevert, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ lv_obj_set_size(buttonRevert, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ @@ -193,9 +146,9 @@ void lv_draw_eeprom_settings(void) { buttonRevertNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonRevertNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonRevertNarrow, event_handler, ID_EEPROM_REVERT_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonRevertNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonRevertNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonRevertNarrow, event_handler, ID_EEPROM_REVERT_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonRevertNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonRevertNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonRevertNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonRevertNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonRevertNarrow, LV_LAYOUT_OFF); @@ -205,10 +158,32 @@ void lv_draw_eeprom_settings(void) { line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); + buttonStore = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonStore, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ + lv_obj_set_size(buttonStore, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + //lv_obj_set_event_cb(buttonMotor, event_handler); + lv_obj_set_event_cb_mks(buttonStore, event_handler, ID_EEPROM_STORE, NULL, 0); + lv_btn_set_style(buttonStore, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonStore, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonStore, LV_LAYOUT_OFF); + labelStore = lv_label_create(buttonStore, NULL); /*Add a label to the button*/ + + buttonStoreNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonStoreNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonStoreNarrow, event_handler, ID_EEPROM_STORE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonStoreNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonStoreNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonStoreNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonStoreNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonStoreNarrow, LV_LAYOUT_OFF); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_EEPROM_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_EEPROM_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); @@ -220,8 +195,8 @@ void lv_draw_eeprom_settings(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); - //lv_label_set_text(labelStore, eeprom_menu.store); - //lv_obj_align(labelStore, buttonStore, LV_ALIGN_IN_LEFT_MID,0, 0); + lv_label_set_text(labelStore, eeprom_menu.store); + lv_obj_align(labelStore, buttonStore, LV_ALIGN_IN_LEFT_MID,0, 0); //lv_label_set_text(labelRead, eeprom_menu.read); //lv_obj_align(labelRead, buttonRead, LV_ALIGN_IN_LEFT_MID,0, 0); @@ -229,9 +204,21 @@ void lv_draw_eeprom_settings(void) { lv_label_set_text(labelRevert, eeprom_menu.revert); lv_obj_align(labelRevert, buttonRevert, LV_ALIGN_IN_LEFT_MID, 0, 0); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonRevert); + lv_group_add_obj(g, buttonStore); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_eeprom_settings() { lv_obj_del(scr); } +void lv_clear_eeprom_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.cpp new file mode 100644 index 000000000000..0ad2bb5f1ddb --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.cpp @@ -0,0 +1,172 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/planner.h" +#include "../../../../module/stepper/indirection.h" +#include "../../../../feature/tmc_util.h" +#include "../../../../gcode/gcode.h" +#include "../../../../module/planner.h" + +#if BUTTONS_EXIST(EN1, EN2) + +extern lv_group_t * g; +static lv_obj_t * scr; +static lv_obj_t * buttonEncoderState = NULL; +static lv_obj_t *labelEncoderState = NULL; + +#define ID_ENCODER_RETURN 1 +#define ID_ENCODER_STATE 2 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_ENCODER_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_encoder_settings(); + draw_return_ui(); + } + break; + case ID_ENCODER_STATE: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (gCfgItems.encoder_enable) { + gCfgItems.encoder_enable = false; + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelEncoderState, machine_menu.disable); + update_spi_flash(); + } + else { + gCfgItems.encoder_enable = true; + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelEncoderState, machine_menu.enable); + update_spi_flash(); + } + } + break; + } +} + +void lv_draw_encoder_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL; + lv_obj_t *labelEncoderTips = NULL; + + lv_obj_t * line1 = NULL; + + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != ENCODER_SETTINGS_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = ENCODER_SETTINGS_UI; + } + disp_state = ENCODER_SETTINGS_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.EncoderConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + labelEncoderTips = lv_label_create(scr, NULL); + lv_obj_set_style(labelEncoderTips, &tft_style_label_rel); + lv_obj_set_pos(labelEncoderTips, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelEncoderTips, machine_menu.EncoderConfText); + + buttonEncoderState = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonEncoderState, PARA_UI_STATE_POS_X, PARA_UI_POS_Y + PARA_UI_STATE_V); + if (gCfgItems.encoder_enable) { + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonEncoderState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + + lv_obj_set_event_cb_mks(buttonEncoderState, event_handler, ID_ENCODER_STATE, NULL, 0); + + lv_imgbtn_set_style(buttonEncoderState, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonEncoderState, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonEncoderState, LV_LAYOUT_OFF); + labelEncoderState = lv_label_create(buttonEncoderState, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + buttonBack = lv_imgbtn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_ENCODER_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.encoder_enable) { + lv_label_set_text(labelEncoderState, machine_menu.enable); + lv_obj_align(labelEncoderState, buttonEncoderState, LV_ALIGN_CENTER, 0, 0); + } + else { + lv_label_set_text(labelEncoderState, machine_menu.disable); + lv_obj_align(labelEncoderState, buttonEncoderState, LV_ALIGN_CENTER, 0, 0); + } + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonEncoderState); + lv_group_add_obj(g, buttonBack); + } + #endif +} + +void lv_clear_encoder_settings() { + #if HAS_ROTARY_ENCODER + lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // BUTTONS_EXIST(EN1, EN2) + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.h new file mode 100644 index 000000000000..62892a6ec142 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_encoder_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_encoder_settings(void); +extern void lv_clear_encoder_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp index 9f5977d70c70..543202067f59 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_extrusion.cpp @@ -35,10 +35,11 @@ #include "../../../../gcode/queue.h" static lv_obj_t * scr; +extern lv_group_t* g; static lv_obj_t * buttoType, *buttonStep, *buttonSpeed; -static lv_obj_t * labelType; -static lv_obj_t * labelStep; -static lv_obj_t * labelSpeed; +static lv_obj_t *labelType; +static lv_obj_t *labelStep; +static lv_obj_t *labelSpeed; static lv_obj_t * tempText; static lv_obj_t * ExtruText; @@ -171,8 +172,6 @@ void lv_draw_extrusion(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create image buttons buttonAdd = lv_imgbtn_create(scr, NULL); buttonDec = lv_imgbtn_create(scr, NULL); @@ -181,37 +180,35 @@ void lv_draw_extrusion(void) { buttonSpeed = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_E_ADD, "bmp_in.bin", 0); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_E_ADD, NULL, 0); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, "F:/bmp_in.bin"); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, "F:/bmp_in.bin"); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW); + #if 1 - lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_E_DEC, "bmp_out.bin", 0); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_E_DEC, NULL, 0); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, "F:/bmp_out.bin"); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, "F:/bmp_out.bin"); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttoType, event_handler, ID_E_TYPE, NULL, 0); lv_imgbtn_set_style(buttoType, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttoType, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_E_STEP, NULL, 0); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_E_SPEED, NULL, 0); lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_E_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_E_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -249,6 +246,17 @@ void lv_draw_extrusion(void) { lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonAdd); + lv_group_add_obj(g, buttonDec); + lv_group_add_obj(g, buttoType); + lv_group_add_obj(g, buttonStep); + lv_group_add_obj(g, buttonSpeed); + lv_group_add_obj(g, buttonBack); + } + #endif + disp_ext_type(); disp_ext_step(); disp_ext_speed(); @@ -264,14 +272,16 @@ void lv_draw_extrusion(void) { void disp_ext_type() { if (uiCfg.curSprayerChoose == 1) { - lv_obj_set_event_cb_mks(buttoType, event_handler, ID_E_TYPE, "bmp_extru2.bin", 0); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru2.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru2.bin"); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelType, extrude_menu.ext2); lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } else { - lv_obj_set_event_cb_mks(buttoType, event_handler, ID_E_TYPE, "bmp_extru1.bin", 0); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru1.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru1.bin"); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelType, extrude_menu.ext1); lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -280,12 +290,18 @@ void disp_ext_type() { } void disp_ext_speed() { - if (uiCfg.extruSpeed == 20) - lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_E_SPEED, "bmp_speed_high.bin", 0); - else if (uiCfg.extruSpeed == 1) - lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_E_SPEED, "bmp_speed_slow.bin", 0); - else - lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_E_SPEED, "bmp_speed_normal.bin", 0); + if (uiCfg.extruSpeed == 20) { + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, "F:/bmp_speed_high.bin"); + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, "F:/bmp_speed_high.bin"); + } + else if (uiCfg.extruSpeed == 1) { + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, "F:/bmp_speed_slow.bin"); + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, "F:/bmp_speed_slow.bin"); + } + else { + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, "F:/bmp_speed_normal.bin"); + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, "F:/bmp_speed_normal.bin"); + } if (gCfgItems.multiple_language != 0) { if (uiCfg.extruSpeed == 20) { @@ -348,12 +364,18 @@ void disp_extru_amount() { } void disp_ext_step() { - if (uiCfg.extruStep == 1) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_E_STEP, "bmp_step1_mm.bin", 0); - else if (uiCfg.extruStep == 5) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_E_STEP, "bmp_step5_mm.bin", 0); - else if (uiCfg.extruStep == 10) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_E_STEP, "bmp_step10_mm.bin", 0); + if (uiCfg.extruStep == 1) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step1_mm.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step1_mm.bin"); + } + else if (uiCfg.extruStep == 5) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step5_mm.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step5_mm.bin"); + } + else if (uiCfg.extruStep == 10) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step10_mm.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step10_mm.bin"); + } if (gCfgItems.multiple_language != 0) { if (uiCfg.extruStep == 1) { @@ -371,6 +393,11 @@ void disp_ext_step() { } } -void lv_clear_extrusion() { lv_obj_del(scr); } +void lv_clear_extrusion() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp index e1975aca7e9c..8cdc14964f4b 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_fan.cpp @@ -35,6 +35,7 @@ #include "../../../../gcode/queue.h" #include "../../../../gcode/gcode.h" +extern lv_group_t * g; static lv_obj_t * scr; static lv_obj_t * fanText; @@ -138,8 +139,6 @@ void lv_draw_fan(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create an Image button buttonAdd = lv_imgbtn_create(scr, NULL); buttonDec = lv_imgbtn_create(scr, NULL); @@ -148,41 +147,41 @@ void lv_draw_fan(void) { buttonOff = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_F_ADD, "bmp_Add.bin", 0); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_F_ADD, NULL, 0); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, "F:/bmp_Add.bin"); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, "F:/bmp_Add.bin"); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW); #if 1 - lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_F_DEC, "bmp_Dec.bin", 0); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_F_DEC, NULL, 0); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, "F:/bmp_Dec.bin"); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, "F:/bmp_Dec.bin"); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonHigh, event_handler,ID_F_HIGH,"bmp_speed255.bin",0); - lv_imgbtn_set_src(buttonHigh, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHigh, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonHigh, event_handler,ID_F_HIGH, NULL,0); + lv_imgbtn_set_src(buttonHigh, LV_BTN_STATE_REL, "F:/bmp_speed255.bin"); + lv_imgbtn_set_src(buttonHigh, LV_BTN_STATE_PR, "F:/bmp_speed255.bin"); lv_imgbtn_set_style(buttonHigh, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonHigh, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonMid, event_handler,ID_F_MID,"bmp_speed127.bin",0); - lv_imgbtn_set_src(buttonMid, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonMid, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonMid, event_handler,ID_F_MID, NULL,0); + lv_imgbtn_set_src(buttonMid, LV_BTN_STATE_REL, "F:/bmp_speed127.bin"); + lv_imgbtn_set_src(buttonMid, LV_BTN_STATE_PR, "F:/bmp_speed127.bin"); lv_imgbtn_set_style(buttonMid, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMid, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonOff, event_handler,ID_F_OFF,"bmp_speed0.bin",0); - lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonOff, event_handler,ID_F_OFF, NULL,0); + lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_REL, "F:/bmp_speed0.bin"); + lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_PR, "F:/bmp_speed0.bin"); lv_imgbtn_set_style(buttonOff, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonOff, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_F_RETURN,"bmp_return.bin",0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_F_RETURN, NULL,0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); @@ -229,6 +228,16 @@ void lv_draw_fan(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonAdd); + lv_group_add_obj(g, buttonDec); + lv_group_add_obj(g, buttonHigh); + lv_group_add_obj(g, buttonMid); + lv_group_add_obj(g, buttonOff); + lv_group_add_obj(g, buttonBack); + } + #endif fanText = lv_label_create(scr, NULL); lv_obj_set_style(fanText, &tft_style_label_rel); @@ -246,6 +255,11 @@ void disp_fan_value() { lv_obj_align(fanText, NULL, LV_ALIGN_CENTER, 0, -65); } -void lv_clear_fan() { lv_obj_del(scr); } +void lv_clear_fan() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.cpp new file mode 100644 index 000000000000..83f9e536774d --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.cpp @@ -0,0 +1,270 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/temperature.h" +#include "../../../../gcode/queue.h" +#include "../../../../gcode/gcode.h" +#include "../../../../module/motion.h" +#include "../../../../module/planner.h" + +extern lv_group_t * g; +static lv_obj_t * scr; +static lv_obj_t *buttoType; +static lv_obj_t *labelType; +static lv_obj_t * tempText1; + +#define ID_FILAMNT_IN 1 +#define ID_FILAMNT_OUT 2 +#define ID_FILAMNT_TYPE 3 +#define ID_FILAMNT_RETURN 4 + +extern feedRate_t feedrate_mm_s; + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_FILAMNT_IN: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.filament_load_heat_flg = 1; + if ((abs(thermalManager.temp_hotend[uiCfg.curSprayerChoose].target - thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius) <= 1) + || (gCfgItems.filament_limit_temper <= thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius)) { + lv_clear_filament_change(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_LOAD_COMPLETED); + } + else { + lv_clear_filament_change(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_LOAD_HEAT); + if (thermalManager.temp_hotend[uiCfg.curSprayerChoose].target < gCfgItems.filament_limit_temper) { + thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = gCfgItems.filament_limit_temper; + thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); + } + } + } + break; + case ID_FILAMNT_OUT: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.filament_unload_heat_flg=1; + if ((thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > 0) + && ((abs((int)((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target - thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius)) <= 1) + || ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius >= gCfgItems.filament_limit_temper)) + ) { + lv_clear_filament_change(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_HEAT_UNLOAD_COMPLETED); + } + else { + lv_clear_filament_change(); + lv_draw_dialog(DIALOG_TYPE_FILAMENT_UNLOAD_HEAT); + if (thermalManager.temp_hotend[uiCfg.curSprayerChoose].target < gCfgItems.filament_limit_temper) { + thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = gCfgItems.filament_limit_temper; + thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); + } + filament_sprayer_temp(); + } + } + break; + case ID_FILAMNT_TYPE: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + #if HAS_MULTI_EXTRUDER + if (uiCfg.curSprayerChoose == 0) + uiCfg.curSprayerChoose = 1; + else if (uiCfg.curSprayerChoose == 1) + uiCfg.curSprayerChoose = 0; + #endif + disp_filament_type(); + } + break; + case ID_FILAMNT_RETURN: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + #if HAS_MULTI_EXTRUDER + if (uiCfg.print_state != IDLE && uiCfg.print_state != REPRINTED) + gcode.process_subcommands_now_P(uiCfg.curSprayerChoose_bak == 1 ? PSTR("T1") : PSTR("T0")); + #endif + feedrate_mm_s = (float)uiCfg.moveSpeed_bak; + if (uiCfg.print_state == PAUSED) + planner.set_e_position_mm((destination.e = current_position.e = uiCfg.current_e_position_bak)); + //current_position.e = destination.e = uiCfg.current_e_position_bak; + thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = uiCfg.desireSprayerTempBak; + + clear_cur_ui(); + draw_return_ui(); + } + break; + } +} + +void lv_draw_filament_change(void) { + lv_obj_t *buttonIn, *buttonOut; + lv_obj_t *buttonBack; + + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != FILAMENTCHANGE_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = FILAMENTCHANGE_UI; + } + disp_state = FILAMENTCHANGE_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + // Create an Image button + buttonIn = lv_imgbtn_create(scr, NULL); + buttonOut = lv_imgbtn_create(scr, NULL); + buttoType = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + + lv_obj_set_event_cb_mks(buttonIn, event_handler, ID_FILAMNT_IN, NULL, 0); + lv_imgbtn_set_src(buttonIn, LV_BTN_STATE_REL, "F:/bmp_in.bin"); + lv_imgbtn_set_src(buttonIn, LV_BTN_STATE_PR, "F:/bmp_in.bin"); + lv_imgbtn_set_style(buttonIn, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonIn, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_clear_protect(buttonIn, LV_PROTECT_FOLLOW); + + lv_obj_set_event_cb_mks(buttonOut, event_handler, ID_FILAMNT_OUT, NULL, 0); + lv_imgbtn_set_src(buttonOut, LV_BTN_STATE_REL, "F:/bmp_out.bin"); + lv_imgbtn_set_src(buttonOut, LV_BTN_STATE_PR, "F:/bmp_out.bin"); + lv_imgbtn_set_style(buttonOut, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonOut, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttoType, event_handler, ID_FILAMNT_TYPE, NULL, 0); + lv_imgbtn_set_style(buttoType, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttoType, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_FILAMNT_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_pos(buttonIn, INTERVAL_V, titleHeight); + lv_obj_set_pos(buttonOut, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); + lv_obj_set_pos(buttoType, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + + // Create labels on the image buttons + lv_btn_set_layout(buttonIn, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonOut, LV_LAYOUT_OFF); + lv_btn_set_layout(buttoType, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + lv_obj_t *labelIn = lv_label_create(buttonIn, NULL); + lv_obj_t *labelOut = lv_label_create(buttonOut, NULL); + labelType = lv_label_create(buttoType, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.multiple_language != 0) { + lv_label_set_text(labelIn, filament_menu.in); + lv_obj_align(labelIn, buttonIn, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(labelOut, filament_menu.out); + lv_obj_align(labelOut, buttonOut, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonIn); + lv_group_add_obj(g, buttonOut); + lv_group_add_obj(g, buttoType); + lv_group_add_obj(g, buttonBack); + } + #endif + + disp_filament_type(); + + tempText1 = lv_label_create(scr, NULL); + lv_obj_set_style(tempText1, &tft_style_label_rel); + disp_filament_temp(); +} + +void disp_filament_type() { + if (uiCfg.curSprayerChoose == 1) { + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru2.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru2.bin"); + if (gCfgItems.multiple_language != 0) { + lv_label_set_text(labelType, preheat_menu.ext2); + lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + } + else { + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru1.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru1.bin"); + if (gCfgItems.multiple_language != 0) { + lv_label_set_text(labelType, preheat_menu.ext1); + lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } + } +} + +void disp_filament_temp() { + char buf[20] = {0}; + + public_buf_l[0] = '\0'; + + if (uiCfg.curSprayerChoose < 1) + strcat(public_buf_l, preheat_menu.ext1); + else + strcat(public_buf_l, preheat_menu.ext2); + sprintf(buf, preheat_menu.value_state, (int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].celsius, (int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target); + + strcat_P(public_buf_l, PSTR(": ")); + strcat(public_buf_l, buf); + lv_label_set_text(tempText1, public_buf_l); + lv_obj_align(tempText1, NULL, LV_ALIGN_CENTER, 0, -50); +} + +void lv_clear_filament_change() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.h new file mode 100644 index 000000000000..b0068f7f0f32 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_change.h @@ -0,0 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_filament_change(void); +extern void lv_clear_filament_change(); +extern void disp_filament_type(); +extern void disp_filament_temp(); + +//extern void disp_temp_ready_print(); +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.cpp new file mode 100644 index 000000000000..06ab35f3f0e5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.cpp @@ -0,0 +1,329 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/planner.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define ID_FILAMENT_SET_RETURN 1 +#define ID_FILAMENT_SET_IN_LENGTH 2 +#define ID_FILAMENT_SET_IN_SPEED 3 +#define ID_FILAMENT_SET_OUT_LENGTH 4 +#define ID_FILAMENT_SET_OUT_SPEED 5 +#define ID_FILAMENT_SET_TEMP 6 +#define ID_FILAMENT_SET_DOWN 12 +#define ID_FILAMENT_SET_UP 13 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_FILAMENT_SET_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 0; + lv_clear_filament_settings(); + draw_return_ui(); + } + break; + case ID_FILAMENT_SET_IN_LENGTH: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = load_length; + lv_clear_filament_settings(); + lv_draw_number_key(); + } + break; + case ID_FILAMENT_SET_IN_SPEED: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = load_speed; + lv_clear_filament_settings(); + lv_draw_number_key(); + } + break; + case ID_FILAMENT_SET_OUT_LENGTH: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = unload_length; + lv_clear_filament_settings(); + lv_draw_number_key(); + } + break; + case ID_FILAMENT_SET_OUT_SPEED: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = unload_speed; + lv_clear_filament_settings(); + lv_draw_number_key(); + } + break; + case ID_FILAMENT_SET_TEMP: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = filament_temp; + lv_clear_filament_settings(); + lv_draw_number_key(); + } + break; + case ID_FILAMENT_SET_UP: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 0; + lv_clear_filament_settings(); + lv_draw_filament_settings(); + } + break; + case ID_FILAMENT_SET_DOWN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 1; + lv_clear_filament_settings(); + lv_draw_filament_settings(); + } + break; + } +} + +void lv_draw_filament_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonTurnPage = NULL, *labelTurnPage = NULL; + lv_obj_t *labelInLengthText = NULL, *buttonInLengthValue = NULL, *labelInLengthValue = NULL; + lv_obj_t *labelInSpeedText = NULL, *buttonInSpeedValue = NULL, *labelInSpeedValue = NULL; + lv_obj_t *labelOutLengthText = NULL, *buttonOutLengthValue = NULL, *labelOutLengthValue = NULL; + lv_obj_t *labelOutSpeedText = NULL, *buttonOutSpeedValue = NULL, *labelOutSpeedValue = NULL; + lv_obj_t *labelTemperText = NULL, *buttonTemperValue = NULL, *labelTemperValue = NULL; + lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != FILAMENT_SETTINGS_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = FILAMENT_SETTINGS_UI; + } + disp_state = FILAMENT_SETTINGS_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.FilamentConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + if (uiCfg.para_ui_page != 1) { + labelInLengthText = lv_label_create(scr, NULL); + lv_obj_set_style(labelInLengthText, &tft_style_label_rel); + lv_obj_set_pos(labelInLengthText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelInLengthText, machine_menu.InLength); + + buttonInLengthValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonInLengthValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonInLengthValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonInLengthValue, event_handler, ID_FILAMENT_SET_IN_LENGTH, NULL, 0); + lv_btn_set_style(buttonInLengthValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonInLengthValue, LV_BTN_STYLE_PR, &style_para_value); + labelInLengthValue = lv_label_create(buttonInLengthValue, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + labelInSpeedText = lv_label_create(scr, NULL); + lv_obj_set_style(labelInSpeedText, &tft_style_label_rel); + lv_obj_set_pos(labelInSpeedText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelInSpeedText, machine_menu.InSpeed); + + buttonInSpeedValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonInSpeedValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonInSpeedValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonInSpeedValue, event_handler, ID_FILAMENT_SET_IN_SPEED, NULL, 0); + lv_btn_set_style(buttonInSpeedValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonInSpeedValue, LV_BTN_STYLE_PR, &style_para_value); + labelInSpeedValue = lv_label_create(buttonInSpeedValue, NULL); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + + labelOutLengthText = lv_label_create(scr, NULL); + lv_obj_set_style(labelOutLengthText, &tft_style_label_rel); + lv_obj_set_pos(labelOutLengthText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 6); + lv_label_set_text(labelOutLengthText, machine_menu.OutLength); + + buttonOutLengthValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonOutLengthValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonOutLengthValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonOutLengthValue, event_handler, ID_FILAMENT_SET_OUT_LENGTH, NULL, 0); + lv_btn_set_style(buttonOutLengthValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonOutLengthValue, LV_BTN_STYLE_PR, &style_para_value); + labelOutLengthValue = lv_label_create(buttonOutLengthValue, NULL); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + + labelOutSpeedText = lv_label_create(scr, NULL); + lv_obj_set_style(labelOutSpeedText, &tft_style_label_rel); + lv_obj_set_pos(labelOutSpeedText, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelOutSpeedText, machine_menu.OutSpeed); + + buttonOutSpeedValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonOutSpeedValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonOutSpeedValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonOutSpeedValue, event_handler, ID_FILAMENT_SET_OUT_SPEED, NULL, 0); + lv_btn_set_style(buttonOutSpeedValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonOutSpeedValue, LV_BTN_STYLE_PR, &style_para_value); + labelOutSpeedValue = lv_label_create(buttonOutSpeedValue, NULL); + + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4, line_points[3]); + + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FILAMENT_SET_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonInLengthValue); + lv_group_add_obj(g, buttonInSpeedValue); + lv_group_add_obj(g, buttonOutLengthValue); + lv_group_add_obj(g, buttonOutSpeedValue); + lv_group_add_obj(g, buttonTurnPage); + } + #endif + } + else { + labelTemperText = lv_label_create(scr, NULL); + lv_obj_set_style(labelTemperText, &tft_style_label_rel); + lv_obj_set_pos(labelTemperText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelTemperText, machine_menu.FilamentTemperature); + + buttonTemperValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonTemperValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonTemperValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonTemperValue, event_handler, ID_FILAMENT_SET_TEMP, NULL, 0); + lv_btn_set_style(buttonTemperValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonTemperValue, LV_BTN_STYLE_PR, &style_para_value); + labelTemperValue = lv_label_create(buttonTemperValue, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FILAMENT_SET_UP, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonTemperValue); + lv_group_add_obj(g, buttonTurnPage); + } + #endif + } + + lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + labelTurnPage = lv_label_create(buttonTurnPage, NULL); + + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_FILAMENT_SET_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + label_Back = lv_label_create(buttonBack, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + if (gCfgItems.multiple_language != 0) { + if (uiCfg.para_ui_page != 1) { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.filamentchange_load_length); + lv_label_set_text(labelInLengthValue, public_buf_l); + lv_obj_align(labelInLengthValue, buttonInLengthValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.filamentchange_load_speed); + lv_label_set_text(labelInSpeedValue, public_buf_l); + lv_obj_align(labelInSpeedValue, buttonInSpeedValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.filamentchange_unload_length); + lv_label_set_text(labelOutLengthValue, public_buf_l); + lv_obj_align(labelOutLengthValue, buttonOutLengthValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.filamentchange_unload_speed); + lv_label_set_text(labelOutSpeedValue, public_buf_l); + lv_obj_align(labelOutSpeedValue, buttonOutSpeedValue, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(labelTurnPage, machine_menu.next); + lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); + } + else { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.filament_limit_temper); + lv_label_set_text(labelTemperValue, public_buf_l); + lv_obj_align(labelTemperValue, buttonTemperValue, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(labelTurnPage, machine_menu.previous); + lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); + } + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + } +} + +void lv_clear_filament_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.h new file mode 100644 index 000000000000..a5ae54289534 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_filament_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_filament_settings(void); +extern void lv_clear_filament_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp index 595d1078c76a..22e05f0e00e5 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_home.cpp @@ -34,6 +34,7 @@ #include "draw_ui.h" #include "../../../../gcode/queue.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_H_ALL 1 @@ -92,7 +93,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { if (event == LV_EVENT_CLICKED) { } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_home(); lv_draw_tool(); } break; @@ -125,128 +126,93 @@ void lv_draw_home(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - - /*Create an Image button*/ - //buttonWifi = lv_imgbtn_create(scr, NULL); - buttonHomeAll = lv_imgbtn_create(scr, NULL); - buttonHomeX = lv_imgbtn_create(scr, NULL); + // Create image buttons + //buttonWifi = lv_imgbtn_create(scr, NULL); + buttonHomeAll = lv_imgbtn_create(scr, NULL); + buttonHomeX = lv_imgbtn_create(scr, NULL); //buttonContinue = lv_imgbtn_create(scr, NULL); - buttonHomeY = lv_imgbtn_create(scr, NULL); - buttonHomeZ = lv_imgbtn_create(scr, NULL); - buttonBack = lv_imgbtn_create(scr, NULL); - buttonOffAll = lv_imgbtn_create(scr, NULL); - buttonOffXY = lv_imgbtn_create(scr, NULL); - - //lv_obj_set_event_cb_mks(buttonWifi, event_handler,ID_S_WIFI,"bmp_Wifi.bin",0); - //lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_clear_protect(buttonWifi, LV_PROTECT_FOLLOW); + buttonHomeY = lv_imgbtn_create(scr, NULL); + buttonHomeZ = lv_imgbtn_create(scr, NULL); + buttonOffAll = lv_imgbtn_create(scr, NULL); + buttonOffXY = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + #if 1 - lv_obj_set_event_cb_mks(buttonHomeAll, event_handler,ID_H_ALL,"bmp_zero.bin",0); - lv_imgbtn_set_src(buttonHomeAll, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHomeAll, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonHomeAll, event_handler,ID_H_ALL, NULL,0); + lv_imgbtn_set_src(buttonHomeAll, LV_BTN_STATE_REL, "F:/bmp_zeroAll.bin"); + lv_imgbtn_set_src(buttonHomeAll, LV_BTN_STATE_PR, "F:/bmp_zeroAll.bin"); lv_imgbtn_set_style(buttonHomeAll, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonHomeAll, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonHomeX, event_handler, ID_H_X, "bmp_zeroX.bin", 0); - lv_imgbtn_set_src(buttonHomeX, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHomeX, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonHomeX, event_handler, ID_H_X, NULL, 0); + lv_imgbtn_set_src(buttonHomeX, LV_BTN_STATE_REL, "F:/bmp_zeroX.bin"); + lv_imgbtn_set_src(buttonHomeX, LV_BTN_STATE_PR, "F:/bmp_zeroX.bin"); lv_imgbtn_set_style(buttonHomeX, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonHomeX, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_set_event_cb_mks(buttonContinue, event_handler,ID_S_CONTINUE,"bmp_Breakpoint.bin",0); - //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonHomeY, event_handler, ID_H_Y, "bmp_zeroY.bin", 0); - lv_imgbtn_set_src(buttonHomeY, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHomeY, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonHomeY, event_handler, ID_H_Y, NULL, 0); + lv_imgbtn_set_src(buttonHomeY, LV_BTN_STATE_REL, "F:/bmp_zeroY.bin"); + lv_imgbtn_set_src(buttonHomeY, LV_BTN_STATE_PR, "F:/bmp_zeroY.bin"); lv_imgbtn_set_style(buttonHomeY, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonHomeY, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonHomeZ, event_handler, ID_H_Z, "bmp_zeroZ.bin", 0); - lv_imgbtn_set_src(buttonHomeZ, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHomeZ, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonHomeZ, event_handler, ID_H_Z, NULL, 0); + lv_imgbtn_set_src(buttonHomeZ, LV_BTN_STATE_REL, "F:/bmp_zeroZ.bin"); + lv_imgbtn_set_src(buttonHomeZ, LV_BTN_STATE_PR, "F:/bmp_zeroZ.bin"); lv_imgbtn_set_style(buttonHomeZ, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonHomeZ, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonOffAll, event_handler,ID_H_OFF_ALL,"bmp_function1.bin",0); - lv_imgbtn_set_src(buttonOffAll, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonOffAll, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonOffAll, event_handler,ID_H_OFF_ALL, NULL,0); + lv_imgbtn_set_src(buttonOffAll, LV_BTN_STATE_REL, "F:/bmp_function1.bin"); + lv_imgbtn_set_src(buttonOffAll, LV_BTN_STATE_PR, "F:/bmp_function1.bin"); lv_imgbtn_set_style(buttonOffAll, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonOffAll, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonOffXY, event_handler,ID_H_OFF_XY,"bmp_function1.bin",0); - lv_imgbtn_set_src(buttonOffXY, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonOffXY, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonOffXY, event_handler,ID_H_OFF_XY, NULL,0); + lv_imgbtn_set_src(buttonOffXY, LV_BTN_STATE_REL, "F:/bmp_function1.bin"); + lv_imgbtn_set_src(buttonOffXY, LV_BTN_STATE_PR, "F:/bmp_function1.bin"); lv_imgbtn_set_style(buttonOffXY, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonOffXY, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_H_RETURN,"bmp_return.bin",0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_H_RETURN, NULL,0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif - /*lv_obj_set_pos(buttonWifi, INTERVAL_V, titleHeight); - lv_obj_set_pos(buttonFan, BTN_X_PIXEL+INTERVAL_V*2, titleHeight); - lv_obj_set_pos(buttonAbout, BTN_X_PIXEL*2+INTERVAL_V*3, titleHeight); - lv_obj_set_pos(buttonContinue, BTN_X_PIXEL*3+INTERVAL_V*4, titleHeight); - lv_obj_set_pos(buMotorOff, INTERVAL_V, BTN_Y_PIXEL+INTERVAL_H+titleHeight); - lv_obj_set_pos(buttonLanguage, BTN_X_PIXEL+INTERVAL_V*2, BTN_Y_PIXEL+INTERVAL_H+titleHeight); - lv_obj_set_pos(buttonBack, BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight);*/ - - //lv_obj_set_pos(buttonWifi, INTERVAL_V, titleHeight); + lv_obj_set_pos(buttonHomeAll, INTERVAL_V, titleHeight); lv_obj_set_pos(buttonHomeX, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); lv_obj_set_pos(buttonHomeY, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); - //lv_obj_set_pos(buttonContinue,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); lv_obj_set_pos(buttonHomeZ, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); - lv_obj_set_pos(buttonHomeAll, INTERVAL_V, titleHeight); lv_obj_set_pos(buttonOffAll, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonOffXY, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ - //lv_btn_set_layout(buttonWifi, LV_LAYOUT_OFF); + // Create labels on the image buttons lv_btn_set_layout(buttonHomeAll, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHomeX, LV_LAYOUT_OFF); - //lv_btn_set_layout(buttonContinue, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHomeY, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHomeZ, LV_LAYOUT_OFF); lv_btn_set_layout(buttonOffAll, LV_LAYOUT_OFF); lv_btn_set_layout(buttonOffXY, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - //lv_obj_t * labelWifi= lv_label_create(buttonWifi, NULL); - lv_obj_t * labelHomeAll = lv_label_create(buttonHomeAll, NULL); - lv_obj_t * labelHomeX = lv_label_create(buttonHomeX, NULL); - //lv_obj_t * label_Continue = lv_label_create(buttonContinue, NULL); - lv_obj_t * labelHomeY = lv_label_create(buttonHomeY, NULL); - lv_obj_t * labelHomeZ = lv_label_create(buttonHomeZ, NULL); - lv_obj_t * labelOffAll = lv_label_create(buttonOffAll, NULL); - lv_obj_t * labelOffXY = lv_label_create(buttonOffXY, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); - + lv_obj_t *labelHomeAll = lv_label_create(buttonHomeAll, NULL); + lv_obj_t *labelHomeX = lv_label_create(buttonHomeX, NULL); + lv_obj_t *labelHomeY = lv_label_create(buttonHomeY, NULL); + lv_obj_t *labelHomeZ = lv_label_create(buttonHomeZ, NULL); + lv_obj_t *labelOffAll = lv_label_create(buttonOffAll, NULL); + lv_obj_t *labelOffXY = lv_label_create(buttonOffXY, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { - //lv_label_set_text(labelWifi, set_menu.wifi); - //lv_obj_align(labelWifi, buttonWifi, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); - lv_label_set_text(labelHomeAll, home_menu.home_all); lv_obj_align(labelHomeAll, buttonHomeAll, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(labelHomeX, home_menu.home_x); lv_obj_align(labelHomeX, buttonHomeX, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - //lv_label_set_text(label_Continue, set_menu.breakpoint); - //lv_obj_align(label_Continue, buttonContinue, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); - lv_label_set_text(labelHomeY, home_menu.home_y); lv_obj_align(labelHomeY, buttonHomeY, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -262,8 +228,25 @@ void lv_draw_home(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonHomeAll); + lv_group_add_obj(g, buttonHomeX); + lv_group_add_obj(g, buttonHomeY); + lv_group_add_obj(g, buttonHomeZ); + lv_group_add_obj(g, buttonOffAll); + lv_group_add_obj(g, buttonOffXY); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_home() { lv_obj_del(scr); } +void lv_clear_home() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.cpp new file mode 100644 index 000000000000..d22eeb157e18 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.cpp @@ -0,0 +1,262 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/planner.h" +#include "../../../../module/probe.h" + +#if USE_SENSORLESS +#include "../../../../module/stepper/indirection.h" +#include "../../../../feature/tmc_util.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define ID_SENSITIVITY_RETURN 1 +#define ID_SENSITIVITY_X 2 +#define ID_SENSITIVITY_Y 3 +#define ID_SENSITIVITY_Z 4 +#define ID_SENSITIVITY_Z2 5 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_SENSITIVITY_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_homing_sensitivity_settings(); + draw_return_ui(); + } + break; + case ID_SENSITIVITY_X: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = x_sensitivity; + lv_clear_homing_sensitivity_settings(); + lv_draw_number_key(); + } + break; + case ID_SENSITIVITY_Y: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = y_sensitivity; + lv_clear_homing_sensitivity_settings(); + lv_draw_number_key(); + } + break; + case ID_SENSITIVITY_Z: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = z_sensitivity; + lv_clear_homing_sensitivity_settings(); + lv_draw_number_key(); + } + break; + #if Z2_SENSORLESS + case ID_SENSITIVITY_Z2: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = z2_sensitivity; + lv_clear_homing_sensitivity_settings(); + lv_draw_number_key(); + } + break; + #endif + } +} + +void lv_draw_homing_sensitivity_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL; + #if Z2_SENSORLESS + lv_obj_t *labelZ2Text = NULL, *buttonZ2Value = NULL, *labelZ2Value = NULL; + lv_obj_t * line4 = NULL; + #endif + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != HOMING_SENSITIVITY_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = HOMING_SENSITIVITY_UI; + } + disp_state = HOMING_SENSITIVITY_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.HomingSensitivityConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.X_Sensitivity); + + buttonXValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_SENSITIVITY_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); + labelXValue = lv_label_create(buttonXValue, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonXValue); + #endif + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.Y_Sensitivity); + + buttonYValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_SENSITIVITY_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); + labelYValue = lv_label_create(buttonYValue, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonYValue); + #endif + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.Z_Sensitivity); + + buttonZValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_SENSITIVITY_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); + labelZValue = lv_label_create(buttonZValue, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable == true) lv_group_add_obj(g, buttonZValue); + #endif + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + + #if Z2_SENSORLESS + labelZ2Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelZ2Text, &tft_style_label_rel); + lv_obj_set_pos(labelZ2Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelZ2Text, machine_menu.Z2_Sensitivity); + + buttonZ2Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonZ2Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonZ2Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZ2Value, event_handler, ID_SENSITIVITY_Z2, NULL, 0); + lv_btn_set_style(buttonZ2Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZ2Value, LV_BTN_STYLE_PR, &style_para_value); + labelZ2Value = lv_label_create(buttonZ2Value, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonZ2Value); + #endif + + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4, line_points[3]); + #endif + + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_SENSITIVITY_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + label_Back = lv_label_create(buttonBack, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + if (gCfgItems.multiple_language != 0) { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), TERN(X_SENSORLESS, stepperX.homing_threshold(), 0)); + lv_label_set_text(labelXValue, public_buf_l); + lv_obj_align(labelXValue, buttonXValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), TERN(Y_SENSORLESS, stepperY.homing_threshold(), 0)); + lv_label_set_text(labelYValue, public_buf_l); + lv_obj_align(labelYValue, buttonYValue, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), TERN(Z_SENSORLESS, stepperZ.homing_threshold(), 0)); + lv_label_set_text(labelZValue, public_buf_l); + lv_obj_align(labelZValue, buttonZValue, LV_ALIGN_CENTER, 0, 0); + + #if Z2_SENSORLESS + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), TERN(Z2_SENSORLESS, stepperZ2.homing_threshold(), 0)); + lv_label_set_text(labelZ2Value, public_buf_l); + lv_obj_align(labelZ2Value, buttonZ2Value, LV_ALIGN_CENTER, 0, 0); + #endif + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + } +} + +void lv_clear_homing_sensitivity_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // USE_SENSORLESS + +#endif // HAS_TFT_LVGL_UI && USE_SENSORLESS diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.h new file mode 100644 index 000000000000..0c554702b1c6 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_homing_sensitivity_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_homing_sensitivity_settings(void); +extern void lv_clear_homing_sensitivity_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp index a552762cf3eb..8c359233e6ea 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp @@ -29,6 +29,7 @@ #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_JERK_RETURN 1 @@ -93,10 +94,10 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_jerk_settings(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; - lv_obj_t *buttonEText = NULL, *labelEText = NULL, *buttonEValue = NULL, *labelEValue = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelEText = NULL, *buttonEValue = NULL, *labelEValue = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != JERK_UI) { disp_state_stack._disp_index++; @@ -117,109 +118,89 @@ void lv_draw_jerk_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.X_Jerk); - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ - - buttonXValue = lv_imgbtn_create(scr, NULL); + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_JERK_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_JERK_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); labelXValue = lv_label_create(buttonXValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.Y_Jerk); - buttonYValue = lv_imgbtn_create(scr, NULL); + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_JERK_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_JERK_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); labelYValue = lv_label_create(buttonYValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.Z_Jerk); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_JERK_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_JERK_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); labelZValue = lv_label_create(buttonZValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonEText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonEText, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonEText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonEText, event_handler); - lv_btn_set_style(buttonEText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonEText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonEText, LV_LAYOUT_OFF); - labelEText = lv_label_create(buttonEText, NULL); /*Add a label to the button*/ + labelEText = lv_label_create(scr, NULL); + lv_obj_set_style(labelEText, &tft_style_label_rel); + lv_obj_set_pos(labelEText, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelEText, machine_menu.E_Jerk); - buttonEValue = lv_imgbtn_create(scr, NULL); + buttonEValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonEValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonEValue, event_handler, ID_JERK_E, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonEValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonEValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonEValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonEValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonEValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonEValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonEValue, event_handler, ID_JERK_E, NULL, 0); + lv_btn_set_style(buttonEValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonEValue, LV_BTN_STYLE_PR, &style_para_value); labelEValue = lv_label_create(buttonEValue, NULL); line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_JERK_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_JERK_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); label_Back = lv_label_create(buttonBack, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable == true) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonEValue); + lv_group_add_obj(g, buttonBack); + } + #endif + if (gCfgItems.multiple_language != 0) { ZERO(public_buf_l); sprintf_P(public_buf_l, PSTR("%.1f"), planner.max_jerk[X_AXIS]); @@ -241,23 +222,16 @@ void lv_draw_jerk_settings(void) { lv_label_set_text(labelEValue, public_buf_l); lv_obj_align(labelEValue, buttonEValue, LV_ALIGN_CENTER, 0, 0); - lv_label_set_text(labelXText, machine_menu.X_Jerk); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelYText, machine_menu.Y_Jerk); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.Z_Jerk); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelEText, machine_menu.E_Jerk); - lv_obj_align(labelEText, buttonEText, LV_ALIGN_IN_LEFT_MID, 0, 0); - lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); } } -void lv_clear_jerk_settings() { lv_obj_del(scr); } +void lv_clear_jerk_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI && HAS_CLASSIC_JERK diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp new file mode 100644 index 000000000000..f126ffe1dd42 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp @@ -0,0 +1,286 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../../Configuration.h" +#include "../../../../MarlinCore.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define LV_KB_CTRL_BTN_FLAGS (LV_BTNM_CTRL_NO_REPEAT | LV_BTNM_CTRL_CLICK_TRIG) + +static const char * kb_map_lc[] = {"1#", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", LV_SYMBOL_BACKSPACE, "\n", + "ABC", "a", "s", "d", "f", "g", "h", "j", "k", "l", LV_SYMBOL_NEW_LINE, "\n", + "_", "-", "z", "x", "c", "v", "b", "n", "m", ".", ",", ":", "\n", + LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; + +static const lv_btnm_ctrl_t kb_ctrl_lc_map[] = { + LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, + LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2}; + +static const char * kb_map_uc[] = {"1#", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", LV_SYMBOL_BACKSPACE, "\n", + "abc", "A", "S", "D", "F", "G", "H", "J", "K", "L", LV_SYMBOL_NEW_LINE, "\n", + "_", "-", "Z", "X", "C", "V", "B", "N", "M", ".", ",", ":", "\n", + LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; + +static const lv_btnm_ctrl_t kb_ctrl_uc_map[] = { + LV_KB_CTRL_BTN_FLAGS | 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, + LV_KB_CTRL_BTN_FLAGS | 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2}; + +static const char * kb_map_spec[] = {"0", "1", "2", "3", "4" ,"5", "6", "7", "8", "9", LV_SYMBOL_BACKSPACE, "\n", + "abc", "+", "-", "/", "*", "=", "%", "!", "?", "#", "<", ">", "\n", + "\\", "@", "$", "(", ")", "{", "}", "[", "]", ";", "\"", "'", "\n", + LV_SYMBOL_CLOSE, LV_SYMBOL_LEFT, " ", LV_SYMBOL_RIGHT, LV_SYMBOL_OK, ""}; + +static const lv_btnm_ctrl_t kb_ctrl_spec_map[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, + LV_KB_CTRL_BTN_FLAGS | 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + LV_KB_CTRL_BTN_FLAGS | 2, 2, 6, 2, LV_KB_CTRL_BTN_FLAGS | 2}; + +static const lv_btnm_ctrl_t kb_ctrl_num_map[] = { + 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, + 1, 1, 1, LV_KB_CTRL_BTN_FLAGS | 2, + 1, 1, 1, 2, + 1, 1, 1, 1, 1}; + +static void lv_kb_event_cb(lv_obj_t * kb, lv_event_t event) { + //LV_ASSERT_OBJ(kb, LV_OBJX_NAME); + + if (event != LV_EVENT_VALUE_CHANGED) return; + + lv_kb_ext_t * ext = (lv_kb_ext_t * )lv_obj_get_ext_attr(kb); + const uint16_t btn_id = lv_btnm_get_active_btn(kb); + if (btn_id == LV_BTNM_BTN_NONE) return; + if (lv_btnm_get_btn_ctrl(kb, btn_id, LV_BTNM_CTRL_HIDDEN | LV_BTNM_CTRL_INACTIVE)) return; + if (lv_btnm_get_btn_ctrl(kb, btn_id, LV_BTNM_CTRL_NO_REPEAT) && event == LV_EVENT_LONG_PRESSED_REPEAT) return; + + const char * txt = lv_btnm_get_active_btn_text(kb); + if (txt == NULL) return; + + // Do the corresponding action according to the text of the button + if (strcmp(txt, "abc") == 0) { + lv_btnm_set_map(kb, kb_map_lc); + lv_btnm_set_ctrl_map(kb, kb_ctrl_lc_map); + return; + } + else if (strcmp(txt, "ABC") == 0) { + lv_btnm_set_map(kb, kb_map_uc); + lv_btnm_set_ctrl_map(kb, kb_ctrl_uc_map); + return; + } + else if (strcmp(txt, "1#") == 0) { + lv_btnm_set_map(kb, kb_map_spec); + lv_btnm_set_ctrl_map(kb, kb_ctrl_spec_map); + return; + } + else if (strcmp(txt, LV_SYMBOL_CLOSE) == 0) { + if (kb->event_cb != lv_kb_def_event_cb) { + //lv_res_t res = lv_event_send(kb, LV_EVENT_CANCEL, NULL); + //if (res != LV_RES_OK) return; + lv_clear_keyboard(); + draw_return_ui(); + } + else { + lv_kb_set_ta(kb, NULL); /*De-assign the text area to hide it cursor if needed*/ + lv_obj_del(kb); + return; + } + return; + } + else if (strcmp(txt, LV_SYMBOL_OK) == 0) { + if (kb->event_cb != lv_kb_def_event_cb) { + //lv_res_t res = lv_event_send(kb, LV_EVENT_APPLY, NULL); + //if (res != LV_RES_OK) return; + const char * ret_ta_txt = lv_ta_get_text(ext->ta); + switch (keyboard_value) { + #if ENABLED(USE_WIFI_FUNCTION) + case wifiName: + memcpy(uiCfg.wifi_name,ret_ta_txt,sizeof(uiCfg.wifi_name)); + lv_clear_keyboard(); + draw_return_ui(); + break; + case wifiPassWord: + memcpy(uiCfg.wifi_key,ret_ta_txt,sizeof(uiCfg.wifi_name)); + lv_clear_keyboard(); + draw_return_ui(); + break; + case wifiConfig: + memset((void *)uiCfg.wifi_name, 0, sizeof(uiCfg.wifi_name)); + memcpy((void *)uiCfg.wifi_name, wifi_list.wifiName[wifi_list.nameIndex], 32); + + memset((void *)uiCfg.wifi_key, 0, sizeof(uiCfg.wifi_key)); + memcpy((void *)uiCfg.wifi_key, ret_ta_txt, sizeof(uiCfg.wifi_key)); + + gCfgItems.wifi_mode_sel = STA_MODEL; + + package_to_wifi(WIFI_PARA_SET, (char *)0, 0); + + memset(public_buf_l,0,sizeof(public_buf_l)); + + public_buf_l[0] = 0xA5; + public_buf_l[1] = 0x09; + public_buf_l[2] = 0x01; + public_buf_l[3] = 0x00; + public_buf_l[4] = 0x01; + public_buf_l[5] = 0xFC; + public_buf_l[6] = 0x00; + raw_send_to_wifi(public_buf_l, 6); + + last_disp_state = KEY_BOARD_UI; + lv_clear_keyboard(); + wifi_tips_type = TIPS_TYPE_JOINING; + lv_draw_wifi_tips(); + break; + #endif // USE_WIFI_FUNCTION + case gcodeCommand: + uint8_t buf[100]; + strncpy((char *)buf,ret_ta_txt,sizeof(buf)); + update_gcode_command(AUTO_LEVELING_COMMAND_ADDR,buf); + lv_clear_keyboard(); + draw_return_ui(); + break; + default: break; + } + } + else { + lv_kb_set_ta(kb, NULL); /*De-assign the text area to hide it cursor if needed*/ + } + return; + } + + /*Add the characters to the text area if set*/ + if (ext->ta == NULL) return; + + if (strcmp(txt, "Enter") == 0 || strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) + lv_ta_add_char(ext->ta, '\n'); + else if (strcmp(txt, LV_SYMBOL_LEFT) == 0) + lv_ta_cursor_left(ext->ta); + else if (strcmp(txt, LV_SYMBOL_RIGHT) == 0) + lv_ta_cursor_right(ext->ta); + else if (strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) + lv_ta_del_char(ext->ta); + else if (strcmp(txt, "+/-") == 0) { + uint16_t cur = lv_ta_get_cursor_pos(ext->ta); + const char * ta_txt = lv_ta_get_text(ext->ta); + if (ta_txt[0] == '-') { + lv_ta_set_cursor_pos(ext->ta, 1); + lv_ta_del_char(ext->ta); + lv_ta_add_char(ext->ta, '+'); + lv_ta_set_cursor_pos(ext->ta, cur); + } + else if (ta_txt[0] == '+') { + lv_ta_set_cursor_pos(ext->ta, 1); + lv_ta_del_char(ext->ta); + lv_ta_add_char(ext->ta, '-'); + lv_ta_set_cursor_pos(ext->ta, cur); + } + else { + lv_ta_set_cursor_pos(ext->ta, 0); + lv_ta_add_char(ext->ta, '-'); + lv_ta_set_cursor_pos(ext->ta, cur + 1); + } + } + else { + lv_ta_add_text(ext->ta, txt); + } +} + +void lv_draw_keyboard() { + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != KEY_BOARD_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = KEY_BOARD_UI; + } + disp_state = KEY_BOARD_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + /*Create styles for the keyboard*/ + static lv_style_t rel_style, pr_style; + + lv_style_copy(&rel_style, &lv_style_btn_rel); + rel_style.body.radius = 0; + rel_style.body.border.width = 1; + rel_style.body.main_color = lv_color_make(0xa9, 0x62, 0x1d); + rel_style.body.grad_color = lv_color_make(0xa7, 0x59, 0x0e); + + lv_style_copy(&pr_style, &lv_style_btn_pr); + pr_style.body.radius = 0; + pr_style.body.border.width = 1; + pr_style.body.main_color = lv_color_make(0x72, 0x42, 0x15); + pr_style.body.grad_color = lv_color_make(0x6a, 0x3a, 0x0c); + + /*Create a keyboard and apply the styles*/ + lv_obj_t *kb = lv_kb_create(scr, NULL); + lv_obj_set_event_cb(kb, lv_kb_event_cb); + lv_kb_set_cursor_manage(kb, true); + lv_kb_set_style(kb, LV_KB_STYLE_BG, &lv_style_transp_tight); + lv_kb_set_style(kb, LV_KB_STYLE_BTN_REL, &rel_style); + lv_kb_set_style(kb, LV_KB_STYLE_BTN_PR, &pr_style); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + //lv_group_add_obj(g, kb); + //lv_group_set_editing(g, true); + } + #endif + + /*Create a text area. The keyboard will write here*/ + lv_obj_t *ta = lv_ta_create(scr, NULL); + lv_obj_align(ta, NULL, LV_ALIGN_IN_TOP_MID, 0, 10); + if (keyboard_value == gcodeCommand) { + get_gcode_command(AUTO_LEVELING_COMMAND_ADDR,(uint8_t *)public_buf_m); + public_buf_m[sizeof(public_buf_m)-1] = 0; + lv_ta_set_text(ta, public_buf_m); + } + else { + lv_ta_set_text(ta, ""); + } + + /*Assign the text area to the keyboard*/ + lv_kb_set_ta(kb, ta); +} + +void lv_clear_keyboard() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { /* lv_group_remove_all_objs(g); */ } + #endif + lv_obj_del(scr); +} + + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.h new file mode 100644 index 000000000000..0013dc4030ea --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_keyboard(); +extern void lv_clear_keyboard(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp index 9029f6868c02..3e4ad06477cd 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_language.cpp @@ -49,6 +49,7 @@ static void disp_language(uint8_t language, uint8_t state); +extern lv_group_t * g; static lv_obj_t * scr; static lv_obj_t *buttonCN, *buttonT_CN, *buttonEN, *buttonRU; static lv_obj_t *buttonES, *buttonFR, *buttonIT, *buttonBack; @@ -61,9 +62,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonCN, event_handler, ID_CN, "bmp_simplified_cn_sel.bin", 0); + lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_REL, "F:/bmp_simplified_cn_sel.bin"); + lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_PR, "F:/bmp_simplified_cn_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonCN); gCfgItems.language = LANG_SIMPLE_CHINESE; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -73,9 +76,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonT_CN, event_handler, ID_T_CN, "bmp_traditional_cn_sel.bin", 0); + lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_REL, "F:/bmp_traditional_cn_sel.bin"); + lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_PR, "F:/bmp_traditional_cn_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonT_CN); gCfgItems.language = LANG_COMPLEX_CHINESE; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -85,9 +90,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonEN, event_handler, ID_EN, "bmp_english_sel.bin", 0); + lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_REL, "F:/bmp_english_sel.bin"); + lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_PR, "F:/bmp_english_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonEN); gCfgItems.language = LANG_ENGLISH; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -97,9 +104,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonRU, event_handler, ID_RU, "bmp_russian_sel.bin", 0); + lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_REL, "F:/bmp_russian_sel.bin"); + lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_PR, "F:/bmp_russian_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonRU); gCfgItems.language = LANG_RUSSIAN; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -109,9 +118,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonES, event_handler, ID_ES, "bmp_spanish_sel.bin", 0); + lv_imgbtn_set_src(buttonES, LV_BTN_STATE_REL, "F:/bmp_spanish_sel.bin"); + lv_imgbtn_set_src(buttonES, LV_BTN_STATE_PR, "F:/bmp_spanish_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonES); gCfgItems.language = LANG_SPANISH; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -121,9 +132,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonFR, event_handler, ID_FR, "bmp_french_sel.bin", 0); + lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_REL, "F:/bmp_french_sel.bin"); + lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_PR, "F:/bmp_french_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonFR); gCfgItems.language = LANG_FRENCH; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -133,9 +146,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { disp_language(gCfgItems.language, UNSELECTED); - lv_obj_set_event_cb_mks(buttonIT, event_handler, ID_FR, "bmp_italy_sel.bin", 0); + lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_REL, "F:/bmp_italy_sel.bin"); + lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_PR, "F:/bmp_italy_sel.bin"); + lv_obj_refresh_ext_draw_pad(buttonIT); gCfgItems.language = LANG_ITALY; - gCfg_to_spiFlah(); + update_spi_flash(); disp_language_init(); } break; @@ -154,8 +169,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { buttonFR = NULL; buttonIT = NULL; buttonBack = NULL; - - lv_obj_del(scr); + lv_clear_language(); lv_draw_set(); } break; @@ -172,42 +186,42 @@ static void disp_language(uint8_t language, uint8_t state) { switch (language) { case LANG_SIMPLE_CHINESE: id = ID_CN; - strcpy_P(public_buf_l, PSTR("bmp_simplified_cn")); + strcpy_P(public_buf_l, PSTR("F:/bmp_simplified_cn")); obj = buttonCN; break; case LANG_COMPLEX_CHINESE: id = ID_T_CN; - strcpy_P(public_buf_l, PSTR("bmp_traditional_cn")); + strcpy_P(public_buf_l, PSTR("F:/bmp_traditional_cn")); obj = buttonT_CN; break; case LANG_ENGLISH: id = ID_EN; - strcpy_P(public_buf_l, PSTR("bmp_english")); + strcpy_P(public_buf_l, PSTR("F:/bmp_english")); obj = buttonEN; break; case LANG_RUSSIAN: id = ID_RU; - strcpy_P(public_buf_l, PSTR("bmp_russian")); + strcpy_P(public_buf_l, PSTR("F:/bmp_russian")); obj = buttonRU; break; case LANG_SPANISH: id = ID_ES; - strcpy_P(public_buf_l, PSTR("bmp_spanish")); + strcpy_P(public_buf_l, PSTR("F:/bmp_spanish")); obj = buttonES; break; case LANG_FRENCH: id = ID_FR; - strcpy_P(public_buf_l, PSTR("bmp_french")); + strcpy_P(public_buf_l, PSTR("F:/bmp_french")); obj = buttonFR; break; case LANG_ITALY: id = ID_IT; - strcpy_P(public_buf_l, PSTR("bmp_italy")); + strcpy_P(public_buf_l, PSTR("F:/bmp_italy")); obj = buttonIT; break; default: id = ID_CN; - strcpy_P(public_buf_l, PSTR("bmp_simplified_cn")); + strcpy_P(public_buf_l, PSTR("F:/bmp_simplified_cn")); obj = buttonCN; break; } @@ -216,7 +230,9 @@ static void disp_language(uint8_t language, uint8_t state) { strcat_P(public_buf_l, PSTR(".bin")); - lv_obj_set_event_cb_mks(obj, event_handler, id, public_buf_l, 0); + lv_obj_set_event_cb_mks(obj, event_handler, id, NULL, 0); + lv_imgbtn_set_src(obj, LV_BTN_STATE_REL, public_buf_l); + lv_imgbtn_set_src(obj, LV_BTN_STATE_PR, public_buf_l); if (state == UNSELECTED) lv_obj_refresh_ext_draw_pad(obj); } @@ -244,8 +260,6 @@ void lv_draw_language(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create image buttons buttonCN = lv_imgbtn_create(scr, NULL); buttonT_CN = lv_imgbtn_create(scr, NULL); @@ -256,52 +270,53 @@ void lv_draw_language(void) { buttonIT = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonCN, event_handler, ID_CN, "bmp_simplified_cn.bin", 0); - lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonCN, event_handler, ID_CN, NULL, 0); + lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_REL, "F:/bmp_simplified_cn.bin"); + lv_imgbtn_set_src(buttonCN, LV_BTN_STATE_PR, "F:/bmp_simplified_cn.bin"); lv_imgbtn_set_style(buttonCN, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonCN, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonCN, LV_PROTECT_FOLLOW); + #if 1 - lv_obj_set_event_cb_mks(buttonT_CN, event_handler, ID_T_CN, "bmp_traditional_cn.bin", 0); - lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonT_CN, event_handler, ID_T_CN, NULL, 0); + lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_REL, "F:/bmp_traditional_cn.bin"); + lv_imgbtn_set_src(buttonT_CN, LV_BTN_STATE_PR, "F:/bmp_traditional_cn.bin"); lv_imgbtn_set_style(buttonT_CN, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonT_CN, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonEN, event_handler, ID_EN, "bmp_english.bin", 0); - lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonEN, event_handler, ID_EN, NULL, 0); + lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_REL, "F:/bmp_english.bin"); + lv_imgbtn_set_src(buttonEN, LV_BTN_STATE_PR, "F:/bmp_english.bin"); lv_imgbtn_set_style(buttonEN, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonEN, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonRU, event_handler, ID_RU, "bmp_russian.bin", 0); - lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonRU, event_handler, ID_RU, NULL, 0); + lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_REL, "F:/bmp_russian.bin"); + lv_imgbtn_set_src(buttonRU, LV_BTN_STATE_PR, "F:/bmp_russian.bin"); lv_imgbtn_set_style(buttonRU, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonRU, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonES, event_handler, ID_ES, "bmp_spanish.bin", 0); - lv_imgbtn_set_src(buttonES, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonES, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonES, event_handler, ID_ES, NULL, 0); + lv_imgbtn_set_src(buttonES, LV_BTN_STATE_REL, "F:/bmp_spanish.bin"); + lv_imgbtn_set_src(buttonES, LV_BTN_STATE_PR, "F:/bmp_spanish.bin"); lv_imgbtn_set_style(buttonES, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonES, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonFR, event_handler, ID_FR, "bmp_french.bin", 0); - lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonFR, event_handler, ID_FR, NULL, 0); + lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_REL, "F:/bmp_french.bin"); + lv_imgbtn_set_src(buttonFR, LV_BTN_STATE_PR, "F:/bmp_french.bin"); lv_imgbtn_set_style(buttonFR, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonFR, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonIT, event_handler, ID_IT, "bmp_italy.bin", 0); - lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonIT, event_handler, ID_IT, NULL, 0); + lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_REL, "F:/bmp_italy.bin"); + lv_imgbtn_set_src(buttonIT, LV_BTN_STATE_PR, "F:/bmp_italy.bin"); lv_imgbtn_set_style(buttonIT, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonIT, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_L_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_L_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); @@ -362,8 +377,25 @@ void lv_draw_language(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonCN); + lv_group_add_obj(g, buttonT_CN); + lv_group_add_obj(g, buttonEN); + lv_group_add_obj(g, buttonRU); + lv_group_add_obj(g, buttonES); + lv_group_add_obj(g, buttonFR); + lv_group_add_obj(g, buttonIT); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_language() { lv_obj_del(scr); } +void lv_clear_language() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.cpp new file mode 100644 index 000000000000..0e0283d32a40 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.cpp @@ -0,0 +1,261 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define ID_LEVEL_RETURN 1 +#define ID_LEVEL_POSITION 2 +#define ID_LEVEL_POSITION_ARROW 3 +#define ID_LEVEL_COMMAND 4 +#define ID_LEVEL_COMMAND_ARROW 5 +#define ID_LEVEL_ZOFFSET 6 +#define ID_LEVEL_ZOFFSET_ARROW 7 + + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_LEVEL_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_level_settings(); + draw_return_ui(); + } + break; + case ID_LEVEL_POSITION: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_level_settings(); + lv_draw_manual_level_pos_settings(); + } + break; + case ID_LEVEL_POSITION_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_level_settings(); + lv_draw_manual_level_pos_settings(); + } + break; + case ID_LEVEL_COMMAND: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + keyboard_value = gcodeCommand; + lv_clear_level_settings(); + lv_draw_keyboard(); + } + break; + case ID_LEVEL_COMMAND_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + keyboard_value = gcodeCommand; + lv_clear_level_settings(); + lv_draw_keyboard(); + } + break; + #if HAS_BED_PROBE + case ID_LEVEL_ZOFFSET: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_level_settings(); + lv_draw_auto_level_offset_settings(); + } + break; + case ID_LEVEL_ZOFFSET_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_level_settings(); + lv_draw_auto_level_offset_settings(); + } + break; + #endif + } +} + +void lv_draw_level_settings(void) { + lv_obj_t *buttonBack, *label_Back; + lv_obj_t *buttonPosition, *labelPosition, *buttonPositionNarrow; + lv_obj_t *buttonCommand, *labelCommand, *buttonCommandNarrow; + #if HAS_BED_PROBE + lv_obj_t *buttonZoffset, *labelZoffset, *buttonZoffsetNarrow; + lv_obj_t * line3; + #endif + lv_obj_t * line1, * line2; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != LEVELING_PARA_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = LEVELING_PARA_UI; + } + disp_state = LEVELING_PARA_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.LevelingParaConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + + buttonPosition = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonPosition, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ + lv_obj_set_size(buttonPosition, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + lv_obj_set_event_cb_mks(buttonPosition, event_handler, ID_LEVEL_POSITION, NULL, 0); + lv_btn_set_style(buttonPosition, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonPosition, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonPosition, LV_LAYOUT_OFF); + labelPosition = lv_label_create(buttonPosition, NULL); /*Add a label to the button*/ + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonPosition); + #endif + + buttonPositionNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonPositionNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonPositionNarrow, event_handler, ID_LEVEL_POSITION_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonPositionNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonPositionNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonPositionNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonPositionNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonPositionNarrow, LV_LAYOUT_OFF); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + buttonCommand = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonCommand, PARA_UI_POS_X, PARA_UI_POS_Y * 2); + lv_obj_set_size(buttonCommand, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); + lv_obj_set_event_cb_mks(buttonCommand, event_handler, ID_LEVEL_COMMAND, NULL, 0); + lv_btn_set_style(buttonCommand, LV_BTN_STYLE_REL, &tft_style_label_rel); + lv_btn_set_style(buttonCommand, LV_BTN_STYLE_PR, &tft_style_label_pre); + lv_btn_set_layout(buttonCommand, LV_LAYOUT_OFF); + labelCommand = lv_label_create(buttonCommand, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonCommand); + #endif + + buttonCommandNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonCommandNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonCommandNarrow, event_handler, ID_LEVEL_COMMAND_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonCommandNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonCommandNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonCommandNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonCommandNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonCommandNarrow, LV_LAYOUT_OFF); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + + #if HAS_BED_PROBE + + buttonZoffset = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonZoffset, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ + lv_obj_set_size(buttonZoffset, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + lv_obj_set_event_cb_mks(buttonZoffset, event_handler, ID_LEVEL_ZOFFSET, NULL, 0); + lv_btn_set_style(buttonZoffset, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonZoffset, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonZoffset, LV_LAYOUT_OFF); + labelZoffset = lv_label_create(buttonZoffset, NULL); /*Add a label to the button*/ + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonZoffset); + #endif + + buttonZoffsetNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonZoffsetNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 3 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonZoffsetNarrow, event_handler, ID_LEVEL_ZOFFSET_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonZoffsetNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonZoffsetNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonZoffsetNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonZoffsetNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonZoffsetNarrow, LV_LAYOUT_OFF); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + + #endif // HAS_BED_PROBE + + buttonBack = lv_imgbtn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_LEVEL_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.multiple_language != 0) { + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(labelPosition, machine_menu.LevelingManuPosConf); + lv_obj_align(labelPosition, buttonPosition, LV_ALIGN_IN_LEFT_MID, 0, 0); + + lv_label_set_text(labelCommand, machine_menu.LevelingAutoCommandConf); + lv_obj_align(labelCommand, buttonCommand, LV_ALIGN_IN_LEFT_MID, 0, 0); + #if HAS_BED_PROBE + lv_label_set_text(labelZoffset, machine_menu.LevelingAutoZoffsetConf); + lv_obj_align(labelZoffset, buttonZoffset, LV_ALIGN_IN_LEFT_MID, 0, 0); + #endif + } + +} + +void lv_clear_level_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.h new file mode 100644 index 000000000000..ce290172b6e5 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_level_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_level_settings(void); +extern void lv_clear_level_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.cpp index d441f2ac51b8..9f03793c24f7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_para.cpp @@ -28,6 +28,7 @@ #include "../../../../MarlinCore.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_PARA_RETURN 1 @@ -35,8 +36,10 @@ static lv_obj_t * scr; #define ID_PARA_MACHINE_ARROW 3 #define ID_PARA_MOTOR 4 #define ID_PARA_MOTOR_ARROW 5 -#define ID_PARA_ADVANCE 6 -#define ID_PARA_ADVANCE_ARROW 7 +#define ID_PARA_LEVEL 6 +#define ID_PARA_LEVEL_ARROW 7 +#define ID_PARA_ADVANCE 8 +#define ID_PARA_ADVANCE_ARROW 9 static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { @@ -85,6 +88,24 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { lv_draw_motor_settings(); } break; + case ID_PARA_LEVEL: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_machine_para(); + lv_draw_level_settings(); + } + break; + case ID_PARA_LEVEL_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_machine_para(); + lv_draw_level_settings(); + } + break; case ID_PARA_ADVANCE: if (event == LV_EVENT_CLICKED) { @@ -110,8 +131,9 @@ void lv_draw_machine_para(void) { lv_obj_t *buttonBack, *label_Back; lv_obj_t *buttonMachine, *labelMachine, *buttonMachineNarrow; lv_obj_t *buttonMotor, *labelMotor, *buttonMotorNarrow; + lv_obj_t *buttonLevel, *labelLevel, *buttonLevelNarrow; lv_obj_t *buttonAdvance, *labelAdvance, *buttonAdvanceNarrow; - lv_obj_t * line1, * line2, * line3; + lv_obj_t * line1, * line2, * line3, * line4; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != MACHINE_PARA_UI) { disp_state_stack._disp_index++; disp_state_stack._disp_state[disp_state_stack._disp_index] = MACHINE_PARA_UI; @@ -131,9 +153,6 @@ void lv_draw_machine_para(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_arrow); - buttonMachine = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonMachine, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ lv_obj_set_size(buttonMachine, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ @@ -146,9 +165,9 @@ void lv_draw_machine_para(void) { buttonMachineNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonMachineNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonMachineNarrow, event_handler, ID_PARA_MACHINE_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonMachineNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonMachineNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonMachineNarrow, event_handler, ID_PARA_MACHINE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonMachineNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonMachineNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonMachineNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMachineNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonMachineNarrow, LV_LAYOUT_OFF); @@ -168,9 +187,9 @@ void lv_draw_machine_para(void) { buttonMotorNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonMotorNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonMotorNarrow, event_handler, ID_PARA_MOTOR_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonMotorNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonMotorNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonMotorNarrow, event_handler, ID_PARA_MOTOR_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonMotorNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonMotorNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonMotorNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMotorNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonMotorNarrow, LV_LAYOUT_OFF); @@ -178,8 +197,30 @@ void lv_draw_machine_para(void) { line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); + buttonLevel = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonLevel, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ + lv_obj_set_size(buttonLevel, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + //lv_obj_set_event_cb(buttonMotor, event_handler); + lv_obj_set_event_cb_mks(buttonLevel, event_handler, ID_PARA_LEVEL, NULL, 0); + lv_btn_set_style(buttonLevel, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonLevel, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); + labelLevel = lv_label_create(buttonLevel, NULL); /*Add a label to the button*/ + + buttonLevelNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonLevelNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 3 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonLevelNarrow, event_handler, ID_PARA_LEVEL_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonLevelNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonLevelNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonLevelNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonLevelNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonLevelNarrow, LV_LAYOUT_OFF); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + buttonAdvance = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonAdvance, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ + lv_obj_set_pos(buttonAdvance, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ lv_obj_set_size(buttonAdvance, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ //lv_obj_set_event_cb(buttonMotor, event_handler); lv_obj_set_event_cb_mks(buttonAdvance, event_handler, ID_PARA_ADVANCE, NULL, 0); @@ -189,44 +230,61 @@ void lv_draw_machine_para(void) { labelAdvance = lv_label_create(buttonAdvance, NULL); /*Add a label to the button*/ buttonAdvanceNarrow = lv_imgbtn_create(scr, NULL); - lv_obj_set_pos(buttonAdvanceNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 3 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonAdvanceNarrow, event_handler, ID_PARA_ADVANCE_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonAdvanceNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonAdvanceNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_pos(buttonAdvanceNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 4 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonAdvanceNarrow, event_handler, ID_PARA_ADVANCE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonAdvanceNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonAdvanceNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonAdvanceNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdvanceNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonAdvanceNarrow, LV_LAYOUT_OFF); - line3 = lv_line_create(scr, NULL); - lv_ex_line(line3, line_points[2]); + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4, line_points[3]); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_PARA_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_PARA_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X + 10, PARA_UI_BACL_POS_Y); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(label_Back, common_menu.text_back); - lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, -2); lv_label_set_text(labelMachine, MachinePara_menu.MachineSetting); - lv_obj_align(labelMachine, buttonMachine, LV_ALIGN_IN_LEFT_MID, 0, 0); + lv_obj_align(labelMachine, buttonMachine, LV_ALIGN_IN_LEFT_MID, 0, -3); lv_label_set_text(labelMotor, MachinePara_menu.MotorSetting); - lv_obj_align(labelMotor, buttonMotor, LV_ALIGN_IN_LEFT_MID, 0, 0); + lv_obj_align(labelMotor, buttonMotor, LV_ALIGN_IN_LEFT_MID, 0, -3); + + lv_label_set_text(labelLevel, MachinePara_menu.leveling); + lv_obj_align(labelLevel, buttonLevel, LV_ALIGN_IN_LEFT_MID, 0, -3); lv_label_set_text(labelAdvance, MachinePara_menu.AdvanceSetting); - lv_obj_align(labelAdvance, buttonAdvance, LV_ALIGN_IN_LEFT_MID, 0, 0); + lv_obj_align(labelAdvance, buttonAdvance, LV_ALIGN_IN_LEFT_MID, 0, -3); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonMachine); + lv_group_add_obj(g, buttonMotor); + lv_group_add_obj(g, buttonLevel); + lv_group_add_obj(g, buttonAdvance); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_machine_para() { lv_obj_del(scr); } +void lv_clear_machine_para() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.cpp index 88a66c6599e1..0cf5bbaf7fba 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_machine_settings.cpp @@ -28,6 +28,7 @@ #include "../../../../MarlinCore.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_MACHINE_RETURN 1 @@ -138,24 +139,21 @@ void lv_draw_machine_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_arrow); - - buttonAcceleration = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonAcceleration, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + buttonAcceleration = lv_btn_create(scr, NULL); // Add a button the current screen + lv_obj_set_pos(buttonAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y); // Set its position + lv_obj_set_size(buttonAcceleration, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); // Set its size //lv_obj_set_event_cb(buttonMachine, event_handler); lv_obj_set_event_cb_mks(buttonAcceleration, event_handler, ID_MACHINE_ACCELERATION, NULL, 0); - lv_btn_set_style(buttonAcceleration, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonAcceleration, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_style(buttonAcceleration, LV_BTN_STYLE_REL, &tft_style_label_rel); // Set the button's released style + lv_btn_set_style(buttonAcceleration, LV_BTN_STYLE_PR, &tft_style_label_pre); // Set the button's pressed style lv_btn_set_layout(buttonAcceleration, LV_LAYOUT_OFF); - labelAcceleration = lv_label_create(buttonAcceleration, NULL); /*Add a label to the button*/ + labelAcceleration = lv_label_create(buttonAcceleration, NULL); // Add a label to the button buttonAccelerationNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonAccelerationNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonAccelerationNarrow, event_handler, ID_MACHINE_ACCELERATION_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonAccelerationNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonAccelerationNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonAccelerationNarrow, event_handler, ID_MACHINE_ACCELERATION_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonAccelerationNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonAccelerationNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonAccelerationNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAccelerationNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonAccelerationNarrow, LV_LAYOUT_OFF); @@ -163,21 +161,21 @@ void lv_draw_machine_settings(void) { line1 = lv_line_create(lv_scr_act(), NULL); lv_ex_line(line1, line_points[0]); - buttonMaxFeedrate = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonMaxFeedrate, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonMaxFeedrate, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + buttonMaxFeedrate = lv_btn_create(scr, NULL); // Add a button the current screen + lv_obj_set_pos(buttonMaxFeedrate, PARA_UI_POS_X, PARA_UI_POS_Y * 2); // Set its position + lv_obj_set_size(buttonMaxFeedrate, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); // Set its size //lv_obj_set_event_cb(buttonMachine, event_handler); lv_obj_set_event_cb_mks(buttonMaxFeedrate, event_handler, ID_MACHINE_FEEDRATE, NULL, 0); - lv_btn_set_style(buttonMaxFeedrate, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonMaxFeedrate, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_style(buttonMaxFeedrate, LV_BTN_STYLE_REL, &tft_style_label_rel); // Set the button's released style + lv_btn_set_style(buttonMaxFeedrate, LV_BTN_STYLE_PR, &tft_style_label_pre); // Set the button's pressed style lv_btn_set_layout(buttonMaxFeedrate, LV_LAYOUT_OFF); - labelMaxFeedrate = lv_label_create(buttonMaxFeedrate, NULL); /*Add a label to the button*/ + labelMaxFeedrate = lv_label_create(buttonMaxFeedrate, NULL); // Add a label to the button buttonMaxFeedrateNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonMaxFeedrateNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonMaxFeedrateNarrow, event_handler, ID_MACHINE_FEEDRATE_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonMaxFeedrateNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonMaxFeedrateNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonMaxFeedrateNarrow, event_handler, ID_MACHINE_FEEDRATE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonMaxFeedrateNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonMaxFeedrateNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonMaxFeedrateNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMaxFeedrateNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonMaxFeedrateNarrow, LV_LAYOUT_OFF); @@ -186,21 +184,21 @@ void lv_draw_machine_settings(void) { lv_ex_line(line2, line_points[1]); #if HAS_CLASSIC_JERK - buttonJerk = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonJerk, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonJerk, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + buttonJerk = lv_btn_create(scr, NULL); // Add a button the current screen + lv_obj_set_pos(buttonJerk, PARA_UI_POS_X, PARA_UI_POS_Y * 3); // Set its position + lv_obj_set_size(buttonJerk, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); // Set its size //lv_obj_set_event_cb(buttonMotor, event_handler); lv_obj_set_event_cb_mks(buttonJerk, event_handler, ID_MACHINE_JERK, NULL, 0); - lv_btn_set_style(buttonJerk, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonJerk, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_style(buttonJerk, LV_BTN_STYLE_REL, &tft_style_label_rel); // Set the button's released style + lv_btn_set_style(buttonJerk, LV_BTN_STYLE_PR, &tft_style_label_pre); // Set the button's pressed style lv_btn_set_layout(buttonJerk, LV_LAYOUT_OFF); - labelJerk = lv_label_create(buttonJerk, NULL); /*Add a label to the button*/ + labelJerk = lv_label_create(buttonJerk, NULL); // Add a label to the button buttonJerkNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonJerkNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 3 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonJerkNarrow, event_handler, ID_MACHINE_JERK_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonJerkNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonJerkNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonJerkNarrow, event_handler, ID_MACHINE_JERK_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonJerkNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonJerkNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonJerkNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonJerkNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonJerkNarrow, LV_LAYOUT_OFF); @@ -210,9 +208,9 @@ void lv_draw_machine_settings(void) { #endif buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MACHINE_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MACHINE_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); @@ -234,8 +232,23 @@ void lv_draw_machine_settings(void) { lv_obj_align(labelJerk, buttonJerk, LV_ALIGN_IN_LEFT_MID, 0, 0); #endif } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonAcceleration); + lv_group_add_obj(g, buttonMaxFeedrate); + #if HAS_CLASSIC_JERK + lv_group_add_obj(g, buttonJerk); + #endif + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_machine_settings() { lv_obj_del(scr); } +void lv_clear_machine_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp index 6530b1554c47..3d68019b3527 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_manuaLevel.cpp @@ -32,7 +32,7 @@ #include "draw_ui.h" #include "../../../../gcode/queue.h" -//static lv_obj_t *buttonMoveZ,*buttonTest,*buttonZ0,*buttonStop,*buttonReturn; +extern lv_group_t * g; static lv_obj_t * scr; #define ID_M_POINT1 1 @@ -59,7 +59,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.enqueue_now_P(PSTR("G1 Z10")); ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), X_MIN_POS + 30, Y_MIN_POS + 30); + sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), (int)gCfgItems.levelingPos[0][0], (int)gCfgItems.levelingPos[0][1]); queue.enqueue_one_now(public_buf_l); queue.enqueue_now_P(PSTR("G1 Z0")); } @@ -79,7 +79,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.enqueue_now_P(PSTR("G1 Z10")); ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), X_MAX_POS - 30, Y_MIN_POS + 30); + sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), (int)gCfgItems.levelingPos[1][0], (int)gCfgItems.levelingPos[1][1]); queue.enqueue_one_now(public_buf_l); queue.enqueue_now_P(PSTR("G1 Z0")); } @@ -99,7 +99,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.enqueue_now_P(PSTR("G1 Z10")); ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), X_MAX_POS - 30, Y_MAX_POS - 30); + sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), (int)gCfgItems.levelingPos[2][0], (int)gCfgItems.levelingPos[2][1]); queue.enqueue_one_now(public_buf_l); queue.enqueue_now_P(PSTR("G1 Z0")); } @@ -120,7 +120,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.enqueue_now_P(PSTR("G1 Z10")); ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), X_MIN_POS + 30, Y_MAX_POS - 30); + sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), (int)gCfgItems.levelingPos[3][0], (int)gCfgItems.levelingPos[3][1]); queue.enqueue_one_now(public_buf_l); queue.enqueue_now_P(PSTR("G1 Z0")); } @@ -140,7 +140,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { queue.enqueue_now_P(PSTR("G1 Z10")); ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), X_BED_SIZE / 2, Y_BED_SIZE / 2); + sprintf_P(public_buf_l, PSTR("G1 X%d Y%d"), (int)gCfgItems.levelingPos[4][0], (int)gCfgItems.levelingPos[4][1]); queue.enqueue_one_now(public_buf_l); queue.enqueue_now_P(PSTR("G1 Z0")); } @@ -159,7 +159,6 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } } - void lv_draw_manualLevel(void) { lv_obj_t *buttonPoint1, *buttonPoint2, *buttonPoint3, *buttonPoint4, *buttonPoint5; lv_obj_t *buttonBack; @@ -185,8 +184,6 @@ void lv_draw_manualLevel(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create an Image button buttonPoint1 = lv_imgbtn_create(scr, NULL); buttonPoint2 = lv_imgbtn_create(scr, NULL); @@ -195,40 +192,41 @@ void lv_draw_manualLevel(void) { buttonPoint5 = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonPoint1, event_handler, ID_M_POINT1, "bmp_leveling1.bin", 0); - lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPoint1, event_handler, ID_M_POINT1, NULL, 0); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_REL, "F:/bmp_leveling1.bin"); + lv_imgbtn_set_src(buttonPoint1, LV_BTN_STATE_PR, "F:/bmp_leveling1.bin"); lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPoint1, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonPoint1, LV_PROTECT_FOLLOW); + #if 1 - lv_obj_set_event_cb_mks(buttonPoint2, event_handler, ID_M_POINT2, "bmp_leveling2.bin", 0); - lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPoint2, event_handler, ID_M_POINT2, NULL, 0); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_REL, "F:/bmp_leveling2.bin"); + lv_imgbtn_set_src(buttonPoint2, LV_BTN_STATE_PR, "F:/bmp_leveling2.bin"); lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPoint2, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonPoint3, event_handler, ID_M_POINT3, "bmp_leveling3.bin", 0); - lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPoint3, event_handler, ID_M_POINT3, NULL, 0); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_REL, "F:/bmp_leveling3.bin"); + lv_imgbtn_set_src(buttonPoint3, LV_BTN_STATE_PR, "F:/bmp_leveling3.bin"); lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPoint3, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonPoint4, event_handler, ID_M_POINT4, "bmp_leveling4.bin", 0); - lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPoint4, event_handler, ID_M_POINT4, NULL, 0); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_REL, "F:/bmp_leveling4.bin"); + lv_imgbtn_set_src(buttonPoint4, LV_BTN_STATE_PR, "F:/bmp_leveling4.bin"); lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPoint4, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonPoint5, event_handler, ID_M_POINT5, "bmp_leveling5.bin", 0); - lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPoint5, event_handler, ID_M_POINT5, NULL, 0); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_REL, "F:/bmp_leveling5.bin"); + lv_imgbtn_set_src(buttonPoint5, LV_BTN_STATE_PR, "F:/bmp_leveling5.bin"); lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPoint5, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MANUAL_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MANUAL_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -274,8 +272,23 @@ void lv_draw_manualLevel(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPoint1); + lv_group_add_obj(g, buttonPoint2); + lv_group_add_obj(g, buttonPoint3); + lv_group_add_obj(g, buttonPoint4); + lv_group_add_obj(g, buttonPoint5); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_manualLevel() { lv_obj_del(scr); } +void lv_clear_manualLevel() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.cpp new file mode 100644 index 000000000000..9b7200b5a97d --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.cpp @@ -0,0 +1,459 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#include "../../../../MarlinCore.h" +#include "../../../../module/planner.h" + +extern lv_group_t * g; +static lv_obj_t * scr; + +#define ID_MANUAL_POS_RETURN 1 +#define ID_MANUAL_POS_X1 2 +#define ID_MANUAL_POS_Y1 3 +#define ID_MANUAL_POS_X2 4 +#define ID_MANUAL_POS_Y2 5 +#define ID_MANUAL_POS_X3 6 +#define ID_MANUAL_POS_Y3 7 +#define ID_MANUAL_POS_X4 8 +#define ID_MANUAL_POS_Y4 9 +#define ID_MANUAL_POS_X5 10 +#define ID_MANUAL_POS_Y5 11 +#define ID_MANUAL_POS_DOWN 12 +#define ID_MANUAL_POS_UP 13 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_MANUAL_POS_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 0; + lv_clear_manual_level_pos_settings(); + draw_return_ui(); + } + break; + case ID_MANUAL_POS_X1: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_x1; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_Y1: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y1; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_X2: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_x2; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_Y2: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y2; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_X3: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_x3; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_Y3: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y3; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_X4: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_x4; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_Y4: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y4; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_X5: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y5; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_Y5: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = level_pos_y5; + lv_clear_manual_level_pos_settings(); + lv_draw_number_key(); + } + break; + case ID_MANUAL_POS_UP: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 0; + lv_clear_manual_level_pos_settings(); + lv_draw_manual_level_pos_settings(); + } + break; + case ID_MANUAL_POS_DOWN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 1; + lv_clear_manual_level_pos_settings(); + lv_draw_manual_level_pos_settings(); + } + break; + } +} + +void lv_draw_manual_level_pos_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonTurnPage = NULL, *labelTurnPage = NULL; + lv_obj_t *labelPoint1Text = NULL, *buttonX1Value = NULL, *labelX1Value = NULL; + lv_obj_t *buttonY1Value = NULL, *labelY1Value = NULL; + lv_obj_t *labelPoint2Text = NULL, *buttonX2Value = NULL, *labelX2Value = NULL; + lv_obj_t *buttonY2Value = NULL, *labelY2Value = NULL; + lv_obj_t *labelPoint3Text = NULL, *buttonX3Value = NULL, *labelX3Value = NULL; + lv_obj_t *buttonY3Value = NULL, *labelY3Value = NULL; + lv_obj_t *labelPoint4Text = NULL, *buttonX4Value = NULL, *labelX4Value = NULL; + lv_obj_t *buttonY4Value = NULL, *labelY4Value = NULL; + lv_obj_t *labelPoint5Text = NULL, *buttonX5Value = NULL, *labelX5Value = NULL; + lv_obj_t *buttonY5Value = NULL, *labelY5Value = NULL; + lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != MANUAL_LEVELING_POSIGION_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = MANUAL_LEVELING_POSIGION_UI; + } + disp_state = MANUAL_LEVELING_POSIGION_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title, TITLE_XPOS, TITLE_YPOS); + lv_label_set_text(title, machine_menu.LevelingParaConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + if (uiCfg.para_ui_page != 1) { + labelPoint1Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelPoint1Text, &tft_style_label_rel); + lv_obj_set_pos(labelPoint1Text, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelPoint1Text, leveling_menu.position1); + + buttonX1Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonX1Value, PARA_UI_VALUE_POS_X_2, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonX1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonX1Value, event_handler, ID_MANUAL_POS_X1, NULL, 0); + lv_btn_set_style(buttonX1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonX1Value, LV_BTN_STYLE_PR, &style_para_value); + labelX1Value = lv_label_create(buttonX1Value, NULL); + + buttonY1Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonY1Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonY1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonY1Value, event_handler, ID_MANUAL_POS_Y1, NULL, 0); + lv_btn_set_style(buttonY1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonY1Value, LV_BTN_STYLE_PR, &style_para_value); + labelY1Value = lv_label_create(buttonY1Value, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + labelPoint2Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelPoint2Text, &tft_style_label_rel); + lv_obj_set_pos(labelPoint2Text, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelPoint2Text, leveling_menu.position2); + + buttonX2Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonX2Value, PARA_UI_VALUE_POS_X_2, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonX2Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonX2Value, event_handler, ID_MANUAL_POS_X2, NULL, 0); + lv_btn_set_style(buttonX2Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonX2Value, LV_BTN_STYLE_PR, &style_para_value); + labelX2Value = lv_label_create(buttonX2Value, NULL); + + buttonY2Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonY2Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonY2Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonY2Value, event_handler, ID_MANUAL_POS_Y2, NULL, 0); + lv_btn_set_style(buttonY2Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonY2Value, LV_BTN_STYLE_PR, &style_para_value); + labelY2Value = lv_label_create(buttonY2Value, NULL); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + + labelPoint3Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelPoint3Text, &tft_style_label_rel); + lv_obj_set_pos(labelPoint3Text, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelPoint3Text, leveling_menu.position3); + + buttonX3Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonX3Value, PARA_UI_VALUE_POS_X_2, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonX3Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonX3Value, event_handler, ID_MANUAL_POS_X3, NULL, 0); + lv_btn_set_style(buttonX3Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonX3Value, LV_BTN_STYLE_PR, &style_para_value); + labelX3Value = lv_label_create(buttonX3Value, NULL); + + buttonY3Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonY3Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonY3Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonY3Value, event_handler, ID_MANUAL_POS_Y3, NULL, 0); + lv_btn_set_style(buttonY3Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonY3Value, LV_BTN_STYLE_PR, &style_para_value); + labelY3Value = lv_label_create(buttonY3Value, NULL); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + + labelPoint4Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelPoint4Text, &tft_style_label_rel); + lv_obj_set_pos(labelPoint4Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelPoint4Text, leveling_menu.position4); + + buttonX4Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonX4Value, PARA_UI_VALUE_POS_X_2, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonX4Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonX4Value, event_handler, ID_MANUAL_POS_X4, NULL, 0); + lv_btn_set_style(buttonX4Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonX4Value, LV_BTN_STYLE_PR, &style_para_value); + labelX4Value = lv_label_create(buttonX4Value, NULL); + + buttonY4Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonY4Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonY4Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonY4Value, event_handler, ID_MANUAL_POS_Y4, NULL, 0); + lv_btn_set_style(buttonY4Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonY4Value, LV_BTN_STYLE_PR, &style_para_value); + labelY4Value = lv_label_create(buttonY4Value, NULL); + + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4, line_points[3]); + + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_MANUAL_POS_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonX1Value); + lv_group_add_obj(g, buttonY1Value); + lv_group_add_obj(g, buttonX2Value); + lv_group_add_obj(g, buttonY2Value); + lv_group_add_obj(g, buttonX3Value); + lv_group_add_obj(g, buttonY3Value); + lv_group_add_obj(g, buttonX4Value); + lv_group_add_obj(g, buttonY4Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif + } + else { + labelPoint5Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelPoint5Text, &tft_style_label_rel); + lv_obj_set_pos(labelPoint5Text, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelPoint5Text, leveling_menu.position5); + + buttonX5Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonX5Value, PARA_UI_VALUE_POS_X_2, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonX5Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonX5Value, event_handler, ID_MANUAL_POS_X5, NULL, 0); + lv_btn_set_style(buttonX5Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonX5Value, LV_BTN_STYLE_PR, &style_para_value); + labelX5Value = lv_label_create(buttonX5Value, NULL); + + buttonY5Value = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonY5Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V_2); + lv_obj_set_size(buttonY5Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonY5Value, event_handler, ID_MANUAL_POS_Y5, NULL, 0); + lv_btn_set_style(buttonY5Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonY5Value, LV_BTN_STYLE_PR, &style_para_value); + labelY5Value = lv_label_create(buttonY5Value, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1, line_points[0]); + + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_MANUAL_POS_UP, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonX5Value); + lv_group_add_obj(g, buttonY5Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif + } + + lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + labelTurnPage = lv_label_create(buttonTurnPage, NULL); + + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MANUAL_POS_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + label_Back = lv_label_create(buttonBack, NULL); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + if (gCfgItems.multiple_language != 0) { + if (uiCfg.para_ui_page != 1) { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[0][0]); + lv_label_set_text(labelX1Value, public_buf_l); + lv_obj_align(labelX1Value, buttonX1Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[0][1]); + lv_label_set_text(labelY1Value, public_buf_l); + lv_obj_align(labelY1Value, buttonY1Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[1][0]); + lv_label_set_text(labelX2Value, public_buf_l); + lv_obj_align(labelX2Value, buttonX2Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[1][1]); + lv_label_set_text(labelY2Value, public_buf_l); + lv_obj_align(labelY2Value, buttonY2Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[2][0]); + lv_label_set_text(labelX3Value, public_buf_l); + lv_obj_align(labelX3Value, buttonX3Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[2][1]); + lv_label_set_text(labelY3Value, public_buf_l); + lv_obj_align(labelY3Value, buttonY3Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[3][0]); + lv_label_set_text(labelX4Value, public_buf_l); + lv_obj_align(labelX4Value, buttonX4Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[3][1]); + lv_label_set_text(labelY4Value, public_buf_l); + lv_obj_align(labelY4Value, buttonY4Value, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(labelTurnPage, machine_menu.next); + lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); + } + else { + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[4][0]); + lv_label_set_text(labelX5Value, public_buf_l); + lv_obj_align(labelX5Value, buttonX5Value, LV_ALIGN_CENTER, 0, 0); + + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%d"), gCfgItems.levelingPos[4][1]); + lv_label_set_text(labelY5Value, public_buf_l); + lv_obj_align(labelY5Value, buttonY5Value, LV_ALIGN_CENTER, 0, 0); + + lv_label_set_text(labelTurnPage, machine_menu.previous); + lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); + } + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); + } +} + +void lv_clear_manual_level_pos_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.h new file mode 100644 index 000000000000..8e89ecf559fc --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_manual_level_pos_settings.h @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_manual_level_pos_settings(void); +extern void lv_clear_manual_level_pos_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.cpp index c78c6f5bb8d4..e82124f7056c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.cpp @@ -29,6 +29,7 @@ #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_FEED_RETURN 1 @@ -127,11 +128,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_max_feedrate_settings(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonTurnPage = NULL, *labelTurnPage = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; - lv_obj_t *buttonE0Text = NULL, *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; - lv_obj_t *buttonE1Text = NULL, *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; + lv_obj_t *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != MAXFEEDRATE_UI) { disp_state_stack._disp_index++; @@ -152,166 +153,139 @@ void lv_draw_max_feedrate_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); - if (uiCfg.para_ui_page != 1) { - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ - - buttonXValue = lv_imgbtn_create(scr, NULL); + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.XMaxFeedRate); + + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_FEED_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_FEED_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); labelXValue = lv_label_create(buttonXValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.YMaxFeedRate); - buttonYValue = lv_imgbtn_create(scr, NULL); + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_FEED_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_FEED_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); labelYValue = lv_label_create(buttonYValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.ZMaxFeedRate); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_FEED_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_FEED_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); labelZValue = lv_label_create(buttonZValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonE0Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonE0Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE0Text, event_handler); - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE0Text, LV_LAYOUT_OFF); - labelE0Text = lv_label_create(buttonE0Text, NULL); /*Add a label to the button*/ + labelE0Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE0Text, &tft_style_label_rel); + lv_obj_set_pos(labelE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelE0Text, machine_menu.E0MaxFeedRate); - buttonE0Value = lv_imgbtn_create(scr, NULL); + buttonE0Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE0Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_FEED_E0, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_REL, &style_para_value_rel); + lv_obj_set_size(buttonE0Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_FEED_E0, NULL, 0); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_PR, &style_para_value); lv_btn_set_layout(buttonE0Value, LV_LAYOUT_OFF); labelE0Value = lv_label_create(buttonE0Value, NULL); line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FEED_DOWN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FEED_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonE0Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } else { - buttonE1Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE1Text, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonE1Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE1Text, event_handler); - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE1Text, LV_LAYOUT_OFF); - labelE1Text = lv_label_create(buttonE1Text, NULL); /*Add a label to the button*/ - - buttonE1Value = lv_imgbtn_create(scr, NULL); + labelE1Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE1Text, &tft_style_label_rel); + lv_obj_set_pos(labelE1Text, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelE1Text, machine_menu.E1MaxFeedRate); + + buttonE1Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE1Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_FEED_E1, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_REL, &style_para_value_rel); + lv_obj_set_size(buttonE1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_FEED_E1, NULL, 0); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_PR, &style_para_value); lv_btn_set_layout(buttonE1Value, LV_LAYOUT_OFF); labelE1Value = lv_label_create(buttonE1Value, NULL); + line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FEED_UP, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_FEED_UP, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonE1Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); - lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); labelTurnPage = lv_label_create(buttonTurnPage, NULL); - - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_FEED_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_FEED_RETURN, NULL, 0); lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); label_Back = lv_label_create(buttonBack, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif if (gCfgItems.multiple_language != 0) { if (uiCfg.para_ui_page != 1) { - lv_label_set_text(labelXText, machine_menu.XMaxFeedRate); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelYText, machine_menu.YMaxFeedRate); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.ZMaxFeedRate); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelE0Text, machine_menu.E0MaxFeedRate); - lv_obj_align(labelE0Text, buttonE0Text, LV_ALIGN_IN_LEFT_MID, 0, 0); lv_label_set_text(labelTurnPage, machine_menu.next); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -337,9 +311,6 @@ void lv_draw_max_feedrate_settings(void) { lv_obj_align(labelE0Value, buttonE0Value, LV_ALIGN_CENTER, 0, 0); } else { - lv_label_set_text(labelE1Text, machine_menu.E1MaxFeedRate); - lv_obj_align(labelE1Text, buttonE1Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - lv_label_set_text(labelTurnPage, machine_menu.previous); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -354,6 +325,11 @@ void lv_draw_max_feedrate_settings(void) { } } -void lv_clear_max_feedrate_settings() { lv_obj_del(scr); } +void lv_clear_max_feedrate_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.cpp index 7da477bd51f3..f6568df14314 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_motor_settings.cpp @@ -28,6 +28,7 @@ #include "../../../../MarlinCore.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_MOTOR_RETURN 1 @@ -37,6 +38,8 @@ static lv_obj_t * scr; #define ID_MOTOR_TMC_CURRENT_ARROW 5 #define ID_MOTOR_STEP_MODE 6 #define ID_MOTOR_STEP_MODE_ARROW 7 +#define ID_HOME_SENSE 8 +#define ID_HOME_SENSE_ARROW 9 static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { @@ -67,6 +70,26 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { lv_draw_step_settings(); } break; + #if USE_SENSORLESS + case ID_HOME_SENSE: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_motor_settings(); + lv_draw_homing_sensitivity_settings(); + } + break; + case ID_HOME_SENSE_ARROW: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_motor_settings(); + lv_draw_homing_sensitivity_settings(); + } + break; + #endif #if HAS_TRINAMIC_CONFIG case ID_MOTOR_TMC_CURRENT: if (event == LV_EVENT_CLICKED) { @@ -113,15 +136,27 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_motor_settings(void) { lv_obj_t *buttonBack, *label_Back; lv_obj_t *buttonSteps, *labelSteps, *buttonStepsNarrow; + lv_obj_t * line1; + #if USE_SENSORLESS + lv_obj_t *buttonSensitivity, *labelSensitivity, *buttonSensitivityNarrow; + lv_obj_t * line2; + #endif #if HAS_TRINAMIC_CONFIG + #if USE_SENSORLESS + lv_obj_t * line3; + #else + lv_obj_t * line2; + #endif lv_obj_t *buttonTMCcurrent, *labelTMCcurrent, *buttonTMCcurrentNarrow; - lv_obj_t * line2; #if HAS_STEALTHCHOP + #if USE_SENSORLESS + lv_obj_t * line4; + #else + lv_obj_t * line3; + #endif lv_obj_t *buttonStepMode, *labelStepMode, *buttonStepModeNarrow; - lv_obj_t * line3; #endif #endif - lv_obj_t * line1; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != MOTOR_SETTINGS_UI) { disp_state_stack._disp_index++; disp_state_stack._disp_state[disp_state_stack._disp_index] = MOTOR_SETTINGS_UI; @@ -141,9 +176,6 @@ void lv_draw_motor_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_arrow); - buttonSteps = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonSteps, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ lv_obj_set_size(buttonSteps, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ @@ -154,20 +186,54 @@ void lv_draw_motor_settings(void) { lv_btn_set_layout(buttonSteps, LV_LAYOUT_OFF); labelSteps = lv_label_create(buttonSteps, NULL); /*Add a label to the button*/ + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonSteps); + #endif + buttonStepsNarrow = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonStepsNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonStepsNarrow, event_handler, ID_MOTOR_STEPS_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonStepsNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonStepsNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_event_cb_mks(buttonStepsNarrow, event_handler, ID_MOTOR_STEPS_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonStepsNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonStepsNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonStepsNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStepsNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonStepsNarrow, LV_LAYOUT_OFF); - line1 = lv_line_create(lv_scr_act(), NULL); + line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); + + #if USE_SENSORLESS + buttonSensitivity = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonSensitivity, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ + lv_obj_set_size(buttonSensitivity, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ + //lv_obj_set_event_cb(buttonMachine, event_handler); + lv_obj_set_event_cb_mks(buttonSensitivity, event_handler, ID_HOME_SENSE, NULL, 0); + lv_btn_set_style(buttonSensitivity, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonSensitivity, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonSensitivity, LV_LAYOUT_OFF); + labelSensitivity = lv_label_create(buttonSensitivity, NULL); /*Add a label to the button*/ + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonSensitivity); + #endif + + buttonSensitivityNarrow = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonSensitivityNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonSensitivityNarrow, event_handler, ID_HOME_SENSE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonSensitivityNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonSensitivityNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); + lv_imgbtn_set_style(buttonSensitivityNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonSensitivityNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonSensitivityNarrow, LV_LAYOUT_OFF); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + #endif + + #if HAS_TRINAMIC_CONFIG buttonTMCcurrent = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonTMCcurrent, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ + lv_obj_set_pos(buttonTMCcurrent, PARA_UI_POS_X, TERN(USE_SENSORLESS, PARA_UI_POS_Y * 3, PARA_UI_POS_Y * 2)); lv_obj_set_size(buttonTMCcurrent, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ //lv_obj_set_event_cb(buttonMachine, event_handler); lv_obj_set_event_cb_mks(buttonTMCcurrent, event_handler, ID_MOTOR_TMC_CURRENT, NULL, 0); @@ -175,61 +241,86 @@ void lv_draw_motor_settings(void) { lv_btn_set_style(buttonTMCcurrent, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ lv_btn_set_layout(buttonTMCcurrent, LV_LAYOUT_OFF); labelTMCcurrent = lv_label_create(buttonTMCcurrent, NULL); /*Add a label to the button*/ + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonTMCcurrent); + #endif buttonTMCcurrentNarrow = lv_imgbtn_create(scr, NULL); - lv_obj_set_pos(buttonTMCcurrentNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 2 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonTMCcurrentNarrow, event_handler, ID_MOTOR_TMC_CURRENT_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonTMCcurrentNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonTMCcurrentNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_pos(buttonTMCcurrentNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, TERN(USE_SENSORLESS, PARA_UI_POS_Y * 3, PARA_UI_POS_Y * 2) + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonTMCcurrentNarrow, event_handler, ID_MOTOR_TMC_CURRENT_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonTMCcurrentNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonTMCcurrentNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonTMCcurrentNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonTMCcurrentNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonTMCcurrentNarrow, LV_LAYOUT_OFF); - - line2 = lv_line_create(lv_scr_act(), NULL); - lv_ex_line(line2, line_points[1]); + #if USE_SENSORLESS + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + #else + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2, line_points[1]); + #endif #if HAS_STEALTHCHOP buttonStepMode = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonStepMode, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ + lv_obj_set_pos(buttonStepMode, PARA_UI_POS_X, TERN(USE_SENSORLESS, PARA_UI_POS_Y * 4, PARA_UI_POS_Y * 3)); lv_obj_set_size(buttonStepMode, PARA_UI_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - //lv_obj_set_event_cb(buttonMachine, event_handler); lv_obj_set_event_cb_mks(buttonStepMode, event_handler, ID_MOTOR_STEP_MODE, NULL, 0); lv_btn_set_style(buttonStepMode, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ lv_btn_set_style(buttonStepMode, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ lv_btn_set_layout(buttonStepMode, LV_LAYOUT_OFF); labelStepMode = lv_label_create(buttonStepMode, NULL); /*Add a label to the button*/ + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonStepMode); + #endif + buttonStepModeNarrow = lv_imgbtn_create(scr, NULL); - lv_obj_set_pos(buttonStepModeNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, PARA_UI_POS_Y * 3 + PARA_UI_ARROW_V); - lv_obj_set_event_cb_mks(buttonStepModeNarrow, event_handler, ID_MOTOR_STEP_MODE_ARROW, "bmp_arrow.bin", 0); - lv_imgbtn_set_src(buttonStepModeNarrow, LV_BTN_STATE_REL, &bmp_para_arrow); - lv_imgbtn_set_src(buttonStepModeNarrow, LV_BTN_STATE_PR, &bmp_para_arrow); + lv_obj_set_pos(buttonStepModeNarrow, PARA_UI_POS_X + PARA_UI_SIZE_X, TERN(USE_SENSORLESS, PARA_UI_POS_Y * 4, PARA_UI_POS_Y * 3) + PARA_UI_ARROW_V); + lv_obj_set_event_cb_mks(buttonStepModeNarrow, event_handler, ID_MOTOR_STEP_MODE_ARROW, NULL, 0); + lv_imgbtn_set_src(buttonStepModeNarrow, LV_BTN_STATE_REL, "F:/bmp_arrow.bin"); + lv_imgbtn_set_src(buttonStepModeNarrow, LV_BTN_STATE_PR, "F:/bmp_arrow.bin"); lv_imgbtn_set_style(buttonStepModeNarrow, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStepModeNarrow, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonStepModeNarrow, LV_LAYOUT_OFF); - line3 = lv_line_create(lv_scr_act(), NULL); - lv_ex_line(line3, line_points[2]); - #endif + #if USE_SENSORLESS + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4, line_points[3]); + #else + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3, line_points[2]); + #endif + + #endif // HAS_STEALTHCHOP + #endif // HAS_TRINAMIC_CONFIG buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MOTOR_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_MOTOR_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); label_Back = lv_label_create(buttonBack, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + if (gCfgItems.multiple_language != 0) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); lv_label_set_text(labelSteps, machine_menu.StepsConf); lv_obj_align(labelSteps, buttonSteps, LV_ALIGN_IN_LEFT_MID, 0, 0); + + #if USE_SENSORLESS + lv_label_set_text(labelSensitivity, machine_menu.HomingSensitivityConf); + lv_obj_align(labelSensitivity, buttonSensitivity, LV_ALIGN_IN_LEFT_MID, 0, 0); + #endif #if HAS_TRINAMIC_CONFIG lv_label_set_text(labelTMCcurrent, machine_menu.TMCcurrentConf); lv_obj_align(labelTMCcurrent, buttonTMCcurrent, LV_ALIGN_IN_LEFT_MID, 0, 0); @@ -242,6 +333,11 @@ void lv_draw_motor_settings(void) { } -void lv_clear_motor_settings() { lv_obj_del(scr); } +void lv_clear_motor_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp index 24abadb57c9a..a6c0c0551aba 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp @@ -32,6 +32,7 @@ #include "draw_ui.h" #include "../../../../gcode/queue.h" +extern lv_group_t * g; static lv_obj_t * scr; static lv_obj_t *labelV, *buttonV; @@ -179,8 +180,6 @@ void lv_draw_move_motor(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create an Image button buttonXI = lv_imgbtn_create(scr, NULL); buttonXD = lv_imgbtn_create(scr, NULL); @@ -191,55 +190,56 @@ void lv_draw_move_motor(void) { buttonV = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonXI, event_handler, ID_M_X_P, "bmp_xAdd.bin", 0); - lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonXI, event_handler, ID_M_X_P, NULL, 0); + lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_REL, "F:/bmp_xAdd.bin"); + lv_imgbtn_set_src(buttonXI, LV_BTN_STATE_PR, "F:/bmp_xAdd.bin"); lv_imgbtn_set_style(buttonXI, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonXI, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonXI, LV_PROTECT_FOLLOW); + #if 1 - lv_obj_set_event_cb_mks(buttonXD, event_handler, ID_M_X_N, "bmp_xDec.bin", 0); - lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonXD, event_handler, ID_M_X_N, NULL, 0); + lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_REL, "F:/bmp_xDec.bin"); + lv_imgbtn_set_src(buttonXD, LV_BTN_STATE_PR, "F:/bmp_xDec.bin"); lv_imgbtn_set_style(buttonXD, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonXD, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonYI, event_handler, ID_M_Y_P, "bmp_yAdd.bin", 0); - lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonYI, event_handler, ID_M_Y_P, NULL, 0); + lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_REL, "F:/bmp_yAdd.bin"); + lv_imgbtn_set_src(buttonYI, LV_BTN_STATE_PR, "F:/bmp_yAdd.bin"); lv_imgbtn_set_style(buttonYI, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonYI, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonYD, event_handler, ID_M_Y_N, "bmp_yDec.bin", 0); - lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonYD, event_handler, ID_M_Y_N, NULL, 0); + lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_REL, "F:/bmp_yDec.bin"); + lv_imgbtn_set_src(buttonYD, LV_BTN_STATE_PR, "F:/bmp_yDec.bin"); lv_imgbtn_set_style(buttonYD, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonYD, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonZI, event_handler, ID_M_Z_P, "bmp_zAdd.bin", 0); - lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonZI, event_handler, ID_M_Z_P, NULL, 0); + lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_REL, "F:/bmp_zAdd.bin"); + lv_imgbtn_set_src(buttonZI, LV_BTN_STATE_PR, "F:/bmp_zAdd.bin"); lv_imgbtn_set_style(buttonZI, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonZI, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonZD, event_handler, ID_M_Z_N, "bmp_zDec.bin", 0); - lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonZD, event_handler, ID_M_Z_N, NULL, 0); + lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_REL, "F:/bmp_zDec.bin"); + lv_imgbtn_set_src(buttonZD, LV_BTN_STATE_PR, "F:/bmp_zDec.bin"); lv_imgbtn_set_style(buttonZD, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonZD, LV_BTN_STATE_REL, &tft_style_label_rel); //lv_obj_set_event_cb_mks(buttonV, event_handler,ID_T_MORE,"bmp_More.bin",0); - lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonV, event_handler, ID_M_STEP, NULL, 0); lv_imgbtn_set_style(buttonV, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonV, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_M_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_M_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif // if 1 + lv_obj_set_pos(buttonXI, INTERVAL_V, titleHeight); lv_obj_set_pos(buttonYI, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); lv_obj_set_pos(buttonZI, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); @@ -290,6 +290,18 @@ void lv_draw_move_motor(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXI); + lv_group_add_obj(g, buttonXD); + lv_group_add_obj(g, buttonYI); + lv_group_add_obj(g, buttonYD); + lv_group_add_obj(g, buttonZI); + lv_group_add_obj(g, buttonZD); + lv_group_add_obj(g, buttonV); + lv_group_add_obj(g, buttonBack); + } + #endif disp_move_dist(); } @@ -297,12 +309,18 @@ void lv_draw_move_motor(void) { void disp_move_dist() { // char buf[30] = {0}; - if ((int)(10 * uiCfg.move_dist) == 1) - lv_obj_set_event_cb_mks(buttonV, event_handler, ID_M_STEP, "bmp_step_move0_1.bin", 0); - else if ((int)(10 * uiCfg.move_dist) == 10) - lv_obj_set_event_cb_mks(buttonV, event_handler, ID_M_STEP, "bmp_step_move1.bin", 0); - else if ((int)(10 * uiCfg.move_dist) == 100) - lv_obj_set_event_cb_mks(buttonV, event_handler, ID_M_STEP, "bmp_step_move10.bin", 0); + if ((int)(10 * uiCfg.move_dist) == 1) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_step_move0_1.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_step_move0_1.bin"); + } + else if ((int)(10 * uiCfg.move_dist) == 10) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_step_move1.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_step_move1.bin"); + } + else if ((int)(10 * uiCfg.move_dist) == 100) { + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_REL, "F:/bmp_step_move10.bin"); + lv_imgbtn_set_src(buttonV, LV_BTN_STATE_PR, "F:/bmp_step_move10.bin"); + } if (gCfgItems.multiple_language != 0) { if ((int)(10 * uiCfg.move_dist) == 1) { lv_label_set_text(labelV, move_menu.step_01mm); @@ -319,6 +337,11 @@ void disp_move_dist() { } } -void lv_clear_move_motor() { lv_obj_del(scr); } +void lv_clear_move_motor() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp index 2fe32b04c934..4842776304d7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp @@ -47,6 +47,11 @@ #include "../../../../feature/tmc_util.h" #endif +#if HAS_BED_PROBE + #include "../../../../module/probe.h" +#endif + +extern lv_group_t * g; static lv_obj_t * scr; static lv_obj_t *buttonValue = NULL; static lv_obj_t *labelValue = NULL; @@ -77,113 +82,92 @@ static void disp_key_value() { float milliamps; #endif + ZERO(public_buf_m); + switch (value) { case PrintAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.acceleration); break; case RetractAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.retract_acceleration); break; case TravelAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.travel_acceleration); break; case XAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]); break; case YAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[Y_AXIS]); break; case ZAcceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[Z_AXIS]); break; case E0Acceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[E_AXIS]); break; case E1Acceleration: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)]); break; case XMaxFeedRate: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[X_AXIS]); break; case YMaxFeedRate: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Y_AXIS]); break; case ZMaxFeedRate: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Z_AXIS]); break; case E0MaxFeedRate: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS]); break; case E1MaxFeedRate: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS_N(1)]); break; case XJerk: #if HAS_CLASSIC_JERK - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[X_AXIS]); #endif break; case YJerk: #if HAS_CLASSIC_JERK - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[Y_AXIS]); #endif break; case ZJerk: #if HAS_CLASSIC_JERK - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[Z_AXIS]); #endif break; case EJerk: #if HAS_CLASSIC_JERK - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[E_AXIS]); #endif break; case Xstep: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[X_AXIS]); break; case Ystep: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Y_AXIS]); break; case Zstep: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Z_AXIS]); break; case E0step: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS]); break; case E1step: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS_N(1)]); break; case Xcurrent: #if AXIS_IS_TMC(X) - ZERO(public_buf_m); milliamps = stepperX.getMilliamps(); sprintf_P(public_buf_m, PSTR("%.1f"), milliamps); #endif @@ -191,7 +175,6 @@ static void disp_key_value() { case Ycurrent: #if AXIS_IS_TMC(Y) - ZERO(public_buf_m); milliamps = stepperY.getMilliamps(); sprintf_P(public_buf_m, PSTR("%.1f"), milliamps); #endif @@ -199,7 +182,6 @@ static void disp_key_value() { case Zcurrent: #if AXIS_IS_TMC(Z) - ZERO(public_buf_m); milliamps = stepperZ.getMilliamps(); sprintf_P(public_buf_m, PSTR("%.1f"), milliamps); #endif @@ -207,7 +189,6 @@ static void disp_key_value() { case E0current: #if AXIS_IS_TMC(E0) - ZERO(public_buf_m); milliamps = stepperE0.getMilliamps(); sprintf_P(public_buf_m, PSTR("%.1f"), milliamps); #endif @@ -215,24 +196,100 @@ static void disp_key_value() { case E1current: #if AXIS_IS_TMC(E1) - ZERO(public_buf_m); milliamps = stepperE1.getMilliamps(); sprintf_P(public_buf_m, PSTR("%.1f"), milliamps); #endif break; case pause_pos_x: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosX); break; case pause_pos_y: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosY); break; case pause_pos_z: - ZERO(public_buf_m); sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosZ); break; + case level_pos_x1: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[0][0]); + break; + case level_pos_y1: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[0][1]); + break; + case level_pos_x2: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[1][0]); + break; + case level_pos_y2: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[1][1]); + break; + case level_pos_x3: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[2][0]); + break; + case level_pos_y3: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[2][1]); + break; + case level_pos_x4: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[3][0]); + break; + case level_pos_y4: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[3][1]); + break; + case level_pos_x5: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[4][0]); + break; + case level_pos_y5: + sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[4][1]); + break; + #if HAS_BED_PROBE + case x_offset: + #if HAS_PROBE_XY_OFFSET + sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.x); + #endif + break; + case y_offset: + #if HAS_PROBE_XY_OFFSET + sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.y); + #endif + break; + case z_offset: + sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.z); + break; + #endif + case load_length: + sprintf_P(public_buf_m, PSTR("%d"), gCfgItems.filamentchange_load_length); + break; + case load_speed: + sprintf_P(public_buf_m, PSTR("%d"), gCfgItems.filamentchange_load_speed); + break; + case unload_length: + sprintf_P(public_buf_m, PSTR("%d"), gCfgItems.filamentchange_unload_length); + break; + case unload_speed: + sprintf_P(public_buf_m, PSTR("%d"), gCfgItems.filamentchange_unload_speed); + break; + case filament_temp: + sprintf_P(public_buf_m, PSTR("%d"), gCfgItems.filament_limit_temper); + break; + case x_sensitivity: + #if X_SENSORLESS + sprintf_P(public_buf_m, PSTR("%d"), TERN(X_SENSORLESS, stepperX.homing_threshold(), 0)); + #endif + break; + case y_sensitivity: + #if Y_SENSORLESS + sprintf_P(public_buf_m, PSTR("%d"), TERN(Y_SENSORLESS, stepperY.homing_threshold(), 0)); + #endif + break; + case z_sensitivity: + #if Z_SENSORLESS + sprintf_P(public_buf_m, PSTR("%d"), TERN(Z_SENSORLESS, stepperZ.homing_threshold(), 0)); + #endif + break; + case z2_sensitivity: + #if Z2_SENSORLESS + sprintf_P(public_buf_m, PSTR("%d"), TERN(Z2_SENSORLESS, stepperZ2.homing_threshold(), 0)); + #endif + break; } ZERO(key_value); strcpy(key_value, public_buf_m); @@ -313,18 +370,23 @@ static void set_value_confirm() { break; case Xstep: planner.settings.axis_steps_per_mm[X_AXIS] = atof(key_value); + planner.refresh_positioning(); break; case Ystep: planner.settings.axis_steps_per_mm[Y_AXIS] = atof(key_value); + planner.refresh_positioning(); break; case Zstep: planner.settings.axis_steps_per_mm[Z_AXIS] = atof(key_value); + planner.refresh_positioning(); break; case E0step: planner.settings.axis_steps_per_mm[E_AXIS] = atof(key_value); + planner.refresh_positioning(); break; case E1step: planner.settings.axis_steps_per_mm[E_AXIS_N(1)] = atof(key_value); + planner.refresh_positioning(); break; case Xcurrent: #if AXIS_IS_TMC(X) @@ -368,6 +430,114 @@ static void set_value_confirm() { gCfgItems.pausePosZ = atof(key_value); update_spi_flash(); break; + case level_pos_x1: + gCfgItems.levelingPos[0][0] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_y1: + gCfgItems.levelingPos[0][1] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_x2: + gCfgItems.levelingPos[1][0] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_y2: + gCfgItems.levelingPos[1][1] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_x3: + gCfgItems.levelingPos[2][0] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_y3: + gCfgItems.levelingPos[2][1] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_x4: + gCfgItems.levelingPos[3][0] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_y4: + gCfgItems.levelingPos[3][1] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_x5: + gCfgItems.levelingPos[4][0] = atoi(key_value); + update_spi_flash(); + break; + case level_pos_y5: + gCfgItems.levelingPos[4][1] = atoi(key_value); + update_spi_flash(); + break; + #if HAS_BED_PROBE + case x_offset: + #if HAS_PROBE_XY_OFFSET + float x; + x = atof(key_value); + if (WITHIN(x, -(X_BED_SIZE), X_BED_SIZE)) + probe.offset.x = x; + #endif + break; + case y_offset: + #if HAS_PROBE_XY_OFFSET + float y; + y = atof(key_value); + if (WITHIN(y, -(Y_BED_SIZE), Y_BED_SIZE)) + probe.offset.y = y; + #endif + break; + case z_offset: + float z; + z = atof(key_value); + if (WITHIN(z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) + probe.offset.z = z; + break; + #endif + case load_length: + gCfgItems.filamentchange_load_length = atoi(key_value); + uiCfg.filament_loading_time = (uint32_t)((gCfgItems.filamentchange_load_length*60.0/gCfgItems.filamentchange_load_speed)+0.5); + update_spi_flash(); + break; + case load_speed: + gCfgItems.filamentchange_load_speed = atoi(key_value); + uiCfg.filament_loading_time = (uint32_t)((gCfgItems.filamentchange_load_length*60.0/gCfgItems.filamentchange_load_speed)+0.5); + update_spi_flash(); + break; + case unload_length: + gCfgItems.filamentchange_unload_length = atoi(key_value); + uiCfg.filament_unloading_time = (uint32_t)((gCfgItems.filamentchange_unload_length*60.0/gCfgItems.filamentchange_unload_speed)+0.5); + update_spi_flash(); + break; + case unload_speed: + gCfgItems.filamentchange_unload_speed = atoi(key_value); + uiCfg.filament_unloading_time = (uint32_t)((gCfgItems.filamentchange_unload_length*60.0/gCfgItems.filamentchange_unload_speed)+0.5); + update_spi_flash(); + break; + case filament_temp: + gCfgItems.filament_limit_temper = atoi(key_value); + update_spi_flash(); + break; + case x_sensitivity: + #if X_SENSORLESS + stepperX.homing_threshold(atoi(key_value)); + #endif + break; + case y_sensitivity: + #if Y_SENSORLESS + stepperY.homing_threshold(atoi(key_value)); + #endif + break; + case z_sensitivity: + #if Z_SENSORLESS + stepperZ.homing_threshold(atoi(key_value)); + #endif + break; + case z2_sensitivity: + #if Z2_SENSORLESS + stepperZ2.homing_threshold(atoi(key_value)); + #endif + break; } gcode.process_subcommands_now_P(PSTR("M500")); } @@ -604,15 +774,13 @@ void lv_draw_number_key(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - //LV_IMG_DECLARE(bmp_pic); - buttonValue = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonValue, 92, 40); /*Set its position*/ lv_obj_set_size(buttonValue, 296, 40); lv_obj_set_event_cb_mks(buttonValue, event_handler, ID_NUM_KEY1, NULL, 0); lv_btn_set_style(buttonValue, LV_BTN_STYLE_REL, &style_num_text); /*Set the button's released style*/ lv_btn_set_style(buttonValue, LV_BTN_STYLE_PR, &style_num_text); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonValue, LV_LAYOUT_OFF); + //lv_btn_set_layout(buttonValue, LV_LAYOUT_OFF); labelValue = lv_label_create(buttonValue, NULL); /*Add a label to the button*/ NumberKey_1 = lv_btn_create(scr, NULL); /*Add a button the current screen*/ @@ -621,7 +789,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_1, event_handler, ID_NUM_KEY1, NULL, 0); lv_btn_set_style(NumberKey_1, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_1, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_1, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_1, LV_LAYOUT_OFF); labelKey_1 = lv_label_create(NumberKey_1, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_1, machine_menu.key_1); lv_obj_align(labelKey_1, NumberKey_1, LV_ALIGN_CENTER, 0, 0); @@ -632,7 +800,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_2, event_handler, ID_NUM_KEY2, NULL, 0); lv_btn_set_style(NumberKey_2, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_2, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_2, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_2, LV_LAYOUT_OFF); labelKey_2 = lv_label_create(NumberKey_2, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_2, machine_menu.key_2); lv_obj_align(labelKey_2, NumberKey_2, LV_ALIGN_CENTER, 0, 0); @@ -643,7 +811,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_3, event_handler, ID_NUM_KEY3, NULL, 0); lv_btn_set_style(NumberKey_3, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_3, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_3, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_3, LV_LAYOUT_OFF); labelKey_3 = lv_label_create(NumberKey_3, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_3, machine_menu.key_3); lv_obj_align(labelKey_3, NumberKey_3, LV_ALIGN_CENTER, 0, 0); @@ -654,7 +822,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_4, event_handler, ID_NUM_KEY4, NULL, 0); lv_btn_set_style(NumberKey_4, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_4, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_4, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_4, LV_LAYOUT_OFF); labelKey_4 = lv_label_create(NumberKey_4, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_4, machine_menu.key_4); lv_obj_align(labelKey_4, NumberKey_4, LV_ALIGN_CENTER, 0, 0); @@ -665,7 +833,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_5, event_handler, ID_NUM_KEY5, NULL, 0); lv_btn_set_style(NumberKey_5, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_5, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_5, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_5, LV_LAYOUT_OFF); labelKey_5 = lv_label_create(NumberKey_5, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_5, machine_menu.key_5); lv_obj_align(labelKey_5, NumberKey_5, LV_ALIGN_CENTER, 0, 0); @@ -676,7 +844,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_6, event_handler, ID_NUM_KEY6, NULL, 0); lv_btn_set_style(NumberKey_6, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_6, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_6, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_6, LV_LAYOUT_OFF); labelKey_6 = lv_label_create(NumberKey_6, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_6, machine_menu.key_6); lv_obj_align(labelKey_6, NumberKey_6, LV_ALIGN_CENTER, 0, 0); @@ -687,7 +855,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_7, event_handler, ID_NUM_KEY7, NULL, 0); lv_btn_set_style(NumberKey_7, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_7, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_7, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_7, LV_LAYOUT_OFF); labelKey_7 = lv_label_create(NumberKey_7, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_7, machine_menu.key_7); lv_obj_align(labelKey_7, NumberKey_7, LV_ALIGN_CENTER, 0, 0); @@ -698,7 +866,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_8, event_handler, ID_NUM_KEY8, NULL, 0); lv_btn_set_style(NumberKey_8, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_8, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_8, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_8, LV_LAYOUT_OFF); labelKey_8 = lv_label_create(NumberKey_8, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_8, machine_menu.key_8); lv_obj_align(labelKey_8, NumberKey_8, LV_ALIGN_CENTER, 0, 0); @@ -709,7 +877,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_9, event_handler, ID_NUM_KEY9, NULL, 0); lv_btn_set_style(NumberKey_9, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_9, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_9, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_9, LV_LAYOUT_OFF); labelKey_9 = lv_label_create(NumberKey_9, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_9, machine_menu.key_9); lv_obj_align(labelKey_9, NumberKey_9, LV_ALIGN_CENTER, 0, 0); @@ -720,7 +888,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(NumberKey_0, event_handler, ID_NUM_KEY0, NULL, 0); lv_btn_set_style(NumberKey_0, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(NumberKey_0, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(NumberKey_0, LV_LAYOUT_OFF); + //lv_btn_set_layout(NumberKey_0, LV_LAYOUT_OFF); labelKey_0 = lv_label_create(NumberKey_0, NULL); /*Add a label to the button*/ lv_label_set_text(labelKey_0, machine_menu.key_0); lv_obj_align(labelKey_0, NumberKey_0, LV_ALIGN_CENTER, 0, 0); @@ -731,7 +899,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(KeyBack, event_handler, ID_NUM_BACK, NULL, 0); lv_btn_set_style(KeyBack, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(KeyBack, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(KeyBack, LV_LAYOUT_OFF); + //lv_btn_set_layout(KeyBack, LV_LAYOUT_OFF); labelKeyBack = lv_label_create(KeyBack, NULL); /*Add a label to the button*/ lv_label_set_text(labelKeyBack, machine_menu.key_back); lv_obj_align(labelKeyBack, KeyBack, LV_ALIGN_CENTER, 0, 0); @@ -742,7 +910,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(KeyReset, event_handler, ID_NUM_RESET, NULL, 0); lv_btn_set_style(KeyReset, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(KeyReset, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(KeyReset, LV_LAYOUT_OFF); + //lv_btn_set_layout(KeyReset, LV_LAYOUT_OFF); labelKeyReset = lv_label_create(KeyReset, NULL); /*Add a label to the button*/ lv_label_set_text(labelKeyReset, machine_menu.key_reset); lv_obj_align(labelKeyReset, KeyReset, LV_ALIGN_CENTER, 0, 0); @@ -753,7 +921,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(KeyConfirm, event_handler, ID_NUM_CONFIRM, NULL, 0); lv_btn_set_style(KeyConfirm, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(KeyConfirm, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(KeyConfirm, LV_LAYOUT_OFF); + //lv_btn_set_layout(KeyConfirm, LV_LAYOUT_OFF); labelKeyConfirm = lv_label_create(KeyConfirm, NULL); /*Add a label to the button*/ lv_label_set_text(labelKeyConfirm, machine_menu.key_confirm); lv_obj_align(labelKeyConfirm, KeyConfirm, LV_ALIGN_CENTER, 0, 0); @@ -764,7 +932,7 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(KeyPoint, event_handler, ID_NUM_POINT, NULL, 0); lv_btn_set_style(KeyPoint, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(KeyPoint, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(KeyPoint, LV_LAYOUT_OFF); + //lv_btn_set_layout(KeyPoint, LV_LAYOUT_OFF); labelKeyPoint = lv_label_create(KeyPoint, NULL); /*Add a label to the button*/ lv_label_set_text(labelKeyPoint, machine_menu.key_point); lv_obj_align(labelKeyPoint, KeyPoint, LV_ALIGN_CENTER, 0, 0); @@ -775,14 +943,39 @@ void lv_draw_number_key(void) { lv_obj_set_event_cb_mks(Minus, event_handler, ID_NUM_NAGETIVE, NULL, 0); lv_btn_set_style(Minus, LV_BTN_STYLE_REL, &style_num_key_pre); /*Set the button's released style*/ lv_btn_set_style(Minus, LV_BTN_STYLE_PR, &style_num_key_rel); /*Set the button's pressed style*/ - lv_btn_set_layout(Minus, LV_LAYOUT_OFF); + //lv_btn_set_layout(Minus, LV_LAYOUT_OFF); labelMinus = lv_label_create(Minus, NULL); /*Add a label to the button*/ lv_label_set_text(labelMinus, machine_menu.negative); lv_obj_align(labelMinus, Minus, LV_ALIGN_CENTER, 0, 0); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, NumberKey_1); + lv_group_add_obj(g, NumberKey_2); + lv_group_add_obj(g, NumberKey_3); + lv_group_add_obj(g, KeyBack); + lv_group_add_obj(g, NumberKey_4); + lv_group_add_obj(g, NumberKey_5); + lv_group_add_obj(g, NumberKey_6); + lv_group_add_obj(g, KeyReset); + lv_group_add_obj(g, NumberKey_7); + lv_group_add_obj(g, NumberKey_8); + lv_group_add_obj(g, NumberKey_9); + lv_group_add_obj(g, NumberKey_0); + lv_group_add_obj(g, Minus); + lv_group_add_obj(g, KeyPoint); + lv_group_add_obj(g, KeyConfirm); + } + #endif + disp_key_value(); } -void lv_clear_number_key() { lv_obj_del(scr); } +void lv_clear_number_key() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.cpp index ad8cad03e0c3..4a4a0ee1305b 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_operation.cpp @@ -31,7 +31,11 @@ //#include "../lvgl/src/lv_core/lv_refr.h" #include "../../../../MarlinCore.h" +#include "../../../../module/temperature.h" +#include "../../../../module/motion.h" +#include "../../../../sd/cardreader.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_O_PRE_HEAT 1 @@ -42,10 +46,13 @@ static lv_obj_t * scr; #define ID_O_RETURN 6 #define ID_O_FAN 7 #define ID_O_POWER_OFF 8 +#define ID_O_BABY_STEP 9 static lv_obj_t *label_PowerOff; static lv_obj_t *buttonPowerOff; +extern feedRate_t feedrate_mm_s; + static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { case ID_O_PRE_HEAT: @@ -80,6 +87,20 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { + #if HAS_MULTI_EXTRUDER + uiCfg.curSprayerChoose_bak = active_extruder; + #endif + if (uiCfg.print_state == WORKING) { + #if ENABLED(SDSUPPORT) + card.pauseSDPrint(); + stop_print_time(); + uiCfg.print_state = PAUSING; + #endif + } + uiCfg.moveSpeed_bak = (uint16_t)feedrate_mm_s; + uiCfg.desireSprayerTempBak = thermalManager.temp_hotend[active_extruder].target; + lv_clear_operation(); + lv_draw_filament_change(); } break; case ID_O_FAN: @@ -116,7 +137,8 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { else if (event == LV_EVENT_RELEASED) { if (gCfgItems.finish_power_off == 1) { gCfgItems.finish_power_off = 0; - lv_obj_set_event_cb_mks(obj, event_handler, ID_O_POWER_OFF, "bmp_manual_off.bin", 0); // didn't find bmp_Mamual... + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, "F:/bmp_manual_off.bin"); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, "F:/bmp_manual_off.bin"); lv_label_set_text(label_PowerOff, printing_more_menu.manual); lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); lv_obj_refresh_ext_draw_pad(label_PowerOff); @@ -124,7 +146,8 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else { gCfgItems.finish_power_off = 1; - lv_obj_set_event_cb_mks(obj, event_handler, ID_O_POWER_OFF, "bmp_auto_off.bin", 0); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, "F:/bmp_auto_off.bin"); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, "F:/bmp_auto_off.bin"); lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); lv_obj_refresh_ext_draw_pad(label_PowerOff); @@ -132,16 +155,26 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } } break; - + case ID_O_BABY_STEP: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_operation(); + lv_draw_baby_stepping(); + } + break; } } void lv_draw_operation(void) { - lv_obj_t *buttonPreHeat, *buttonExtrusion, *buttonSpeed; - lv_obj_t *buttonBack, *buttonFan; - lv_obj_t *labelPreHeat, *labelExtrusion; - lv_obj_t *label_Back, *label_Speed, *label_Fan; + lv_obj_t *buttonPreHeat = NULL, *buttonExtrusion = NULL, *buttonSpeed = NULL; + lv_obj_t *buttonBack = NULL, *buttonFan = NULL; + lv_obj_t *labelPreHeat = NULL, *labelExtrusion = NULL; + lv_obj_t *label_Back = NULL, *label_Speed = NULL, *label_Fan = NULL; lv_obj_t *buttonMove = NULL, *label_Move = NULL; + lv_obj_t *buttonBabyStep = NULL, *label_BabyStep = NULL; + lv_obj_t *buttonFilament = NULL, *label_Filament = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != OPERATE_UI) { disp_state_stack._disp_index++; @@ -162,143 +195,188 @@ void lv_draw_operation(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - - /*Create an Image button*/ - buttonPreHeat = lv_imgbtn_create(scr, NULL); - buttonExtrusion = lv_imgbtn_create(scr, NULL); - buttonFan = lv_imgbtn_create(scr, NULL); - buttonSpeed = lv_imgbtn_create(scr, NULL); - + // Create image buttons + buttonPreHeat = lv_imgbtn_create(scr, NULL); + buttonFilament = lv_imgbtn_create(scr, NULL); + buttonFan = lv_imgbtn_create(scr, NULL); + buttonPowerOff = lv_imgbtn_create(scr, NULL); if (uiCfg.print_state != WORKING) { - //buttonFilament = lv_imgbtn_create(scr, NULL); - //} else { - buttonMove = lv_imgbtn_create(scr, NULL); + buttonExtrusion = lv_imgbtn_create(scr, NULL); + buttonMove = lv_imgbtn_create(scr, NULL); } + else { + buttonSpeed = lv_imgbtn_create(scr, NULL); + buttonBabyStep = lv_imgbtn_create(scr, NULL); + } + buttonBack = lv_imgbtn_create(scr, NULL); - buttonPowerOff = lv_imgbtn_create(scr, NULL); - buttonBack = lv_imgbtn_create(scr, NULL); - - lv_obj_set_event_cb_mks(buttonPreHeat, event_handler, ID_O_PRE_HEAT, "bmp_temp.bin", 0); - lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPreHeat, event_handler, ID_O_PRE_HEAT, NULL, 0); + lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_REL, "F:/bmp_temp.bin"); + lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_PR, "F:/bmp_temp.bin"); lv_imgbtn_set_style(buttonPreHeat, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPreHeat, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonPreHeat, LV_PROTECT_FOLLOW); + + lv_obj_set_event_cb_mks(buttonFilament, event_handler, ID_O_FILAMENT, NULL, 0); + lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, "F:/bmp_filamentchange.bin"); + lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_PR, "F:/bmp_filamentchange.bin"); + lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_REL, &tft_style_label_rel); + #if 1 - lv_obj_set_event_cb_mks(buttonExtrusion, event_handler, ID_O_EXTRUCT, "bmp_extrude_opr.bin", 0); - lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonFan, event_handler, ID_O_FAN, "bmp_fan.bin", 0); - lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonFan, event_handler, ID_O_FAN, NULL, 0); + lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_REL, "F:/bmp_fan.bin"); + lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_PR, "F:/bmp_fan.bin"); lv_imgbtn_set_style(buttonFan, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonFan, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_O_SPEED, "bmp_speed.bin", 0); - lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_REL, &tft_style_label_rel); + if (gCfgItems.finish_power_off == 1) { + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, "F:/bmp_auto_off.bin"); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, "F:/bmp_auto_off.bin"); + } + else { + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, "F:/bmp_manual_off.bin"); + lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, "F:/bmp_manual_off.bin"); + } + lv_obj_set_event_cb_mks(buttonPowerOff, event_handler, ID_O_POWER_OFF, NULL, 0); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_REL, &tft_style_label_rel); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPreHeat); + lv_group_add_obj(g, buttonFilament); + lv_group_add_obj(g, buttonFan); + lv_group_add_obj(g, buttonPowerOff); + } + #endif if (uiCfg.print_state != WORKING) { - /* - lv_obj_set_event_cb_mks(buttonFilament, event_handler,ID_O_FILAMENT,"bmp_Filamentchange.bin",0); - lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_REL, &tft_style_label_rel); - } else { - */ - lv_obj_set_event_cb_mks(buttonMove, event_handler, ID_O_MOV, "bmp_move_opr.bin", 0); - lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonExtrusion, event_handler, ID_O_EXTRUCT, NULL, 0); + lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_REL, "F:/bmp_extrude_opr.bin"); + lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_PR, "F:/bmp_extrude_opr.bin"); + lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonMove, event_handler, ID_O_MOV, NULL, 0); + lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_REL, "F:/bmp_move_opr.bin"); + lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_PR, "F:/bmp_move_opr.bin"); lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_REL, &tft_style_label_rel); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonExtrusion); + lv_group_add_obj(g, buttonMove); + } + #endif + } + else { + lv_obj_set_event_cb_mks(buttonSpeed, event_handler, ID_O_SPEED, NULL, 0); + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_REL, "F:/bmp_speed.bin"); + lv_imgbtn_set_src(buttonSpeed, LV_BTN_STATE_PR, "F:/bmp_speed.bin"); + lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonSpeed, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonBabyStep, event_handler, ID_O_BABY_STEP, NULL, 0); + lv_imgbtn_set_src(buttonBabyStep, LV_BTN_STATE_REL, "F:/bmp_mov.bin"); + lv_imgbtn_set_src(buttonBabyStep, LV_BTN_STATE_PR, "F:/bmp_mov.bin"); + lv_imgbtn_set_style(buttonBabyStep, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBabyStep, LV_BTN_STATE_REL, &tft_style_label_rel); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonSpeed); + lv_group_add_obj(g, buttonBabyStep); + } + #endif } - if (gCfgItems.finish_power_off == 1) - lv_obj_set_event_cb_mks(buttonPowerOff, event_handler, ID_O_POWER_OFF, "bmp_auto_off.bin", 0); - else - lv_obj_set_event_cb_mks(buttonPowerOff, event_handler, ID_O_POWER_OFF, "bmp_manual_off.bin", 0); - lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPowerOff, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonPowerOff, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_O_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_O_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif // if 1 - lv_obj_set_pos(buttonPreHeat, INTERVAL_V, titleHeight); - lv_obj_set_pos(buttonExtrusion, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + lv_obj_set_pos(buttonPreHeat, INTERVAL_V, titleHeight); + lv_obj_set_pos(buttonFilament, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); lv_obj_set_pos(buttonFan, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); - lv_obj_set_pos(buttonSpeed, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); + lv_obj_set_pos(buttonPowerOff, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); if (uiCfg.print_state != WORKING) { /* lv_obj_set_pos(buttonFilament,INTERVAL_V,BTN_Y_PIXEL+INTERVAL_H+titleHeight); } else { */ - lv_obj_set_pos(buttonMove, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - lv_obj_set_pos(buttonPowerOff, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonExtrusion, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonMove, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); } else { - lv_obj_set_pos(buttonPowerOff, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonSpeed, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + lv_obj_set_pos(buttonBabyStep, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); } + lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + // Create labels on the image buttons lv_btn_set_layout(buttonPreHeat, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonExtrusion, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); lv_btn_set_layout(buttonFan, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonSpeed, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonPowerOff, LV_LAYOUT_OFF); if (uiCfg.print_state != WORKING) { /* lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); } else { */ + lv_btn_set_layout(buttonExtrusion, LV_LAYOUT_OFF); lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); } - lv_btn_set_layout(buttonPowerOff, LV_LAYOUT_OFF); + else { + lv_btn_set_layout(buttonSpeed, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBabyStep, LV_LAYOUT_OFF); + } + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); labelPreHeat = lv_label_create(buttonPreHeat, NULL); - labelExtrusion = lv_label_create(buttonExtrusion, NULL); - + label_Filament = lv_label_create(buttonFilament, NULL); label_Fan = lv_label_create(buttonFan, NULL); - label_Speed = lv_label_create(buttonSpeed, NULL); + label_PowerOff = lv_label_create(buttonPowerOff, NULL); if (uiCfg.print_state != WORKING) { /* label_Filament = lv_label_create(buttonFilament, NULL); } else { */ - label_Move = lv_label_create(buttonMove, NULL); + labelExtrusion = lv_label_create(buttonExtrusion, NULL); + label_Move = lv_label_create(buttonMove, NULL); + } + else { + label_Speed = lv_label_create(buttonSpeed, NULL); + label_BabyStep = lv_label_create(buttonBabyStep, NULL); } - label_PowerOff = lv_label_create(buttonPowerOff, NULL); - label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelPreHeat, operation_menu.temp); lv_obj_align(labelPreHeat, buttonPreHeat, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - lv_label_set_text(labelExtrusion, operation_menu.extr); - lv_obj_align(labelExtrusion, buttonExtrusion, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + lv_label_set_text(label_Filament, operation_menu.filament); + lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(label_Fan, operation_menu.fan); lv_obj_align(label_Fan, buttonFan, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - lv_label_set_text(label_Speed, operation_menu.speed); - lv_obj_align(label_Speed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + if (gCfgItems.finish_power_off == 1) + lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); + else + lv_label_set_text(label_PowerOff, printing_more_menu.manual); + lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); if (uiCfg.print_state != WORKING) { /* @@ -306,21 +384,30 @@ void lv_draw_operation(void) { lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); } else { */ + lv_label_set_text(labelExtrusion, operation_menu.extr); + lv_obj_align(labelExtrusion, buttonExtrusion, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + lv_label_set_text(label_Move, operation_menu.move); lv_obj_align(label_Move, buttonMove, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + else { + lv_label_set_text(label_Speed, operation_menu.speed); + lv_obj_align(label_Speed, buttonSpeed, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - if (gCfgItems.finish_power_off == 1) - lv_label_set_text(label_PowerOff, printing_more_menu.auto_close); - else - lv_label_set_text(label_PowerOff, printing_more_menu.manual); - lv_obj_align(label_PowerOff, buttonPowerOff, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + lv_label_set_text(label_BabyStep, operation_menu.babystep); + lv_obj_align(label_BabyStep, buttonBabyStep, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + } lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } -void lv_clear_operation() { lv_obj_del(scr); } +void lv_clear_operation() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp index 56caf812b1f9..9b99971f4f96 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp @@ -29,6 +29,7 @@ #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_PAUSE_RETURN 1 @@ -82,9 +83,9 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_pause_position(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != PAUSE_POS_UI) { @@ -106,85 +107,60 @@ void lv_draw_pause_position(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.xPos); - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ - - buttonXValue = lv_imgbtn_create(scr, NULL); + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_PAUSE_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_PAUSE_X, NULL, 0); labelXValue = lv_label_create(buttonXValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.yPos); - buttonYValue = lv_imgbtn_create(scr, NULL); + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_PAUSE_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_PAUSE_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); labelYValue = lv_label_create(buttonYValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.zPos); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_PAUSE_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_PAUSE_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); labelZValue = lv_label_create(buttonZValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_PAUSE_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - + buttonBack = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_PAUSE_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { @@ -203,20 +179,24 @@ void lv_draw_pause_position(void) { lv_label_set_text(labelZValue, public_buf_l); lv_obj_align(labelZValue, buttonZValue, LV_ALIGN_CENTER, 0, 0); - lv_label_set_text(labelXText, machine_menu.xPos); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelYText, machine_menu.yPos); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.zPos); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER, 0, 0); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_pause_position() { lv_obj_del(scr); } +void lv_clear_pause_position() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp index ff7641ddfda3..f58a47b341b6 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp @@ -34,9 +34,10 @@ #include "../../../../module/temperature.h" static lv_obj_t * scr; +extern lv_group_t* g; static lv_obj_t *buttoType, *buttonStep; -static lv_obj_t * labelType; -static lv_obj_t * labelStep; +static lv_obj_t *labelType; +static lv_obj_t *labelStep; static lv_obj_t * tempText1; #define ID_P_ADD 1 @@ -58,23 +59,22 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { if (uiCfg.curSprayerChoose == 0) { if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) { thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); - thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } } #if !defined(SINGLENOZZLE) && HAS_MULTI_EXTRUDER else if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) { thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1); - thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } #endif + thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } #if HAS_HEATED_BED else { thermalManager.temp_bed.target += uiCfg.stepHeat; if ((int)thermalManager.temp_bed.target > BED_MAXTEMP - (WATCH_BED_TEMP_INCREASE + TEMP_BED_HYSTERESIS + 1)) { thermalManager.temp_bed.target = (float)BED_MAXTEMP - (WATCH_BED_TEMP_INCREASE + TEMP_BED_HYSTERESIS + 1); - thermalManager.start_watching_bed(); } + thermalManager.start_watching_bed(); } #endif disp_desire_temp(); @@ -88,23 +88,21 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { if (uiCfg.curTempType == 0) { if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > uiCfg.stepHeat) { thermalManager.temp_hotend[uiCfg.curSprayerChoose].target -= uiCfg.stepHeat; - thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } else { thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)0; - thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } + thermalManager.start_watching_hotend(uiCfg.curSprayerChoose); } #if HAS_HEATED_BED else { if ((int)thermalManager.temp_bed.target > uiCfg.stepHeat) { thermalManager.temp_bed.target -= uiCfg.stepHeat; - thermalManager.start_watching_bed(); } else { thermalManager.temp_bed.target = (float)0; - thermalManager.start_watching_bed(); } + thermalManager.start_watching_bed(); } #endif disp_desire_temp(); @@ -212,9 +210,7 @@ void lv_draw_preHeat(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - - /*Create an Image button*/ + // Create image buttons buttonAdd = lv_imgbtn_create(scr, NULL); buttonDec = lv_imgbtn_create(scr, NULL); buttoType = lv_imgbtn_create(scr, NULL); @@ -222,40 +218,37 @@ void lv_draw_preHeat(void) { buttonOff = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_P_ADD, "bmp_Add.bin", 0); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonAdd, event_handler, ID_P_ADD, NULL, 0); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_REL, "F:/bmp_Add.bin"); + lv_imgbtn_set_src(buttonAdd, LV_BTN_STATE_PR, "F:/bmp_Add.bin"); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAdd, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_clear_protect(buttonAdd, LV_PROTECT_FOLLOW); + #if 1 - lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_P_DEC, "bmp_Dec.bin", 0); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonDec, event_handler, ID_P_DEC, NULL, 0); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_REL, "F:/bmp_Dec.bin"); + lv_imgbtn_set_src(buttonDec, LV_BTN_STATE_PR, "F:/bmp_Dec.bin"); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonDec, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttoType, event_handler, ID_P_TYPE, NULL, 0); lv_imgbtn_set_style(buttoType, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttoType, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_P_STEP, NULL, 0); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStep, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonOff, event_handler, ID_P_OFF, "bmp_speed0.bin", 0); - lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonOff, event_handler, ID_P_OFF, NULL, 0); + lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_REL, "F:/bmp_speed0.bin"); + lv_imgbtn_set_src(buttonOff, LV_BTN_STATE_PR, "F:/bmp_speed0.bin"); lv_imgbtn_set_style(buttonOff, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonOff, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_P_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_P_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -295,6 +288,16 @@ void lv_draw_preHeat(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonAdd); + lv_group_add_obj(g, buttonDec); + lv_group_add_obj(g, buttoType); + lv_group_add_obj(g, buttonStep); + lv_group_add_obj(g, buttonOff); + lv_group_add_obj(g, buttonBack); + } + #endif disp_temp_type(); disp_step_heat(); @@ -307,14 +310,16 @@ void lv_draw_preHeat(void) { void disp_temp_type() { if (uiCfg.curTempType == 0) { if (uiCfg.curSprayerChoose == 1) { - lv_obj_set_event_cb_mks(buttoType, event_handler, ID_P_TYPE, "bmp_extru2.bin", 0); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru2.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru2.bin"); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelType, preheat_menu.ext2); lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } } else { - lv_obj_set_event_cb_mks(buttoType, event_handler, ID_P_TYPE, "bmp_extru1.bin", 0); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_extru1.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_extru1.bin"); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelType, preheat_menu.ext1); lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -323,7 +328,8 @@ void disp_temp_type() { } else { - lv_obj_set_event_cb_mks(buttoType, event_handler, ID_P_TYPE, "bmp_bed.bin", 0); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_REL, "F:/bmp_bed.bin"); + lv_imgbtn_set_src(buttoType, LV_BTN_STATE_PR, "F:/bmp_bed.bin"); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelType, preheat_menu.hotbed); lv_obj_align(labelType, buttoType, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -356,12 +362,18 @@ void disp_desire_temp() { } void disp_step_heat() { - if (uiCfg.stepHeat == 1) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_P_STEP, "bmp_step1_degree.bin", 0); - else if (uiCfg.stepHeat == 5) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_P_STEP, "bmp_step5_degree.bin", 0); - else if (uiCfg.stepHeat == 10) - lv_obj_set_event_cb_mks(buttonStep, event_handler, ID_P_STEP, "bmp_step10_degree.bin", 0); + if (uiCfg.stepHeat == 1) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step1_degree.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step1_degree.bin"); + } + else if (uiCfg.stepHeat == 5) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step5_degree.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step5_degree.bin"); + } + else if (uiCfg.stepHeat == 10) { + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_REL, "F:/bmp_step10_degree.bin"); + lv_imgbtn_set_src(buttonStep, LV_BTN_STATE_PR, "F:/bmp_step10_degree.bin"); + } if (gCfgItems.multiple_language != 0) { if (uiCfg.stepHeat == 1) { @@ -379,6 +391,11 @@ void disp_step_heat() { } } -void lv_clear_preHeat() { lv_obj_del(scr); } +void lv_clear_preHeat() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp index 13a92269f8a0..add0f0394b3f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp @@ -33,6 +33,7 @@ #include "../../../../sd/cardreader.h" static lv_obj_t * scr; +extern lv_group_t* g; static lv_obj_t *buttonPageUp, *buttonPageDown, *buttonBack, *buttonGcode[FILE_BTN_CNT], *labelPageUp[FILE_BTN_CNT], *buttonText[FILE_BTN_CNT]; @@ -132,11 +133,6 @@ uint8_t have_pre_pic(char *path) { return 0; } -LV_IMG_DECLARE(bmp_pic_117x92); -LV_IMG_DECLARE(bmp_pic_100x100); -LV_IMG_DECLARE(bmp_pic); -LV_IMG_DECLARE(bmp_pic_100x40); - static void event_handler(lv_obj_t * obj, lv_event_t event) { uint8_t i, file_count = 0; //switch (obj->mks_obj_id) @@ -157,7 +153,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #endif if (file_count != 0) { dir_offset[curDirLever].curPage--; - lv_obj_del(scr); + lv_clear_print_file(); disp_gcode_icon(file_count); } } @@ -175,7 +171,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #endif if (file_count != 0) { dir_offset[curDirLever].curPage++; - lv_obj_del(scr); + lv_clear_print_file(); disp_gcode_icon(file_count); } if (file_count < FILE_NUM) @@ -202,12 +198,12 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #if ENABLED(SDSUPPORT) file_count = search_file(); #endif - lv_obj_del(scr); + lv_clear_print_file(); disp_gcode_icon(file_count); } } else { - lv_obj_del(scr); + lv_clear_print_file(); lv_draw_ready_print(); } } @@ -227,12 +223,12 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #if ENABLED(SDSUPPORT) file_count = search_file(); #endif - lv_obj_del(scr); + lv_clear_print_file(); disp_gcode_icon(file_count); } else { sel_id = i; - lv_obj_del(scr); + lv_clear_print_file(); lv_draw_dialog(DIALOG_TYPE_PRINT_FILE); } break; @@ -269,9 +265,9 @@ void lv_draw_print_file(void) { #endif disp_gcode_icon(file_count); - //lv_obj_t * labelPageUp = lv_label_create(buttonPageUp, NULL); - //lv_obj_t * labelPageDown = lv_label_create(buttonPageDown, NULL); - //lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + //lv_obj_t *labelPageUp = lv_label_create(buttonPageUp, NULL); + //lv_obj_t *labelPageDown = lv_label_create(buttonPageDown, NULL); + //lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); /* if (gCfgItems.multiple_language != 0) { @@ -286,7 +282,7 @@ void lv_draw_print_file(void) { } */ } - +static char test_public_buf_l[40]; void disp_gcode_icon(uint8_t file_num) { uint8_t i; @@ -310,23 +306,22 @@ void disp_gcode_icon(uint8_t file_num) { buttonPageDown = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonPageUp, event_handler, ID_P_UP, "bmp_pageUp.bin", 0); - lv_imgbtn_set_src(buttonPageUp, LV_BTN_STATE_REL, &bmp_pic_117x92); - lv_imgbtn_set_src(buttonPageUp, LV_BTN_STATE_PR, &bmp_pic_117x92); + lv_obj_set_event_cb_mks(buttonPageUp, event_handler, ID_P_UP, NULL, 0); + lv_imgbtn_set_src(buttonPageUp, LV_BTN_STATE_REL, "F:/bmp_pageUp.bin"); + lv_imgbtn_set_src(buttonPageUp, LV_BTN_STATE_PR, "F:/bmp_pageUp.bin"); lv_imgbtn_set_style(buttonPageUp, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPageUp, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonPageUp, LV_PROTECT_FOLLOW); #if 1 - lv_obj_set_event_cb_mks(buttonPageDown, event_handler, ID_P_DOWN, "bmp_pageDown.bin", 0); - lv_imgbtn_set_src(buttonPageDown, LV_BTN_STATE_REL, &bmp_pic_117x92); - lv_imgbtn_set_src(buttonPageDown, LV_BTN_STATE_PR, &bmp_pic_117x92); + lv_obj_set_event_cb_mks(buttonPageDown, event_handler, ID_P_DOWN, NULL, 0); + lv_imgbtn_set_src(buttonPageDown, LV_BTN_STATE_REL, "F:/bmp_pageDown.bin"); + lv_imgbtn_set_src(buttonPageDown, LV_BTN_STATE_PR, "F:/bmp_pageDown.bin"); lv_imgbtn_set_style(buttonPageDown, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPageDown, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_P_RETURN, "bmp_back.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic_117x92); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic_117x92); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_P_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -365,9 +360,9 @@ void disp_gcode_icon(uint8_t file_num) { cutFileName((char *)list_file.long_name[i], 16, 8, (char *)public_buf_m); if (list_file.IsFolder[i] == 1) { - lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), "bmp_dir.bin", 0); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), NULL, 0); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, "F:/bmp_dir.bin"); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, "F:/bmp_dir.bin"); if (i < 3) lv_obj_set_pos(buttonGcode[i], BTN_X_PIXEL * i + INTERVAL_V * (i + 1), titleHeight); else @@ -380,9 +375,17 @@ void disp_gcode_icon(uint8_t file_num) { } else { if (have_pre_pic((char *)list_file.file_name[i])) { - lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), list_file.file_name[i], 1); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, &bmp_pic_100x100); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, &bmp_pic_100x100); + + //lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), list_file.file_name[i], 1); + + ZERO(test_public_buf_l); + strcat(test_public_buf_l,"S:"); + strcat(test_public_buf_l,list_file.file_name[i]); + char *temp = strstr(test_public_buf_l,".GCO"); + if (temp) { strcpy(temp,".bin"); } + lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), NULL, 0); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, test_public_buf_l); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, test_public_buf_l); if (i < 3) { lv_obj_set_pos(buttonGcode[i], BTN_X_PIXEL * i + INTERVAL_V * (i + 1) + FILE_PRE_PIC_X_OFFSET, titleHeight + FILE_PRE_PIC_Y_OFFSET); buttonText[i] = lv_btn_create(scr, NULL); @@ -395,8 +398,6 @@ void disp_gcode_icon(uint8_t file_num) { lv_obj_clear_protect(buttonText[i], LV_PROTECT_FOLLOW); lv_btn_set_layout(buttonText[i], LV_LAYOUT_OFF); //lv_obj_set_event_cb_mks(buttonText[i], event_handler,(i+10),NULL,0); - //lv_imgbtn_set_src(buttonText[i], LV_BTN_STATE_REL, &bmp_pic_100x40); - //lv_imgbtn_set_src(buttonText[i], LV_BTN_STATE_PR, &bmp_pic_100x40); lv_obj_set_pos(buttonText[i], BTN_X_PIXEL * i + INTERVAL_V * (i + 1) + FILE_PRE_PIC_X_OFFSET, titleHeight + FILE_PRE_PIC_Y_OFFSET + 100); lv_obj_set_size(buttonText[i], 100, 40); } @@ -412,8 +413,6 @@ void disp_gcode_icon(uint8_t file_num) { lv_obj_clear_protect(buttonText[i], LV_PROTECT_FOLLOW); lv_btn_set_layout(buttonText[i], LV_LAYOUT_OFF); //lv_obj_set_event_cb_mks(buttonText[i], event_handler,(i+10),NULL,0); - //lv_imgbtn_set_src(buttonText[i], LV_BTN_STATE_REL, &bmp_pic_100x40); - //lv_imgbtn_set_src(buttonText[i], LV_BTN_STATE_PR, &bmp_pic_100x40); lv_obj_set_pos(buttonText[i], BTN_X_PIXEL * (i - 3) + INTERVAL_V * ((i - 3) + 1) + FILE_PRE_PIC_X_OFFSET, BTN_Y_PIXEL + INTERVAL_H + titleHeight + FILE_PRE_PIC_Y_OFFSET + 100); lv_obj_set_size(buttonText[i], 100, 40); } @@ -423,9 +422,9 @@ void disp_gcode_icon(uint8_t file_num) { lv_obj_align(labelPageUp[i], buttonText[i], LV_ALIGN_IN_BOTTOM_MID, 0, 0); } else { - lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), "bmp_file.bin", 0); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonGcode[i], event_handler, (i + 1), NULL, 0); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_REL, "F:/bmp_file.bin"); + lv_imgbtn_set_src(buttonGcode[i], LV_BTN_STATE_PR, "F:/bmp_file.bin"); if (i < 3) lv_obj_set_pos(buttonGcode[i], BTN_X_PIXEL * i + INTERVAL_V * (i + 1), titleHeight); else @@ -437,15 +436,26 @@ void disp_gcode_icon(uint8_t file_num) { lv_obj_align(labelPageUp[i], buttonGcode[i], LV_ALIGN_IN_BOTTOM_MID, 0, -5); } } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonGcode[i]); + #endif + #else // !TFT35 #endif // !TFT35 } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPageUp); + lv_group_add_obj(g, buttonPageDown); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_open_gcode_file(char *path) { +uint32_t lv_open_gcode_file(char *path) { #if ENABLED(SDSUPPORT) uint32_t *ps4; - int pre_sread_cnt; + uint32_t pre_sread_cnt = 0; char *cur_name; cur_name = strrchr(path, '/'); @@ -458,10 +468,10 @@ void lv_open_gcode_file(char *path) { pre_sread_cnt = (uint32_t)ps4 - (uint32_t)((uint32_t *)(&public_buf[0])); card.setIndex(pre_sread_cnt); } + return pre_sread_cnt; #endif // SDSUPPORT } - int ascii2dec_test(char *ascii) { int result = 0; if (ascii == 0) return 0; @@ -534,6 +544,10 @@ void lv_gcode_file_read(uint8_t *data_buf) { void lv_close_gcode_file() {TERN_(SDSUPPORT, card.closefile());} +void lv_gcode_file_seek(uint32_t pos) { + card.setIndex(pos); +} + void cutFileName(char *path, int len, int bytePerLine, char *outStr) { #if _LFN_UNICODE TCHAR *tmpFile; @@ -616,6 +630,11 @@ void cutFileName(char *path, int len, int bytePerLine, char *outStr) { #endif } -void lv_clear_print_file() { lv_obj_del(scr); } +void lv_clear_print_file() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h index 226e4f668e93..083b3d9acf07 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.h @@ -52,12 +52,13 @@ extern LIST_FILE list_file; extern void disp_gcode_icon(uint8_t file_num); extern void lv_draw_print_file(void); -extern void lv_open_gcode_file(char *path); +extern uint32_t lv_open_gcode_file(char *path); extern void lv_gcode_file_read(uint8_t *data_buf); extern void lv_close_gcode_file(); extern void cutFileName(char *path, int len, int bytePerLine, char *outStr); extern int ascii2dec_test(char *ascii); extern void lv_clear_print_file(); +extern void lv_gcode_file_seek(uint32_t pos); //extern void disp_temp_ready_print(); #ifdef __cplusplus diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp index e5a7bb18d999..a81b5b851bb3 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp @@ -35,6 +35,7 @@ #include "../../../../module/motion.h" #include "../../../../sd/cardreader.h" #include "../../../../gcode/queue.h" +#include "../../../../gcode/gcode.h" #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../feature/powerloss.h" @@ -43,10 +44,11 @@ #include "../../../ultralcd.h" #endif +extern lv_group_t * g; static lv_obj_t * scr; -static lv_obj_t * labelExt1, * labelExt2, * labelFan, * labelZpos, * labelTime; -static lv_obj_t * labelPause, * labelStop, * labelOperat; -static lv_obj_t * bar1; +static lv_obj_t *labelExt1, * labelExt2, * labelFan, * labelZpos, * labelTime; +static lv_obj_t *labelPause, * labelStop, * labelOperat; +static lv_obj_t * bar1, *bar1ValueText; static lv_obj_t * buttonPause, *buttonOperat, *buttonStop; #if HAS_HEATED_BED @@ -57,8 +59,6 @@ static lv_obj_t * buttonPause, *buttonOperat, *buttonStop; #define ID_STOP 2 #define ID_OPTION 3 -lv_style_t lv_bar_style_indic; - uint8_t once_flag = 0; extern uint32_t To_pre_view; extern uint8_t flash_preview_begin; @@ -82,21 +82,23 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { stop_print_time(); uiCfg.print_state = PAUSING; #endif - lv_obj_set_event_cb_mks(buttonPause, event_handler, ID_PAUSE, "bmp_resume.bin", 0); + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_REL, "F:/bmp_resume.bin"); + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_PR, "F:/bmp_resume.bin"); lv_label_set_text(labelPause, printing_menu.resume); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER, 30, 0); } else if (uiCfg.print_state == PAUSED) { uiCfg.print_state = RESUMING; - // if (IS_SD_PAUSED())queue.inject_P(PSTR("M24"));// queue.inject_P(M24_STR); - lv_obj_set_event_cb_mks(obj, event_handler, ID_PAUSE, "bmp_pause.bin", 0); + lv_imgbtn_set_src(obj, LV_BTN_STATE_REL, "F:/bmp_pause.bin"); + lv_imgbtn_set_src(obj, LV_BTN_STATE_PR, "F:/bmp_pause.bin"); lv_label_set_text(labelPause, printing_menu.pause); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER, 30, 0); } #if ENABLED(POWER_LOSS_RECOVERY) else if (uiCfg.print_state == REPRINTING) { uiCfg.print_state = REPRINTED; - lv_obj_set_event_cb_mks(obj, event_handler, ID_PAUSE, "bmp_pause.bin", 0); + lv_imgbtn_set_src(obj, LV_BTN_STATE_REL, "F:/bmp_pause.bin"); + lv_imgbtn_set_src(obj, LV_BTN_STATE_PR, "F:/bmp_pause.bin"); lv_label_set_text(labelPause, printing_menu.pause); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER, 30, 0); // recovery.resume(); @@ -115,7 +117,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { if (gcode_preview_over != 1) { - lv_obj_del(scr); + lv_clear_printing(); lv_draw_dialog(DIALOG_TYPE_STOP); } } @@ -126,7 +128,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { if (gcode_preview_over != 1) { - lv_obj_del(scr); + lv_clear_printing(); lv_draw_operation(); } } @@ -159,88 +161,71 @@ void lv_draw_printing(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic_150x80); - LV_IMG_DECLARE(bmp_pic_45x45); - - /*Create an Image button*/ - buttonExt1 = lv_imgbtn_create(scr, NULL); - if (EXTRUDERS == 2) - buttonExt2 = lv_imgbtn_create(scr, NULL); - + // Create image buttons + buttonExt1 = lv_img_create(scr, NULL); + #if HAS_MULTI_EXTRUDER + buttonExt2 = lv_img_create(scr, NULL); + #endif #if HAS_HEATED_BED - buttonBedstate = lv_imgbtn_create(scr, NULL); + buttonBedstate = lv_img_create(scr, NULL); #endif - - buttonFanstate = lv_imgbtn_create(scr, NULL); - buttonZpos = lv_imgbtn_create(scr, NULL); + buttonFanstate = lv_img_create(scr, NULL); + buttonTime = lv_img_create(scr, NULL); + buttonZpos = lv_img_create(scr, NULL); buttonPause = lv_imgbtn_create(scr, NULL); buttonStop = lv_imgbtn_create(scr, NULL); buttonOperat = lv_imgbtn_create(scr, NULL); - buttonTime = lv_imgbtn_create(scr, NULL); - - lv_obj_set_event_cb_mks(buttonExt1, event_handler, 0, "bmp_ext1_state.bin", 0); - lv_imgbtn_set_src(buttonExt1, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonExt1, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonExt1, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonExt1, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonExt1, LV_PROTECT_FOLLOW); + + lv_img_set_src(buttonExt1, "F:/bmp_ext1_state.bin"); #if 1 - if (EXTRUDERS == 2) { - lv_obj_set_event_cb_mks(buttonExt2, event_handler, 0, "bmp_ext2_state.bin", 0); - lv_imgbtn_set_src(buttonExt2, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonExt2, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonExt2, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonExt2, LV_BTN_STATE_REL, &tft_style_label_rel); - } + #if HAS_MULTI_EXTRUDER + lv_img_set_src(buttonExt2, "F:/bmp_ext2_state.bin"); + #endif #if HAS_HEATED_BED - lv_obj_set_event_cb_mks(buttonBedstate, event_handler, 0, "bmp_bed_state.bin", 0); - lv_imgbtn_set_src(buttonBedstate, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonBedstate, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonBedstate, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBedstate, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_img_set_src(buttonBedstate, "F:/bmp_bed_state.bin"); #endif - lv_obj_set_event_cb_mks(buttonFanstate, event_handler, 0, "bmp_fan_state.bin", 0); - lv_imgbtn_set_src(buttonFanstate, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonFanstate, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonFanstate, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonFanstate, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonTime, event_handler, 0, "bmp_time_state.bin", 0); - lv_imgbtn_set_src(buttonTime, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonTime, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonTime, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTime, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonZpos, event_handler, 0, "bmp_zpos_state.bin", 0); - lv_imgbtn_set_src(buttonZpos, LV_BTN_STATE_REL, &bmp_pic_45x45); - lv_imgbtn_set_src(buttonZpos, LV_BTN_STATE_PR, &bmp_pic_45x45); - lv_imgbtn_set_style(buttonZpos, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonZpos, LV_BTN_STATE_REL, &tft_style_label_rel); - - if (uiCfg.print_state == WORKING) - lv_obj_set_event_cb_mks(buttonPause, event_handler, ID_PAUSE, "bmp_pause.bin", 0); - else - lv_obj_set_event_cb_mks(buttonPause, event_handler, ID_PAUSE, "bmp_resume.bin", 0); - - lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_REL, &bmp_pic_150x80); - lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_PR, &bmp_pic_150x80); + lv_img_set_src(buttonFanstate, "F:/bmp_fan_state.bin"); + + lv_img_set_src(buttonTime, "F:/bmp_time_state.bin"); + + lv_img_set_src(buttonZpos, "F:/bmp_zpos_state.bin"); + + if (uiCfg.print_state == WORKING) { + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_REL, "F:/bmp_pause.bin"); + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_PR, "F:/bmp_pause.bin"); + } + else { + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_REL, "F:/bmp_resume.bin"); + lv_imgbtn_set_src(buttonPause, LV_BTN_STATE_PR, "F:/bmp_resume.bin"); + } + + lv_obj_set_event_cb_mks(buttonPause, event_handler, ID_PAUSE, NULL, 0); lv_imgbtn_set_style(buttonPause, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPause, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonStop, event_handler, ID_STOP, "bmp_stop.bin", 0); - lv_imgbtn_set_src(buttonStop, LV_BTN_STATE_REL, &bmp_pic_150x80); - lv_imgbtn_set_src(buttonStop, LV_BTN_STATE_PR, &bmp_pic_150x80); + lv_obj_set_event_cb_mks(buttonStop, event_handler, ID_STOP, NULL, 0); + lv_imgbtn_set_src(buttonStop, LV_BTN_STATE_REL, "F:/bmp_stop.bin"); + lv_imgbtn_set_src(buttonStop, LV_BTN_STATE_PR, "F:/bmp_stop.bin"); lv_imgbtn_set_style(buttonStop, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonStop, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonOperat, event_handler, ID_OPTION, "bmp_operate.bin", 0); - lv_imgbtn_set_src(buttonOperat, LV_BTN_STATE_REL, &bmp_pic_150x80); - lv_imgbtn_set_src(buttonOperat, LV_BTN_STATE_PR, &bmp_pic_150x80); + lv_obj_set_event_cb_mks(buttonOperat, event_handler, ID_OPTION, NULL, 0); + lv_imgbtn_set_src(buttonOperat, LV_BTN_STATE_REL, "F:/bmp_operate.bin"); + lv_imgbtn_set_src(buttonOperat, LV_BTN_STATE_PR, "F:/bmp_operate.bin"); lv_imgbtn_set_style(buttonOperat, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonOperat, LV_BTN_STATE_REL, &tft_style_label_rel); + #endif // if 1 + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPause); + lv_group_add_obj(g, buttonStop); + lv_group_add_obj(g, buttonOperat); + } + #endif + lv_obj_set_pos(buttonExt1, 205, 136); #if HAS_MULTI_EXTRUDER @@ -258,17 +243,19 @@ void lv_draw_printing(void) { lv_obj_set_pos(buttonStop, 165, 240); lv_obj_set_pos(buttonOperat, 325, 240); - /*Create a label on the Image button*/ - lv_btn_set_layout(buttonExt1, LV_LAYOUT_OFF); - if (EXTRUDERS == 2) - lv_btn_set_layout(buttonExt2, LV_LAYOUT_OFF); + // Create labels on the image buttons + //lv_btn_set_layout(buttonExt1, LV_LAYOUT_OFF); + //#if HAS_MULTI_EXTRUDER + //lv_btn_set_layout(buttonExt2, LV_LAYOUT_OFF); + //#endif - #if HAS_HEATED_BED - lv_btn_set_layout(buttonBedstate, LV_LAYOUT_OFF); - #endif + //#if HAS_HEATED_BED + //lv_btn_set_layout(buttonBedstate, LV_LAYOUT_OFF); + //#endif - lv_btn_set_layout(buttonFanstate, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonZpos, LV_LAYOUT_OFF); + //lv_btn_set_layout(buttonFanstate, LV_LAYOUT_OFF); + //lv_btn_set_layout(buttonTime, LV_LAYOUT_OFF); + //lv_btn_set_layout(buttonZpos, LV_LAYOUT_OFF); lv_btn_set_layout(buttonPause, LV_LAYOUT_OFF); lv_btn_set_layout(buttonStop, LV_LAYOUT_OFF); lv_btn_set_layout(buttonOperat, LV_LAYOUT_OFF); @@ -293,23 +280,20 @@ void lv_draw_printing(void) { lv_obj_set_style(labelFan, &tft_style_label_rel); lv_obj_set_pos(labelFan, 395, 196); - labelZpos = lv_label_create(scr, NULL); - lv_obj_set_style(labelZpos, &tft_style_label_rel); - lv_obj_set_pos(labelZpos, 395, 96); - labelTime = lv_label_create(scr, NULL); lv_obj_set_style(labelTime, &tft_style_label_rel); lv_obj_set_pos(labelTime, 250, 96); + labelZpos = lv_label_create(scr, NULL); + lv_obj_set_style(labelZpos, &tft_style_label_rel); + lv_obj_set_pos(labelZpos, 395, 96); + labelPause = lv_label_create(buttonPause, NULL); labelStop = lv_label_create(buttonStop, NULL); labelOperat = lv_label_create(buttonOperat, NULL); if (gCfgItems.multiple_language != 0) { - if (uiCfg.print_state == WORKING) - lv_label_set_text(labelPause, printing_menu.pause); - else - lv_label_set_text(labelPause, printing_menu.resume); + lv_label_set_text(labelPause, uiCfg.print_state == WORKING ? printing_menu.pause : printing_menu.resume); lv_obj_align(labelPause, buttonPause, LV_ALIGN_CENTER, 20, 0); lv_label_set_text(labelStop, printing_menu.stop); @@ -319,20 +303,15 @@ void lv_draw_printing(void) { lv_obj_align(labelOperat, buttonOperat, LV_ALIGN_CENTER, 20, 0); } - lv_style_copy(&lv_bar_style_indic, &lv_style_pretty_color); - lv_bar_style_indic.text.color = lv_color_hex3(0xADF); - lv_bar_style_indic.image.color = lv_color_hex3(0xADF); - lv_bar_style_indic.line.color = lv_color_hex3(0xADF); - lv_bar_style_indic.body.main_color = lv_color_hex3(0xADF); - lv_bar_style_indic.body.grad_color = lv_color_hex3(0xADF); - lv_bar_style_indic.body.border.color = lv_color_hex3(0xADF); - bar1 = lv_bar_create(scr, NULL); lv_obj_set_pos(bar1, 205, 36); lv_obj_set_size(bar1, 270, 40); lv_bar_set_style(bar1, LV_BAR_STYLE_INDIC, &lv_bar_style_indic); lv_bar_set_anim_time(bar1, 1000); lv_bar_set_value(bar1, 0, LV_ANIM_ON); + bar1ValueText = lv_label_create(bar1, NULL); + lv_label_set_text(bar1ValueText,"0%"); + lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0); disp_ext_temp(); disp_bed_temp(); @@ -419,6 +398,10 @@ void setProBarRate() { if (disp_state == PRINTING_UI) { lv_bar_set_value(bar1, rate, LV_ANIM_ON); + ZERO(public_buf_l); + sprintf_P(public_buf_l, "%d%%", rate); + lv_label_set_text(bar1ValueText,public_buf_l); + lv_obj_align(bar1ValueText, bar1, LV_ALIGN_CENTER, 0, 0); if (marlin_state == MF_SD_COMPLETE) { if (once_flag == 0) { @@ -432,14 +415,22 @@ void setProBarRate() { once_flag = 1; #if HAS_SUICIDE - if (gCfgItems.finish_power_off == 1) - suicide(); + if (gCfgItems.finish_power_off == 1) { + gcode.process_subcommands_now_P(PSTR("M1001")); + queue.inject_P(PSTR("M81")); + marlin_state = MF_RUNNING; + } #endif } } } } -void lv_clear_printing() { lv_obj_del(scr); } +void lv_clear_printing() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp index 38750d608d0d..54ffdca64a44 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp @@ -42,6 +42,7 @@ #include //static lv_obj_t *buttonPrint,*buttonTool,*buttonSet; +extern lv_group_t* g; static lv_obj_t * scr; #if ENABLED(MKS_TEST) uint8_t curent_disp_ui = 0; @@ -59,7 +60,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_ready_print(); lv_draw_tool(); } break; @@ -68,7 +69,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_ready_print(); lv_draw_set(); } break; @@ -77,7 +78,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_ready_print(); lv_draw_print_file(); } break; @@ -111,7 +112,7 @@ void disp_det_error() { lv_obj_t *e1, *e2, *e3, *bed; void mks_disp_test() { char buf[30] = {0}; - //lv_obj_t * label_tool2 = lv_label_create(scr, NULL); + //lv_obj_t *label_tool2 = lv_label_create(scr, NULL); //lv_obj_set_pos(label_tool,20,50); ZERO(buf); sprintf_P(buf, PSTR("e1:%d"), (int)thermalManager.temp_hotend[0].celsius); @@ -132,7 +133,6 @@ void mks_disp_test() { #endif } -extern unsigned char bmp_public_buf[17 * 1024]; void lv_draw_ready_print(void) { char buf[30] = {0}; lv_obj_t *buttonPrint, *buttonTool, *buttonSet; @@ -151,9 +151,7 @@ void lv_draw_ready_print(void) { //lv_obj_set_hidden(scr,true); lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - - if (mks_test_flag == 0x1e) { + if (mks_test_flag == 0x1E) { //lv_obj_t * title = lv_label_create(scr, NULL); //lv_obj_set_style(title, &tft_style_label_rel); //lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); @@ -164,26 +162,10 @@ void lv_draw_ready_print(void) { buttonTool = lv_imgbtn_create(scr, NULL); //buttonSet = lv_imgbtn_create(scr, NULL); - //lv_obj_set_event_cb_mks(buttonPrint, event_handler,ID_PRINT,"bmp_printing.bin",0); - //lv_imgbtn_set_src_mks(buttonPrint, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_printing.bin"); - //lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonPrint, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonPrint, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_clear_protect(buttonPrint, LV_PROTECT_FOLLOW); - #if 1 - //lv_obj_set_event_cb_mks(buttonSet, event_handler,ID_SET,"bmp_set.bin",0); - //lv_imgbtn_set_src_mks(buttonSet, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_set.bin"); - //lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonTool, event_handler, ID_TOOL, "bmp_tool.bin", 0); - //lv_imgbtn_set_src_mks(buttonTool, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_tool.bin"); - lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonTool, event_handler, ID_TOOL, NULL, 0); + lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_REL, "F:/bmp_tool.bin"); + lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_PR, "F:/bmp_tool.bin"); lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_REL, &tft_style_label_rel); #endif @@ -266,56 +248,37 @@ void lv_draw_ready_print(void) { } else { - //lv_obj_t * title = lv_label_create(scr, NULL); - //lv_obj_set_style(title, &tft_style_label_rel); - //lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); - //lv_label_set_text(title, creat_title_text()); + // Create an Image button + buttonTool = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonTool, 20, 90); + lv_obj_set_event_cb_mks(buttonTool, event_handler, ID_TOOL, NULL, 0); + lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_REL, "F:/bmp_tool.bin"); + lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_PR, "F:/bmp_tool.bin"); + lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_t *label_tool = lv_label_create(buttonTool, NULL); + lv_btn_set_layout(buttonTool, LV_LAYOUT_OFF); - /*Create an Image button*/ - buttonPrint = lv_imgbtn_create(scr, NULL); - buttonTool = lv_imgbtn_create(scr, NULL); - buttonSet = lv_imgbtn_create(scr, NULL); + buttonSet = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonSet, 180, 90); + lv_obj_set_event_cb_mks(buttonSet, event_handler, ID_SET, NULL, 0); + lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_REL, "F:/bmp_set.bin"); + lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_PR, "F:/bmp_set.bin"); + lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_t *label_set = lv_label_create(buttonSet, NULL); + lv_btn_set_layout(buttonSet, LV_LAYOUT_OFF); - lv_obj_set_event_cb_mks(buttonPrint, event_handler, ID_PRINT, "bmp_printing.bin", 0); - //lv_imgbtn_set_src_mks(buttonPrint, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_printing.bin"); - lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_PR, &bmp_pic); + buttonPrint = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonPrint, 340, 90); + lv_obj_set_event_cb_mks(buttonPrint, event_handler, ID_PRINT, NULL, 0); + lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_REL, "F:/bmp_printing.bin"); + lv_imgbtn_set_src(buttonPrint, LV_BTN_STATE_PR, "F:/bmp_printing.bin"); lv_imgbtn_set_style(buttonPrint, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPrint, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonPrint, LV_PROTECT_FOLLOW); - - #if 1 - lv_obj_set_event_cb_mks(buttonSet, event_handler, ID_SET, "bmp_set.bin", 0); - //lv_imgbtn_set_src_mks(buttonSet, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_set.bin"); - lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonSet, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonSet, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonTool, event_handler, ID_TOOL, "bmp_tool.bin", 0); - //lv_imgbtn_set_src_mks(buttonTool, LV_BTN_STATE_REL, &bmp_pic,(uint8_t *)"bmp_tool.bin"); - lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonTool, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTool, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif - - lv_obj_set_pos(buttonTool, 20, 90); - lv_obj_set_pos(buttonSet, 180, 90); - lv_obj_set_pos(buttonPrint, 340, 90); - - //lv_obj_set_pos(buttonTool,SIMPLE_FIRST_PAGE_GRAP+1,(TFT_HEIGHT-BTN_Y_PIXEL)/2+2); - //lv_obj_set_pos(buttonSet,BTN_X_PIXEL+SIMPLE_FIRST_PAGE_GRAP*2+1,(TFT_HEIGHT-BTN_Y_PIXEL)/2+2); - //lv_obj_set_pos(buttonPrint,BTN_X_PIXEL*2+SIMPLE_FIRST_PAGE_GRAP*3+1,(TFT_HEIGHT-BTN_Y_PIXEL)/2+2); - - /*Create a label on the Image button*/ + lv_obj_t *label_print = lv_label_create(buttonPrint, NULL); lv_btn_set_layout(buttonPrint, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonSet, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonTool, LV_LAYOUT_OFF); - lv_obj_t * label_print = lv_label_create(buttonPrint, NULL); - lv_obj_t * label_set = lv_label_create(buttonSet, NULL); - lv_obj_t * label_tool = lv_label_create(buttonTool, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(label_print, main_menu.print); lv_obj_align(label_print, buttonPrint, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -323,14 +286,25 @@ void lv_draw_ready_print(void) { lv_label_set_text(label_set, main_menu.set); lv_obj_align(label_set, buttonSet, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - //lv_label_set_style(label_tool,LV_BTN_STATE_PR,&tft_style_label_pre); - //lv_label_set_style(label_tool,LV_BTN_STATE_REL,&tft_style_label_rel); lv_label_set_text(label_tool, main_menu.tool); lv_obj_align(label_tool, buttonTool, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable == true) { + lv_group_add_obj(g, buttonTool); + lv_group_add_obj(g, buttonSet); + lv_group_add_obj(g, buttonPrint); + } + #endif } } -void lv_clear_ready_print() { lv_obj_del(scr); } +void lv_clear_ready_print() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable == true) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_set.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_set.cpp index eebb9fcf1c43..6c10713d8a9c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_set.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_set.cpp @@ -36,6 +36,7 @@ #include "pic_manager.h" static lv_obj_t * scr; +extern lv_group_t* g; #define ID_S_WIFI 1 #define ID_S_FAN 2 @@ -48,20 +49,17 @@ static lv_obj_t * scr; #define ID_S_RETURN 9 static void event_handler(lv_obj_t * obj, lv_event_t event) { + #if ENABLED(USE_WIFI_FUNCTION) + char buf[6] = { 0 }; + #endif switch (obj->mks_obj_id) { - case ID_S_WIFI: - if (event == LV_EVENT_CLICKED) { - // nothing to do - } - else if (event == LV_EVENT_RELEASED) { - } - break; + case ID_S_FAN: if (event == LV_EVENT_CLICKED) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_fan(); } break; @@ -70,7 +68,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_about(); } break; @@ -94,7 +92,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_language(); } break; @@ -103,7 +101,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_machine_para(); } break; @@ -112,7 +110,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_eeprom_settings(); } break; @@ -121,11 +119,50 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { // nothing to do } else if (event == LV_EVENT_RELEASED) { - lv_obj_del(scr); + lv_clear_set(); lv_draw_ready_print(); } break; - + #if ENABLED(USE_WIFI_FUNCTION) + case ID_S_WIFI: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (gCfgItems.wifi_mode_sel == STA_MODEL) { + if (wifi_link_state == WIFI_CONNECTED) { + last_disp_state = SET_UI; + lv_clear_set(); + lv_draw_wifi(); + } + else { + if (uiCfg.command_send == 1) { + buf[0] = 0xA5; + buf[1] = 0x07; + buf[2] = 0x00; + buf[3] = 0x00; + buf[4] = 0xFC; + raw_send_to_wifi(buf, 5); + + last_disp_state = SET_UI; + lv_clear_set(); + lv_draw_wifi_list(); + } + else { + last_disp_state = SET_UI; + lv_clear_set(); + lv_draw_dialog(WIFI_ENABLE_TIPS); + } + } + } + else { + last_disp_state = SET_UI; + lv_clear_set(); + lv_draw_wifi(); + } + } + break; + #endif } } @@ -137,6 +174,9 @@ void lv_draw_set(void) { #endif lv_obj_t *buttonMachinePara; lv_obj_t *buttonEepromSet; + #if ENABLED(USE_WIFI_FUNCTION) + lv_obj_t *buttonWifi; + #endif if (disp_state_stack._disp_state[disp_state_stack._disp_index] != SET_UI) { disp_state_stack._disp_index++; @@ -159,79 +199,81 @@ void lv_draw_set(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - - /*Create an Image button*/ - //buttonWifi = lv_imgbtn_create(scr, NULL); - buttonFan = lv_imgbtn_create(scr, NULL); - buttonAbout = lv_imgbtn_create(scr, NULL); - //buttonContinue = lv_imgbtn_create(scr, NULL); - buMotorOff = lv_imgbtn_create(scr, NULL); + // Create image buttons + buttonEepromSet = lv_imgbtn_create(scr, NULL); + //buttonWifi = lv_imgbtn_create(scr, NULL); + buttonFan = lv_imgbtn_create(scr, NULL); + buttonAbout = lv_imgbtn_create(scr, NULL); + //buttonContinue = lv_imgbtn_create(scr, NULL); + buMotorOff = lv_imgbtn_create(scr, NULL); + buttonMachinePara = lv_imgbtn_create(scr, NULL); #if HAS_LANG_SELECT_SCREEN - buttonLanguage = lv_imgbtn_create(scr, NULL); + buttonLanguage = lv_imgbtn_create(scr, NULL); + #endif + #if ENABLED(USE_WIFI_FUNCTION) + buttonWifi = lv_imgbtn_create(scr, NULL); #endif - buttonMachinePara = lv_imgbtn_create(scr, NULL); - buttonEepromSet = lv_imgbtn_create(scr, NULL); buttonBack = lv_imgbtn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonEepromSet, event_handler, ID_S_EEPROM_SET, NULL, 0); + lv_imgbtn_set_src(buttonEepromSet, LV_BTN_STATE_REL, "F:/bmp_eeprom_settings.bin"); + lv_imgbtn_set_src(buttonEepromSet, LV_BTN_STATE_PR, "F:/bmp_eeprom_settings.bin"); + lv_imgbtn_set_style(buttonEepromSet, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonEepromSet, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_set_event_cb_mks(buttonWifi, event_handler,ID_S_WIFI,"bmp_Wifi.bin",0); - //lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_clear_protect(buttonWifi, LV_PROTECT_FOLLOW); #if 1 - lv_obj_set_event_cb_mks(buttonFan, event_handler, ID_S_FAN, "bmp_fan.bin", 0); - lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonFan, event_handler, ID_S_FAN, NULL, 0); + lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_REL, "F:/bmp_fan.bin"); + lv_imgbtn_set_src(buttonFan, LV_BTN_STATE_PR, "F:/bmp_fan.bin"); lv_imgbtn_set_style(buttonFan, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonFan, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonAbout, event_handler, ID_S_ABOUT, "bmp_about.bin", 0); - lv_imgbtn_set_src(buttonAbout, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonAbout, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonAbout, event_handler, ID_S_ABOUT, NULL, 0); + lv_imgbtn_set_src(buttonAbout, LV_BTN_STATE_REL, "F:/bmp_about.bin"); + lv_imgbtn_set_src(buttonAbout, LV_BTN_STATE_PR, "F:/bmp_about.bin"); lv_imgbtn_set_style(buttonAbout, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonAbout, LV_BTN_STATE_REL, &tft_style_label_rel); - //lv_obj_set_event_cb_mks(buttonContinue, event_handler,ID_S_CONTINUE,"bmp_Breakpoint.bin",0); - //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonContinue, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonContinue, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_set_event_cb_mks(buMotorOff, event_handler, ID_S_MOTOR_OFF, NULL, 0); + #if HAS_SUICIDE - lv_obj_set_event_cb_mks(buMotorOff, event_handler, ID_S_MOTOR_OFF, "bmp_Mamual.bin", 0); + lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_REL, "F:/bmp_manual_off.bin"); + lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_PR, "F:/bmp_manual_off.bin"); #else - lv_obj_set_event_cb_mks(buMotorOff, event_handler, ID_S_MOTOR_OFF, "bmp_function1.bin", 0); + lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_REL, "F:/bmp_function1.bin"); + lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_PR, "F:/bmp_function1.bin"); #endif - lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buMotorOff, LV_BTN_STATE_PR, &bmp_pic); lv_imgbtn_set_style(buMotorOff, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buMotorOff, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_set_event_cb_mks(buttonMachinePara, event_handler, ID_S_MACHINE_PARA, NULL, 0); + lv_imgbtn_set_src(buttonMachinePara, LV_BTN_STATE_REL, "F:/bmp_machine_para.bin"); + lv_imgbtn_set_src(buttonMachinePara, LV_BTN_STATE_PR, "F:/bmp_machine_para.bin"); + lv_imgbtn_set_style(buttonMachinePara, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonMachinePara, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_LANG_SELECT_SCREEN - lv_obj_set_event_cb_mks(buttonLanguage, event_handler, ID_S_LANGUAGE, "bmp_language.bin", 0); - lv_imgbtn_set_src(buttonLanguage, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonLanguage, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonLanguage, event_handler, ID_S_LANGUAGE, NULL, 0); + lv_imgbtn_set_src(buttonLanguage, LV_BTN_STATE_REL, "F:/bmp_language.bin"); + lv_imgbtn_set_src(buttonLanguage, LV_BTN_STATE_PR, "F:/bmp_language.bin"); lv_imgbtn_set_style(buttonLanguage, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonLanguage, LV_BTN_STATE_REL, &tft_style_label_rel); #endif - lv_obj_set_event_cb_mks(buttonMachinePara, event_handler, ID_S_MACHINE_PARA, "bmp_machine_para.bin", 0); - lv_imgbtn_set_src(buttonMachinePara, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonMachinePara, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonMachinePara, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonMachinePara, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonEepromSet, event_handler, ID_S_EEPROM_SET, "bmp_eeprom_settings.bin", 0); - lv_imgbtn_set_src(buttonEepromSet, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonEepromSet, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonEepromSet, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonEepromSet, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_S_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); + #if ENABLED(USE_WIFI_FUNCTION) + lv_obj_set_event_cb_mks(buttonWifi, event_handler,ID_S_WIFI,NULL,0); + lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_REL, "F:/bmp_wifi.bin"); + lv_imgbtn_set_src(buttonWifi, LV_BTN_STATE_PR, "F:/bmp_wifi.bin"); + lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonWifi, LV_BTN_STATE_REL, &tft_style_label_rel); + #endif + + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_S_RETURN,NULL , 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #endif // if 1 /*lv_obj_set_pos(buttonWifi,INTERVAL_V,titleHeight); @@ -243,45 +285,56 @@ void lv_draw_set(void) { lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight);*/ //lv_obj_set_pos(buttonWifi,INTERVAL_V,titleHeight); + lv_obj_set_pos(buttonEepromSet, INTERVAL_V, titleHeight); lv_obj_set_pos(buttonFan, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); lv_obj_set_pos(buttonAbout, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); //lv_obj_set_pos(buttonContinue,BTN_X_PIXEL*3+INTERVAL_V*4,titleHeight); lv_obj_set_pos(buMotorOff, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); + + lv_obj_set_pos(buttonMachinePara, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); #if HAS_LANG_SELECT_SCREEN - lv_obj_set_pos(buttonLanguage, INTERVAL_V, titleHeight); + lv_obj_set_pos(buttonLanguage, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); + #endif + #if ENABLED(USE_WIFI_FUNCTION) + lv_obj_set_pos(buttonWifi,BTN_X_PIXEL*2+INTERVAL_V*3,BTN_Y_PIXEL+INTERVAL_H+titleHeight); #endif - lv_obj_set_pos(buttonMachinePara, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - lv_obj_set_pos(buttonEepromSet, BTN_X_PIXEL + INTERVAL_V * 2, BTN_Y_PIXEL + INTERVAL_H + titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - /*Create a label on the Image button*/ + /// Create labels on the buttons //lv_btn_set_layout(buttonWifi, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonEepromSet, LV_LAYOUT_OFF); lv_btn_set_layout(buttonFan, LV_LAYOUT_OFF); lv_btn_set_layout(buttonAbout, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonContinue, LV_LAYOUT_OFF); lv_btn_set_layout(buMotorOff, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonMachinePara, LV_LAYOUT_OFF); #if HAS_LANG_SELECT_SCREEN lv_btn_set_layout(buttonLanguage, LV_LAYOUT_OFF); #endif - lv_btn_set_layout(buttonMachinePara, LV_LAYOUT_OFF); - lv_btn_set_layout(buttonEepromSet, LV_LAYOUT_OFF); + #if ENABLED(USE_WIFI_FUNCTION) + lv_btn_set_layout(buttonWifi, LV_LAYOUT_OFF); + #endif lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - //lv_obj_t * labelWifi= lv_label_create(buttonWifi, NULL); - lv_obj_t * labelFan = lv_label_create(buttonFan, NULL); - lv_obj_t * label_About = lv_label_create(buttonAbout, NULL); - //lv_obj_t * label_Continue = lv_label_create(buttonContinue, NULL); - lv_obj_t * label_MotorOff = lv_label_create(buMotorOff, NULL); + //lv_obj_t *labelWifi= lv_label_create(buttonWifi, NULL); + lv_obj_t *label_EepromSet = lv_label_create(buttonEepromSet, NULL); + lv_obj_t *labelFan = lv_label_create(buttonFan, NULL); + lv_obj_t *label_About = lv_label_create(buttonAbout, NULL); + //lv_obj_t *label_Continue = lv_label_create(buttonContinue, NULL); + lv_obj_t *label_MotorOff = lv_label_create(buMotorOff, NULL); + lv_obj_t *label_MachinePara = lv_label_create(buttonMachinePara, NULL); #if HAS_LANG_SELECT_SCREEN - lv_obj_t * label_Language = lv_label_create(buttonLanguage, NULL); + lv_obj_t *label_Language = lv_label_create(buttonLanguage, NULL); #endif - lv_obj_t * label_MachinePara = lv_label_create(buttonMachinePara, NULL); - lv_obj_t * label_EepromSet = lv_label_create(buttonEepromSet, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + #if ENABLED(USE_WIFI_FUNCTION) + lv_obj_t *label_Wifi = lv_label_create(buttonWifi, NULL); + #endif + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { - //lv_label_set_text(labelWifi, set_menu.wifi); - //lv_obj_align(labelWifi, buttonWifi, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_EepromSet, set_menu.eepromSet); + lv_obj_align(label_EepromSet, buttonEepromSet, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); lv_label_set_text(labelFan, set_menu.fan); lv_obj_align(labelFan, buttonFan, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -291,28 +344,46 @@ void lv_draw_set(void) { //lv_label_set_text(label_Continue, set_menu.breakpoint); //lv_obj_align(label_Continue, buttonContinue, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); - #if HAS_SUICIDE - lv_label_set_text(label_MotorOff, set_menu.shutdown); - #else - lv_label_set_text(label_MotorOff, set_menu.motoroff); - #endif + lv_label_set_text(label_MotorOff, set_menu.TERN(HAS_SUICIDE, shutdown, motoroff)); lv_obj_align(label_MotorOff, buMotorOff, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + lv_label_set_text(label_MachinePara, set_menu.machine_para); + lv_obj_align(label_MachinePara, buttonMachinePara, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + #if HAS_LANG_SELECT_SCREEN lv_label_set_text(label_Language, set_menu.language); lv_obj_align(label_Language, buttonLanguage, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); #endif - lv_label_set_text(label_MachinePara, set_menu.machine_para); - lv_obj_align(label_MachinePara, buttonMachinePara, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - lv_label_set_text(label_EepromSet, set_menu.eepromSet); - lv_obj_align(label_EepromSet, buttonEepromSet, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + #if ENABLED(USE_WIFI_FUNCTION) + lv_label_set_text(label_Wifi, set_menu.wifi); + lv_obj_align(label_Wifi, buttonWifi, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + #endif lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonEepromSet); + lv_group_add_obj(g, buttonFan); + lv_group_add_obj(g, buttonAbout); + lv_group_add_obj(g, buMotorOff); + lv_group_add_obj(g, buttonMachinePara); + lv_group_add_obj(g, buttonLanguage); + #if ENABLED(USE_WIFI_FUNCTION) + lv_group_add_obj(g, buttonWifi); + #endif + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_set() { lv_obj_del(scr); } +void lv_clear_set() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.cpp index 434c2f85795a..baad23f9aed7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.cpp @@ -29,6 +29,7 @@ #include "../../../../MarlinCore.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_STEP_RETURN 1 @@ -127,11 +128,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_step_settings(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonTurnPage = NULL, *labelTurnPage = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; - lv_obj_t *buttonE0Text = NULL, *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; - lv_obj_t *buttonE1Text = NULL, *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; + lv_obj_t *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != STEPS_UI) { disp_state_stack._disp_index++; @@ -152,166 +153,133 @@ void lv_draw_step_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); - if (uiCfg.para_ui_page != 1) { - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ - - buttonXValue = lv_imgbtn_create(scr, NULL); + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.X_Steps); + + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_STEP_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_STEP_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); labelXValue = lv_label_create(buttonXValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.Y_Steps); - buttonYValue = lv_imgbtn_create(scr, NULL); + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_STEP_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_STEP_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); labelYValue = lv_label_create(buttonYValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.Z_Steps); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_STEP_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_STEP_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); labelZValue = lv_label_create(buttonZValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonE0Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonE0Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE0Text, event_handler); - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE0Text, LV_LAYOUT_OFF); - labelE0Text = lv_label_create(buttonE0Text, NULL); /*Add a label to the button*/ + labelE0Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE0Text, &tft_style_label_rel); + lv_obj_set_pos(labelE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelE0Text, machine_menu.E0_Steps); - buttonE0Value = lv_imgbtn_create(scr, NULL); + buttonE0Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE0Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_STEP_E0, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE0Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE0Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_STEP_E0, NULL, 0); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_PR, &style_para_value); labelE0Value = lv_label_create(buttonE0Value, NULL); line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_STEP_DOWN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_STEP_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonE0Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } else { - buttonE1Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE1Text, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonE1Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE1Text, event_handler); - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE1Text, LV_LAYOUT_OFF); - labelE1Text = lv_label_create(buttonE1Text, NULL); /*Add a label to the button*/ - - buttonE1Value = lv_imgbtn_create(scr, NULL); + labelE1Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE1Text, &tft_style_label_rel); + lv_obj_set_pos(labelE1Text, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelE1Text, machine_menu.E1_Steps); + + buttonE1Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE1Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_STEP_E1, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE1Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_STEP_E1, NULL, 0); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_PR, &style_para_value); labelE1Value = lv_label_create(buttonE1Value, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_STEP_UP, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_STEP_UP, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonE1Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif } lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); - lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); labelTurnPage = lv_label_create(buttonTurnPage, NULL); - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_STEP_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - + buttonBack = lv_btn_create(scr, NULL); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_STEP_RETURN, NULL, 0); label_Back = lv_label_create(buttonBack, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif if (gCfgItems.multiple_language != 0) { if (uiCfg.para_ui_page != 1) { - lv_label_set_text(labelXText, machine_menu.X_Steps); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelYText, machine_menu.Y_Steps); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.Z_Steps); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelE0Text, machine_menu.E0_Steps); - lv_obj_align(labelE0Text, buttonE0Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - lv_label_set_text(labelTurnPage, machine_menu.next); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -336,9 +304,6 @@ void lv_draw_step_settings(void) { lv_obj_align(labelE0Value, buttonE0Value, LV_ALIGN_CENTER, 0, 0); } else { - lv_label_set_text(labelE1Text, machine_menu.E1_Steps); - lv_obj_align(labelE1Text, buttonE1Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - lv_label_set_text(labelTurnPage, machine_menu.previous); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); @@ -353,6 +318,11 @@ void lv_draw_step_settings(void) { } } -void lv_clear_step_settings() { lv_obj_del(scr); } +void lv_clear_step_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp index 24650ee9309f..10aa7badff7e 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp @@ -31,6 +31,7 @@ #include "../../../../module/stepper/indirection.h" #include "../../../../feature/tmc_util.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_TMC_CURRENT_RETURN 1 @@ -54,94 +55,105 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { draw_return_ui(); } break; - case ID_TMC_CURRENT_X: + #if AXIS_IS_TMC(X) + case ID_TMC_CURRENT_X: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = Xcurrent; + lv_clear_tmc_current_settings(); + lv_draw_number_key(); + } + break; + #endif + + #if AXIS_IS_TMC(Y) + case ID_TMC_CURRENT_Y: if (event == LV_EVENT_CLICKED) { } else if (event == LV_EVENT_RELEASED) { - value = Xcurrent; + value = Ycurrent; lv_clear_tmc_current_settings(); lv_draw_number_key(); } break; - case ID_TMC_CURRENT_Y: + #endif + + #if AXIS_IS_TMC(Z) + case ID_TMC_CURRENT_Z: if (event == LV_EVENT_CLICKED) { } else if (event == LV_EVENT_RELEASED) { - value = Ycurrent; + value = Zcurrent; lv_clear_tmc_current_settings(); lv_draw_number_key(); } break; - case ID_TMC_CURRENT_Z: + #endif + + #if AXIS_IS_TMC(E0) + case ID_TMC_CURRENT_E0: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = E0current; + lv_clear_tmc_current_settings(); + lv_draw_number_key(); + } + break; + #endif + + #if AXIS_IS_TMC(E1) + case ID_TMC_CURRENT_E1: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + value = E1current; + lv_clear_tmc_current_settings(); + lv_draw_number_key(); + } + break; + #endif + case ID_TMC_CURRENT_UP: if (event == LV_EVENT_CLICKED) { } else if (event == LV_EVENT_RELEASED) { - value = Zcurrent; + uiCfg.para_ui_page = 0; lv_clear_tmc_current_settings(); - lv_draw_number_key(); + lv_draw_tmc_current_settings(); } break; - case ID_TMC_CURRENT_E0: + case ID_TMC_CURRENT_DOWN: if (event == LV_EVENT_CLICKED) { } else if (event == LV_EVENT_RELEASED) { - value = E0current; + uiCfg.para_ui_page = 1; lv_clear_tmc_current_settings(); - lv_draw_number_key(); + lv_draw_tmc_current_settings(); } break; - #if AXIS_IS_TMC(E1) - case ID_TMC_CURRENT_E1: - if (event == LV_EVENT_CLICKED) { - - } - else if (event == LV_EVENT_RELEASED) { - value = E1current; - lv_clear_tmc_current_settings(); - lv_draw_number_key(); - } - break; - - case ID_TMC_CURRENT_UP: - if (event == LV_EVENT_CLICKED) { - - } - else if (event == LV_EVENT_RELEASED) { - uiCfg.para_ui_page = 0; - lv_clear_tmc_current_settings(); - lv_draw_tmc_current_settings(); - } - break; - case ID_TMC_CURRENT_DOWN: - if (event == LV_EVENT_CLICKED) { - - } - else if (event == LV_EVENT_RELEASED) { - uiCfg.para_ui_page = 1; - lv_clear_tmc_current_settings(); - lv_draw_tmc_current_settings(); - } - break; - #endif } } void lv_draw_tmc_current_settings(void) { lv_obj_t *buttonBack = NULL, *label_Back = NULL; - lv_obj_t *buttonXText = NULL, *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; - lv_obj_t *buttonYText = NULL, *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; - lv_obj_t *buttonZText = NULL, *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; - lv_obj_t *buttonE0Text = NULL, *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; + lv_obj_t *labelXText = NULL, *buttonXValue = NULL, *labelXValue = NULL; + lv_obj_t *labelYText = NULL, *buttonYValue = NULL, *labelYValue = NULL; + lv_obj_t *labelZText = NULL, *buttonZValue = NULL, *labelZValue = NULL; + lv_obj_t *labelE0Text = NULL, *buttonE0Value = NULL, *labelE0Value = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; - #if AXIS_IS_TMC(E1) + //#if AXIS_IS_TMC(E1) lv_obj_t *buttonTurnPage = NULL, *labelTurnPage = NULL; - lv_obj_t *buttonE1Text = NULL, *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; - #endif + lv_obj_t *labelE1Text = NULL, *buttonE1Value = NULL, *labelE1Value = NULL; + //#endif float milliamps; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != TMC_CURRENT_UI) { @@ -163,217 +175,201 @@ void lv_draw_tmc_current_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - // LV_IMG_DECLARE(bmp_para_arrow); - LV_IMG_DECLARE(bmp_para_bank); - if (uiCfg.para_ui_page != 1) { - buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonXText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonXText, event_handler); - lv_btn_set_style(buttonXText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonXText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonXText, LV_LAYOUT_OFF); - labelXText = lv_label_create(buttonXText, NULL); /*Add a label to the button*/ - - buttonXValue = lv_imgbtn_create(scr, NULL); + labelXText = lv_label_create(scr, NULL); + lv_obj_set_style(labelXText, &tft_style_label_rel); + lv_obj_set_pos(labelXText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelXText, machine_menu.X_Current); + + buttonXValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonXValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_TMC_CURRENT_X, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonXValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonXValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonXValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonXValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonXValue, event_handler, ID_TMC_CURRENT_X, NULL, 0); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonXValue, LV_BTN_STYLE_PR, &style_para_value); labelXValue = lv_label_create(buttonXValue, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonYText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2); /*Set its position*/ - lv_obj_set_size(buttonYText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonYText, event_handler); - lv_btn_set_style(buttonYText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonYText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonYText, LV_LAYOUT_OFF); - labelYText = lv_label_create(buttonYText, NULL); /*Add a label to the button*/ + labelYText = lv_label_create(scr, NULL); + lv_obj_set_style(labelYText, &tft_style_label_rel); + lv_obj_set_pos(labelYText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + lv_label_set_text(labelYText, machine_menu.Y_Current); - buttonYValue = lv_imgbtn_create(scr, NULL); + buttonYValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonYValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_TMC_CURRENT_Y, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonYValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonYValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonYValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonYValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonYValue, event_handler, ID_TMC_CURRENT_Y, NULL, 0); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonYValue, LV_BTN_STYLE_PR, &style_para_value); labelYValue = lv_label_create(buttonYValue, NULL); line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); - buttonZText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3); /*Set its position*/ - lv_obj_set_size(buttonZText, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonZText, event_handler); - lv_btn_set_style(buttonZText, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonZText, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonZText, LV_LAYOUT_OFF); - labelZText = lv_label_create(buttonZText, NULL); /*Add a label to the button*/ + labelZText = lv_label_create(scr, NULL); + lv_obj_set_style(labelZText, &tft_style_label_rel); + lv_obj_set_pos(labelZText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + lv_label_set_text(labelZText, machine_menu.Z_Current); - buttonZValue = lv_imgbtn_create(scr, NULL); + buttonZValue = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonZValue, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_TMC_CURRENT_Z, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonZValue, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonZValue, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonZValue, LV_LAYOUT_OFF); + lv_obj_set_size(buttonZValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonZValue, event_handler, ID_TMC_CURRENT_Z, NULL, 0); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonZValue, LV_BTN_STYLE_PR, &style_para_value); labelZValue = lv_label_create(buttonZValue, NULL); line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); - buttonE0Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4); /*Set its position*/ - lv_obj_set_size(buttonE0Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE0Text, event_handler); - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE0Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE0Text, LV_LAYOUT_OFF); - labelE0Text = lv_label_create(buttonE0Text, NULL); /*Add a label to the button*/ + labelE0Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE0Text, &tft_style_label_rel); + lv_obj_set_pos(labelE0Text, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelE0Text, machine_menu.E0_Current); - buttonE0Value = lv_imgbtn_create(scr, NULL); + buttonE0Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE0Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_TMC_CURRENT_E0, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE0Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE0Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE0Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE0Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE0Value, event_handler, ID_TMC_CURRENT_E0, NULL, 0); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE0Value, LV_BTN_STYLE_PR, &style_para_value); labelE0Value = lv_label_create(buttonE0Value, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonXValue); + lv_group_add_obj(g, buttonYValue); + lv_group_add_obj(g, buttonZValue); + lv_group_add_obj(g, buttonE0Value); + } + #endif + line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - #if AXIS_IS_TMC(E1) - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_CURRENT_DOWN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif + //#if AXIS_IS_TMC(E1) + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_CURRENT_DOWN, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonTurnPage); + #endif + //#endif } else { - #if AXIS_IS_TMC(E1) - buttonE1Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ - lv_obj_set_pos(buttonE1Text, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ - lv_obj_set_size(buttonE1Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ - lv_obj_set_event_cb(buttonE1Text, event_handler); - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ - lv_btn_set_style(buttonE1Text, LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ - lv_btn_set_layout(buttonE1Text, LV_LAYOUT_OFF); - labelE1Text = lv_label_create(buttonE1Text, NULL); /*Add a label to the button*/ - - buttonE1Value = lv_imgbtn_create(scr, NULL); + //#if AXIS_IS_TMC(E1) + labelE1Text = lv_label_create(scr, NULL); + lv_obj_set_style(labelE1Text, &tft_style_label_rel); + lv_obj_set_pos(labelE1Text, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelE1Text, machine_menu.E1_Current); + + buttonE1Value = lv_btn_create(scr, NULL); lv_obj_set_pos(buttonE1Value, PARA_UI_VALUE_POS_X, PARA_UI_POS_Y + PARA_UI_VALUE_V); - lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_TMC_CURRENT_E1, "bmp_value_blank.bin", 0); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_REL, &bmp_para_bank); - lv_imgbtn_set_src(buttonE1Value, LV_BTN_STATE_PR, &bmp_para_bank); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_PR, &style_para_value_pre); - lv_imgbtn_set_style(buttonE1Value, LV_BTN_STATE_REL, &style_para_value_rel); - lv_btn_set_layout(buttonE1Value, LV_LAYOUT_OFF); + lv_obj_set_size(buttonE1Value, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonE1Value, event_handler, ID_TMC_CURRENT_E1, NULL, 0); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonE1Value, LV_BTN_STYLE_PR, &style_para_value); labelE1Value = lv_label_create(buttonE1Value, NULL); line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); - buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_CURRENT_UP, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif + buttonTurnPage = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_CURRENT_UP, NULL, 0); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonTurnPage, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonE1Value); + lv_group_add_obj(g, buttonTurnPage); + } + #endif + //#endif } - #if AXIS_IS_TMC(E1) + //#if AXIS_IS_TMC(E1) lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); - lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); + lv_obj_set_size(buttonTurnPage, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); labelTurnPage = lv_label_create(buttonTurnPage, NULL); - #endif + //#endif - buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_TMC_CURRENT_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + buttonBack = lv_btn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_TMC_CURRENT_RETURN, NULL, 0); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_REL, &style_para_back); + lv_btn_set_style(buttonBack, LV_BTN_STYLE_PR, &style_para_back); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); - lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + lv_obj_set_size(buttonBack, PARA_UI_BACK_BTN_X_SIZE, PARA_UI_BACK_BTN_Y_SIZE); label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { if (uiCfg.para_ui_page != 1) { - lv_label_set_text(labelXText, machine_menu.X_Current); - lv_obj_align(labelXText, buttonXText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelYText, machine_menu.Y_Current); - lv_obj_align(labelYText, buttonYText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelZText, machine_menu.Z_Current); - lv_obj_align(labelZText, buttonZText, LV_ALIGN_IN_LEFT_MID, 0, 0); - - lv_label_set_text(labelE0Text, machine_menu.E0_Current); - lv_obj_align(labelE0Text, buttonE0Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - #if AXIS_IS_TMC(E1) + //#if AXIS_IS_TMC(E1) lv_label_set_text(labelTurnPage, machine_menu.next); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); - #endif + //#endif #if AXIS_IS_TMC(X) milliamps = stepperX.getMilliamps(); - ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); - lv_label_set_text(labelXValue, public_buf_l); - lv_obj_align(labelXValue, buttonXValue, LV_ALIGN_CENTER, 0, 0); + #else + milliamps = -1; #endif + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); + lv_label_set_text(labelXValue, public_buf_l); + lv_obj_align(labelXValue, buttonXValue, LV_ALIGN_CENTER, 0, 0); + #if AXIS_IS_TMC(Y) milliamps = stepperY.getMilliamps(); - ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); - lv_label_set_text(labelYValue, public_buf_l); - lv_obj_align(labelYValue, buttonYValue, LV_ALIGN_CENTER, 0, 0); + #else + milliamps = -1; #endif + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); + lv_label_set_text(labelYValue, public_buf_l); + lv_obj_align(labelYValue, buttonYValue, LV_ALIGN_CENTER, 0, 0); + #if AXIS_IS_TMC(Z) milliamps = stepperZ.getMilliamps(); - ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); - lv_label_set_text(labelZValue, public_buf_l); - lv_obj_align(labelZValue, buttonZValue, LV_ALIGN_CENTER, 0, 0); + #else + milliamps = -1; #endif + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); + lv_label_set_text(labelZValue, public_buf_l); + lv_obj_align(labelZValue, buttonZValue, LV_ALIGN_CENTER, 0, 0); + #if AXIS_IS_TMC(E0) milliamps = stepperE0.getMilliamps(); - ZERO(public_buf_l); - sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); - lv_label_set_text(labelE0Value, public_buf_l); - lv_obj_align(labelE0Value, buttonE0Value, LV_ALIGN_CENTER, 0, 0); + #else + milliamps = -1; #endif + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); + lv_label_set_text(labelE0Value, public_buf_l); + lv_obj_align(labelE0Value, buttonE0Value, LV_ALIGN_CENTER, 0, 0); } else { - #if AXIS_IS_TMC(E1) - lv_label_set_text(labelE1Text, machine_menu.E1_Current); - lv_obj_align(labelE1Text, buttonE1Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - + //#if AXIS_IS_TMC(E1) lv_label_set_text(labelTurnPage, machine_menu.previous); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); - - milliamps = stepperE1.getMilliamps(); + #if AXIS_IS_TMC(E1) + milliamps = stepperE1.getMilliamps(); + #else + milliamps = -1; + #endif ZERO(public_buf_l); sprintf_P(public_buf_l, PSTR("%.1f"), milliamps); lv_label_set_text(labelE1Value, public_buf_l); lv_obj_align(labelE1Value, buttonE1Value, LV_ALIGN_CENTER, 0, 0); - #endif + //#endif } lv_label_set_text(label_Back, common_menu.text_back); @@ -381,6 +377,11 @@ void lv_draw_tmc_current_settings(void) { } } -void lv_clear_tmc_current_settings() { lv_obj_del(scr); } +void lv_clear_tmc_current_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI && HAS_TRINAMIC_CONFIG diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.cpp index b0d40fde28db..3e014a781cf0 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_step_mode_settings.cpp @@ -33,6 +33,7 @@ #include "../../../../gcode/gcode.h" #include "../../../../module/planner.h" +extern lv_group_t * g; static lv_obj_t * scr; #define ID_TMC_MODE_RETURN 1 @@ -47,9 +48,9 @@ static lv_obj_t * scr; static lv_obj_t *labelXState = NULL, *labelYState = NULL, *labelZState = NULL, *labelE0State = NULL; static lv_obj_t *buttonXState = NULL, *buttonYState = NULL, *buttonZState = NULL, *buttonE0State = NULL; -#if AXIS_HAS_STEALTHCHOP(E1) +//#if AXIS_HAS_STEALTHCHOP(E1) static lv_obj_t *labelE1State = NULL, *buttonE1State = NULL; -#endif +//#endif static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { @@ -63,136 +64,158 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { draw_return_ui(); } break; - case ID_TMC_MODE_X: - if (event == LV_EVENT_CLICKED) { - } - else if (event == LV_EVENT_RELEASED) { - if (stepperX.stored.stealthChop_enabled == true) { - stepperX.stored.stealthChop_enabled = false; - stepperX.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonXState, event_handler, ID_TMC_MODE_X, "bmp_disable.bin", 0); - lv_label_set_text(labelXState, machine_menu.disable); - //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); - // gcode.process_subcommands_now_P(PSTR("M500")); - } - else { - stepperX.stored.stealthChop_enabled = true; - stepperX.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonXState, event_handler, ID_TMC_MODE_X, "bmp_enable.bin", 0); - lv_label_set_text(labelXState, machine_menu.enable); - // gcode.process_subcommands_now_P(PSTR("M500")); - } - gcode.process_subcommands_now_P(PSTR("M500")); - } - break; - case ID_TMC_MODE_Y: - if (event == LV_EVENT_CLICKED) { + #if AXIS_HAS_STEALTHCHOP(X) + case ID_TMC_MODE_X: + if (event == LV_EVENT_CLICKED) { - } - else if (event == LV_EVENT_RELEASED) { - if (stepperY.stored.stealthChop_enabled == true) { - stepperY.stored.stealthChop_enabled = false; - stepperY.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonYState, event_handler, ID_TMC_MODE_Y, "bmp_disable.bin", 0); - lv_label_set_text(labelYState, machine_menu.disable); - //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); } - else { - stepperY.stored.stealthChop_enabled = true; - stepperY.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonYState, event_handler, ID_TMC_MODE_Y, "bmp_enable.bin", 0); - lv_label_set_text(labelYState, machine_menu.enable); + else if (event == LV_EVENT_RELEASED) { + if (stepperX.stored.stealthChop_enabled) { + stepperX.stored.stealthChop_enabled = false; + stepperX.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelXState, machine_menu.disable); + //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); + // gcode.process_subcommands_now_P(PSTR("M500")); + } + else { + stepperX.stored.stealthChop_enabled = true; + stepperX.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelXState, machine_menu.enable); + // gcode.process_subcommands_now_P(PSTR("M500")); + } + gcode.process_subcommands_now_P(PSTR("M500")); } - gcode.process_subcommands_now_P(PSTR("M500")); - } - break; - case ID_TMC_MODE_Z: - if (event == LV_EVENT_CLICKED) { + break; + #endif // if AXIS_HAS_STEALTHCHOP(X) - } - else if (event == LV_EVENT_RELEASED) { - if (stepperZ.stored.stealthChop_enabled == true) { - stepperZ.stored.stealthChop_enabled = false; - stepperZ.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonZState, event_handler, ID_TMC_MODE_Z, "bmp_disable.bin", 0); - lv_label_set_text(labelZState, machine_menu.disable); - //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); - } - else { - stepperZ.stored.stealthChop_enabled = true; - stepperZ.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonZState, event_handler, ID_TMC_MODE_Z, "bmp_enable.bin", 0); - lv_label_set_text(labelZState, machine_menu.enable); - } - gcode.process_subcommands_now_P(PSTR("M500")); - } - break; - case ID_TMC_MODE_E0: - if (event == LV_EVENT_CLICKED) { + #if AXIS_HAS_STEALTHCHOP(Y) + case ID_TMC_MODE_Y: + if (event == LV_EVENT_CLICKED) { - } - else if (event == LV_EVENT_RELEASED) { - if (stepperE0.stored.stealthChop_enabled == true) { - stepperE0.stored.stealthChop_enabled = false; - stepperE0.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonE0State, event_handler, ID_TMC_MODE_E0, "bmp_disable.bin", 0); - lv_label_set_text(labelE0State, machine_menu.disable); - //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); } - else { - stepperE0.stored.stealthChop_enabled = true; - stepperE0.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonE0State, event_handler, ID_TMC_MODE_E0, "bmp_enable.bin", 0); - lv_label_set_text(labelE0State, machine_menu.enable); + else if (event == LV_EVENT_RELEASED) { + if (stepperY.stored.stealthChop_enabled) { + stepperY.stored.stealthChop_enabled = false; + stepperY.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelYState, machine_menu.disable); + //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); + } + else { + stepperY.stored.stealthChop_enabled = true; + stepperY.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelYState, machine_menu.enable); + } + gcode.process_subcommands_now_P(PSTR("M500")); } - gcode.process_subcommands_now_P(PSTR("M500")); - } - break; - #if AXIS_HAS_STEALTHCHOP(E1) - case ID_TMC_MODE_E1: - if (event == LV_EVENT_CLICKED) { + break; + #endif // if AXIS_HAS_STEALTHCHOP(Y) + #if AXIS_HAS_STEALTHCHOP(Z) + case ID_TMC_MODE_Z: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (stepperZ.stored.stealthChop_enabled) { + stepperZ.stored.stealthChop_enabled = false; + stepperZ.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelZState, machine_menu.disable); + //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); } - else if (event == LV_EVENT_RELEASED) { - if (stepperE1.stored.stealthChop_enabled == true) { - stepperE1.stored.stealthChop_enabled = false; - stepperE1.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonE1State, event_handler, ID_TMC_MODE_E1, "bmp_disable.bin", 0); - lv_label_set_text(labelE1State, machine_menu.disable); - //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); - } - else { - stepperE1.stored.stealthChop_enabled = true; - stepperE1.refresh_stepping_mode(); - lv_obj_set_event_cb_mks(buttonE1State, event_handler, ID_TMC_MODE_E1, "bmp_enable.bin", 0); - lv_label_set_text(labelE1State, machine_menu.enable); - } - gcode.process_subcommands_now_P(PSTR("M500")); + else { + stepperZ.stored.stealthChop_enabled = true; + stepperZ.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelZState, machine_menu.enable); } - break; + gcode.process_subcommands_now_P(PSTR("M500")); + } + break; + #endif // if AXIS_HAS_STEALTHCHOP(Z) - case ID_TMC_MODE_UP: - if (event == LV_EVENT_CLICKED) { + #if AXIS_HAS_STEALTHCHOP(E0) + case ID_TMC_MODE_E0: + if (event == LV_EVENT_CLICKED) { + } + else if (event == LV_EVENT_RELEASED) { + if (stepperE0.stored.stealthChop_enabled) { + stepperE0.stored.stealthChop_enabled = false; + stepperE0.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelE0State, machine_menu.disable); + //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); } - else if (event == LV_EVENT_RELEASED) { - uiCfg.para_ui_page = 0; - lv_clear_tmc_step_mode_settings(); - lv_draw_tmc_step_mode_settings(); + else { + stepperE0.stored.stealthChop_enabled = true; + stepperE0.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelE0State, machine_menu.enable); } - break; - case ID_TMC_MODE_DOWN: - if (event == LV_EVENT_CLICKED) { + gcode.process_subcommands_now_P(PSTR("M500")); + } + break; + #endif // if AXIS_HAS_STEALTHCHOP(E0) + + #if AXIS_HAS_STEALTHCHOP(E1) + case ID_TMC_MODE_E1: + if (event == LV_EVENT_CLICKED) { + } + else if (event == LV_EVENT_RELEASED) { + if (stepperE1.stored.stealthChop_enabled) { + stepperE1.stored.stealthChop_enabled = false; + stepperE1.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + lv_label_set_text(labelE1State, machine_menu.disable); + //lv_obj_align(labelXState, buttonE1State, LV_ALIGN_IN_LEFT_MID,0, 0); } - else if (event == LV_EVENT_RELEASED) { - uiCfg.para_ui_page = 1; - lv_clear_tmc_step_mode_settings(); - lv_draw_tmc_step_mode_settings(); + else { + stepperE1.stored.stealthChop_enabled = true; + stepperE1.refresh_stepping_mode(); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + lv_label_set_text(labelE1State, machine_menu.enable); } - break; - #endif // if AXIS_HAS_STEALTHCHOP(E1) + gcode.process_subcommands_now_P(PSTR("M500")); + } + break; + #endif // if AXIS_HAS_STEALTHCHOP(E1) + case ID_TMC_MODE_UP: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 0; + lv_clear_tmc_step_mode_settings(); + lv_draw_tmc_step_mode_settings(); + } + break; + case ID_TMC_MODE_DOWN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.para_ui_page = 1; + lv_clear_tmc_step_mode_settings(); + lv_draw_tmc_step_mode_settings(); + } + break; } } @@ -204,10 +227,10 @@ void lv_draw_tmc_step_mode_settings(void) { lv_obj_t *buttonE0Text = NULL, *labelE0Text = NULL; lv_obj_t * line1 = NULL, * line2 = NULL, * line3 = NULL, * line4 = NULL; - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) lv_obj_t *buttonTurnPage = NULL, *labelTurnPage = NULL; lv_obj_t *buttonE1Text = NULL, *labelE1Text = NULL; - #endif + //#endif labelXState = NULL; @@ -218,10 +241,10 @@ void lv_draw_tmc_step_mode_settings(void) { buttonZState = NULL; labelE0State = NULL; buttonE0State = NULL; - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) labelE1State = NULL; buttonE1State = NULL; - #endif + //#endif if (disp_state_stack._disp_state[disp_state_stack._disp_index] != TMC_MODE_UI) { disp_state_stack._disp_index++; @@ -242,10 +265,6 @@ void lv_draw_tmc_step_mode_settings(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_para_back); - LV_IMG_DECLARE(bmp_para_state); - // LV_IMG_DECLARE(bmp_para_bank); - if (uiCfg.para_ui_page != 1) { buttonXText = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonXText, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ @@ -258,16 +277,28 @@ void lv_draw_tmc_step_mode_settings(void) { buttonXState = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonXState, PARA_UI_STATE_POS_X, PARA_UI_POS_Y + PARA_UI_STATE_V); - if (stepperX.get_stealthChop_status()) - lv_obj_set_event_cb_mks(buttonXState, event_handler, ID_TMC_MODE_X, "bmp_enable.bin", 0); - else - lv_obj_set_event_cb_mks(buttonXState, event_handler, ID_TMC_MODE_X, "bmp_disable.bin", 0); - lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, &bmp_para_state); - lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, &bmp_para_state); + #if AXIS_HAS_STEALTHCHOP(X) + if (stepperX.get_stealthChop_status()) { + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + #else + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonXState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + #endif + lv_obj_set_event_cb_mks(buttonXState, event_handler, ID_TMC_MODE_X, NULL, 0); + lv_imgbtn_set_style(buttonXState, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonXState, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonXState, LV_LAYOUT_OFF); labelXState = lv_label_create(buttonXState, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonXState); + #endif line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); @@ -283,16 +314,28 @@ void lv_draw_tmc_step_mode_settings(void) { buttonYState = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonYState, PARA_UI_STATE_POS_X, PARA_UI_POS_Y * 2 + PARA_UI_STATE_V); - if (stepperY.get_stealthChop_status()) - lv_obj_set_event_cb_mks(buttonYState, event_handler, ID_TMC_MODE_Y, "bmp_enable.bin", 0); - else - lv_obj_set_event_cb_mks(buttonYState, event_handler, ID_TMC_MODE_Y, "bmp_disable.bin", 0); - lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, &bmp_para_state); - lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, &bmp_para_state); + #if AXIS_HAS_STEALTHCHOP(Y) + if (stepperY.get_stealthChop_status()) { + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + #else + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonYState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + #endif + lv_obj_set_event_cb_mks(buttonYState, event_handler, ID_TMC_MODE_Y, NULL, 0); + lv_imgbtn_set_style(buttonYState, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonYState, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonYState, LV_LAYOUT_OFF); labelYState = lv_label_create(buttonYState, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonYState); + #endif line2 = lv_line_create(scr, NULL); lv_ex_line(line2, line_points[1]); @@ -308,16 +351,27 @@ void lv_draw_tmc_step_mode_settings(void) { buttonZState = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonZState, PARA_UI_STATE_POS_X, PARA_UI_POS_Y * 3 + PARA_UI_STATE_V); - if (stepperZ.get_stealthChop_status()) - lv_obj_set_event_cb_mks(buttonZState, event_handler, ID_TMC_MODE_Z, "bmp_enable.bin", 0); - else - lv_obj_set_event_cb_mks(buttonZState, event_handler, ID_TMC_MODE_Z, "bmp_disable.bin", 0); - lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, &bmp_para_state); - lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, &bmp_para_state); + #if AXIS_HAS_STEALTHCHOP(Z) + if (stepperZ.get_stealthChop_status()) { + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + #else + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonZState, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + #endif + lv_obj_set_event_cb_mks(buttonZState, event_handler, ID_TMC_MODE_Z, NULL, 0); lv_imgbtn_set_style(buttonZState, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonZState, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonZState, LV_LAYOUT_OFF); labelZState = lv_label_create(buttonZState, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonZState); + #endif line3 = lv_line_create(scr, NULL); lv_ex_line(line3, line_points[2]); @@ -333,31 +387,48 @@ void lv_draw_tmc_step_mode_settings(void) { buttonE0State = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonE0State, PARA_UI_STATE_POS_X, PARA_UI_POS_Y * 4 + PARA_UI_STATE_V); - if (stepperE0.get_stealthChop_status()) - lv_obj_set_event_cb_mks(buttonE0State, event_handler, ID_TMC_MODE_E0, "bmp_enable.bin", 0); - else - lv_obj_set_event_cb_mks(buttonE0State, event_handler, ID_TMC_MODE_E0, "bmp_disable.bin", 0); - lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, &bmp_para_state); - lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, &bmp_para_state); + #if AXIS_HAS_STEALTHCHOP(E0) + if (stepperE0.get_stealthChop_status()) { + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + #else + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE0State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + #endif + + lv_obj_set_event_cb_mks(buttonE0State, event_handler, ID_TMC_MODE_E0, NULL, 0); + lv_imgbtn_set_style(buttonE0State, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonE0State, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonE0State, LV_LAYOUT_OFF); labelE0State = lv_label_create(buttonE0State, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonE0State); + #endif + line4 = lv_line_create(scr, NULL); lv_ex_line(line4, line_points[3]); - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_MODE_DOWN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_MODE_DOWN, NULL, 0); + lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonTurnPage); + #endif + //#endif } else { - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) buttonE1Text = lv_btn_create(scr, NULL); /*Add a button the current screen*/ lv_obj_set_pos(buttonE1Text, PARA_UI_POS_X, PARA_UI_POS_Y); /*Set its position*/ lv_obj_set_size(buttonE1Text, PARA_UI_VALUE_SIZE_X, PARA_UI_SIZE_Y); /*Set its size*/ @@ -369,40 +440,54 @@ void lv_draw_tmc_step_mode_settings(void) { buttonE1State = lv_imgbtn_create(scr, NULL); lv_obj_set_pos(buttonE1State, PARA_UI_STATE_POS_X, PARA_UI_POS_Y + PARA_UI_STATE_V); - if (stepperE1.get_stealthChop_status()) - lv_obj_set_event_cb_mks(buttonE1State, event_handler, ID_TMC_MODE_E1, "bmp_enable.bin", 0); - else - lv_obj_set_event_cb_mks(buttonE1State, event_handler, ID_TMC_MODE_E1, "bmp_disable.bin", 0); - lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, &bmp_para_state); - lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, &bmp_para_state); + #if AXIS_HAS_STEALTHCHOP(E1) + if (stepperE1.get_stealthChop_status()) { + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + #else + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonE1State, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + #endif + lv_obj_set_event_cb_mks(buttonE1State, event_handler, ID_TMC_MODE_E1, NULL, 0); lv_imgbtn_set_style(buttonE1State, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonE1State, LV_BTN_STATE_REL, &tft_style_label_rel); lv_btn_set_layout(buttonE1State, LV_LAYOUT_OFF); labelE1State = lv_label_create(buttonE1State, NULL); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonE1State); + #endif line1 = lv_line_create(scr, NULL); lv_ex_line(line1, line_points[0]); buttonTurnPage = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_MODE_UP, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonTurnPage, event_handler, ID_TMC_MODE_UP, NULL, 0); + lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonTurnPage, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonTurnPage, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif + //#endif } - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) lv_obj_set_pos(buttonTurnPage, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); lv_btn_set_layout(buttonTurnPage, LV_LAYOUT_OFF); labelTurnPage = lv_label_create(buttonTurnPage, NULL); - #endif + //#endif buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_TMC_MODE_RETURN, "bmp_back70x40.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_para_back); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_para_back); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_TMC_MODE_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); @@ -422,50 +507,68 @@ void lv_draw_tmc_step_mode_settings(void) { lv_label_set_text(labelE0Text, machine_menu.E0_StepMode); lv_obj_align(labelE0Text, buttonE0Text, LV_ALIGN_IN_LEFT_MID, 0, 0); + #if AXIS_HAS_STEALTHCHOP(X) if (stepperX.get_stealthChop_status()) lv_label_set_text(labelXState, machine_menu.enable); else lv_label_set_text(labelXState, machine_menu.disable); + #else + lv_label_set_text(labelXState, machine_menu.disable); + #endif lv_obj_align(labelXState, buttonXState, LV_ALIGN_CENTER, 0, 0); + #if AXIS_HAS_STEALTHCHOP(Y) if (stepperY.get_stealthChop_status()) lv_label_set_text(labelYState, machine_menu.enable); else lv_label_set_text(labelYState, machine_menu.disable); + #else + lv_label_set_text(labelYState, machine_menu.disable); + #endif lv_obj_align(labelYState, buttonYState, LV_ALIGN_CENTER, 0, 0); + #if AXIS_HAS_STEALTHCHOP(Z) if (stepperZ.get_stealthChop_status()) lv_label_set_text(labelZState, machine_menu.enable); else lv_label_set_text(labelZState, machine_menu.disable); + #else + lv_label_set_text(labelZState, machine_menu.disable); + #endif lv_obj_align(labelZState, buttonZState, LV_ALIGN_CENTER, 0, 0); + #if AXIS_HAS_STEALTHCHOP(E0) if (stepperE0.get_stealthChop_status()) lv_label_set_text(labelE0State, machine_menu.enable); else lv_label_set_text(labelE0State, machine_menu.disable); + #else + lv_label_set_text(labelE0State, machine_menu.disable); + #endif lv_obj_align(labelE0State, buttonE0State, LV_ALIGN_CENTER, 0, 0); - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) lv_label_set_text(labelTurnPage, machine_menu.next); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); - #endif + //#endif } else { - #if AXIS_HAS_STEALTHCHOP(E1) + //#if AXIS_HAS_STEALTHCHOP(E1) lv_label_set_text(labelE1Text, machine_menu.E1_StepMode); lv_obj_align(labelE1Text, buttonE1Text, LV_ALIGN_IN_LEFT_MID, 0, 0); - + #if AXIS_HAS_STEALTHCHOP(E1) if (stepperE1.get_stealthChop_status()) lv_label_set_text(labelE1State, machine_menu.enable); else lv_label_set_text(labelE1State, machine_menu.disable); + #else + lv_label_set_text(labelE1State, machine_menu.disable); + #endif lv_obj_align(labelE1State, buttonE1State, LV_ALIGN_CENTER, 0, 0); lv_label_set_text(labelTurnPage, machine_menu.previous); lv_obj_align(labelTurnPage, buttonTurnPage, LV_ALIGN_CENTER, 0, 0); - - #endif + //#endif } lv_label_set_text(label_Back, common_menu.text_back); @@ -473,6 +576,11 @@ void lv_draw_tmc_step_mode_settings(void) { } } -void lv_clear_tmc_step_mode_settings() { lv_obj_del(scr); } +void lv_clear_tmc_step_mode_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI && HAS_STEALTHCHOP diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp index a2d0937e4767..3681b1b2d601 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_tool.cpp @@ -32,8 +32,9 @@ #include "../../../../MarlinCore.h" #include "../../../../gcode/queue.h" +#include "../../../../module/temperature.h" -// static lv_obj_t *buttonMoveZ,*buttonTest,*buttonZ0,*buttonStop,*buttonReturn; +extern lv_group_t * g; static lv_obj_t * scr; #define ID_T_PRE_HEAT 1 @@ -45,6 +46,10 @@ static lv_obj_t * scr; #define ID_T_MORE 7 #define ID_T_RETURN 8 +#if ENABLED(MKS_TEST) + extern uint8_t curent_disp_ui; +#endif + static void event_handler(lv_obj_t * obj, lv_event_t event) { switch (obj->mks_obj_id) { case ID_T_PRE_HEAT: @@ -89,8 +94,11 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { #if ENABLED(AUTO_BED_LEVELING_BILINEAR) - queue.enqueue_one_P(PSTR("G28")); - queue.enqueue_one_P(PSTR("G29")); + //queue.enqueue_one_P(PSTR("G28")); + //queue.enqueue_one_P(PSTR("G29")); + get_gcode_command(AUTO_LEVELING_COMMAND_ADDR,(uint8_t *)public_buf_m); + public_buf_m[sizeof(public_buf_m)-1] = 0; + queue.inject_P(PSTR(public_buf_m)); #else uiCfg.leveling_first_time = 1; lv_clear_tool(); @@ -98,7 +106,16 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { #endif } break; - case ID_T_FILAMENT: break; + case ID_T_FILAMENT: + if (event == LV_EVENT_CLICKED) { + // nothing to do + } + else if (event == LV_EVENT_RELEASED) { + uiCfg.desireSprayerTempBak = thermalManager.temp_hotend[uiCfg.curSprayerChoose].target; + lv_clear_tool(); + lv_draw_filament_change(); + } + break; case ID_T_MORE: break; case ID_T_RETURN: if (event == LV_EVENT_CLICKED) { @@ -106,7 +123,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } else if (event == LV_EVENT_RELEASED) { TERN_(MKS_TEST, curent_disp_ui = 1); - lv_obj_del(scr); + lv_clear_tool(); lv_draw_ready_print(); } break; @@ -115,6 +132,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { void lv_draw_tool(void) { lv_obj_t *buttonPreHeat, *buttonExtrusion, *buttonMove, *buttonHome, *buttonLevel; + lv_obj_t *buttonFilament; lv_obj_t *buttonBack; if (disp_state_stack._disp_state[disp_state_stack._disp_index] != TOOL_UI) { @@ -138,75 +156,64 @@ void lv_draw_tool(void) { lv_refr_now(lv_refr_get_disp_refreshing()); - LV_IMG_DECLARE(bmp_pic); - // Create image buttons buttonPreHeat = lv_imgbtn_create(scr, NULL); buttonExtrusion = lv_imgbtn_create(scr, NULL); buttonMove = lv_imgbtn_create(scr, NULL); buttonHome = lv_imgbtn_create(scr, NULL); buttonLevel = lv_imgbtn_create(scr, NULL); - // buttonFilament = lv_imgbtn_create(scr, NULL); - // buttonMore = lv_imgbtn_create(scr, NULL); - buttonBack = lv_imgbtn_create(scr, NULL); + buttonFilament = lv_imgbtn_create(scr, NULL); + //buttonMore = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); - lv_obj_set_event_cb_mks(buttonPreHeat, event_handler, ID_T_PRE_HEAT, "bmp_preHeat.bin", 0); - lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_PR, &bmp_pic); + lv_obj_set_event_cb_mks(buttonPreHeat, event_handler, ID_T_PRE_HEAT, NULL, 0); + lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_REL, "F:/bmp_preHeat.bin"); + lv_imgbtn_set_src(buttonPreHeat, LV_BTN_STATE_PR, "F:/bmp_preHeat.bin"); lv_imgbtn_set_style(buttonPreHeat, LV_BTN_STATE_PR, &tft_style_label_pre); lv_imgbtn_set_style(buttonPreHeat, LV_BTN_STATE_REL, &tft_style_label_rel); - lv_obj_clear_protect(buttonPreHeat, LV_PROTECT_FOLLOW); - - #if 1 - lv_obj_set_event_cb_mks(buttonExtrusion, event_handler, ID_T_EXTRUCT, "bmp_extruct.bin", 0); - lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonMove, event_handler, ID_T_MOV, "bmp_mov.bin", 0); - lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonHome, event_handler, ID_T_HOME, "bmp_zero.bin", 0); - lv_imgbtn_set_src(buttonHome, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonHome, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonLevel, event_handler, ID_T_LEVELING, "bmp_leveling.bin", 0); - lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_label_rel); - - //lv_obj_set_event_cb_mks(buttonFilament, event_handler,ID_T_FILAMENT,"bmp_Filamentchange.bin",0); - //lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_REL, &tft_style_label_rel); - - //lv_obj_set_event_cb_mks(buttonMore, event_handler,ID_T_MORE,"bmp_More.bin",0); - //lv_imgbtn_set_src(buttonMore, LV_BTN_STATE_REL, &bmp_pic); - //lv_imgbtn_set_src(buttonMore, LV_BTN_STATE_PR, &bmp_pic); - //lv_imgbtn_set_style(buttonMore, LV_BTN_STATE_PR, &tft_style_label_pre); - //lv_imgbtn_set_style(buttonMore, LV_BTN_STATE_REL, &tft_style_label_rel); - - lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_T_RETURN, "bmp_return.bin", 0); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, &bmp_pic); - lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, &bmp_pic); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); - lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); - #endif // if 1 + + lv_obj_set_event_cb_mks(buttonExtrusion, event_handler, ID_T_EXTRUCT, NULL, 0); + lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_REL, "F:/bmp_extruct.bin"); + lv_imgbtn_set_src(buttonExtrusion, LV_BTN_STATE_PR, "F:/bmp_extruct.bin"); + lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonExtrusion, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonMove, event_handler, ID_T_MOV, NULL, 0); + lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_REL, "F:/bmp_mov.bin"); + lv_imgbtn_set_src(buttonMove, LV_BTN_STATE_PR, "F:/bmp_mov.bin"); + lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonMove, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonHome, event_handler, ID_T_HOME, NULL, 0); + lv_imgbtn_set_src(buttonHome, LV_BTN_STATE_REL, "F:/bmp_zero.bin"); + lv_imgbtn_set_src(buttonHome, LV_BTN_STATE_PR, "F:/bmp_zero.bin"); + lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonHome, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonLevel, event_handler, ID_T_LEVELING, NULL, 0); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_REL, "F:/bmp_leveling.bin"); + lv_imgbtn_set_src(buttonLevel, LV_BTN_STATE_PR, "F:/bmp_leveling.bin"); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonLevel, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonFilament, event_handler,ID_T_FILAMENT,NULL,0); + lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_REL, "F:/bmp_filamentchange.bin"); + lv_imgbtn_set_src(buttonFilament, LV_BTN_STATE_PR, "F:/bmp_filamentchange.bin"); + lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonFilament, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_T_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); lv_obj_set_pos(buttonPreHeat, INTERVAL_V, titleHeight); lv_obj_set_pos(buttonExtrusion, BTN_X_PIXEL + INTERVAL_V * 2, titleHeight); lv_obj_set_pos(buttonMove, BTN_X_PIXEL * 2 + INTERVAL_V * 3, titleHeight); lv_obj_set_pos(buttonHome, BTN_X_PIXEL * 3 + INTERVAL_V * 4, titleHeight); lv_obj_set_pos(buttonLevel, INTERVAL_V, BTN_Y_PIXEL + INTERVAL_H + titleHeight); - //lv_obj_set_pos(buttonFilament,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_obj_set_pos(buttonFilament,BTN_X_PIXEL+INTERVAL_V*2,BTN_Y_PIXEL+INTERVAL_H+titleHeight); //lv_obj_set_pos(buttonMore,BTN_X_PIXEL*2+INTERVAL_V*3, BTN_Y_PIXEL+INTERVAL_H+titleHeight); lv_obj_set_pos(buttonBack, BTN_X_PIXEL * 3 + INTERVAL_V * 4, BTN_Y_PIXEL + INTERVAL_H + titleHeight); @@ -216,18 +223,18 @@ void lv_draw_tool(void) { lv_btn_set_layout(buttonMove, LV_LAYOUT_OFF); lv_btn_set_layout(buttonHome, LV_LAYOUT_OFF); lv_btn_set_layout(buttonLevel, LV_LAYOUT_OFF); - //lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonFilament, LV_LAYOUT_OFF); //lv_btn_set_layout(buttonMore, LV_LAYOUT_OFF); lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); - lv_obj_t * labelPreHeat = lv_label_create(buttonPreHeat, NULL); - lv_obj_t * labelExtrusion = lv_label_create(buttonExtrusion, NULL); - lv_obj_t * label_Move = lv_label_create(buttonMove, NULL); - lv_obj_t * label_Home = lv_label_create(buttonHome, NULL); - lv_obj_t * label_Level = lv_label_create(buttonLevel, NULL); - //lv_obj_t * label_Filament = lv_label_create(buttonFilament, NULL); - //lv_obj_t * label_More = lv_label_create(buttonMore, NULL); - lv_obj_t * label_Back = lv_label_create(buttonBack, NULL); + lv_obj_t *labelPreHeat = lv_label_create(buttonPreHeat, NULL); + lv_obj_t *labelExtrusion = lv_label_create(buttonExtrusion, NULL); + lv_obj_t *label_Move = lv_label_create(buttonMove, NULL); + lv_obj_t *label_Home = lv_label_create(buttonHome, NULL); + lv_obj_t *label_Level = lv_label_create(buttonLevel, NULL); + lv_obj_t *label_Filament = lv_label_create(buttonFilament, NULL); + //lv_obj_t *label_More = lv_label_create(buttonMore, NULL); + lv_obj_t *label_Back = lv_label_create(buttonBack, NULL); if (gCfgItems.multiple_language != 0) { lv_label_set_text(labelPreHeat, tool_menu.preheat); @@ -242,17 +249,11 @@ void lv_draw_tool(void) { lv_label_set_text(label_Home, tool_menu.home); lv_obj_align(label_Home, buttonHome, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - /* - if (gCfgItems.leveling_mode != 2) { - lv_label_set_text(label_Level, gCfgItems.leveling_mode == 1 ? tool_menu.autoleveling : tool_menu.leveling); - lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - } - */ lv_label_set_text(label_Level, tool_menu.TERN(AUTO_BED_LEVELING_BILINEAR, autoleveling, leveling)); lv_obj_align(label_Level, buttonLevel, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); - //lv_label_set_text(label_Filament, tool_menu.filament); - //lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); + lv_label_set_text(label_Filament, tool_menu.filament); + lv_obj_align(label_Filament, buttonFilament, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); //lv_label_set_text(label_More, tool_menu.more); //lv_obj_align(label_More, buttonMore, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); @@ -260,8 +261,24 @@ void lv_draw_tool(void) { lv_label_set_text(label_Back, common_menu.text_back); lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET); } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonPreHeat); + lv_group_add_obj(g, buttonExtrusion); + lv_group_add_obj(g, buttonMove); + lv_group_add_obj(g, buttonHome); + lv_group_add_obj(g, buttonLevel); + lv_group_add_obj(g, buttonFilament); + lv_group_add_obj(g, buttonBack); + } + #endif } -void lv_clear_tool() { lv_obj_del(scr); } +void lv_clear_tool() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index 6bdea3fd2101..922f6a2dc71c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -55,7 +55,8 @@ DISP_STATE_STACK disp_state_stack; DISP_STATE disp_state = MAIN_UI; DISP_STATE last_disp_state; PRINT_TIME print_time; -value_state value; +num_key_value_state value; +keyboard_value_state keyboard_value; uint32_t To_pre_view; uint8_t gcode_preview_over; @@ -73,6 +74,14 @@ extern uint8_t bmp_public_buf[17 * 1024]; extern void LCD_IO_WriteData(uint16_t RegValue); +static const char custom_gcode_command[][100] = { + "G28\nG29\nM500", + "G28", + "G28", + "G28", + "G28" +}; + lv_point_t line_points[4][2] = { {{PARA_UI_POS_X, PARA_UI_POS_Y + PARA_UI_SIZE_Y}, {TFT_WIDTH, PARA_UI_POS_Y + PARA_UI_SIZE_Y}}, {{PARA_UI_POS_X, PARA_UI_POS_Y*2 + PARA_UI_SIZE_Y}, {TFT_WIDTH, PARA_UI_POS_Y*2 + PARA_UI_SIZE_Y}}, @@ -108,22 +117,58 @@ void gCfgItems_init() { #elif LCD_LANGUAGE == pt gCfgItems.language = LANG_PORTUGUESE; #endif - gCfgItems.leveling_mode = 0; - gCfgItems.from_flash_pic = 0; - gCfgItems.curFilesize = 0; - gCfgItems.finish_power_off = 0; - gCfgItems.pause_reprint = 0; - gCfgItems.pausePosX = -1; - gCfgItems.pausePosY = -1; - gCfgItems.pausePosZ = 5; + gCfgItems.leveling_mode = 0; + gCfgItems.from_flash_pic = 0; + gCfgItems.curFilesize = 0; + gCfgItems.finish_power_off = 0; + gCfgItems.pause_reprint = 0; + gCfgItems.pausePosX = -1; + gCfgItems.pausePosY = -1; + gCfgItems.pausePosZ = 5; + gCfgItems.levelingPos[0][0] = X_MIN_POS + 30; + gCfgItems.levelingPos[0][1] = Y_MIN_POS + 30; + gCfgItems.levelingPos[1][0] = X_MAX_POS - 30; + gCfgItems.levelingPos[1][1] = Y_MIN_POS + 30; + gCfgItems.levelingPos[2][0] = X_MAX_POS - 30; + gCfgItems.levelingPos[2][1] = Y_MAX_POS - 30; + gCfgItems.levelingPos[3][0] = X_MIN_POS + 30; + gCfgItems.levelingPos[3][1] = Y_MAX_POS - 30; + gCfgItems.levelingPos[4][0] = X_BED_SIZE / 2; + gCfgItems.levelingPos[4][1] = Y_BED_SIZE / 2; + gCfgItems.cloud_enable = true; + #if ENABLED(USE_WIFI_FUNCTION) + gCfgItems.wifi_mode_sel = STA_MODEL; + gCfgItems.fileSysType = FILE_SYS_SD; + gCfgItems.wifi_type = ESP_WIFI; + #endif + gCfgItems.filamentchange_load_length = 200; + gCfgItems.filamentchange_load_speed = 1000; + gCfgItems.filamentchange_unload_length = 200; + gCfgItems.filamentchange_unload_speed = 1000; + gCfgItems.filament_limit_temper = 200; + + gCfgItems.encoder_enable = true; + W25QXX.SPI_FLASH_BufferRead((uint8_t *)&gCfgItems.spi_flash_flag, VAR_INF_ADDR, sizeof(gCfgItems.spi_flash_flag)); - if (gCfgItems.spi_flash_flag == GCFG_FLAG_VALUE) { + if (gCfgItems.spi_flash_flag == FLASH_INF_VALID_FLAG) { W25QXX.SPI_FLASH_BufferRead((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems)); } else { - gCfgItems.spi_flash_flag = GCFG_FLAG_VALUE; + gCfgItems.spi_flash_flag = FLASH_INF_VALID_FLAG; W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR); W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems)); + //init gcode command + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[0], AUTO_LEVELING_COMMAND_ADDR, 100); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[1], OTHERS_COMMAND_ADDR_1, 100); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[2], OTHERS_COMMAND_ADDR_2, 100); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[3], OTHERS_COMMAND_ADDR_3, 100); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[4], OTHERS_COMMAND_ADDR_4, 100); + } + + const byte rot = TERN0(GRAPHICAL_TFT_ROTATE_180, 0xEE); + if (gCfgItems.disp_rotation_180 != rot) { + gCfgItems.disp_rotation_180 = rot; + update_spi_flash(); } uiCfg.F[0] = 'N'; @@ -134,11 +179,6 @@ void gCfgItems_init() { W25QXX.SPI_FLASH_BufferWrite(uiCfg.F,REFLSHE_FLGA_ADD,4); } -void gCfg_to_spiFlah() { - W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR); - W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems)); -} - void ui_cfg_init() { uiCfg.curTempType = 0; uiCfg.curSprayerChoose = 0; @@ -150,12 +190,81 @@ void ui_cfg_init() { uiCfg.move_dist = 1; uiCfg.moveSpeed = 3000; uiCfg.stepPrintSpeed = 10; + uiCfg.command_send = 0; + uiCfg.dialogType = 0; + uiCfg.filament_heat_completed_load = 0; + uiCfg.filament_rate = 0; + uiCfg.filament_loading_completed = 0; + uiCfg.filament_unloading_completed = 0; + uiCfg.filament_loading_time_flg = 0; + uiCfg.filament_loading_time_cnt = 0; + uiCfg.filament_unloading_time_flg = 0; + uiCfg.filament_unloading_time_cnt = 0; + + #if ENABLED(USE_WIFI_FUNCTION) + memset(&wifiPara, 0, sizeof(wifiPara)); + memset(&ipPara, 0, sizeof(ipPara)); + strcpy(wifiPara.ap_name, WIFI_AP_NAME); + strcpy(wifiPara.keyCode, WIFI_KEY_CODE); + //client + strcpy(ipPara.ip_addr, IP_ADDR); + strcpy(ipPara.mask, IP_MASK); + strcpy(ipPara.gate, IP_GATE); + strcpy(ipPara.dns, IP_DNS); + + ipPara.dhcp_flag = IP_DHCP_FLAG; + + //AP + strcpy(ipPara.dhcpd_ip, AP_IP_ADDR); + strcpy(ipPara.dhcpd_mask, AP_IP_MASK); + strcpy(ipPara.dhcpd_gate, AP_IP_GATE); + strcpy(ipPara.dhcpd_dns, AP_IP_DNS); + strcpy(ipPara.start_ip_addr, IP_START_IP); + strcpy(ipPara.end_ip_addr, IP_END_IP); + + ipPara.dhcpd_flag = AP_IP_DHCP_FLAG; + + strcpy((char*)uiCfg.cloud_hostUrl, "baizhongyun.cn"); + uiCfg.cloud_port = 10086; + #endif + + uiCfg.filament_loading_time = (uint32_t)((gCfgItems.filamentchange_load_length * 60.0 / gCfgItems.filamentchange_load_speed) + 0.5); + uiCfg.filament_unloading_time = (uint32_t)((gCfgItems.filamentchange_unload_length * 60.0 / gCfgItems.filamentchange_unload_speed) + 0.5); } void update_spi_flash() { + uint8_t command_buf[512]; + + W25QXX.init(SPI_QUARTER_SPEED); + //read back the gcode command befor erase spi flash + W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf)); + W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems)); + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf)); +} + +void update_gcode_command(int addr,uint8_t *s) { + uint8_t command_buf[512]; + W25QXX.init(SPI_QUARTER_SPEED); + //read back the gcode command befor erase spi flash + W25QXX.SPI_FLASH_BufferRead((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf)); W25QXX.SPI_FLASH_SectorErase(VAR_INF_ADDR); W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&gCfgItems, VAR_INF_ADDR, sizeof(gCfgItems)); + switch (addr) { + case AUTO_LEVELING_COMMAND_ADDR: memcpy(&command_buf[0*100], s, 100); break; + case OTHERS_COMMAND_ADDR_1: memcpy(&command_buf[1*100], s, 100); break; + case OTHERS_COMMAND_ADDR_2: memcpy(&command_buf[2*100], s, 100); break; + case OTHERS_COMMAND_ADDR_3: memcpy(&command_buf[3*100], s, 100); break; + case OTHERS_COMMAND_ADDR_4: memcpy(&command_buf[4*100], s, 100); break; + default: break; + } + W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&command_buf, GCODE_COMMAND_ADDR, sizeof(command_buf)); +} + +void get_gcode_command(int addr,uint8_t *d) { + W25QXX.init(SPI_QUARTER_SPEED); + W25QXX.SPI_FLASH_BufferRead((uint8_t *)d, addr, 100); } lv_style_t tft_style_scr; @@ -169,6 +278,13 @@ lv_style_t style_num_key_pre; lv_style_t style_num_key_rel; lv_style_t style_num_text; +lv_style_t style_sel_text; + +lv_style_t style_para_value; +lv_style_t style_para_back; + +lv_style_t lv_bar_style_indic; + void tft_style_init() { lv_style_copy(&tft_style_scr, &lv_style_scr); tft_style_scr.body.main_color = LV_COLOR_BACKGROUND; @@ -197,12 +313,13 @@ void tft_style_init() { tft_style_label_rel.text.letter_space = 0; tft_style_label_pre.text.line_space = -5; tft_style_label_rel.text.line_space = -5; + lv_style_copy(&style_para_value_pre, &lv_style_scr); lv_style_copy(&style_para_value_rel, &lv_style_scr); style_para_value_pre.body.main_color = LV_COLOR_BACKGROUND; style_para_value_pre.body.grad_color = LV_COLOR_BACKGROUND; - style_para_value_pre.text.color = LV_COLOR_BLACK; - style_para_value_pre.text.sel_color = LV_COLOR_BLACK; + style_para_value_pre.text.color = LV_COLOR_TEXT; + style_para_value_pre.text.sel_color = LV_COLOR_TEXT; style_para_value_rel.body.main_color = LV_COLOR_BACKGROUND; style_para_value_rel.body.grad_color = LV_COLOR_BACKGROUND; style_para_value_rel.text.color = LV_COLOR_BLACK; @@ -215,6 +332,7 @@ void tft_style_init() { style_para_value_rel.text.letter_space = 0; style_para_value_pre.text.line_space = -5; style_para_value_rel.text.line_space = -5; + lv_style_copy(&style_num_key_pre, &lv_style_scr); lv_style_copy(&style_num_key_rel, &lv_style_scr); style_num_key_pre.body.main_color = LV_COLOR_KEY_BACKGROUND; @@ -250,10 +368,48 @@ void tft_style_init() { style_num_text.text.letter_space = 0; style_num_text.text.line_space = -5; + lv_style_copy(&style_sel_text, &lv_style_scr); + style_sel_text.body.main_color = LV_COLOR_BACKGROUND; + style_sel_text.body.grad_color = LV_COLOR_BACKGROUND; + style_sel_text.text.color = LV_COLOR_YELLOW; + style_sel_text.text.sel_color = LV_COLOR_YELLOW; + style_sel_text.text.font = &gb2312_puhui32; + style_sel_text.line.width = 0; + style_sel_text.text.letter_space = 0; + style_sel_text.text.line_space = -5; lv_style_copy(&style_line, &lv_style_plain); style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xff); style_line.line.width = 1; style_line.line.rounded = 1; + + lv_style_copy(&style_para_value, &lv_style_plain); + style_para_value.body.border.color = LV_COLOR_BACKGROUND; + style_para_value.body.border.width = 1; + style_para_value.body.main_color = LV_COLOR_WHITE; + style_para_value.body.grad_color = LV_COLOR_WHITE; + style_para_value.body.shadow.width = 0; + style_para_value.body.radius = 3; + style_para_value.text.color = LV_COLOR_BLACK; + style_para_value.text.font = &TERN(HAS_SPI_FLASH_FONT, gb2312_puhui32, lv_font_roboto_22); + + lv_style_copy(&style_para_back, &lv_style_plain); + style_para_back.body.border.color = LV_COLOR_BACKGROUND; + style_para_back.body.border.width = 1; + style_para_back.body.main_color = TFT_LV_PARA_BACK_BODY_COLOR; + style_para_back.body.grad_color = TFT_LV_PARA_BACK_BODY_COLOR; + style_para_back.body.shadow.width = 0; + style_para_back.body.radius = 3; + style_para_back.text.color = LV_COLOR_WHITE; + style_para_back.text.font = &TERN(HAS_SPI_FLASH_FONT, gb2312_puhui32, lv_font_roboto_22); + + lv_style_copy(&lv_bar_style_indic, &lv_style_pretty_color); + lv_bar_style_indic.text.color = lv_color_hex3(0xADF); + lv_bar_style_indic.image.color = lv_color_hex3(0xADF); + lv_bar_style_indic.line.color = lv_color_hex3(0xADF); + lv_bar_style_indic.body.main_color = lv_color_hex3(0xADF); + lv_bar_style_indic.body.grad_color = lv_color_hex3(0xADF); + lv_bar_style_indic.body.border.color = lv_color_hex3(0xADF); + } #define MAX_TITLE_LEN 28 @@ -360,15 +516,14 @@ char *getDispText(int index) { case BIND_UI: strcpy(public_buf_l, cloud_menu.title); break; - case ZOFFSET_UI: - strcpy(public_buf_l, zoffset_menu.title); - break; case TOOL_UI: strcpy(public_buf_l, tool_menu.title); break; case WIFI_LIST_UI: - //strcpy(public_buf_l, list_menu.title); - break; + #if ENABLED(USE_WIFI_FUNCTION) + strcpy(public_buf_l, list_menu.title); + break; + #endif case MACHINE_PARA_UI: strcpy(public_buf_l, MachinePara_menu.title); break; @@ -503,7 +658,7 @@ char *creat_title_text() { #if ENABLED(TFT_LVGL_UI_SPI) SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); #else - ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); + LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1); LCD_WriteRAM_Prepare(); #endif @@ -582,10 +737,10 @@ char *creat_title_text() { //saved_feedrate_percentage = feedrate_percentage; planner.flow_percentage[0] = 100; planner.e_factor[0] = planner.flow_percentage[0] * 0.01; - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = 100; planner.e_factor[1] = planner.flow_percentage[1] * 0.01; - } + #endif card.startFileprint(); TERN_(POWER_LOSS_RECOVERY, recovery.prepare()); once_flag = 0; @@ -615,7 +770,7 @@ char *creat_title_text() { #if ENABLED(TFT_LVGL_UI_SPI) SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); #else - ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); + LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1); LCD_WriteRAM_Prepare(); #endif @@ -714,10 +869,10 @@ char *creat_title_text() { //saved_feedrate_percentage = feedrate_percentage; planner.flow_percentage[0] = 100; planner.e_factor[0] = planner.flow_percentage[0] * 0.01; - if (EXTRUDERS == 2) { + #if HAS_MULTI_EXTRUDER planner.flow_percentage[1] = 100; planner.e_factor[1] = planner.flow_percentage[1] * 0.01; - } + #endif card.startFileprint(); TERN_(POWER_LOSS_RECOVERY, recovery.prepare()); once_flag = 0; @@ -733,17 +888,17 @@ char *creat_title_text() { void Draw_default_preview(int xpos_pixel, int ypos_pixel, uint8_t sel) { int index; int y_off = 0; - + W25QXX.init(SPI_QUARTER_SPEED); for (index = 0; index < 10; index++) { // 200*200 #if HAS_BAK_VIEW_IN_FLASH if (sel == 1) { flash_view_Read(bmp_public_buf, 8000); // 20k } else { - default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k + default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 8k } #else - default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k + default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 8k #endif #if ENABLED(TFT_LVGL_UI_SPI) @@ -754,7 +909,7 @@ char *creat_title_text() { uint16_t temp_p; int i = 0; uint16_t *p_index; - ili9320_SetWindows(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 + LCD_setWindowArea(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 LCD_WriteRAM_Prepare(); @@ -904,29 +1059,28 @@ void GUI_RefreshPage() { */ break; - case WIFI_UI: - /* - if (wifi_refresh_flg == 1) { - disp_wifi_state(); - wifi_refresh_flg = 0; - } - */ - break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_UI: + if (temperature_change_frequency == 1) { + disp_wifi_state(); + temperature_change_frequency = 0; + } + break; + #endif + case BIND_UI: /*refresh_bind_ui();*/ break; case FILAMENTCHANGE_UI: - /* if (temperature_change_frequency) { temperature_change_frequency = 0; - disp_filament_sprayer_temp(); + disp_filament_temp(); } - */ break; case DIALOG_UI: - /*filament_dialog_handle(); - wifi_scan_handle();*/ + filament_dialog_handle(); + TERN_(USE_WIFI_FUNCTION, wifi_scan_handle()); break; case MESHLEVELING_UI: /*disp_zpos();*/ @@ -934,66 +1088,68 @@ void GUI_RefreshPage() { case HARDWARE_TEST_UI: break; case WIFI_LIST_UI: - /* - if (wifi_refresh_flg == 1) { - disp_wifi_list(); - wifi_refresh_flg = 0; - } - */ + #if ENABLED(USE_WIFI_FUNCTION) + if (printing_rate_update_flag == 1) { + disp_wifi_list(); + printing_rate_update_flag = 0; + } + #endif break; case KEY_BOARD_UI: /*update_password_disp(); update_join_state_disp();*/ break; - case TIPS_UI: - /* - switch (tips_type) { - case TIPS_TYPE_JOINING: - if (wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName, (const char *)wifi_list.wifiName[wifi_list.nameIndex]) == 0) { - tips_disp.timer = TIPS_TIMER_STOP; - tips_disp.timer_count = 0; - Clear_Tips(); - tips_type = TIPS_TYPE_WIFI_CONECTED; - draw_Tips(); - } - if (tips_disp.timer_count >= 30) { - tips_disp.timer = TIPS_TIMER_STOP; - tips_disp.timer_count = 0; - Clear_Tips(); - tips_type = TIPS_TYPE_TAILED_JOIN; - draw_Tips(); - } - break; - case TIPS_TYPE_TAILED_JOIN: - if (tips_disp.timer_count >= 3) { - tips_disp.timer = TIPS_TIMER_STOP; - tips_disp.timer_count = 0; - last_disp_state = TIPS_UI; - Clear_Tips(); - draw_Wifi_list(); - } - break; - case TIPS_TYPE_WIFI_CONECTED: - if (tips_disp.timer_count >= 3) { - tips_disp.timer = TIPS_TIMER_STOP; - tips_disp.timer_count = 0; - - last_disp_state = TIPS_UI; - Clear_Tips(); - draw_Wifi(); - } - break; - default: break; - } - */ - break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_TIPS_UI: + switch (wifi_tips_type) { + case TIPS_TYPE_JOINING: + if (wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName,(const char *)wifi_list.wifiName[wifi_list.nameIndex]) == 0) { + tips_disp.timer = TIPS_TIMER_STOP; + tips_disp.timer_count = 0; + + lv_clear_wifi_tips(); + wifi_tips_type = TIPS_TYPE_WIFI_CONECTED; + lv_draw_wifi_tips(); + + } + if (tips_disp.timer_count >= 30 * 1000) { + tips_disp.timer = TIPS_TIMER_STOP; + tips_disp.timer_count = 0; + lv_clear_wifi_tips(); + wifi_tips_type = TIPS_TYPE_TAILED_JOIN; + lv_draw_wifi_tips(); + } + break; + case TIPS_TYPE_TAILED_JOIN: + if (tips_disp.timer_count >= 3 * 1000) { + tips_disp.timer = TIPS_TIMER_STOP; + tips_disp.timer_count = 0; + + last_disp_state = WIFI_TIPS_UI; + lv_clear_wifi_tips(); + lv_draw_wifi_list(); + } + break; + case TIPS_TYPE_WIFI_CONECTED: + if (tips_disp.timer_count >= 3 * 1000) { + tips_disp.timer = TIPS_TIMER_STOP; + tips_disp.timer_count = 0; + + last_disp_state = WIFI_TIPS_UI; + lv_clear_wifi_tips(); + lv_draw_wifi(); + } + break; + default: break; + } + break; + #endif + case BABY_STEP_UI: - /* if (temperature_change_frequency == 1) { temperature_change_frequency = 0; disp_z_offset_value(); } - */ break; default: break; } @@ -1060,9 +1216,11 @@ void clear_cur_ui() { case DISK_UI: //Clear_Disk(); break; - case WIFI_UI: - //Clear_Wifi(); - break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_UI: + lv_clear_wifi(); + break; + #endif case MORE_UI: //Clear_more(); break; @@ -1078,15 +1236,20 @@ void clear_cur_ui() { case PRINT_MORE_UI: //Clear_Printmore(); break; + case FILAMENTCHANGE_UI: + lv_clear_filament_change(); + break; case LEVELING_UI: lv_clear_manualLevel(); break; case BIND_UI: //Clear_Bind(); break; - case ZOFFSET_UI: - //Clear_Zoffset(); - break; + #if HAS_BED_PROBE + case NOZZLE_PROBE_OFFSET_UI: + lv_clear_auto_level_offset_settings(); + break; + #endif case TOOL_UI: lv_clear_tool(); break; @@ -1096,15 +1259,19 @@ void clear_cur_ui() { case HARDWARE_TEST_UI: //Clear_Hardwaretest(); break; - case WIFI_LIST_UI: - //Clear_Wifi_list(); - break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_LIST_UI: + lv_clear_wifi_list(); + break; + #endif case KEY_BOARD_UI: - //Clear_Keyboard(); - break; - case TIPS_UI: - //Clear_Tips(); + lv_clear_keyboard(); break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_TIPS_UI: + lv_clear_wifi_tips(); + break; + #endif case MACHINE_PARA_UI: lv_clear_machine_para(); break; @@ -1130,19 +1297,19 @@ void clear_cur_ui() { //Clear_EndstopType(); break; case FILAMENT_SETTINGS_UI: - //Clear_FilamentSettings(); + lv_clear_filament_settings(); break; case LEVELING_SETTIGNS_UI: //Clear_LevelingSettings(); break; case LEVELING_PARA_UI: - //Clear_LevelingPara(); + lv_clear_level_settings(); break; case DELTA_LEVELING_PARA_UI: //Clear_DeltaLevelPara(); break; - case XYZ_LEVELING_PARA_UI: - //Clear_XYZLevelPara(); + case MANUAL_LEVELING_POSIGION_UI: + lv_clear_manual_level_pos_settings(); break; case MAXFEEDRATE_UI: lv_clear_max_feedrate_settings(); @@ -1183,7 +1350,7 @@ void clear_cur_ui() { lv_clear_number_key(); break; case BABY_STEP_UI: - //Clear_babyStep(); + lv_clear_baby_stepping(); break; case PAUSE_POS_UI: lv_clear_pause_position(); @@ -1201,8 +1368,22 @@ void clear_cur_ui() { lv_clear_tmc_step_mode_settings(); break; #endif - default: + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_SETTINGS_UI: + lv_clear_wifi_settings(); break; + #endif + #if USE_SENSORLESS + case HOMING_SENSITIVITY_UI: + lv_clear_homing_sensitivity_settings(); + break; + #endif + #if HAS_ROTARY_ENCODER + case ENCODER_SETTINGS_UI: + lv_clear_encoder_settings(); + break; + #endif + default: break; } //GUI_Clear(); } @@ -1267,21 +1448,17 @@ void draw_return_ui() { lv_draw_about(); break; - #if tan_mask - case LOG_UI: - //draw_Connect(); - break; - #endif - case CALIBRATE_UI: //draw_calibrate(); break; case DISK_UI: //draw_Disk(); break; - case WIFI_UI: - //draw_Wifi(); - break; + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_UI: + lv_draw_wifi(); + break; + #endif case MORE_UI: //draw_More(); break; @@ -1289,7 +1466,7 @@ void draw_return_ui() { //draw_printmore(); break; case FILAMENTCHANGE_UI: - //draw_FilamentChange(); + lv_draw_filament_change(); break; case LEVELING_UI: lv_draw_manualLevel(); @@ -1297,13 +1474,11 @@ void draw_return_ui() { case BIND_UI: //draw_bind(); break; - - #if tan_mask - case ZOFFSET_UI: - //draw_Zoffset(); - break; - #endif - + #if HAS_BED_PROBE + case NOZZLE_PROBE_OFFSET_UI: + lv_draw_auto_level_offset_settings(); + break; + #endif case TOOL_UI: lv_draw_tool(); break; @@ -1314,13 +1489,17 @@ void draw_return_ui() { //draw_Hardwaretest(); break; case WIFI_LIST_UI: - //draw_Wifi_list(); + #if ENABLED(USE_WIFI_FUNCTION) + lv_draw_wifi_list(); + #endif break; case KEY_BOARD_UI: - //draw_Keyboard(); + lv_draw_keyboard(); break; - case TIPS_UI: - //draw_Tips(); + case WIFI_TIPS_UI: + #if ENABLED(USE_WIFI_FUNCTION) + lv_draw_wifi_tips(); + #endif break; case MACHINE_PARA_UI: lv_draw_machine_para(); @@ -1347,19 +1526,19 @@ void draw_return_ui() { //draw_EndstopType(); break; case FILAMENT_SETTINGS_UI: - //draw_FilamentSettings(); + lv_draw_filament_settings(); break; case LEVELING_SETTIGNS_UI: //draw_LevelingSettings(); break; case LEVELING_PARA_UI: - //draw_LevelingPara(); + lv_draw_level_settings(); break; case DELTA_LEVELING_PARA_UI: //draw_DeltaLevelPara(); break; - case XYZ_LEVELING_PARA_UI: - //draw_XYZLevelPara(); + case MANUAL_LEVELING_POSIGION_UI: + lv_draw_manual_level_pos_settings(); break; case MAXFEEDRATE_UI: lv_draw_max_feedrate_settings(); @@ -1400,10 +1579,10 @@ void draw_return_ui() { lv_draw_number_key(); break; case DIALOG_UI: - //draw_dialog(DialogType); + //draw_dialog(uiCfg.dialogType); break; case BABY_STEP_UI: - //draw_babyStep(); + lv_draw_baby_stepping(); break; case PAUSE_POS_UI: lv_draw_pause_position(); @@ -1421,6 +1600,21 @@ void draw_return_ui() { lv_draw_tmc_step_mode_settings(); break; #endif + #if ENABLED(USE_WIFI_FUNCTION) + case WIFI_SETTINGS_UI: + lv_draw_wifi_settings(); + break; + #endif + #if USE_SENSORLESS + case HOMING_SENSITIVITY_UI: + lv_draw_homing_sensitivity_settings(); + break; + #endif + #if HAS_ROTARY_ENCODER + case ENCODER_SETTINGS_UI: + lv_draw_encoder_settings(); + break; + #endif default: break; } } @@ -1440,8 +1634,8 @@ void draw_return_ui() { #endif void lv_ex_line(lv_obj_t * line, lv_point_t *points) { - /*Copy the previous line and apply the new style*/ - lv_line_set_points(line, points, 2); /*Set the points*/ + // Copy the previous line and apply the new style + lv_line_set_points(line, points, 2); // Set the points lv_line_set_style(line, LV_LINE_STYLE_MAIN, &style_line); lv_obj_align(line, NULL, LV_ALIGN_IN_TOP_MID, 0, 0); } @@ -1450,18 +1644,29 @@ extern volatile uint32_t systick_uptime_millis; void print_time_count() { if ((systick_uptime_millis % 1000) == 0) - if (print_time.start == 1) print_time.seconds++; + if (print_time.start == 1) print_time.seconds++; } void LV_TASK_HANDLER() { //lv_tick_inc(1); lv_task_handler(); if (mks_test_flag == 0x1e) mks_hardware_test(); + #if HAS_GCODE_PREVIEW disp_pre_gcode(2, 36); #endif + GUI_RefreshPage(); + + #if ENABLED(USE_WIFI_FUNCTION) + get_wifi_commands(); + #endif + //sd_detection(); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_update_encoder(); + #endif } #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h index 8cd4670ffa8d..09e39d8412eb 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h @@ -34,7 +34,11 @@ #undef LV_COLOR_BACKGROUND #define LV_COLOR_BACKGROUND LV_COLOR_MAKE(0x1A, 0x1A, 0x1A) // LV_COLOR_MAKE(0x00, 0x00, 0x00) +#define TFT_LV_PARA_BACK_BODY_COLOR LV_COLOR_MAKE(0x4A, 0x52, 0xFF) + +#include "tft_lvgl_configuration.h" #include "tft_multi_language.h" +#include "pic_manager.h" #include "draw_ready_print.h" #include "draw_language.h" #include "draw_set.h" @@ -66,8 +70,33 @@ #include "draw_eeprom_settings.h" #include "draw_max_feedrate_settings.h" #include "draw_tmc_step_mode_settings.h" +#include "draw_level_settings.h" +#include "draw_manual_level_pos_settings.h" +#include "draw_auto_level_offset_settings.h" +#include "draw_filament_change.h" +#include "draw_filament_settings.h" +#include "draw_homing_sensitivity_settings.h" +#include "draw_baby_stepping.h" +#include "draw_keyboard.h" +#include "draw_encoder_settings.h" + +#if ENABLED(USE_WIFI_FUNCTION) + #include "wifiSerial.h" + #include "wifi_module.h" + #include "wifi_upload.h" + #include "draw_wifi_settings.h" + #include "draw_wifi.h" + #include "draw_wifi_list.h" + #include "draw_wifi_tips.h" +#endif #include "../../inc/MarlinConfigPre.h" +#define FILE_SYS_USB 0 +#define FILE_SYS_SD 1 + +#define TICK_CYCLE 1 + +#define PARA_SEL_ICON_TEXT_COLOR LV_COLOR_MAKE(0x4a, 0x52, 0xff); #define TFT35 @@ -100,30 +129,38 @@ #define PREVIEW_LITTLE_PIC_SIZE 40910 // 400*100+9*101+1 #define PREVIEW_SIZE 202720 // (PREVIEW_LITTLE_PIC_SIZE+800*200+201*9+1) - #define GCFG_FLAG_VALUE 0xEE - // machine parameter ui - #define PARA_UI_POS_X 10 - #define PARA_UI_POS_Y 50 + #define PARA_UI_POS_X 10 + #define PARA_UI_POS_Y 50 - #define PARA_UI_SIZE_X 450 - #define PARA_UI_SIZE_Y 40 + #define PARA_UI_SIZE_X 450 + #define PARA_UI_SIZE_Y 40 #define PARA_UI_ARROW_V 12 - #define PARA_UI_BACL_POS_X 400 - #define PARA_UI_BACL_POS_Y 270 + #define PARA_UI_BACL_POS_X 400 + #define PARA_UI_BACL_POS_Y 270 - #define PARA_UI_TURN_PAGE_POS_X 320 - #define PARA_UI_TURN_PAGE_POS_Y 270 + #define PARA_UI_TURN_PAGE_POS_X 320 + #define PARA_UI_TURN_PAGE_POS_Y 270 - #define PARA_UI_VALUE_SIZE_X 370 - #define PARA_UI_VALUE_POS_X 400 + #define PARA_UI_VALUE_SIZE_X 370 + #define PARA_UI_VALUE_POS_X 400 #define PARA_UI_VALUE_V 5 - #define PARA_UI_STATE_POS_X 380 + #define PARA_UI_STATE_POS_X 380 #define PARA_UI_STATE_V 2 + #define PARA_UI_VALUE_SIZE_X_2 200 + #define PARA_UI_VALUE_POS_X_2 320 + #define PARA_UI_VALUE_V_2 5 + + #define PARA_UI_VALUE_BTN_X_SIZE 70 + #define PARA_UI_VALUE_BTN_Y_SIZE 28 + + #define PARA_UI_BACK_BTN_X_SIZE 70 + #define PARA_UI_BACK_BTN_Y_SIZE 40 + #else // ifdef TFT35 #define TFT_WIDTH 320 @@ -135,13 +172,25 @@ extern char public_buf_m[100]; extern char public_buf_l[30]; typedef struct { - uint8_t spi_flash_flag; + uint32_t spi_flash_flag; + uint8_t disp_rotation_180; uint8_t multiple_language; uint8_t language; uint8_t leveling_mode; uint8_t from_flash_pic; uint8_t finish_power_off; uint8_t pause_reprint; + uint8_t wifi_mode_sel; + uint8_t fileSysType; + uint8_t wifi_type; + bool cloud_enable; + bool encoder_enable; + int levelingPos[5][2]; + int filamentchange_load_length; + int filamentchange_load_speed; + int filamentchange_unload_length; + int filamentchange_unload_speed; + int filament_limit_temper; float pausePosX; float pausePosY; float pausePosZ; @@ -153,15 +202,42 @@ typedef struct { curSprayerChoose : 3, stepHeat : 4; uint8_t leveling_first_time : 1, - para_ui_page : 1; + para_ui_page:1, + configWifi:1, + command_send:1, + filament_load_heat_flg:1, + filament_heat_completed_load:1, + filament_unload_heat_flg:1, + filament_heat_completed_unload:1; + uint8_t filament_loading_completed:1, + filament_unloading_completed:1, + filament_loading_time_flg:1, + filament_unloading_time_flg:1, + curSprayerChoose_bak:4; + uint8_t wifi_name[32]; + uint8_t wifi_key[64]; + uint8_t cloud_hostUrl[96]; uint8_t extruStep; uint8_t extruSpeed; uint8_t print_state; uint8_t stepPrintSpeed; uint8_t waitEndMoves; + uint8_t dialogType; + uint8_t F[4]; + uint8_t filament_rate; uint16_t moveSpeed; + uint16_t cloud_port; + uint16_t moveSpeed_bak; + uint32_t totalSend; + uint32_t filament_loading_time; + uint32_t filament_unloading_time; + uint32_t filament_loading_time_cnt; + uint32_t filament_unloading_time_cnt; float move_dist; - uint8_t F[4]; + float desireSprayerTempBak; + float current_x_position_bak; + float current_y_position_bak; + float current_e_position_bak; } UI_CFG; typedef enum { @@ -196,12 +272,14 @@ typedef enum { LEVELING_UI, MESHLEVELING_UI, BIND_UI, - ZOFFSET_UI, + #if HAS_BED_PROBE + NOZZLE_PROBE_OFFSET_UI, + #endif TOOL_UI, HARDWARE_TEST_UI, WIFI_LIST_UI, KEY_BOARD_UI, - TIPS_UI, + WIFI_TIPS_UI, MACHINE_PARA_UI, MACHINE_SETTINGS_UI, TEMPERATURE_SETTINGS_UI, @@ -214,7 +292,7 @@ typedef enum { LEVELING_SETTIGNS_UI, LEVELING_PARA_UI, DELTA_LEVELING_PARA_UI, - XYZ_LEVELING_PARA_UI, + MANUAL_LEVELING_POSIGION_UI, MAXFEEDRATE_UI, STEPS_UI, ACCELERATION_UI, @@ -232,7 +310,10 @@ typedef enum { PAUSE_POS_UI, TMC_CURRENT_UI, TMC_MODE_UI, - EEPROM_SETTINGS_UI + EEPROM_SETTINGS_UI, + WIFI_SETTINGS_UI, + HOMING_SENSITIVITY_UI, + ENCODER_SETTINGS_UI } DISP_STATE; typedef struct { @@ -285,10 +366,45 @@ typedef enum { pause_pos_x, pause_pos_y, - pause_pos_z + pause_pos_z, + + level_pos_x1, + level_pos_y1, + level_pos_x2, + level_pos_y2, + level_pos_x3, + level_pos_y3, + level_pos_x4, + level_pos_y4, + level_pos_x5, + level_pos_y5 + #if HAS_BED_PROBE + , + x_offset, + y_offset, + z_offset + #endif + , + load_length, + load_speed, + unload_length, + unload_speed, + filament_temp, + + x_sensitivity, + y_sensitivity, + z_sensitivity, + z2_sensitivity +} num_key_value_state; +extern num_key_value_state value; -}value_state; -extern value_state value; +typedef enum { + wifiName, + wifiPassWord, + wifiConfig, + gcodeCommand +} keyboard_value_state; +extern keyboard_value_state keyboard_value; extern CFG_ITMES gCfgItems; extern UI_CFG uiCfg; @@ -305,6 +421,10 @@ extern lv_style_t style_para_value_rel; extern lv_style_t style_num_key_pre; extern lv_style_t style_num_key_rel; extern lv_style_t style_num_text; +extern lv_style_t style_sel_text; +extern lv_style_t style_para_value; +extern lv_style_t style_para_back; +extern lv_style_t lv_bar_style_indic; extern lv_point_t line_points[4][2]; @@ -314,6 +434,8 @@ extern void tft_style_init(); extern char *creat_title_text(void); extern void preview_gcode_prehandle(char *path); extern void update_spi_flash(); +extern void update_gcode_command(int addr,uint8_t *s); +extern void get_gcode_command(int addr,uint8_t *d); #if HAS_GCODE_PREVIEW extern void disp_pre_gcode(int xpos_pixel, int ypos_pixel); #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.cpp new file mode 100644 index 000000000000..9cf4555b25fe --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.cpp @@ -0,0 +1,222 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "../../../../../Configuration.h" +#include "../../../../module/temperature.h" + +extern lv_group_t * g; +static lv_obj_t *scr, *wifi_name_text, *wifi_key_text, *wifi_state_text, *wifi_ip_text; + +#define ID_W_RETURN 1 +#define ID_W_CLOUD 2 +#define ID_W_RECONNECT 3 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_W_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + clear_cur_ui(); + lv_draw_set(); + } + break; + case ID_W_CLOUD: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + //clear_cur_ui(); + //draw_return_ui(); + } + break; + case ID_W_RECONNECT: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + clear_cur_ui(); + lv_draw_wifi_list(); + } + break; + } +} + +void lv_draw_wifi(void) { + lv_obj_t *buttonBack=NULL,*label_Back=NULL; + lv_obj_t *buttonCloud=NULL,*label_Cloud=NULL; + lv_obj_t *buttonReconnect=NULL,*label_Reconnect=NULL; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != WIFI_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = WIFI_UI; + } + disp_state = WIFI_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + // Create an Image button + buttonBack = lv_imgbtn_create(scr, NULL); + if (gCfgItems.wifi_mode_sel == STA_MODEL) { + //buttonCloud = lv_imgbtn_create(scr, NULL); + buttonReconnect = lv_imgbtn_create(scr, NULL); + } + + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_W_RETURN, NULL,0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_return.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_return.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonBack); + #endif + + lv_obj_set_pos(buttonBack,BTN_X_PIXEL*3+INTERVAL_V*4, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + if (gCfgItems.wifi_mode_sel == STA_MODEL) { + + lv_obj_set_event_cb_mks(buttonReconnect, event_handler,ID_W_RECONNECT, NULL,0); + lv_imgbtn_set_src(buttonReconnect, LV_BTN_STATE_REL, "F:/bmp_wifi.bin"); + lv_imgbtn_set_src(buttonReconnect, LV_BTN_STATE_PR, "F:/bmp_wifi.bin"); + lv_imgbtn_set_style(buttonReconnect, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonReconnect, LV_BTN_STATE_REL, &tft_style_label_rel); + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_add_obj(g, buttonReconnect); + #endif + + lv_obj_set_pos(buttonReconnect,BTN_X_PIXEL*2+INTERVAL_V*3, BTN_Y_PIXEL+INTERVAL_H+titleHeight); + lv_btn_set_layout(buttonReconnect, LV_LAYOUT_OFF); + } + + label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.wifi_mode_sel == STA_MODEL) { + //label_Cloud = lv_label_create(buttonCloud, NULL); + label_Reconnect = lv_label_create(buttonReconnect, NULL); + } + + if (gCfgItems.multiple_language !=0) { + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + if (gCfgItems.wifi_mode_sel == STA_MODEL) { + //lv_label_set_text(label_Cloud, common_menu.text_back); + //lv_obj_align(label_Cloud, buttonCloud, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + + lv_label_set_text(label_Reconnect, wifi_menu.reconnect); + lv_obj_align(label_Reconnect, buttonReconnect, LV_ALIGN_IN_BOTTOM_MID,0, BUTTON_TEXT_Y_OFFSET); + } + } + + wifi_ip_text = lv_label_create(scr, NULL); + lv_obj_set_style(wifi_ip_text, &tft_style_label_rel); + + wifi_name_text = lv_label_create(scr, NULL); + lv_obj_set_style(wifi_name_text, &tft_style_label_rel); + + wifi_key_text = lv_label_create(scr, NULL); + lv_obj_set_style(wifi_key_text, &tft_style_label_rel); + + wifi_state_text = lv_label_create(scr, NULL); + lv_obj_set_style(wifi_state_text, &tft_style_label_rel); + + disp_wifi_state(); +} + +void disp_wifi_state() { + memset(public_buf_m, 0, sizeof(public_buf_m)); + strcpy(public_buf_m,wifi_menu.ip); + strcat(public_buf_m,ipPara.ip_addr); + lv_label_set_text(wifi_ip_text, public_buf_m); + lv_obj_align(wifi_ip_text, NULL, LV_ALIGN_CENTER,0, -100); + + memset(public_buf_m, 0, sizeof(public_buf_m)); + strcpy(public_buf_m,wifi_menu.wifi); + strcat(public_buf_m,wifiPara.ap_name); + lv_label_set_text(wifi_name_text, public_buf_m); + lv_obj_align(wifi_name_text, NULL, LV_ALIGN_CENTER,0, -70); + + if (wifiPara.mode == AP_MODEL) { + memset(public_buf_m, 0, sizeof(public_buf_m)); + strcpy(public_buf_m,wifi_menu.key); + strcat(public_buf_m,wifiPara.keyCode); + lv_label_set_text(wifi_key_text, public_buf_m); + lv_obj_align(wifi_key_text, NULL, LV_ALIGN_CENTER,0, -40); + + memset(public_buf_m, 0, sizeof(public_buf_m)); + strcpy(public_buf_m,wifi_menu.state_ap); + if (wifi_link_state == WIFI_CONNECTED) + strcat(public_buf_m,wifi_menu.connected); + else if (wifi_link_state == WIFI_NOT_CONFIG) + strcat(public_buf_m,wifi_menu.disconnected); + else + strcat(public_buf_m,wifi_menu.exception); + lv_label_set_text(wifi_state_text, public_buf_m); + lv_obj_align(wifi_state_text, NULL, LV_ALIGN_CENTER,0, -10); + } + else { + ZERO(public_buf_m); + strcpy(public_buf_m, wifi_menu.state_sta); + if (wifi_link_state == WIFI_CONNECTED) + strcat(public_buf_m, wifi_menu.connected); + else if (wifi_link_state == WIFI_NOT_CONFIG) + strcat(public_buf_m, wifi_menu.disconnected); + else + strcat(public_buf_m, wifi_menu.exception); + lv_label_set_text(wifi_state_text, public_buf_m); + lv_obj_align(wifi_state_text, NULL, LV_ALIGN_CENTER,0, -40); + + lv_label_set_text(wifi_key_text, ""); + lv_obj_align(wifi_key_text, NULL, LV_ALIGN_CENTER,0, -10); + } +} + +void lv_clear_wifi() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // USE_WIFI_FUNCTION +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.h new file mode 100644 index 000000000000..966a84d3b19b --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi.h @@ -0,0 +1,38 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + + +extern void lv_draw_wifi(void); +extern void lv_clear_wifi(); +extern void disp_wifi_state(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif + + + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.cpp new file mode 100644 index 000000000000..14fd63f85282 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.cpp @@ -0,0 +1,235 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "../../../../../Configuration.h" +#include "../../../../module/temperature.h" + +#define NAME_BTN_X 330 +#define NAME_BTN_Y 48 + +#define MARK_BTN_X 0 +#define MARK_BTN_Y 68 + +WIFI_LIST wifi_list; +list_menu_def list_menu; + +extern lv_group_t * g; +static lv_obj_t * scr; +static lv_obj_t *buttonWifiN[NUMBER_OF_PAGE]; +static lv_obj_t *lableWifiText[NUMBER_OF_PAGE]; +static lv_obj_t *lablePageText; + +#define ID_WL_RETURN 11 +#define ID_WL_DOWN 12 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + if (obj->mks_obj_id == ID_WL_RETURN) { + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + clear_cur_ui(); + lv_draw_set(); + } + } + else if (obj->mks_obj_id == ID_WL_DOWN) { + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (wifi_list.getNameNum > 0) { + if ((wifi_list.nameIndex + NUMBER_OF_PAGE) >= wifi_list.getNameNum) { + wifi_list.nameIndex = 0; + wifi_list.currentWifipage = 1; + } + else { + wifi_list.nameIndex += NUMBER_OF_PAGE; + wifi_list.currentWifipage++; + } + disp_wifi_list(); + } + } + } + else { + for (uint8_t i = 0; i < NUMBER_OF_PAGE; i++) { + if (obj->mks_obj_id == i + 1) { + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (wifi_list.getNameNum != 0) { + const bool do_wifi = wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName, (const char *)wifi_list.wifiName[wifi_list.nameIndex + i]) == 0; + wifi_list.nameIndex += i; + last_disp_state = WIFI_LIST_UI; + lv_clear_wifi_list(); + if (do_wifi) + lv_draw_wifi(); + else { + keyboard_value = wifiConfig; + lv_draw_keyboard(); + } + } + } + } + } + } +} + +void lv_draw_wifi_list(void) { + lv_obj_t *buttonBack = NULL, *buttonDown = NULL; + + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != WIFI_LIST_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = WIFI_LIST_UI; + } + disp_state = WIFI_LIST_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); + lv_label_set_text(title, creat_title_text()); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + buttonDown = lv_imgbtn_create(scr, NULL); + buttonBack = lv_imgbtn_create(scr, NULL); + + lv_obj_set_event_cb_mks(buttonDown, event_handler,ID_WL_DOWN,NULL,0); + lv_imgbtn_set_src(buttonDown, LV_BTN_STATE_REL, "F:/bmp_pageDown.bin"); + lv_imgbtn_set_src(buttonDown, LV_BTN_STATE_PR, "F:/bmp_pageDown.bin"); + lv_imgbtn_set_style(buttonDown, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonDown, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_event_cb_mks(buttonBack, event_handler,ID_WL_RETURN,NULL,0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + + lv_obj_set_pos(buttonDown,OTHER_BTN_XPIEL*3+INTERVAL_V*4,titleHeight+OTHER_BTN_YPIEL+INTERVAL_H); + lv_obj_set_pos(buttonBack,OTHER_BTN_XPIEL*3+INTERVAL_V*4,titleHeight+OTHER_BTN_YPIEL*2+INTERVAL_H*2); + + lv_btn_set_layout(buttonDown, LV_LAYOUT_OFF); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + + for (uint8_t i = 0; i < NUMBER_OF_PAGE; i++) { + buttonWifiN[i] = lv_btn_create(scr, NULL); /*Add a button the current screen*/ + lv_obj_set_pos(buttonWifiN[i], 0,NAME_BTN_Y*i+10+titleHeight); /*Set its position*/ + lv_obj_set_size(buttonWifiN[i], NAME_BTN_X,NAME_BTN_Y); /*Set its size*/ + lv_obj_set_event_cb_mks(buttonWifiN[i], event_handler,(i+1),NULL,0); + lv_btn_set_style(buttonWifiN[i], LV_BTN_STYLE_REL, &tft_style_label_rel); /*Set the button's released style*/ + lv_btn_set_style(buttonWifiN[i], LV_BTN_STYLE_PR, &tft_style_label_pre); /*Set the button's pressed style*/ + lv_btn_set_layout(buttonWifiN[i], LV_LAYOUT_OFF); + lableWifiText[i] = lv_label_create(buttonWifiN[i], NULL); + #if HAS_ROTARY_ENCODER + uint8_t j = 0; + if (gCfgItems.encoder_enable) { + j = wifi_list.nameIndex + i; + if (j < wifi_list.getNameNum) lv_group_add_obj(g, buttonWifiN[i]); + } + #endif + } + + lablePageText = lv_label_create(scr, NULL); + lv_obj_set_style(lablePageText, &tft_style_label_rel); + + wifi_list.nameIndex = 0; + wifi_list.currentWifipage = 1; + + if (wifi_link_state == WIFI_CONNECTED && wifiPara.mode == STA_MODEL) { + memset(wifi_list.wifiConnectedName, 0, sizeof(&wifi_list.wifiConnectedName)); + memcpy(wifi_list.wifiConnectedName, wifiPara.ap_name, sizeof(wifi_list.wifiConnectedName)); + } + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonDown); + lv_group_add_obj(g, buttonBack); + } + #endif + + disp_wifi_list(); +} + +void disp_wifi_list(void) { + int8_t tmpStr[WIFI_NAME_BUFFER_SIZE] = { 0 }; + uint8_t i, j; + + sprintf((char *)tmpStr, list_menu.file_pages, wifi_list.currentWifipage, wifi_list.getPage); + lv_label_set_text(lablePageText, (const char *)tmpStr); + lv_obj_align(lablePageText, NULL, LV_ALIGN_CENTER, 50, -100); + + for (i = 0; i < NUMBER_OF_PAGE; i++) { + memset(tmpStr, 0, sizeof(tmpStr)); + + j = wifi_list.nameIndex + i; + if (j >= wifi_list.getNameNum) { + lv_label_set_text(lableWifiText[i], (const char *)tmpStr); + lv_obj_align(lableWifiText[i], buttonWifiN[i], LV_ALIGN_IN_LEFT_MID, 20, 0); + } + else { + lv_label_set_text(lableWifiText[i], (char const *)wifi_list.wifiName[j]); + lv_obj_align(lableWifiText[i], buttonWifiN[i], LV_ALIGN_IN_LEFT_MID, 20, 0); + + if (wifi_link_state == WIFI_CONNECTED && strcmp((const char *)wifi_list.wifiConnectedName, (const char *)wifi_list.wifiName[j]) == 0) { + lv_btn_set_style(buttonWifiN[i], LV_BTN_STYLE_REL, &style_sel_text); + } + else { + lv_btn_set_style(buttonWifiN[i], LV_BTN_STYLE_REL, &tft_style_label_rel); + } + } + } +} + +void wifi_scan_handle() { + if (uiCfg.dialogType != WIFI_ENABLE_TIPS || uiCfg.command_send != 1) return; + last_disp_state = DIALOG_UI; + lv_clear_dialog(); + if (wifi_link_state == WIFI_CONNECTED && wifiPara.mode != AP_MODEL) + lv_draw_wifi(); + else + lv_draw_wifi_list(); +} + +void lv_clear_wifi_list() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // USE_WIFI_FUNCTION + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.h new file mode 100644 index 000000000000..e2d9275ef918 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_list.h @@ -0,0 +1,76 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +extern void lv_draw_wifi_list(); +extern void lv_clear_wifi_list(); +extern void disp_wifi_list(void); +extern void cutWifiName(char *name, int len,char *outStr); +extern void wifi_scan_handle(); + +#define NUMBER_OF_PAGE 5 + +#define WIFI_TOTAL_NUMBER 20 +#define WIFI_NAME_BUFFER_SIZE 33 + +typedef struct { + int8_t getNameNum; + int8_t nameIndex; + int8_t currentWifipage; + int8_t getPage; + int8_t RSSI[WIFI_TOTAL_NUMBER]; + uint8_t wifiName[WIFI_TOTAL_NUMBER][WIFI_NAME_BUFFER_SIZE]; + uint8_t wifiConnectedName[WIFI_NAME_BUFFER_SIZE]; +} WIFI_LIST; +extern WIFI_LIST wifi_list; + +typedef struct list_menu_disp { + const char *title; + const char *file_pages; +} list_menu_def; +extern list_menu_def list_menu; + +typedef struct keyboard_menu_disp { + const char *title; + const char *apply; + const char *password; + const char *letter; + const char *digital; + const char *symbol; + const char *space; +} keyboard_menu_def; +extern keyboard_menu_def keyboard_menu; + +typedef struct tips_menu_disp { + const char *joining; + const char *failedJoin; + const char *wifiConected; +} tips_menu_def; +extern tips_menu_def tips_menu; + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.cpp new file mode 100644 index 000000000000..86733470ddbb --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.cpp @@ -0,0 +1,299 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "../../../../../Configuration.h" +#include "../../../../module/planner.h" + +extern lv_group_t * g; +static lv_obj_t *scr, *labelModelValue = NULL, *buttonModelValue = NULL, *labelCloudValue = NULL; + +#define ID_WIFI_RETURN 1 +#define ID_WIFI_MODEL 2 +#define ID_WIFI_NAME 3 +#define ID_WIFI_PASSWORD 4 +#define ID_WIFI_CLOUD 5 +#define ID_WIFI_CONFIG 6 + +static void event_handler(lv_obj_t * obj, lv_event_t event) { + switch (obj->mks_obj_id) { + case ID_WIFI_RETURN: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_wifi_settings(); + draw_return_ui(); + } + break; + case ID_WIFI_MODEL: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (gCfgItems.wifi_mode_sel == AP_MODEL) { + gCfgItems.wifi_mode_sel = STA_MODEL; + lv_label_set_text(labelModelValue, WIFI_STA_TEXT); + lv_obj_align(labelModelValue, buttonModelValue, LV_ALIGN_CENTER,0, 0); + update_spi_flash(); + } + else{ + gCfgItems.wifi_mode_sel = AP_MODEL; + lv_label_set_text(labelModelValue, WIFI_AP_TEXT); + lv_obj_align(labelModelValue, buttonModelValue, LV_ALIGN_CENTER,0, 0); + update_spi_flash(); + } + } + break; + case ID_WIFI_NAME: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + keyboard_value=wifiName; + lv_clear_wifi_settings(); + lv_draw_keyboard(); + } + break; + case ID_WIFI_PASSWORD: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + keyboard_value=wifiPassWord; + lv_clear_wifi_settings(); + lv_draw_keyboard(); + } + break; + case ID_WIFI_CLOUD: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + if (gCfgItems.cloud_enable) { + gCfgItems.cloud_enable = false; + lv_obj_set_event_cb_mks(obj, event_handler,ID_WIFI_CLOUD,"bmp_disable.bin",0); + lv_label_set_text(labelCloudValue, machine_menu.disable); + update_spi_flash(); + } + else { + gCfgItems.cloud_enable = true; + lv_obj_set_event_cb_mks(obj, event_handler,ID_WIFI_CLOUD,"bmp_enable.bin",0); + lv_label_set_text(labelCloudValue, machine_menu.enable); + update_spi_flash(); + } + } + break; + case ID_WIFI_CONFIG: + if (event == LV_EVENT_CLICKED) { + + } + else if (event == LV_EVENT_RELEASED) { + lv_clear_wifi_settings(); + lv_draw_dialog(DIALOG_WIFI_CONFIG_TIPS); + } + break; + } +} + +void lv_draw_wifi_settings(void) { + lv_obj_t *buttonBack = NULL, *label_Back = NULL, *buttonConfig = NULL, *labelConfig = NULL; + lv_obj_t *labelModelText = NULL; + lv_obj_t *labelNameText = NULL, *buttonNameValue = NULL, *labelNameValue = NULL; + lv_obj_t *labelPassWordText = NULL, *buttonPassWordValue = NULL, *labelPassWordValue = NULL; + lv_obj_t *labelCloudText = NULL, *buttonCloudValue = NULL; + lv_obj_t * line1 = NULL, *line2 = NULL, *line3 = NULL, *line4 = NULL; + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != WIFI_SETTINGS_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = WIFI_SETTINGS_UI; + } + disp_state = WIFI_SETTINGS_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + + lv_obj_t * title = lv_label_create(scr, NULL); + lv_obj_set_style(title, &tft_style_label_rel); + lv_obj_set_pos(title,TITLE_XPOS,TITLE_YPOS); + lv_label_set_text(title, machine_menu.WifiConfTitle); + + lv_refr_now(lv_refr_get_disp_refreshing()); + + labelModelText = lv_label_create(scr, NULL); + lv_obj_set_style(labelModelText, &tft_style_label_rel); + lv_obj_set_pos(labelModelText, PARA_UI_POS_X, PARA_UI_POS_Y + 10); + lv_label_set_text(labelModelText, machine_menu.wifiMode); + + buttonModelValue = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonModelValue,PARA_UI_VALUE_POS_X,PARA_UI_POS_Y+PARA_UI_VALUE_V); + lv_obj_set_event_cb_mks(buttonModelValue, event_handler,ID_WIFI_MODEL, NULL,0); + lv_imgbtn_set_src(buttonModelValue, LV_BTN_STATE_REL, "F:/bmp_blank_sel.bin"); + lv_imgbtn_set_src(buttonModelValue, LV_BTN_STATE_PR, "F:/bmp_blank_sel.bin"); + lv_imgbtn_set_style(buttonModelValue, LV_BTN_STATE_PR, &style_para_value_pre); + lv_imgbtn_set_style(buttonModelValue, LV_BTN_STATE_REL, &style_para_value_pre); + lv_btn_set_layout(buttonModelValue, LV_LAYOUT_OFF); + labelModelValue = lv_label_create(buttonModelValue, NULL); + + line1 = lv_line_create(scr, NULL); + lv_ex_line(line1,line_points[0]); + + labelNameText = lv_label_create(scr, NULL); + lv_obj_set_style(labelNameText, &tft_style_label_rel); + lv_obj_set_pos(labelNameText, PARA_UI_POS_X, PARA_UI_POS_Y * 2 + 10); + + buttonNameValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonNameValue,PARA_UI_VALUE_POS_X,PARA_UI_POS_Y*2+PARA_UI_VALUE_V); + lv_obj_set_size(buttonNameValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonNameValue, event_handler,ID_WIFI_NAME, NULL,0); + lv_btn_set_style(buttonNameValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonNameValue, LV_BTN_STYLE_PR, &style_para_value); + labelNameValue = lv_label_create(buttonNameValue, NULL); + + line2 = lv_line_create(scr, NULL); + lv_ex_line(line2,line_points[1]); + + labelPassWordText = lv_label_create(scr, NULL); + lv_obj_set_style(labelPassWordText, &tft_style_label_rel); + lv_obj_set_pos(labelPassWordText, PARA_UI_POS_X, PARA_UI_POS_Y * 3 + 10); + + buttonPassWordValue = lv_btn_create(scr, NULL); + lv_obj_set_pos(buttonPassWordValue,PARA_UI_VALUE_POS_X,PARA_UI_POS_Y*3+PARA_UI_VALUE_V); + lv_obj_set_size(buttonPassWordValue, PARA_UI_VALUE_BTN_X_SIZE, PARA_UI_VALUE_BTN_Y_SIZE); + lv_obj_set_event_cb_mks(buttonPassWordValue, event_handler,ID_WIFI_PASSWORD, NULL,0); + lv_btn_set_style(buttonPassWordValue, LV_BTN_STYLE_REL, &style_para_value); + lv_btn_set_style(buttonPassWordValue, LV_BTN_STYLE_PR, &style_para_value); + labelPassWordValue = lv_label_create(buttonPassWordValue, NULL); + + line3 = lv_line_create(scr, NULL); + lv_ex_line(line3,line_points[2]); + + labelCloudText = lv_label_create(scr, NULL); + lv_obj_set_style(labelCloudText, &tft_style_label_rel); + lv_obj_set_pos(labelCloudText, PARA_UI_POS_X, PARA_UI_POS_Y * 4 + 10); + lv_label_set_text(labelCloudText, machine_menu.wifiCloud); + + buttonCloudValue = lv_imgbtn_create(scr, NULL); + lv_obj_set_pos(buttonCloudValue,PARA_UI_STATE_POS_X,PARA_UI_POS_Y*4+PARA_UI_STATE_V); + if (gCfgItems.cloud_enable) { + lv_imgbtn_set_src(buttonCloudValue, LV_BTN_STATE_REL, "F:/bmp_enable.bin"); + lv_imgbtn_set_src(buttonCloudValue, LV_BTN_STATE_PR, "F:/bmp_enable.bin"); + } + else { + lv_imgbtn_set_src(buttonCloudValue, LV_BTN_STATE_REL, "F:/bmp_disable.bin"); + lv_imgbtn_set_src(buttonCloudValue, LV_BTN_STATE_PR, "F:/bmp_disable.bin"); + } + lv_obj_set_event_cb_mks(buttonCloudValue, event_handler,ID_WIFI_CLOUD, NULL,0); + lv_imgbtn_set_style(buttonCloudValue, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonCloudValue, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_btn_set_layout(buttonCloudValue, LV_LAYOUT_OFF); + labelCloudValue = lv_label_create(buttonCloudValue, NULL); + + line4 = lv_line_create(scr, NULL); + lv_ex_line(line4,line_points[3]); + + buttonConfig = lv_imgbtn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonConfig, event_handler,ID_WIFI_CONFIG, NULL,0); + lv_imgbtn_set_src(buttonConfig, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonConfig, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_style(buttonConfig, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonConfig, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_set_pos(buttonConfig, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y); + lv_btn_set_layout(buttonConfig, LV_LAYOUT_OFF); + labelConfig = lv_label_create(buttonConfig, NULL); + + buttonBack = lv_imgbtn_create(scr, NULL); + lv_obj_set_event_cb_mks(buttonBack, event_handler, ID_WIFI_RETURN, NULL, 0); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_REL, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_src(buttonBack, LV_BTN_STATE_PR, "F:/bmp_back70x40.bin"); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_PR, &tft_style_label_pre); + lv_imgbtn_set_style(buttonBack, LV_BTN_STATE_REL, &tft_style_label_rel); + lv_obj_set_pos(buttonBack, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y); + lv_btn_set_layout(buttonBack, LV_LAYOUT_OFF); + label_Back = lv_label_create(buttonBack, NULL); + + if (gCfgItems.multiple_language !=0) { + if (gCfgItems.wifi_mode_sel == AP_MODEL) { + lv_label_set_text(labelModelValue, WIFI_AP_TEXT); + lv_obj_align(labelModelValue, buttonModelValue, LV_ALIGN_CENTER,0, 0); + } + else { + lv_label_set_text(labelModelValue, WIFI_STA_TEXT); + lv_obj_align(labelModelValue, buttonModelValue, LV_ALIGN_CENTER,0, 0); + } + memset(public_buf_m,0,sizeof(public_buf_m)); + strcat(public_buf_m,machine_menu.wifiName); + strcat(public_buf_m,(const char *)uiCfg.wifi_name); + lv_label_set_text(labelNameText,public_buf_m); + + lv_label_set_text(labelNameValue,machine_menu.wifiEdit); + lv_obj_align(labelNameValue, buttonNameValue, LV_ALIGN_CENTER,0, 0); + + memset(public_buf_m,0,sizeof(public_buf_m)); + strcat(public_buf_m,machine_menu.wifiPassWord); + strcat(public_buf_m,(const char *)uiCfg.wifi_key); + lv_label_set_text(labelPassWordText,public_buf_m); + + lv_label_set_text(labelPassWordValue,machine_menu.wifiEdit); + lv_obj_align(labelPassWordValue, buttonPassWordValue, LV_ALIGN_CENTER,0, 0); + + lv_label_set_text(labelCloudValue, gCfgItems.cloud_enable ? machine_menu.enable : machine_menu.disable); + lv_obj_align(labelCloudValue, buttonCloudValue, LV_ALIGN_CENTER,0, 0); + + lv_label_set_text(labelConfig,machine_menu.wifiConfig); + lv_obj_align(labelConfig, buttonConfig, LV_ALIGN_CENTER,0, 0); + + lv_label_set_text(label_Back, common_menu.text_back); + lv_obj_align(label_Back, buttonBack, LV_ALIGN_CENTER,0, 0); + } + + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) { + lv_group_add_obj(g, buttonModelValue); + lv_group_add_obj(g, buttonNameValue); + lv_group_add_obj(g, buttonPassWordValue); + lv_group_add_obj(g, buttonCloudValue); + lv_group_add_obj(g, buttonConfig); + lv_group_add_obj(g, buttonBack); + } + #endif +} + +void lv_clear_wifi_settings() { + #if HAS_ROTARY_ENCODER + if (gCfgItems.encoder_enable) lv_group_remove_all_objs(g); + #endif + lv_obj_del(scr); +} + +#endif // USE_WIFI_FUNCTION + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.h new file mode 100644 index 000000000000..c0d6e0ccdd78 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_settings.h @@ -0,0 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +#define WIFI_AP_TEXT "AP" +#define WIFI_STA_TEXT "STA" + +extern void lv_draw_wifi_settings(void); +extern void lv_clear_wifi_settings(); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.cpp new file mode 100644 index 000000000000..50fa0aaf99c7 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.cpp @@ -0,0 +1,85 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "lv_conf.h" +#include "draw_ui.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "../../../../../Configuration.h" +#include "../../../../module/temperature.h" + +static lv_obj_t * scr; + +TIPS_TYPE wifi_tips_type; +TIPS_DISP tips_disp; +tips_menu_def tips_menu; + +void lv_draw_wifi_tips(void) { + static lv_obj_t * text_tips,*wifi_name; + + if (disp_state_stack._disp_state[disp_state_stack._disp_index] != WIFI_TIPS_UI) { + disp_state_stack._disp_index++; + disp_state_stack._disp_state[disp_state_stack._disp_index] = WIFI_TIPS_UI; + } + disp_state = WIFI_TIPS_UI; + + scr = lv_obj_create(NULL, NULL); + + lv_obj_set_style(scr, &tft_style_scr); + lv_scr_load(scr); + lv_obj_clean(scr); + lv_refr_now(lv_refr_get_disp_refreshing()); + + text_tips = lv_label_create(scr, NULL); + lv_obj_set_style(text_tips, &tft_style_label_rel); + + wifi_name = lv_label_create(scr, NULL); + lv_obj_set_style(wifi_name, &tft_style_label_rel); + + if (wifi_tips_type == TIPS_TYPE_JOINING) { + lv_label_set_text(text_tips, tips_menu.joining); + lv_obj_align(text_tips, NULL, LV_ALIGN_CENTER,0, -60); + } + else if (wifi_tips_type == TIPS_TYPE_TAILED_JOIN) { + lv_label_set_text(text_tips, tips_menu.failedJoin); + lv_obj_align(text_tips, NULL, LV_ALIGN_CENTER,0, -60); + } + else if (wifi_tips_type == TIPS_TYPE_WIFI_CONECTED) { + lv_label_set_text(text_tips, tips_menu.wifiConected); + lv_obj_align(text_tips, NULL, LV_ALIGN_CENTER,0, -60); + } + + lv_label_set_text(wifi_name, (const char *)wifi_list.wifiName[wifi_list.nameIndex]); + lv_obj_align(wifi_name, NULL, LV_ALIGN_CENTER,0, -20); + + tips_disp.timer = TIPS_TIMER_START; + tips_disp.timer_count = 0; +} + +void lv_clear_wifi_tips() { lv_obj_del(scr); } + +#endif // USE_WIFI_FUNCTION +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.h new file mode 100644 index 000000000000..4f81f00a434d --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_wifi_tips.h @@ -0,0 +1,51 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + + +extern void lv_draw_wifi_tips(void); +extern void lv_clear_wifi_tips(); + +typedef enum { + TIPS_TYPE_JOINING, + TIPS_TYPE_TAILED_JOIN, + TIPS_TYPE_WIFI_CONECTED +} TIPS_TYPE; +extern TIPS_TYPE wifi_tips_type; + +typedef struct { + unsigned char timer; + unsigned int timer_count; +} TIPS_DISP; +extern TIPS_DISP tips_disp; + +#define TIPS_TIMER_START 1 +#define TIPS_TIMER_STOP 0 + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif + diff --git a/Marlin/src/lcd/extui/lib/mks_ui/irq_overrid.cpp b/Marlin/src/lcd/extui/lib/mks_ui/irq_overrid.cpp new file mode 100644 index 000000000000..cf64571292bf --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/irq_overrid.cpp @@ -0,0 +1,69 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "draw_ui.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "wifiSerial.h" + +#include +#include +#include +#include +#include + +#include "../../../../inc/MarlinConfig.h" + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH); +#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW); + +void __irq_usart1(void) { + WIFISERIAL.wifi_usart_irq(USART1_BASE); + if (wifi_link_state == WIFI_TRANS_FILE) { + if (WIFISERIAL.available() == (400)) WIFI_IO1_SET(); + if (WIFISERIAL.wifi_rb_is_full()) { + if (esp_state == TRANSFER_IDLE) esp_state = TRANSFERING; + if (storeRcvData(UART_RX_BUFFER_SIZE)) { + if (wifiTransError.flag != 0x1) WIFI_IO1_RESET(); + } + else { + WIFI_IO1_SET(); + esp_state = TRANSFER_STORE; + } + } + } +} + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif + +#endif // USE_WIFI_FUNCTION +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp index 297ba723de8f..743863d1f702 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp @@ -38,7 +38,10 @@ #include "../../../../module/temperature.h" #include "../../../../sd/cardreader.h" -uint8_t pw_det_sta, pw_off_sta, mt_det_sta, mt_det2_sta, mt_det3_sta; +uint8_t pw_det_sta, pw_off_sta, mt_det_sta, mt_det3_sta; +#if PIN_EXISTS(MT_DET_2) + uint8_t mt_det2_sta; +#endif uint8_t endstopx1_sta, endstopx2_sta, endstopy1_sta, endstopy2_sta, endstopz1_sta, endstopz2_sta; void test_gpio_readlevel_L() { #if ENABLED(MKS_TEST) @@ -46,15 +49,17 @@ void test_gpio_readlevel_L() { WRITE(WIFI_IO0_PIN, HIGH); itest = 10000; while (itest--); - pw_det_sta = (READ(POWER_LOSS_PIN) == 0); - pw_off_sta = (READ(PS_ON_PIN) == 0); + pw_det_sta = (READ(MKS_TEST_POWER_LOSS_PIN) == 0); + pw_off_sta = (READ(MKS_TEST_PS_ON_PIN) == 0); mt_det_sta = (READ(MT_DET_1_PIN) == 0); - mt_det2_sta = (READ(MT_DET_2_PIN) == 0); + #if PIN_EXISTS(MT_DET_2) + mt_det2_sta = (READ(MT_DET_2_PIN) == 0); + #endif //mt_det3_sta = (READ(FIL_RUNOUT_3_PIN) == 0); endstopx1_sta = (READ(X_MIN_PIN) == 0); - endstopx2_sta = (READ(X_MAX_PIN) == 0); + //endstopx2_sta = (READ(X_MAX_PIN) == 0); endstopy1_sta = (READ(Y_MIN_PIN) == 0); - endstopy2_sta = (READ(Y_MAX_PIN) == 0); + //endstopy2_sta = (READ(Y_MAX_PIN) == 0); endstopz1_sta = (READ(Z_MIN_PIN) == 0); endstopz2_sta = (READ(Z_MAX_PIN) == 0); #endif @@ -66,15 +71,17 @@ void test_gpio_readlevel_H() { WRITE(WIFI_IO0_PIN, LOW); itest = 10000; while (itest--); - pw_det_sta = (READ(POWER_LOSS_PIN) == 1); - pw_off_sta = (READ(PS_ON_PIN) == 1); + pw_det_sta = (READ(MKS_TEST_POWER_LOSS_PIN) == 1); + pw_off_sta = (READ(MKS_TEST_PS_ON_PIN) == 1); mt_det_sta = (READ(MT_DET_1_PIN) == 1); - mt_det2_sta = (READ(MT_DET_2_PIN) == 1); + #if PIN_EXISTS(MT_DET_2) + mt_det2_sta = (READ(MT_DET_2_PIN) == 1); + #endif //mt_det3_sta = (READ(MT_DET_3_PIN) == 1); endstopx1_sta = (READ(X_MIN_PIN) == 1); - endstopx2_sta = (READ(X_MAX_PIN) == 1); + //endstopx2_sta = (READ(X_MAX_PIN) == 1); endstopy1_sta = (READ(Y_MIN_PIN) == 1); - endstopy2_sta = (READ(Y_MAX_PIN) == 1); + //endstopy2_sta = (READ(Y_MAX_PIN) == 1); endstopz1_sta = (READ(Z_MIN_PIN) == 1); endstopz2_sta = (READ(Z_MAX_PIN) == 1); #endif @@ -83,20 +90,22 @@ void test_gpio_readlevel_H() { void init_test_gpio() { #ifdef MKS_TEST SET_INPUT_PULLUP(X_MIN_PIN); - SET_INPUT_PULLUP(X_MAX_PIN); + //SET_INPUT_PULLUP(X_MAX_PIN); SET_INPUT_PULLUP(Y_MIN_PIN); - SET_INPUT_PULLUP(Y_MAX_PIN); + //SET_INPUT_PULLUP(Y_MAX_PIN); SET_INPUT_PULLUP(Z_MIN_PIN); SET_INPUT_PULLUP(Z_MAX_PIN); SET_OUTPUT(WIFI_IO0_PIN); SET_INPUT_PULLUP(MT_DET_1_PIN); - SET_INPUT_PULLUP(MT_DET_2_PIN); + #if PIN_EXISTS(MT_DET_2) + SET_INPUT_PULLUP(MT_DET_2_PIN); + #endif //SET_INPUT_PULLUP(MT_DET_3_PIN); - SET_INPUT_PULLUP(POWER_LOSS_PIN); - SET_INPUT_PULLUP(PS_ON_PIN); + SET_INPUT_PULLUP(MKS_TEST_POWER_LOSS_PIN); + SET_INPUT_PULLUP(MKS_TEST_PS_ON_PIN); SET_INPUT_PULLUP(SERVO0_PIN); @@ -104,14 +113,28 @@ void init_test_gpio() { SET_OUTPUT(Y_ENABLE_PIN); SET_OUTPUT(Z_ENABLE_PIN); SET_OUTPUT(E0_ENABLE_PIN); - SET_OUTPUT(E1_ENABLE_PIN); + #if !MB(MKS_ROBIN_E3P) + SET_OUTPUT(E1_ENABLE_PIN); + #endif WRITE(X_ENABLE_PIN, LOW); WRITE(Y_ENABLE_PIN, LOW); WRITE(Z_ENABLE_PIN, LOW); WRITE(E0_ENABLE_PIN, LOW); - WRITE(E1_ENABLE_PIN, LOW); + #if !MB(MKS_ROBIN_E3P) + WRITE(E1_ENABLE_PIN, LOW); + #endif //WRITE(E2_ENABLE_PIN, LOW); + + #if MB(MKS_ROBIN_E3P) + SET_INPUT_PULLUP(PA1); + SET_INPUT_PULLUP(PA3); + SET_INPUT_PULLUP(PC2); + SET_INPUT_PULLUP(PD8); + SET_INPUT_PULLUP(PE5); + SET_INPUT_PULLUP(PE6); + SET_INPUT_PULLUP(PE7); + #endif #endif } @@ -124,22 +147,37 @@ void mks_test_beeper() { #endif } -void mks_gpio_test(){ +void mks_gpio_test() { #if ENABLED(MKS_TEST) init_test_gpio(); test_gpio_readlevel_L(); test_gpio_readlevel_H(); test_gpio_readlevel_L(); - if ((pw_det_sta == 1) && (mt_det_sta == 1) && (mt_det2_sta == 1)) // &&(mt_det3_sta == 1)) + if ((pw_det_sta == 1) + && (pw_off_sta == 1) + && (mt_det_sta == 1) + #if PIN_EXISTS(MT_DET_2) + && (mt_det2_sta == 1) + #endif + #if MB(MKS_ROBIN_E3P) + && (READ(PA1) == 0) + && (READ(PA3) == 0) + && (READ(PC2) == 0) + && (READ(PD8) == 0) + && (READ(PE5) == 0) + && (READ(PE6) == 0) + && (READ(PE7) == 0) + #endif + ) // &&(mt_det3_sta == 1)) disp_det_ok(); else disp_det_error(); if ( (endstopx1_sta == 1) - && (endstopx2_sta == 1) + //&& (endstopx2_sta == 1) && (endstopy1_sta == 1) - && (endstopy2_sta == 1) + //&& (endstopy2_sta == 1) && (endstopz1_sta == 1) && (endstopz2_sta == 1) ) @@ -149,18 +187,22 @@ void mks_gpio_test(){ #endif } -void mks_hardware_test(){ +void mks_hardware_test() { #if ENABLED(MKS_TEST) if (millis() % 2000 < 1000) { WRITE(X_DIR_PIN, LOW); WRITE(Y_DIR_PIN, LOW); WRITE(Z_DIR_PIN, LOW); WRITE(E0_DIR_PIN, LOW); - WRITE(E1_DIR_PIN, LOW); + #if !MB(MKS_ROBIN_E3P) + WRITE(E1_DIR_PIN, LOW); + #endif //WRITE(E2_DIR_PIN, LOW); thermalManager.fan_speed[0] = 255; //WRITE(HEATER_2_PIN, HIGH); // HE2 - WRITE(HEATER_1_PIN, HIGH); // HE1 + #if !MB(MKS_ROBIN_E3P) + WRITE(HEATER_1_PIN, HIGH); // HE1 + #endif WRITE(HEATER_0_PIN, HIGH); // HE0 WRITE(HEATER_BED_PIN, HIGH); // HOT-BED } @@ -169,11 +211,15 @@ void mks_hardware_test(){ WRITE(Y_DIR_PIN, HIGH); WRITE(Z_DIR_PIN, HIGH); WRITE(E0_DIR_PIN, HIGH); - WRITE(E1_DIR_PIN, HIGH); + #if !MB(MKS_ROBIN_E3P) + WRITE(E1_DIR_PIN, HIGH); + #endif //WRITE(E2_DIR_PIN, HIGH); thermalManager.fan_speed[0] = 0; //WRITE(HEATER_2_PIN, LOW); // HE2 - WRITE(HEATER_1_PIN, LOW); // HE1 + #if !MB(MKS_ROBIN_E3P) + WRITE(HEATER_1_PIN, LOW); // HE1 + #endif WRITE(HEATER_0_PIN, LOW); // HE0 WRITE(HEATER_BED_PIN, LOW); // HOT-BED } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp index 447303a88782..e629915309bb 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp @@ -24,6 +24,7 @@ #if HAS_TFT_LVGL_UI #include "string.h" +#include "draw_ui.h" #include "pic_manager.h" #include "draw_ready_print.h" #include "mks_hardware_test.h" @@ -41,59 +42,61 @@ extern unsigned char bmp_public_buf[17 * 1024]; extern char *createFilename(char * const buffer, const dir_t &p); #endif -static char assets[][LONG_FILENAME_LENGTH] = { +static const char assets[][LONG_FILENAME_LENGTH] = { //homing screen - "bmp_Zero.bin", + "bmp_zeroAll.bin", + "bmp_zero.bin", "bmp_zeroX.bin", "bmp_zeroY.bin", "bmp_zeroZ.bin", "bmp_manual_off.bin", //tool screen - "bmp_PreHeat.bin", - "bmp_Extruct.bin", - "bmp_Mov.bin", + "bmp_preHeat.bin", + "bmp_extruct.bin", + "bmp_mov.bin", // "bmp_Zero.bin", - "bmp_Leveling.bin", + "bmp_leveling.bin", + "bmp_filamentchange.bin", //fan screen "bmp_Add.bin", "bmp_Dec.bin", - "bmp_Speed255.bin", - "bmp_Speed127.bin", - "bmp_Speed0.bin", + "bmp_speed255.bin", + "bmp_speed127.bin", + "bmp_speed0.bin", //preheat screen // "bmp_Add.bin", // "bmp_Dec.bin", - "bmp_Speed0.bin", + "bmp_speed0.bin", // "bmp_Extru2.bin", // "bmp_Extru1.bin", - "bmp_Bed.bin", - "bmp_Step1_degree.bin", - "bmp_Step5_degree.bin", - "bmp_Step10_degree.bin", + "bmp_bed.bin", + "bmp_step1_degree.bin", + "bmp_step5_degree.bin", + "bmp_step10_degree.bin", //extrusion screen - "bmp_In.bin", - "bmp_Out.bin", - "bmp_Extru1.bin", - #if EXTRUDERS > 1 - "bmp_Extru2.bin", + "bmp_in.bin", + "bmp_out.bin", + "bmp_extru1.bin", + #if HAS_MULTI_EXTRUDER + "bmp_extru2.bin", #endif - "bmp_Speed_high.bin", - "bmp_Speed_slow.bin", - "bmp_Speed_normal.bin", - "bmp_Step1_mm.bin", - "bmp_Step5_mm.bin", - "bmp_Step10_mm.bin", + "bmp_speed_high.bin", + "bmp_speed_slow.bin", + "bmp_speed_normal.bin", + "bmp_step1_mm.bin", + "bmp_step5_mm.bin", + "bmp_step10_mm.bin", //select file screen "bmp_pageUp.bin", "bmp_pageDown.bin", - "bmp_Back.bin", //TODO: why two back buttons? Why not just one? (return / back) - "bmp_Dir.bin", - "bmp_File.bin", + "bmp_back.bin", //TODO: why two back buttons? Why not just one? (return / back) + "bmp_dir.bin", + "bmp_file.bin", //move motor screen //TODO: 6 equal icons, just in diffenct rotation... it may be optimized too @@ -103,68 +106,69 @@ static char assets[][LONG_FILENAME_LENGTH] = { "bmp_yDec.bin", "bmp_zAdd.bin", "bmp_zDec.bin", - "bmp_Step_move0_1.bin", - "bmp_Step_move1.bin", - "bmp_Step_move10.bin", + "bmp_step_move0_1.bin", + "bmp_step_move1.bin", + "bmp_step_move10.bin", //operation screen "bmp_auto_off.bin", - "bmp_Speed.bin", + "bmp_speed.bin", //"bmp_Mamual.bin", //TODO: didn't find it.. changed to bmp_manual_off.bin - "bmp_Fan.bin", - //"bmp_PreHeat.bin", - //"bmp_Extruct.bin", - // "bmp_Mov.bin", + "bmp_fan.bin", + "bmp_temp.bin", + "bmp_extrude_opr.bin", + "bmp_move_opr.bin", //change speed screen - "bmp_Step1_percent.bin", - "bmp_Step5_percent.bin", - "bmp_Step10_percent.bin", + "bmp_step1_percent.bin", + "bmp_step5_percent.bin", + "bmp_step10_percent.bin", "bmp_extruct_sel.bin", "bmp_mov_changespeed.bin", // "bmp_extrude_opr.bin", equal to "bmp_Extruct.bin" "bmp_mov_sel.bin", + "bmp_speed_extruct.bin", //printing screen - "bmp_Pause.bin", - "bmp_Resume.bin", - "bmp_Stop.bin", - "bmp_Ext1_state.bin", - #if EXTRUDERS > 1 - "bmp_Ext2_state.bin", + "bmp_pause.bin", + "bmp_resume.bin", + "bmp_stop.bin", + "bmp_ext1_state.bin", + #if HAS_MULTI_EXTRUDER + "bmp_ext2_state.bin", #endif - "bmp_Bed_state.bin", - "bmp_Fan_state.bin", - "bmp_Time_state.bin", - "bmp_Zpos_state.bin", - "bmp_Operate.bin", + "bmp_bed_state.bin", + "bmp_fan_state.bin", + "bmp_time_state.bin", + "bmp_zpos_state.bin", + "bmp_operate.bin", //manual leval screen (only if disabled auto level) #if DISABLED(AUTO_BED_LEVELING_BILINEAR) - "bmp_Leveling1.bin", - "bmp_Leveling2.bin", - "bmp_Leveling3.bin", - "bmp_Leveling4.bin", - "bmp_Leveling5.bin", + "bmp_leveling1.bin", + "bmp_leveling2.bin", + "bmp_leveling3.bin", + "bmp_leveling4.bin", + "bmp_leveling5.bin", #endif //lang select screen #if HAS_LANG_SELECT_SCREEN - "bmp_Language.bin", + "bmp_language.bin", "bmp_simplified_cn.bin", "bmp_simplified_cn_sel.bin", "bmp_traditional_cn.bin", "bmp_traditional_cn_sel.bin", - "bmp_English.bin", - "bmp_English_sel.bin", - "bmp_Russian.bin", - "bmp_Russian_sel.bin", - "bmp_Spanish.bin", - "bmp_Spanish_sel.bin", - "bmp_French.bin", - "bmp_French_sel.bin", - "bmp_Italy.bin", - "bmp_Italy_sel.bin", + "bmp_english.bin", + "bmp_english_sel.bin", + "bmp_russian.bin", + "bmp_russian_sel.bin", + "bmp_spanish.bin", + "bmp_spanish_sel.bin", + "bmp_french.bin", + "bmp_french_sel.bin", + "bmp_italy.bin", + "bmp_italy_sel.bin", #endif // HAS_LANG_SELECT_SCREEN // gcode preview @@ -177,21 +181,15 @@ static char assets[][LONG_FILENAME_LENGTH] = { #endif // settings screen - "bmp_About.bin", + "bmp_about.bin", //"bmp_Language.bin", //"bmp_Fan.bin", //"bmp_manual_off.bin", //start screen "bmp_printing.bin", - "bmp_Set.bin", - "bmp_Tool.bin", - - #if ENABLED(HAS_STEALTHCHOP) - //"bmp_back70x40.bin", - "bmp_disable.bin", - "bmp_enable.bin", - #endif + "bmp_set.bin", + "bmp_tool.bin", // settings screen "bmp_eeprom_settings.bin", @@ -202,14 +200,27 @@ static char assets[][LONG_FILENAME_LENGTH] = { "bmp_arrow.bin", "bmp_back70x40.bin", "bmp_value_blank.bin", - "bmp_Return.bin" + "bmp_blank_sel.bin", + "bmp_disable.bin", + "bmp_enable.bin", + "bmp_return.bin", + + #if ENABLED(USE_WIFI_FUNCTION) + //wifi screen + "bmp_wifi.bin", + #endif + + //babystep screen + "bmp_baby_move0_01.bin", + "bmp_baby_move0_05.bin", + "bmp_baby_move0_1.bin" }; #if HAS_SPI_FLASH_FONT static char fonts[][LONG_FILENAME_LENGTH] = { "FontUNIGBK.bin" }; #endif -static uint8_t currentFlashPage = 0; +uint8_t currentFlashPage = 0; uint32_t lv_get_pic_addr(uint8_t *Pname) { uint8_t Pic_cnt; @@ -253,8 +264,13 @@ const char *bakPath = "_assets"; void spiFlashErase_PIC() { volatile uint32_t pic_sectorcnt = 0; W25QXX.init(SPI_QUARTER_SPEED); - for (pic_sectorcnt = 0; pic_sectorcnt < PIC_SIZE_xM * 1024 / 64; pic_sectorcnt++) - W25QXX.SPI_FLASH_BlockErase(PICINFOADDR + pic_sectorcnt * 64 * 1024); + //erase 0x001000 -64K + for (pic_sectorcnt = 0; pic_sectorcnt < (64 - 4) / 4; pic_sectorcnt++) { + W25QXX.SPI_FLASH_SectorErase(PICINFOADDR + pic_sectorcnt * 4 * 1024); + } + //erase 64K -- 6M + for (pic_sectorcnt = 0; pic_sectorcnt < (PIC_SIZE_xM * 1024 / 64 - 1); pic_sectorcnt++) + W25QXX.SPI_FLASH_BlockErase((pic_sectorcnt + 1) * 64 * 1024); } #if HAS_SPI_FLASH_FONT diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index 24b2945d73e7..b1bd88a60d0c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -21,7 +21,7 @@ */ #pragma once -#include "../../../../inc/MarlinConfig.h" +#include "../../../../inc/MarlinConfigPre.h" #include "../../../../libs/W25Qxx.h" @@ -119,9 +119,18 @@ // Flash flag #define REFLSHE_FLGA_ADD (0X800000-32) -#define FLASH_INF_VALID_FLAG 0xAA558761 + // SD card information first addr #define VAR_INF_ADDR 0x000000 +#define FLASH_INF_VALID_FLAG 0x20200831 + +//Store some gcode commands, such as auto leveling commands +#define GCODE_COMMAND_ADDR VAR_INF_ADDR + 3*1024 +#define AUTO_LEVELING_COMMAND_ADDR GCODE_COMMAND_ADDR +#define OTHERS_COMMAND_ADDR_1 AUTO_LEVELING_COMMAND_ADDR + 100 +#define OTHERS_COMMAND_ADDR_2 OTHERS_COMMAND_ADDR_1 + 100 +#define OTHERS_COMMAND_ADDR_3 OTHERS_COMMAND_ADDR_2 + 100 +#define OTHERS_COMMAND_ADDR_4 OTHERS_COMMAND_ADDR_3 + 100 #ifdef __cplusplus extern "C" { /* C-declarations for C++ */ diff --git a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp index 2d03373a7f4f..0e4526734ca1 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp @@ -53,6 +53,11 @@ void printer_state_polling() { planner.synchronize(); gcode.process_subcommands_now_P(PSTR("M25")); + + //save the positon + uiCfg.current_x_position_bak = current_position.x; + uiCfg.current_y_position_bak = current_position.y; + if (gCfgItems.pausePosZ != (float)-1) { gcode.process_subcommands_now_P(PSTR("G91")); ZERO(public_buf_l); @@ -66,6 +71,7 @@ void printer_state_polling() { gcode.process_subcommands_now(public_buf_l); } uiCfg.print_state = PAUSED; + uiCfg.current_e_position_bak = current_position.e; // #if ENABLED(POWER_LOSS_RECOVERY) // if (recovery.enabled) recovery.save(true); @@ -83,7 +89,19 @@ void printer_state_polling() { if (uiCfg.print_state == RESUMING) { if (IS_SD_PAUSED()) { - gcode.process_subcommands_now_P(PSTR("M24\nG91\nG1 Z-5\nG90")); + if (gCfgItems.pausePosX != (float)-1 && gCfgItems.pausePosY != (float)-1) { + ZERO(public_buf_m); + sprintf_P(public_buf_m, PSTR("G1 X%.1f Y%.1f"), uiCfg.current_x_position_bak, uiCfg.current_y_position_bak); + gcode.process_subcommands_now(public_buf_m); + } + if (gCfgItems.pausePosZ != (float)-1) { + gcode.process_subcommands_now_P(PSTR("G91")); + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("G1 Z-%.1f"), gCfgItems.pausePosZ); + gcode.process_subcommands_now(public_buf_l); + gcode.process_subcommands_now_P(PSTR("G90")); + } + gcode.process_subcommands_now_P(PSTR("M24")); uiCfg.print_state = WORKING; start_print_time(); @@ -108,11 +126,25 @@ void printer_state_polling() { } #endif - if (gCfgItems.pause_reprint == 1) { - gcode.process_subcommands_now_P(PSTR("G91\nG1 Z-5\nG90")); - } recovery.resume(); - + #if 0 + // Move back to the saved XY + char str_1[16], str_2[16]; + ZERO(public_buf_m); + sprintf_P(public_buf_m, PSTR("G1 X%s Y%s F2000"), + dtostrf(recovery.info.current_position.x, 1, 3, str_1), + dtostrf(recovery.info.current_position.y, 1, 3, str_2) + ); + gcode.process_subcommands_now(public_buf_m); + + if ((gCfgItems.pause_reprint) == 1 && (gCfgItems.pausePosZ != (float)-1)) { + gcode.process_subcommands_now_P(PSTR("G91")); + ZERO(public_buf_l); + sprintf_P(public_buf_l, PSTR("G1 Z-%.1f"), gCfgItems.pausePosZ); + gcode.process_subcommands_now(public_buf_l); + gcode.process_subcommands_now_P(PSTR("G90")); + } + #endif uiCfg.print_state = WORKING; start_print_time(); @@ -123,6 +155,8 @@ void printer_state_polling() { if (uiCfg.print_state == WORKING) filament_check(); + + TERN_(USE_WIFI_FUNCTION, wifi_looping()); } void filament_pin_setup() { diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_en.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_en.h index 54e06f582648..fa8d5a52a496 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_en.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_en.h @@ -46,8 +46,8 @@ #define MACHINE_PARA_TITLE_EN "Config" #define MACHINE_TYPE_CNOFIG_EN "Machine settings" -#define TEMPERATURE_CONFIG_EN "Temperature settings" #define MOTOR_CONFIG_EN "Motor settings" +#define MACHINE_LEVELING_CONFIG_EN "Leveling settings" #define ADVANCE_CONFIG_EN "Adavance settings" #define MACHINE_CONFIG_TITLE_EN "Machine Settings" @@ -56,7 +56,6 @@ #define MACHINE_HOMEDIR_EN "Home direction" #define MACHINE_ENDSTOP_TYPE_EN "Endstop type" #define MACHINE_FILAMENT_CONFIG_EN "Filament settings" -#define MACHINE_LEVELING_CONFIG_EN "Leveling settings" #define MACHINE_TYPE_CONFIG_TITLE_EN "Machine Settings>Machine type" #define MACHINE_TYPE_XYZ_EN "XYZ Machine" @@ -91,18 +90,18 @@ #define ENDSTOP_OPENED_EN "Open" #define ENDSTOP_CLOSED_EN "Close" -#define FILAMENT_CONF_TITLE_EN "Filament settings" -#define FILAMENT_IN_TEMPERATURE_EN "Load temperature" +#define FILAMENT_CONF_TITLE_EN "Machine Settings>Filament settings" #define FILAMENT_IN_LENGTH_EN "Load length" #define FILAMENT_IN_SPEED_EN "Load speed" -#define FILAMENT_OUT_TEMPERATURE_EN "Unload temperature" +#define FILAMENT_TEMPERATURE_EN "Filament temperature" #define FILAMENT_OUT_LENGTH_EN "Unload length" #define FILAMENT_OUT_SPEED_EN "Unload speed" -#define LEVELING_CONF_TITLE_EN "Leveling settings" +#define LEVELING_CONF_TITLE_EN "Machine Settings>Leveling settings" #define LEVELING_PARA_CONF_EN "Leveling settings" -#define LEVELING_DELTA_EN "delta machine leveling" -#define LEVELING_XYZ_EN "Manual leveling coordinate settings" +#define LEVELING_MANUAL_POS_EN "Manual leveling coordinate settings" +#define LEVELING_AUTO_COMMAND_EN "AutoLeveling command settings" +#define LEVELING_AUTO_ZOFFSET_EN "Nozzle-to-probe offsets settings" #define LEVELING_PARA_CONF_TITLE_EN "leveling setting" #define AUTO_LEVELING_ENABLE_EN "Enable auto leveling" @@ -226,6 +225,9 @@ #define HAVE_UPS_EN "Has UPS power supply" #define Z2_AND_Z2ENDSTOP_CONF_EN "Z2 Settings" #define ENABLE_PINS_CONF_EN "Enable pins level settings" +#define WIFI_SETTINGS_EN "Wi-Fi parameter settings" +#define HOMING_SENSITIVITY_CONF_EN "Homing sensitivity settings" +#define ENCODER_SETTINGS_EN "Rotary encoder settings" #define Z2_AND_Z2ENDSTOP_CONF_TITLE_EN "Z2 Settings" #define Z2_ENABLE_EN "Z2 Enable" @@ -243,6 +245,29 @@ #define PAUSE_POSITION_Y_EN "Y axis position (Absolute position,-1 invalid)" #define PAUSE_POSITION_Z_EN "Z axis position (Relative position,-1 invalid)" +#define WIFI_SETTINGS_TITLE_EN "Machine Settings>Wi-Fi Parameter" +#define WIFI_SETTINGS_MODE_EN "Wi-Fi Mode" +#define WIFI_SETTINGS_NAME_EN "Wi-Fi Name: " +#define WIFI_SETTINGS_PASSWORD_EN "Wi-Fi Password: " +#define WIFI_SETTINGS_CLOUD_EN "Do you use cloud services?" +#define WIFI_SETTINGS_CONFIG_EN "Config" +#define WIFI_SETTINGS_EDIT_EN "Edit" +#define WIFI_CONFIG_TIPS_EN "Wi-Fi configuration?" + +#define OFFSET_TITLE_EN "Machine Settings>Offset" +#define OFFSET_X_EN "X offset" +#define OFFSET_Y_EN "Y offset" +#define OFFSET_Z_EN "Z offset" + +#define HOMING_SENSITIVITY_CONF_TITLE_EN "Machine Settings>Sensitivity" +#define X_SENSITIVITY_EN "X Axis Sensitivity" +#define Y_SENSITIVITY_EN "Y Axis Sensitivity" +#define Z_SENSITIVITY_EN "Z Axis Sensitivity" +#define Z2_SENSITIVITY_EN "Z2 Axis Sensitivity" + +#define ENCODER_CONF_TITLE_EN "Machine Settings>Rotary encoder settings" +#define ENCODER_CONF_TEXT_EN "Is the encoder function used?" + #define TOOL_TEXT_EN "Tool" #define PREHEAT_TEXT_EN "Preheat" #define MOVE_TEXT_EN "Move" @@ -429,10 +454,6 @@ #define STEP_5PERCENT_EN "5%" #define STEP_10PERCENT_EN "10%" -#define ZOFFSET_EN "Z Offset" -#define ZOFFSET_INC_EN "Add" -#define ZOFFSET_DEC_EN "Dec" - #define TITLE_READYPRINT_EN "ReadyPrint" #define TITLE_PREHEAT_EN "Preheat" #define TITLE_MOVE_EN "Move" @@ -455,7 +476,6 @@ #define TITLE_CLOUD_TEXT_EN "Cloud" #define TITLE_DIALOG_CONFIRM_EN "Confirm" #define TITLE_FILESYS_EN "FileSys" -#define TITLE_ZOFFSET_EN "Z Offset" #define AUTO_SHUTDOWN_EN "Auto" #define MANUAL_SHUTDOWN_EN "Manual" @@ -494,11 +514,9 @@ #define TEXT_WIFI_SYMBOL_EN "#+=" #define TEXT_WIFI_PASSWORD_EN "Password" -#define TEXT_WIFI_POINT_BOLD_EN "`" - -#define TEXT_WIFI_JOINING_EN "Joining\nNetwork..." -#define TEXT_WIFI_FAILED_JOIN_EN "Failed to\nJoin Wi-Fi" -#define TEXT_WIFI_WIFI_CONECTED_EN "Wi-Fi\nConnected" +#define TEXT_WIFI_JOINING_EN "Joining Network..." +#define TEXT_WIFI_FAILED_JOIN_EN "Failed to Join Wi-Fi" +#define TEXT_WIFI_WIFI_CONECTED_EN "Wi-Fi Connected" #define TEXT_BUTTON_DISCONECTED_EN "Disconnect" #define TEXT_WIFI_FORGET_EN "Forget Network" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_fr.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_fr.h index 3fe95654b1a4..6944d6b23518 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_fr.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_fr.h @@ -208,10 +208,6 @@ #define STEP_5PERCENT_FR "5%" #define STEP_10PERCENT_FR "10%" -#define ZOFFSET_FR "Z Offset" -#define ZOFFSET_INC_FR "Ajouter" -#define ZOFFSET_DEC_FR "Réduire" - #define TITLE_READYPRINT_FR "Prête" #define TITLE_PREHEAT_FR "Préchauffe" #define TITLE_MOVE_FR "Déplace" @@ -234,7 +230,6 @@ #define TITLE_CLOUD_TEXT_FR "Cloud" #define TITLE_DIALOG_CONFIRM_FR "Confirm" #define TITLE_FILESYS_FR "FileSys" -#define TITLE_ZOFFSET_FR "Z Offset" #define DIALOG_CLOSE_MACHINE_FR "Closing machine......" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_it.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_it.h index aef6cfaf9609..f64ca4df79df 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_it.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_it.h @@ -205,10 +205,6 @@ #define STEP_5PERCENT_IT "5%" #define STEP_10PERCENT_IT "10%" -#define ZOFFSET_IT "Z Offset" -#define ZOFFSET_INC_IT "Add" -#define ZOFFSET_DEC_IT "Dec" - #define TITLE_READYPRINT_IT "Pronto" #define TITLE_PREHEAT_IT "Preris" #define TITLE_MOVE_IT "Muovi" @@ -231,7 +227,6 @@ #define TITLE_CLOUD_TEXT_IT "Cloud" #define TITLE_DIALOG_CONFIRM_IT "Confirm" #define TITLE_FILESYS_IT "FileSys" -#define TITLE_ZOFFSET_IT "Z Offset" #define AUTO_SHUTDOWN_IT "Auto" #define MANUAL_SHUTDOWN_IT "Manuale" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_ru.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_ru.h index 2ec39ab01646..9f695b376b59 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_ru.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_ru.h @@ -205,10 +205,6 @@ #define STEP_5PERCENT_RU "5%" #define STEP_10PERCENT_RU "10%" -#define ZOFFSET_RU "Z Offset" -#define ZOFFSET_INC_RU "добавить" -#define ZOFFSET_DEC_RU "уменьшить" - #define TITLE_READYPRINT_RU "готов к" #define TITLE_PREHEAT_RU "движение" #define TITLE_MOVE_RU "движение" @@ -232,7 +228,6 @@ #define TITLE_CLOUD_TEXT_RU "Cloud" #define TITLE_DIALOG_CONFIRM_RU "Confirm" #define TITLE_FILESYS_RU "FileSys" -#define TITLE_ZOFFSET_RU "Z Offset" #define AUTO_SHUTDOWN_RU "авто-откл" #define MANUAL_SHUTDOWN_RU "ручн-откл" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_s_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_s_cn.h index ea481c89a24e..118992777048 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_s_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_s_cn.h @@ -31,8 +31,8 @@ #define MACHINE_PARA_TITLE_CN "机器参数" #define MACHINE_TYPE_CNOFIG_CN "机器设置" -#define TEMPERATURE_CONFIG_CN "温度设置" #define MOTOR_CONFIG_CN "电机设置" +#define MACHINE_LEVELING_CONFIG_CN "调平设置" #define ADVANCE_CONFIG_CN "高级设置" #define MACHINE_CONFIG_TITLE_CN "机器参数>机器配置" @@ -41,7 +41,6 @@ #define MACHINE_HOMEDIR_CN "归零方向" #define MACHINE_ENDSTOP_TYPE_CN "限位开关类型" #define MACHINE_FILAMENT_CONFIG_CN "换料设置" -#define MACHINE_LEVELING_CONFIG_CN "调平设置" #define MACHINE_TYPE_CONFIG_TITLE_CN "机器参数>机型选择" #define MACHINE_TYPE_XYZ_CN "XYZ机型" @@ -77,17 +76,17 @@ #define ENDSTOP_CLOSED_CN "常闭" #define FILAMENT_CONF_TITLE_CN "换料设置" -#define FILAMENT_IN_TEMPERATURE_CN "进料温度" #define FILAMENT_IN_LENGTH_CN "进料长度" #define FILAMENT_IN_SPEED_CN "进料速度" -#define FILAMENT_OUT_TEMPERATURE_CN "退料温度" +#define FILAMENT_TEMPERATURE_CN "换料温度" #define FILAMENT_OUT_LENGTH_CN "退料长度" #define FILAMENT_OUT_SPEED_CN "退料速度" -#define LEVELING_CONF_TITLE_CN "调平设置" +#define LEVELING_CONF_TITLE_CN "机器参数>调平设置" #define LEVELING_PARA_CONF_CN "调平设置" -#define LEVELING_DELTA_CN "delta机型设置" -#define LEVELING_XYZ_CN "手动调平坐标设置" +#define LEVELING_MANUAL_POS_CN "手动调平坐标设置" +#define LEVELING_AUTO_COMMAND_CN "自动调平指令设置" +#define LEVELING_AUTO_ZOFFSET_CN "挤出头与调平开关偏移设置" #define LEVELING_PARA_CONF_TITLE_CN "调平参数" #define AUTO_LEVELING_ENABLE_CN "自动调平" @@ -146,6 +145,7 @@ #define TMC_STEP_MODE_CN "TMC 驱动模式设置" #define MOTORDIRCONF_CN "电机方向设置" #define HOMEFEEDRATECONF_CN "归零速度设置" +#define HOMING_SENSITIVITY_CONF_CN "无限位回零灵敏度调节" #define MAXFEEDRATE_CONF_TITLE_CN "机器参数>最大速度" #define X_MAXFEEDRATE_CN "X轴最大速度" @@ -211,6 +211,8 @@ #define HAVE_UPS_CN "机器配备UPS电源" #define Z2_AND_Z2ENDSTOP_CONF_CN "双Z轴双限位功能设置" #define ENABLE_PINS_CONF_CN "电机使能脚电平设置" +#define WIFI_SETTINGS_CN "Wi-Fi参数设置" +#define ENCODER_SETTINGS_CN "旋钮设置" #define Z2_AND_Z2ENDSTOP_CONF_TITLE_CN "双z双限位设置" #define Z2_ENABLE_CN "启用Z2轴" @@ -223,10 +225,33 @@ #define Z_ENABLE_PINS_INVERT_CN "Z轴电机使能电平" #define E_ENABLE_PINS_INVERT_CN "E轴电机使能电平" -#define PAUSE_POSITION_CN "打印暂停位置设置" -#define PAUSE_POSITION_X_CN "X轴暂停位置(绝对位置,-1无效)" -#define PAUSE_POSITION_Y_CN "Y轴暂停位置(绝对位置,-1无效)" -#define PAUSE_POSITION_Z_CN "Z轴暂停位置(相对位置,-1无效)" +#define PAUSE_POSITION_CN "打印暂停位置设置" +#define PAUSE_POSITION_X_CN "X轴暂停位置(绝对位置,-1无效)" +#define PAUSE_POSITION_Y_CN "Y轴暂停位置(绝对位置,-1无效)" +#define PAUSE_POSITION_Z_CN "Z轴暂停位置(相对位置,-1无效)" +#define WIFI_SETTINGS_TITLE_CN "机器参数>Wi-Fi设置" +#define WIFI_SETTINGS_MODE_CN "Wi-Fi 模式" +#define WIFI_SETTINGS_NAME_CN "Wi-Fi 名称: " +#define WIFI_SETTINGS_PASSWORD_CN "Wi-Fi 密码: " +#define WIFI_SETTINGS_CLOUD_CN "是否使用云服务?" +#define WIFI_SETTINGS_CONFIG_CN "配置" +#define WIFI_SETTINGS_EDIT_CN "编辑" +#define WIFI_CONFIG_TIPS_CN "进行Wi-Fi配置?" + +#define OFFSET_TITLE_CN "机器参数>偏移设置" +#define OFFSET_X_CN "X轴与调平开关偏移" +#define OFFSET_Y_CN "Y轴与调平开关偏移" +#define OFFSET_Z_CN "Z轴与调平开关偏移" + +#define HOMING_SENSITIVITY_CONF_TITLE_CN "机器参数>灵敏度调节" +#define X_SENSITIVITY_CN "X轴灵敏度" +#define Y_SENSITIVITY_CN "Y轴灵敏度" +#define Z_SENSITIVITY_CN "Z轴灵敏度" +#define Z2_SENSITIVITY_CN "Z2轴灵敏度" + +#define ENCODER_CONF_TITLE_CN "机器参数>旋钮设置" +#define ENCODER_CONF_TEXT_CN "是否使用旋钮功能?" + #define TOOL_TEXT_CN "工具" #define PREHEAT_TEXT_CN "预热" #define MOVE_TEXT_CN "移动" @@ -395,10 +420,6 @@ #define STEP_5PERCENT_CN "5%" #define STEP_10PERCENT_CN "10%" -#define ZOFFSET_CN "Z Offset" -#define ZOFFSET_INC_CN "增加" -#define ZOFFSET_DEC_CN "减少" - #define TITLE_READYPRINT_CN "准备打印" #define TITLE_PREHEAT_CN "预热" #define TITLE_MOVE_CN "移动" @@ -421,7 +442,6 @@ #define TITLE_CLOUD_TEXT_CN "云服务" #define TITLE_DIALOG_CONFIRM_CN "确认" #define TITLE_FILESYS_CN "文件系统" -#define TITLE_ZOFFSET_CN "Z Offset" #define AUTO_SHUTDOWN_CN "自动关机" #define MANUAL_SHUTDOWN_CN "手动关机" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_sp.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_sp.h index 289874c6baf1..2babbaba93c4 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_sp.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_sp.h @@ -206,10 +206,6 @@ #define STEP_5PERCENT_SP "5%" #define STEP_10PERCENT_SP "10%" -#define ZOFFSET_SP "Z Offset" -#define ZOFFSET_INC_SP "Más" -#define ZOFFSET_DEC_SP "Menos" - #define TITLE_READYPRINT_SP "Inicio" #define TITLE_PREHEAT_SP "Precalentar" #define TITLE_MOVE_SP "Mover" @@ -233,7 +229,6 @@ #define TITLE_CLOUD_TEXT_SP "Cloud" #define TITLE_DIALOG_CONFIRM_SP "Confirmar" #define TITLE_FILESYS_SP "Puerto" -#define TITLE_ZOFFSET_SP "Z Offset" #define AUTO_SHUTDOWN_SP "Auto" #define MANUAL_SHUTDOWN_SP "manual" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_t_cn.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_t_cn.h index 19bd511d9a38..d956e14aadf1 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_t_cn.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_Language_t_cn.h @@ -31,8 +31,8 @@ #define MACHINE_PARA_TITLE_T_CN "機器參數" #define MACHINE_TYPE_CNOFIG_T_CN "機器設置" -#define TEMPERATURE_CONFIG_T_CN "溫度設置" #define MOTOR_CONFIG_T_CN "電機設置" +#define MACHINE_LEVELING_CONFIG_T_CN "調平設置" #define ADVANCE_CONFIG_T_CN "高級設置" #define MACHINE_CONFIG_TITLE_T_CN "機器參數>機器配置" @@ -41,7 +41,6 @@ #define MACHINE_HOMEDIR_T_CN "歸零方向" #define MACHINE_ENDSTOP_TYPE_T_CN "限位開關類型" #define MACHINE_FILAMENT_CONFIG_T_CN "換料設置" -#define MACHINE_LEVELING_CONFIG_T_CN "調平設置" #define MACHINE_TYPE_CONFIG_TITLE_T_CN "機器參數>機型選擇" #define MACHINE_TYPE_XYZ_T_CN "XYZ機型" @@ -77,17 +76,17 @@ #define ENDSTOP_CLOSED_T_CN "常閉" #define FILAMENT_CONF_TITLE_T_CN "換料設置" -#define FILAMENT_IN_TEMPERATURE_T_CN "進料溫度" #define FILAMENT_IN_LENGTH_T_CN "進料長度" #define FILAMENT_IN_SPEED_T_CN "進料速度" -#define FILAMENT_OUT_TEMPERATURE_T_CN "退料溫度" +#define FILAMENT_TEMPERATURE_T_CN "換料溫度" #define FILAMENT_OUT_LENGTH_T_CN "退料長度" #define FILAMENT_OUT_SPEED_T_CN "退料速度" -#define LEVELING_CONF_TITLE_T_CN "調平設置" +#define LEVELING_CONF_TITLE_T_CN "機器參數>調平設置" #define LEVELING_PARA_CONF_T_CN "調平設置" -#define LEVELING_DELTA_T_CN "delta機型設置" -#define LEVELING_XYZ_T_CN "手動調平坐標設置" +#define LEVELING_MANUAL_POS_T_CN "手動調平坐標設置" +#define LEVELING_AUTO_COMMAND_T_CN "自動調平指令設置" +#define LEVELING_AUTO_ZOFFSET_T_CN "擠出頭與調平開關偏移設置" #define LEVELING_PARA_CONF_TITLE_T_CN "調平參數" #define AUTO_LEVELING_ENABLE_T_CN "自動調平" @@ -146,6 +145,7 @@ #define TMC_STEP_MODE_T_CN "TMC 驅動模式設置" #define MOTORDIRCONF_T_CN "電機方向設置" #define HOMEFEEDRATECONF_T_CN "歸零速度設置" +#define HOMING_SENSITIVITY_CONF_T_CN "無限位回零靈敏度調節" #define MAXFEEDRATE_CONF_TITLE_T_CN "機器參數>最大速度" #define X_MAXFEEDRATE_T_CN "X軸最大速度" @@ -211,6 +211,8 @@ #define HAVE_UPS_T_CN "機器配備UPS電壓" #define Z2_AND_Z2ENDSTOP_CONF_T_CN "雙z軸雙限位功能設置" #define ENABLE_PINS_CONF_T_CN "電機使能腳電平設置" +#define WIFI_SETTINGS_T_CN "Wi-Fi參數設置" +#define ENCODER_SETTINGS_T_CN "旋鈕設置" #define Z2_AND_Z2ENDSTOP_CONF_TITLE_T_CN "雙z軸雙限位設置" #define Z2_ENABLE_T_CN "啟用Z2軸" @@ -223,10 +225,32 @@ #define Z_ENABLE_PINS_INVERT_T_CN "Z軸電機使能電平" #define E_ENABLE_PINS_INVERT_T_CN "E軸電機使能電平" -#define PAUSE_POSITION_T_CN "打印暫停位置設置" -#define PAUSE_POSITION_X_T_CN "X軸暫停位置(絕對位置,-1無效)" -#define PAUSE_POSITION_Y_T_CN "Y軸暫停位置(絕對位置,-1無效)" -#define PAUSE_POSITION_Z_T_CN "Z軸暫停位置(相對位置,-1無效)" +#define PAUSE_POSITION_T_CN "打印暫停位置設置" +#define PAUSE_POSITION_X_T_CN "X軸暫停位置(絕對位置,-1無效)" +#define PAUSE_POSITION_Y_T_CN "Y軸暫停位置(絕對位置,-1無效)" +#define PAUSE_POSITION_Z_T_CN "Z軸暫停位置(相對位置,-1無效)" +#define WIFI_SETTINGS_TITLE_T_CN "機器參數>Wi-Fi設置" +#define WIFI_SETTINGS_MODE_T_CN "Wi-Fi 模式" +#define WIFI_SETTINGS_NAME_T_CN "Wi-Fi 名稱: " +#define WIFI_SETTINGS_PASSWORD_T_CN "Wi-Fi 密碼: " +#define WIFI_SETTINGS_CLOUD_T_CN "是否使用雲服務?" +#define WIFI_SETTINGS_CONFIG_T_CN "配置" +#define WIFI_SETTINGS_EDIT_T_CN "編輯" +#define WIFI_CONFIG_TIPS_T_CN "進行Wi-Fi配置?" + +#define OFFSET_TITLE_T_CN "機器參數>偏移設置" +#define OFFSET_X_T_CN "X軸與調平開關偏移" +#define OFFSET_Y_T_CN "Y軸與調平開關偏移" +#define OFFSET_Z_T_CN "Z軸與調平開關偏移" + +#define HOMING_SENSITIVITY_CONF_TITLE_T_CN "機器參數>靈敏度調節" +#define X_SENSITIVITY_T_CN "X軸靈敏度" +#define Y_SENSITIVITY_T_CN "Y軸靈敏度" +#define Z_SENSITIVITY_T_CN "Z軸靈敏度" +#define Z2_SENSITIVITY_T_CN "Z2軸靈敏度" + +#define ENCODER_CONF_TITLE_T_CN "機器參數>旋鈕設置" +#define ENCODER_CONF_TEXT_T_CN "是否使用旋鈕功能?" #define TOOL_TEXT_T_CN "工具" #define PREHEAT_TEXT_T_CN "預熱" @@ -398,10 +422,6 @@ #define STEP_5PERCENT_T_CN "5%%" #define STEP_10PERCENT_T_CN "10%%" -#define ZOFFSET_T_CN "Z Offset" -#define ZOFFSET_INC_T_CN "增加" -#define ZOFFSET_DEC_T_CN "減少" - #define TITLE_READYPRINT_T_CN "準備打印" #define TITLE_PREHEAT_T_CN "預熱" #define TITLE_MOVE_T_CN "移動" @@ -424,7 +444,6 @@ #define TITLE_CLOUD_TEXT_T_CN "雲服務" #define TITLE_DIALOG_CONFIRM_T_CN "確認" #define TITLE_FILESYS_T_CN "文件系統" -#define TITLE_ZOFFSET_T_CN "Z Offset" #define AUTO_SHUTDOWN_T_CN "自動關機" #define MANUAL_SHUTDOWN_T_CN "手動關機" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index 23072d27c750..af292db7d599 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -35,14 +35,18 @@ #include "tft_lvgl_configuration.h" #include "draw_ready_print.h" + #include "pic_manager.h" #include "mks_hardware_test.h" #include "draw_ui.h" +#include "SPIFlashStorage.h" #include +#include "../../../../MarlinCore.h" #include "../../../../inc/MarlinConfig.h" #include HAL_PATH(../../HAL, tft/xpt2046.h) +#include "../../../ultralcd.h" XPT2046 touch; #if ENABLED(POWER_LOSS_RECOVERY) @@ -63,6 +67,7 @@ XPT2046 touch; #endif static lv_disp_buf_t disp_buf; +lv_group_t* g; #if ENABLED(SDSUPPORT) extern void UpdateAssets(); #endif @@ -89,306 +94,349 @@ extern uint8_t sel_id; extern uint8_t gcode_preview_over, flash_preview_begin, default_preview_flg; +uint8_t bmp_public_buf[17 * 1024]; + void SysTick_Callback() { lv_tick_inc(1); print_time_count(); -} - -#if DISABLED(TFT_LVGL_UI_SPI) - -extern void LCD_IO_Init(uint8_t cs, uint8_t rs); -extern void LCD_IO_WriteData(uint16_t RegValue); -extern void LCD_IO_WriteReg(uint16_t Reg); - -extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count); -void tft_set_cursor(uint16_t x, uint16_t y) { - LCD_IO_WriteReg(0x002A); - LCD_IO_WriteData(x >> 8); - LCD_IO_WriteData(x & 0x00FF); - LCD_IO_WriteData(x >> 8); - LCD_IO_WriteData(x & 0x00FF); - //ILI9488_WriteData(0x01); - //ILI9488_WriteData(0xDF); - LCD_IO_WriteReg(0x002B); - LCD_IO_WriteData(y >> 8); - LCD_IO_WriteData(y & 0x00FF); - LCD_IO_WriteData(y >> 8); - LCD_IO_WriteData(y & 0x00FF); - //ILI9488_WriteData(0x01); - //ILI9488_WriteData(0x3F); -} - -void LCD_WriteRAM_Prepare(void) { - #if 0 - switch (DeviceCode) { - case 0x9325: case 0x9328: case 0x8989: { - ClrCs - LCD->LCD_REG = R34; - SetCs - } break; - default: LCD_WrtReg(0x002C); + #if ENABLED(USE_WIFI_FUNCTION) + if (tips_disp.timer == TIPS_TIMER_START) { + tips_disp.timer_count++; } - #else - LCD_IO_WriteReg(0x002C); #endif + if (uiCfg.filament_loading_time_flg == 1) { + uiCfg.filament_loading_time_cnt++; + uiCfg.filament_rate = (uint32_t)(((uiCfg.filament_loading_time_cnt / (uiCfg.filament_loading_time * 1000.0)) * 100.0) + 0.5); + if (uiCfg.filament_loading_time_cnt >= (uiCfg.filament_loading_time * 1000)) { + uiCfg.filament_loading_time_cnt = 0; + uiCfg.filament_loading_time_flg = 0; + uiCfg.filament_loading_completed = 1; + } + } + if (uiCfg.filament_unloading_time_flg == 1) { + uiCfg.filament_unloading_time_cnt++; + uiCfg.filament_rate = (uint32_t)(((uiCfg.filament_unloading_time_cnt / (uiCfg.filament_unloading_time * 1000.0)) * 100.0) + 0.5); + if (uiCfg.filament_unloading_time_cnt >= (uiCfg.filament_unloading_time * 1000)) { + uiCfg.filament_unloading_time_cnt = 0; + uiCfg.filament_unloading_time_flg = 0; + uiCfg.filament_unloading_completed = 1; + uiCfg.filament_rate = 100; + } + } } -void tft_set_point(uint16_t x, uint16_t y, uint16_t point) { - //if (DeviceCode == 0x9488) { - if (x > (TFT_WIDTH) || y > (TFT_HEIGHT)) return; - //} - tft_set_cursor(x, y); - - LCD_WriteRAM_Prepare(); - //LCD_WriteRAM(point); - LCD_IO_WriteData(point); -} - -void LCD_WriteReg(uint16_t LCD_Reg, uint16_t LCD_RegValue) { - /* Write 16-bit Index, then Write Reg */ - ClrCs - LCD_IO_WriteReg(LCD_Reg); - /* Write 16-bit Reg */ - LCD_IO_WriteData(LCD_RegValue); - SetCs -} +#if DISABLED(TFT_LVGL_UI_SPI) -void ili9320_SetWindows(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh) { - uint16_t s_h, s_l, e_h, e_l; - uint16_t xEnd, yEnd; - xEnd = StartX + width; - yEnd = StartY + heigh - 1; - if (DeviceCode == 0x8989) { - /*LCD_WriteReg(0x0044, (StartX & 0xFF) | (xEnd << 8)); - LCD_WriteReg(0x0045, StartY); - LCD_WriteReg(0x0046, yEnd);*/ - LCD_WriteReg(0x0044, (StartY & 0xFF) | (yEnd << 8)); - LCD_WriteReg(0x0045, StartX); - LCD_WriteReg(0x0046, xEnd); - } - else if (DeviceCode == 0x9488) { - s_h = (StartX >> 8) & 0x00ff; - s_l = StartX & 0x00ff; - e_h = ((StartX + width - 1) >> 8) & 0x00ff; - e_l = (StartX + width - 1) & 0x00ff; + extern void LCD_IO_Init(uint8_t cs, uint8_t rs); + extern void LCD_IO_WriteData(uint16_t RegValue); + extern void LCD_IO_WriteReg(uint16_t Reg); + extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count); + void tft_set_cursor(uint16_t x, uint16_t y) { LCD_IO_WriteReg(0x002A); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - - s_h = (StartY >> 8) & 0x00ff; - s_l = StartY & 0x00ff; - e_h = ((StartY + heigh - 1) >> 8) & 0x00ff; - e_l = (StartY + heigh - 1) & 0x00ff; - + LCD_IO_WriteData(x >> 8); + LCD_IO_WriteData(x & 0x00FF); + LCD_IO_WriteData(x >> 8); + LCD_IO_WriteData(x & 0x00FF); + //ILI9488_WriteData(0x01); + //ILI9488_WriteData(0xDF); LCD_IO_WriteReg(0x002B); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); + LCD_IO_WriteData(y >> 8); + LCD_IO_WriteData(y & 0x00FF); + LCD_IO_WriteData(y >> 8); + LCD_IO_WriteData(y & 0x00FF); + //ILI9488_WriteData(0x01); + //ILI9488_WriteData(0x3F); } - else if ((DeviceCode == 0x9325) || (DeviceCode == 0x9328) || (DeviceCode == 0x1505)) { - /* LCD_WriteReg(0x0050, StartX); - LCD_WriteReg(0x0052, StartY); - LCD_WriteReg(0x0051, xEnd); - LCD_WriteReg(0x0053, yEnd);*/ - LCD_WriteReg(0x0050, StartY); // Specify the start/end positions of the window address in the horizontal direction by an address unit - LCD_WriteReg(0x0051, yEnd); // Specify the start positions of the window address in the vertical direction by an address unit - LCD_WriteReg(0x0052, (TFT_HEIGHT) - xEnd); - LCD_WriteReg(0x0053, (TFT_HEIGHT) - StartX - 1); // Specify the end positions of the window address in the vertical direction by an address unit + void LCD_WriteRAM_Prepare(void) { + #if 0 + switch (DeviceCode) { + case 0x9325: case 0x9328: case 0x8989: { + ClrCs + LCD->LCD_REG = R34; + SetCs + } break; + default: LCD_WrtReg(0x002C); + } + #else + LCD_IO_WriteReg(0x002C); + #endif } - else { - s_h = (StartX >> 8) & 0xFF; - s_l = StartX & 0xFF; - e_h = ((StartX + width - 1) >> 8) & 0xFF; - e_l = (StartX + width - 1) & 0xFF; - - LCD_IO_WriteReg(0x2A); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - - s_h = (StartY >> 8) & 0xFF; - s_l = StartY & 0xFF; - e_h = ((StartY + heigh - 1) >> 8) & 0xFF; - e_l = (StartY + heigh - 1) & 0xFF; - - LCD_IO_WriteReg(0x2B); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - } -} -void LCD_Clear(uint16_t Color) { - uint32_t index = 0; - unsigned int count; + void tft_set_point(uint16_t x, uint16_t y, uint16_t point) { + //if (DeviceCode == 0x9488) { + if (x > (TFT_WIDTH) || y > (TFT_HEIGHT)) return; + //} + tft_set_cursor(x, y); - if (DeviceCode == 0x9488) { - tft_set_cursor(0, 0); - ili9320_SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); LCD_WriteRAM_Prepare(); - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); - #else - //index = (TFT_HEIGHT) / 2 * (TFT_WIDTH); - for (index = 0; index < (TFT_HEIGHT) * (TFT_WIDTH); index++) - LCD_IO_WriteData(Color); - #endif - //LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); - //while(index --) LCD_IO_WriteData(Color); - } - else if (DeviceCode == 0x5761) { - LCD_IO_WriteReg(0x002a); - LCD_IO_WriteData(0); - LCD_IO_WriteData(0); - LCD_IO_WriteData(HDP >> 8); - LCD_IO_WriteData(HDP & 0x00ff); - LCD_IO_WriteReg(0x002b); - LCD_IO_WriteData(0); - LCD_IO_WriteData(0); - LCD_IO_WriteData(VDP >> 8); - LCD_IO_WriteData(VDP & 0x00ff); - LCD_IO_WriteReg(0x002c); - LCD_IO_WriteReg(0x002c); - for (count = 0; count < (HDP + 1) * (VDP + 1); count++) - LCD_IO_WriteData(Color); - } - else { - tft_set_cursor(0, 0); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for (index = 0; index < 76800; index++) - LCD_IO_WriteData(Color); + //LCD_WriteRAM(point); + LCD_IO_WriteData(point); } -} - -#include HAL_PATH(../../HAL, tft/tft_fsmc.h) -extern TFT_IO tftio; -void init_tft() { - uint16_t i; - TERN_(HAS_LCD_CONTRAST, refresh_contrast()); + void LCD_WriteReg(uint16_t LCD_Reg, uint16_t LCD_RegValue) { + /* Write 16-bit Index, then Write Reg */ + ClrCs + LCD_IO_WriteReg(LCD_Reg); + /* Write 16-bit Reg */ + LCD_IO_WriteData(LCD_RegValue); + SetCs + } - #ifdef LCD_USE_DMA_FSMC - dma_init(FSMC_DMA_DEV); - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); - #endif + void LCD_setWindowArea(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh) { + uint16_t s_h, s_l, e_h, e_l; + uint16_t xEnd, yEnd; + xEnd = StartX + width; + yEnd = StartY + heigh - 1; + if (DeviceCode == 0x8989) { + /*LCD_WriteReg(0x0044, (StartX & 0xFF) | (xEnd << 8)); + LCD_WriteReg(0x0045, StartY); + LCD_WriteReg(0x0046, yEnd);*/ + LCD_WriteReg(0x0044, (StartY & 0xFF) | (yEnd << 8)); + LCD_WriteReg(0x0045, StartX); + LCD_WriteReg(0x0046, xEnd); + } + else if (DeviceCode == 0x9488) { + s_h = (StartX >> 8) & 0x00ff; + s_l = StartX & 0x00ff; + e_h = ((StartX + width - 1) >> 8) & 0x00ff; + e_l = (StartX + width - 1) & 0x00ff; + + LCD_IO_WriteReg(0x002A); + LCD_IO_WriteData(s_h); + LCD_IO_WriteData(s_l); + LCD_IO_WriteData(e_h); + LCD_IO_WriteData(e_l); + + s_h = (StartY >> 8) & 0x00ff; + s_l = StartY & 0x00ff; + e_h = ((StartY + heigh - 1) >> 8) & 0x00ff; + e_l = (StartY + heigh - 1) & 0x00ff; + + LCD_IO_WriteReg(0x002B); + LCD_IO_WriteData(s_h); + LCD_IO_WriteData(s_l); + LCD_IO_WriteData(e_h); + LCD_IO_WriteData(e_l); + } + else if ((DeviceCode == 0x9325) || (DeviceCode == 0x9328) || (DeviceCode == 0x1505)) { + /* LCD_WriteReg(0x0050, StartX); + LCD_WriteReg(0x0052, StartY); + LCD_WriteReg(0x0051, xEnd); + LCD_WriteReg(0x0053, yEnd);*/ + LCD_WriteReg(0x0050, StartY); // Specify the start/end positions of the window address in the horizontal direction by an address unit + LCD_WriteReg(0x0051, yEnd); // Specify the start positions of the window address in the vertical direction by an address unit + LCD_WriteReg(0x0052, (TFT_HEIGHT) - xEnd); + LCD_WriteReg(0x0053, (TFT_HEIGHT) - StartX - 1); // Specify the end positions of the window address in the vertical direction by an address unit - LCD_IO_Init(FSMC_CS_PIN, FSMC_RS_PIN); - - _delay_ms(5); - - DeviceCode = tftio.GetID() & 0xFFFF; - // Chitu and others - if (DeviceCode == 0x8066) DeviceCode = 0x9488; - - if (DeviceCode == 0x9488) { - LCD_IO_WriteReg(0x00E0); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x000f); - LCD_IO_WriteData(0x000D); - LCD_IO_WriteData(0x001B); - LCD_IO_WriteData(0x000A); - LCD_IO_WriteData(0x003c); - LCD_IO_WriteData(0x0078); - LCD_IO_WriteData(0x004A); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x000E); - LCD_IO_WriteData(0x0009); - LCD_IO_WriteData(0x001B); - LCD_IO_WriteData(0x001e); - LCD_IO_WriteData(0x000f); - - LCD_IO_WriteReg(0x00E1); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0022); - LCD_IO_WriteData(0x0024); - LCD_IO_WriteData(0x0006); - LCD_IO_WriteData(0x0012); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x0036); - LCD_IO_WriteData(0x0047); - LCD_IO_WriteData(0x0047); - LCD_IO_WriteData(0x0006); - LCD_IO_WriteData(0x000a); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x0030); - LCD_IO_WriteData(0x0037); - LCD_IO_WriteData(0x000f); - - LCD_IO_WriteReg(0x00C0); - LCD_IO_WriteData(0x0010); - LCD_IO_WriteData(0x0010); - - LCD_IO_WriteReg(0x00C1); - LCD_IO_WriteData(0x0041); - - LCD_IO_WriteReg(0x00C5); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0022); - LCD_IO_WriteData(0x0080); - - LCD_IO_WriteReg(0x0036); - //ILI9488_WriteData(0x0068); - //if (gCfgItems.overturn_180 != 0xEE) { - LCD_IO_WriteData(0x0068); - //} - //else { - //ILI9488_WriteData(0x00A8); - //} + } + else { + s_h = (StartX >> 8) & 0xFF; + s_l = StartX & 0xFF; + e_h = ((StartX + width - 1) >> 8) & 0xFF; + e_l = (StartX + width - 1) & 0xFF; + + LCD_IO_WriteReg(0x2A); + LCD_IO_WriteData(s_h); + LCD_IO_WriteData(s_l); + LCD_IO_WriteData(e_h); + LCD_IO_WriteData(e_l); + + s_h = (StartY >> 8) & 0xFF; + s_l = StartY & 0xFF; + e_h = ((StartY + heigh - 1) >> 8) & 0xFF; + e_l = (StartY + heigh - 1) & 0xFF; + + LCD_IO_WriteReg(0x2B); + LCD_IO_WriteData(s_h); + LCD_IO_WriteData(s_l); + LCD_IO_WriteData(e_h); + LCD_IO_WriteData(e_l); + } + } - LCD_IO_WriteReg(0x003A); //Interface Mode Control - LCD_IO_WriteData(0x0055); + void LCD_Clear(uint16_t Color) { + uint32_t index = 0; + unsigned int count; - LCD_IO_WriteReg(0x00B0); //Interface Mode Control - LCD_IO_WriteData(0x0000); - LCD_IO_WriteReg(0x00B1); //Frame rate 70HZ - LCD_IO_WriteData(0x00B0); - LCD_IO_WriteData(0x0011); - LCD_IO_WriteReg(0x00B4); - LCD_IO_WriteData(0x0002); - LCD_IO_WriteReg(0x00B6); //RGB/MCU Interface Control - LCD_IO_WriteData(0x0002); - LCD_IO_WriteData(0x0042); + if (DeviceCode == 0x9488) { + tft_set_cursor(0, 0); + LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); + LCD_WriteRAM_Prepare(); + #ifdef LCD_USE_DMA_FSMC + LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); + #else + //index = (TFT_HEIGHT) / 2 * (TFT_WIDTH); + for (index = 0; index < (TFT_HEIGHT) * (TFT_WIDTH); index++) + LCD_IO_WriteData(Color); + #endif + //LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); + //while(index --) LCD_IO_WriteData(Color); + } + else if (DeviceCode == 0x5761) { + LCD_IO_WriteReg(0x002a); + LCD_IO_WriteData(0); + LCD_IO_WriteData(0); + LCD_IO_WriteData(HDP >> 8); + LCD_IO_WriteData(HDP & 0x00ff); + LCD_IO_WriteReg(0x002b); + LCD_IO_WriteData(0); + LCD_IO_WriteData(0); + LCD_IO_WriteData(VDP >> 8); + LCD_IO_WriteData(VDP & 0x00ff); + LCD_IO_WriteReg(0x002c); + LCD_IO_WriteReg(0x002c); + for (count = 0; count < (HDP + 1) * (VDP + 1); count++) + LCD_IO_WriteData(Color); + } + else { + tft_set_cursor(0, 0); + LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ + for (index = 0; index < 76800; index++) + LCD_IO_WriteData(Color); + } + } - LCD_IO_WriteReg(0x00B7); - LCD_IO_WriteData(0x00C6); + #include HAL_PATH(../../HAL, tft/tft_fsmc.h) + extern TFT_IO tftio; + void fsmc_tft_init() { + uint16_t i; - //WriteComm(0xBE); - //WriteData(0x00); - //WriteData(0x04); + TERN_(HAS_LCD_CONTRAST, refresh_contrast()); - LCD_IO_WriteReg(0x00E9); - LCD_IO_WriteData(0x0000); + #ifdef LCD_USE_DMA_FSMC + dma_init(FSMC_DMA_DEV); + dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); + dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); + #endif - LCD_IO_WriteReg(0x00F7); - LCD_IO_WriteData(0x00A9); - LCD_IO_WriteData(0x0051); - LCD_IO_WriteData(0x002C); - LCD_IO_WriteData(0x0082); + LCD_IO_Init(FSMC_CS_PIN, FSMC_RS_PIN); + + _delay_ms(5); + + DeviceCode = tftio.GetID() & 0xFFFF; + // Chitu and others + if (DeviceCode == 0x8066) DeviceCode = 0x9488; + + if (DeviceCode == 0x9488) { + LCD_IO_WriteReg(0x00E0); + LCD_IO_WriteData(0x0000); + LCD_IO_WriteData(0x0007); + LCD_IO_WriteData(0x000f); + LCD_IO_WriteData(0x000D); + LCD_IO_WriteData(0x001B); + LCD_IO_WriteData(0x000A); + LCD_IO_WriteData(0x003c); + LCD_IO_WriteData(0x0078); + LCD_IO_WriteData(0x004A); + LCD_IO_WriteData(0x0007); + LCD_IO_WriteData(0x000E); + LCD_IO_WriteData(0x0009); + LCD_IO_WriteData(0x001B); + LCD_IO_WriteData(0x001e); + LCD_IO_WriteData(0x000f); + + LCD_IO_WriteReg(0x00E1); + LCD_IO_WriteData(0x0000); + LCD_IO_WriteData(0x0022); + LCD_IO_WriteData(0x0024); + LCD_IO_WriteData(0x0006); + LCD_IO_WriteData(0x0012); + LCD_IO_WriteData(0x0007); + LCD_IO_WriteData(0x0036); + LCD_IO_WriteData(0x0047); + LCD_IO_WriteData(0x0047); + LCD_IO_WriteData(0x0006); + LCD_IO_WriteData(0x000a); + LCD_IO_WriteData(0x0007); + LCD_IO_WriteData(0x0030); + LCD_IO_WriteData(0x0037); + LCD_IO_WriteData(0x000f); + + LCD_IO_WriteReg(0x00C0); + LCD_IO_WriteData(0x0010); + LCD_IO_WriteData(0x0010); + + LCD_IO_WriteReg(0x00C1); + LCD_IO_WriteData(0x0041); + + LCD_IO_WriteReg(0x00C5); + LCD_IO_WriteData(0x0000); + LCD_IO_WriteData(0x0022); + LCD_IO_WriteData(0x0080); + + LCD_IO_WriteReg(0x0036); + LCD_IO_WriteData(TERN(GRAPHICAL_TFT_ROTATE_180, 0xE8, 0x0068)); + + LCD_IO_WriteReg(0x003A); //Interface Mode Control + LCD_IO_WriteData(0x0055); + + LCD_IO_WriteReg(0x00B0); //Interface Mode Control + LCD_IO_WriteData(0x0000); + LCD_IO_WriteReg(0x00B1); //Frame rate 70HZ + LCD_IO_WriteData(0x00B0); + LCD_IO_WriteData(0x0011); + LCD_IO_WriteReg(0x00B4); + LCD_IO_WriteData(0x0002); + LCD_IO_WriteReg(0x00B6); //RGB/MCU Interface Control + LCD_IO_WriteData(0x0002); + LCD_IO_WriteData(0x0042); + + LCD_IO_WriteReg(0x00B7); + LCD_IO_WriteData(0x00C6); + + //WriteComm(0xBE); + //WriteData(0x00); + //WriteData(0x04); + + LCD_IO_WriteReg(0x00E9); + LCD_IO_WriteData(0x0000); + + LCD_IO_WriteReg(0x00F7); + LCD_IO_WriteData(0x00A9); + LCD_IO_WriteData(0x0051); + LCD_IO_WriteData(0x002C); + LCD_IO_WriteData(0x0082); + + LCD_IO_WriteReg(0x0011); + for (i = 0; i < 65535; i++) { /* do nothing */ } + LCD_IO_WriteReg(0x0029); + + LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); + + OUT_WRITE(LCD_BACKLIGHT_PIN, LOW); + LCD_Clear(0x0000); + + lcd_draw_logo(); + + OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH); + delay(2000); + } + } - LCD_IO_WriteReg(0x0011); - for (i = 0; i < 65535; i++); - LCD_IO_WriteReg(0x0029); + extern void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); - ili9320_SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); - LCD_Clear(0x0000); + void lcd_draw_logo() { + LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); + LCD_WriteRAM_Prepare(); - OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH); + for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) { + Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2); + #ifdef LCD_USE_DMA_FSMC + LCD_IO_WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH); + #else + int index = 0;,x_off = 0; + for (x_off = 0; x_off < TFT_WIDTH; x_off++) { + LCD_IO_WriteData((uint16_t)bmp_public_buf[index]); + index += 2; + } + #endif + } } -} #endif // !TFT_LVGL_UI_SPI -extern uint8_t bmp_public_buf[17 * 1024]; - void tft_lvgl_init() { //uint16_t test_id=0; @@ -404,16 +452,15 @@ void tft_lvgl_init() { SPI_TFT.spi_init(SPI_FULL_SPEED); SPI_TFT.LCD_init(); #else - init_tft(); + fsmc_tft_init(); #endif + //spi_flash_read_test(); #if ENABLED(SDSUPPORT) UpdateAssets(); #endif mks_test_get(); - //spi_flash_read_test(); - touch.Init(); lv_init(); @@ -432,6 +479,36 @@ void tft_lvgl_init() { indev_drv.read_cb = my_touchpad_read; /*Set your driver function*/ lv_indev_drv_register(&indev_drv); /*Finally register the driver*/ + #if HAS_ROTARY_ENCODER + g = lv_group_create(); + lv_indev_drv_t enc_drv; + lv_indev_drv_init(&enc_drv); + enc_drv.type = LV_INDEV_TYPE_ENCODER; + enc_drv.read_cb = my_mousewheel_read; + lv_indev_t * enc_indev = lv_indev_drv_register(&enc_drv); + lv_indev_set_group(enc_indev, g); + #endif + + lv_fs_drv_t spi_flash_drv; + lv_fs_drv_init(&spi_flash_drv); + spi_flash_drv.letter = 'F'; + spi_flash_drv.open_cb = spi_flash_open_cb; + spi_flash_drv.close_cb = spi_flash_close_cb; + spi_flash_drv.read_cb = spi_flash_read_cb; + spi_flash_drv.seek_cb = spi_flash_seek_cb; + spi_flash_drv.tell_cb = spi_flash_tell_cb; + lv_fs_drv_register(&spi_flash_drv); + + lv_fs_drv_t sd_drv; + lv_fs_drv_init(&sd_drv); + sd_drv.letter = 'S'; + sd_drv.open_cb = sd_open_cb; + sd_drv.close_cb = sd_close_cb; + sd_drv.read_cb = sd_read_cb; + sd_drv.seek_cb = sd_seek_cb; + sd_drv.tell_cb = sd_tell_cb; + lv_fs_drv_register(&sd_drv); + systick_attach_callback(SysTick_Callback); #if HAS_SPI_FLASH_FONT @@ -442,7 +519,10 @@ void tft_lvgl_init() { filament_pin_setup(); + lv_encoder_pin_init(); + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.load(); if (recovery.valid()) { if (gCfgItems.from_flash_pic == 1) flash_preview_begin = 1; @@ -486,16 +566,16 @@ void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * co #if 1 uint16_t i, width, height; - uint16_t clr_temp; + //uint16_t clr_temp; width = area->x2 - area->x1 + 1; height = area->y2 - area->y1 + 1; - ili9320_SetWindows((uint16_t)area->x1, (uint16_t)area->y1, width, height); + LCD_setWindowArea((uint16_t)area->x1, (uint16_t)area->y1, width, height); LCD_WriteRAM_Prepare(); for (i = 0; i < width * height - 2; i++) { - clr_temp = (uint16_t)(((uint16_t)color_p->ch.red << 11) - | ((uint16_t)color_p->ch.green << 5) - | ((uint16_t)color_p->ch.blue)); - LCD_IO_WriteData(clr_temp); + //clr_temp = (uint16_t)(((uint16_t)color_p->ch.red << 11) + //| ((uint16_t)color_p->ch.green << 5) + //| ((uint16_t)color_p->ch.blue)); + LCD_IO_WriteData(color_p->full); color_p++; } @@ -507,8 +587,6 @@ void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * co #define TICK_CYCLE 1 -static int32_t touch_time1 = 0; - unsigned int getTickDiff(unsigned int curTick, unsigned int lastTick) { return TICK_CYCLE * (lastTick <= curTick ? (curTick - lastTick) : (0xFFFFFFFF - lastTick + curTick)); } @@ -522,15 +600,17 @@ static bool get_point(int16_t *x, int16_t *y) { } #if ENABLED(GRAPHICAL_TFT_ROTATE_180) - x = (TFT_WIDTH) - x; - y = (TFT_HEIGHT) - y; + *x = int16_t((TFT_WIDTH) - (int)(*x)); + *y = int16_t((TFT_HEIGHT) - (int)(*y)); #endif return is_touched; } -static int16_t last_x = 0, last_y = 0; bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { + static int16_t last_x = 0, last_y = 0; + static uint8_t last_touch_state = LV_INDEV_STATE_REL; + static int32_t touch_time1 = 0; uint32_t tmpTime, diffTime = 0; tmpTime = millis(); @@ -540,9 +620,10 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { //if (data->state == LV_INDEV_STATE_PR) ADS7843_Rd_Addata((u16 *)&last_x, (u16 *)&last_y); //touchpad_get_xy(&last_x, &last_y); /*Save the pressed coordinates and the state*/ - if (diffTime > 10) { + if (diffTime > 20) { if (get_point(&last_x, &last_y)) { + if (last_touch_state == LV_INDEV_STATE_PR) return false; data->state = LV_INDEV_STATE_PR; // Set the coordinates (if released use the last-pressed coordinates) @@ -551,9 +632,13 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { data->point.y = last_y; last_x = last_y = 0; + last_touch_state = LV_INDEV_STATE_PR; + } + else { + if (last_touch_state == LV_INDEV_STATE_PR) + data->state = LV_INDEV_STATE_REL; + last_touch_state = LV_INDEV_STATE_REL; } - else - data->state = LV_INDEV_STATE_REL; touch_time1 = tmpTime; } @@ -561,4 +646,233 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { return false; // Return `false` since no data is buffering or left to read } +int16_t enc_diff = 0; +lv_indev_state_t state = LV_INDEV_STATE_REL; + +bool my_mousewheel_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data) { + (void) indev_drv; /*Unused*/ + + data->state = state; + data->enc_diff = enc_diff; + enc_diff = 0; + + return false; /*No more data to read so return false*/ +} + +extern uint8_t currentFlashPage; + +//spi_flash +uint32_t pic_read_base_addr = 0, pic_read_addr_offset = 0; +lv_fs_res_t spi_flash_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) { + static char last_path_name[30]; + if (strcasecmp(last_path_name,path) != 0) { + pic_read_base_addr = lv_get_pic_addr((uint8_t *)path); + ZERO(last_path_name); + strcpy(last_path_name,path); + } + else { + W25QXX.init(SPI_QUARTER_SPEED); + currentFlashPage = 0; + } + pic_read_addr_offset = pic_read_base_addr; + return LV_FS_RES_OK; +} + +lv_fs_res_t spi_flash_close_cb (lv_fs_drv_t * drv, void * file_p) { + lv_fs_res_t res = LV_FS_RES_OK; + /* Add your code here*/ + pic_read_addr_offset = pic_read_base_addr; + return res; +} + +lv_fs_res_t spi_flash_read_cb (lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br) { + lv_pic_test((uint8_t *)buf, pic_read_addr_offset, btr); + *br = btr; + return LV_FS_RES_OK; +} + +lv_fs_res_t spi_flash_seek_cb(lv_fs_drv_t * drv, void * file_p, uint32_t pos) { + #if HAS_SPI_FLASH_COMPRESSION + if (pos == 4) { + uint8_t bmp_header[4]; + SPIFlash.beginRead(pic_read_base_addr); + SPIFlash.readData(bmp_header, 4); + currentFlashPage = 1; + } + pic_read_addr_offset = pic_read_base_addr; + #else + pic_read_addr_offset = pic_read_base_addr + pos; + #endif + return LV_FS_RES_OK; +} + +lv_fs_res_t spi_flash_tell_cb(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p) { + *pos_p = pic_read_addr_offset - pic_read_base_addr; + return LV_FS_RES_OK; +} + +//sd +char *cur_namefff; +uint32_t sd_read_base_addr = 0,sd_read_addr_offset = 0; +lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode) { + //cur_namefff = strrchr(path, '/'); + char name_buf[100]; + ZERO(name_buf); + strcat(name_buf,"/"); + strcat(name_buf,path); + char *temp = strstr(name_buf,".bin"); + if (temp) { strcpy(temp,".GCO"); } + sd_read_base_addr = lv_open_gcode_file((char *)name_buf); + sd_read_addr_offset = sd_read_base_addr; + return LV_FS_RES_OK; +} + +lv_fs_res_t sd_close_cb (lv_fs_drv_t * drv, void * file_p) { + /* Add your code here*/ + lv_close_gcode_file(); + return LV_FS_RES_OK; +} + +lv_fs_res_t sd_read_cb (lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br) { + if (btr == 200) { + lv_gcode_file_read((uint8_t *)buf); + //pic_read_addr_offset += 208; + *br = 200; + } + else if (btr == 4) { + uint8_t header_pic[4] = { 0x04, 0x90, 0x81, 0x0C }; + memcpy(buf, header_pic, 4); + //pic_read_addr_offset += 4; + *br = 4; + } + return LV_FS_RES_OK; +} + +lv_fs_res_t sd_seek_cb(lv_fs_drv_t * drv, void * file_p, uint32_t pos) { + sd_read_addr_offset = sd_read_base_addr + (pos - 4) / 200 * 409; + lv_gcode_file_seek(sd_read_addr_offset); + return LV_FS_RES_OK; +} + +lv_fs_res_t sd_tell_cb(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p) { + if (sd_read_addr_offset) *pos_p = 0; + else *pos_p = (sd_read_addr_offset - sd_read_base_addr) / 409 * 200 + 4; + return LV_FS_RES_OK; +} + +void lv_encoder_pin_init() { + #if 1 // HAS_DIGITAL_BUTTONS + + #if BUTTON_EXISTS(EN1) + SET_INPUT_PULLUP(BTN_EN1); + #endif + #if BUTTON_EXISTS(EN2) + SET_INPUT_PULLUP(BTN_EN2); + #endif + #if BUTTON_EXISTS(ENC) + SET_INPUT_PULLUP(BTN_ENC); + #endif + + #if BUTTON_EXISTS(BACK) + SET_INPUT_PULLUP(BTN_BACK); + #endif + + #if BUTTON_EXISTS(UP) + SET_INPUT(BTN_UP); + #endif + #if BUTTON_EXISTS(DWN) + SET_INPUT(BTN_DWN); + #endif + #if BUTTON_EXISTS(LFT) + SET_INPUT(BTN_LFT); + #endif + #if BUTTON_EXISTS(RT) + SET_INPUT(BTN_RT); + #endif + + #endif // HAS_DIGITAL_BUTTONS +} + +#if 1 // HAS_ENCODER_ACTION + + //static const int8_t encoderDirection = 1; + //static int16_t enc_Direction; + void lv_update_encoder() { + static uint8_t buttons; + static uint32_t encoder_time1; + uint32_t tmpTime, diffTime = 0; + tmpTime = millis(); + diffTime = getTickDiff(tmpTime, encoder_time1); + if (diffTime > 50) { + + #if ANY_BUTTON(EN1, EN2, ENC, BACK) + + uint8_t newbutton = 0; + + #if BUTTON_EXISTS(EN1) + if (BUTTON_PRESSED(EN1)) newbutton |= EN_A; + #endif + #if BUTTON_EXISTS(EN2) + if (BUTTON_PRESSED(EN2)) newbutton |= EN_B; + #endif + #if BUTTON_EXISTS(ENC) + if (BUTTON_PRESSED(ENC)) newbutton |= EN_C; + #endif + #if BUTTON_EXISTS(BACK) + if (BUTTON_PRESSED(BACK)) newbutton |= EN_D; + #endif + + #else + + constexpr uint8_t newbutton = 0; + + #endif + + buttons = newbutton; + + #if HAS_ENCODER_WHEEL + static uint8_t lastEncoderBits; + + #define encrot0 0 + #define encrot1 1 + #define encrot2 2 + + // Manage encoder rotation + //#define ENCODER_SPIN(_E1, _E2) switch (lastEncoderBits) { case _E1: enc_Direction += encoderDirection; break; case _E2: enc_Direction -= encoderDirection; } + + uint8_t enc = 0; + if (buttons & EN_A) enc |= B01; + if (buttons & EN_B) enc |= B10; + if (enc != lastEncoderBits) { + switch (enc) { + case encrot1: + if (lastEncoderBits == encrot0) { + enc_diff--; + encoder_time1 = tmpTime; + } + break; + case encrot2: + if (lastEncoderBits == encrot0) { + enc_diff++; + encoder_time1 = tmpTime; + } + break; + } + lastEncoderBits = enc; + } + static uint8_t last_button_state = LV_INDEV_STATE_REL; + const uint8_t enc_c = (buttons & EN_C) ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL; + if (enc_c != last_button_state) { + state = enc_c ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL; + + last_button_state = enc_c; + } + + #endif // HAS_ENCODER_WHEEL + + } // next_button_update_ms + } + +#endif // HAS_ENCODER_ACTION + #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h index 1b33d6e6bfb3..7e24f948fd09 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h @@ -22,25 +22,44 @@ #pragma once /** - * @file tft_lvgl_configuration.h - * @date 2020-02-21 - * */ + * @file lcd/extui/lib/mks_ui/tft_lvgl_configuration.h + * @date 2020-02-21 + */ -//#ifdef __cplusplus -//extern "C" { -//#endif +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif #include -void tft_lvgl_init(); -void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p); -bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data); +//#define GRAPHICAL_TFT_ROTATE_180 +#define USE_WIFI_FUNCTION 0 + +extern void tft_lvgl_init(); +extern void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p); +extern bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data); +extern bool my_mousewheel_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data); + +extern void LCD_Clear(uint16_t Color); +extern void tft_set_point(uint16_t x, uint16_t y, uint16_t point); +extern void LCD_setWindowArea(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh); +extern void LCD_WriteRAM_Prepare(void); +extern void lcd_draw_logo(); +extern void lv_encoder_pin_init(); +extern void lv_update_encoder(); + +extern lv_fs_res_t spi_flash_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode); +extern lv_fs_res_t spi_flash_close_cb (lv_fs_drv_t * drv, void * file_p); +extern lv_fs_res_t spi_flash_read_cb (lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br); +extern lv_fs_res_t spi_flash_seek_cb(lv_fs_drv_t * drv, void * file_p, uint32_t pos); +extern lv_fs_res_t spi_flash_tell_cb(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p); -void LCD_Clear(uint16_t Color); -void tft_set_point(uint16_t x, uint16_t y, uint16_t point); -void ili9320_SetWindows(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh); -void LCD_WriteRAM_Prepare(void); +extern lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode); +extern lv_fs_res_t sd_close_cb (lv_fs_drv_t * drv, void * file_p); +extern lv_fs_res_t sd_read_cb (lv_fs_drv_t * drv, void * file_p, void * buf, uint32_t btr, uint32_t * br); +extern lv_fs_res_t sd_seek_cb(lv_fs_drv_t * drv, void * file_p, uint32_t pos); +extern lv_fs_res_t sd_tell_cb(lv_fs_drv_t * drv, void * file_p, uint32_t * pos_p); -//#ifdef __cplusplus -//} /* extern "C" */ -//#endif +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.cpp index 1ea47cef2dd4..e230195eabac 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.cpp @@ -54,11 +54,8 @@ dialog_menu_def dialog_menu; language_menu_def language_menu; print_file_dialog_menu_def print_file_dialog_menu; filesys_menu_def filesys_menu; -zoffset_menu_def zoffset_menu; tool_menu_def tool_menu; MachinePara_menu_def MachinePara_menu; -MachineSettings_menu_def MachineSettings_menu; -TemperatureSettings_menu_def TemperatureSettings_menu; pause_msg_def pause_msg_menu; eeprom_def eeprom_menu; @@ -67,8 +64,8 @@ void machine_setting_disp() { if (gCfgItems.language == LANG_SIMPLE_CHINESE) { MachinePara_menu.title = MACHINE_PARA_TITLE_CN; MachinePara_menu.MachineSetting = MACHINE_TYPE_CNOFIG_CN; - MachinePara_menu.TemperatureSetting = TEMPERATURE_CONFIG_CN; MachinePara_menu.MotorSetting = MOTOR_CONFIG_CN; + MachinePara_menu.leveling = MACHINE_LEVELING_CONFIG_CN; MachinePara_menu.AdvanceSetting = ADVANCE_CONFIG_CN; machine_menu.default_value = DEFAULT_CN; @@ -81,7 +78,6 @@ void machine_setting_disp() { machine_menu.HomeDir = MACHINE_HOMEDIR_CN; machine_menu.EndStopType = MACHINE_ENDSTOP_TYPE_CN; machine_menu.FilamentConf = MACHINE_FILAMENT_CONFIG_CN; - machine_menu.LevelingConf = MACHINE_LEVELING_CONFIG_CN; machine_menu.MachineTypeConfTitle = MACHINE_TYPE_CONFIG_TITLE_CN; machine_menu.xyz = MACHINE_TYPE_XYZ_CN; @@ -116,18 +112,18 @@ void machine_setting_disp() { machine_menu.opened = ENDSTOP_OPENED_CN; machine_menu.closed = ENDSTOP_CLOSED_CN; - machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_CN; - machine_menu.InTemperature = FILAMENT_IN_TEMPERATURE_CN; - machine_menu.InLength = FILAMENT_IN_LENGTH_CN; - machine_menu.InSpeed = FILAMENT_IN_SPEED_CN; - machine_menu.OutTemperature = FILAMENT_OUT_TEMPERATURE_CN; - machine_menu.OutLength = FILAMENT_OUT_LENGTH_CN; - machine_menu.OutSpeed = FILAMENT_OUT_SPEED_CN; + machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_CN; + machine_menu.InLength = FILAMENT_IN_LENGTH_CN; + machine_menu.InSpeed = FILAMENT_IN_SPEED_CN; + machine_menu.FilamentTemperature = FILAMENT_TEMPERATURE_CN; + machine_menu.OutLength = FILAMENT_OUT_LENGTH_CN; + machine_menu.OutSpeed = FILAMENT_OUT_SPEED_CN; - machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_CN; - machine_menu.LevelingParaConf = LEVELING_PARA_CONF_CN; - machine_menu.DeltaLevelConf = LEVELING_DELTA_CN; - machine_menu.XYZLevelconf = LEVELING_XYZ_CN; + machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_CN; + machine_menu.LevelingParaConf = LEVELING_PARA_CONF_CN; + machine_menu.LevelingManuPosConf = LEVELING_MANUAL_POS_CN; + machine_menu.LevelingAutoCommandConf = LEVELING_AUTO_COMMAND_CN; + machine_menu.LevelingAutoZoffsetConf = LEVELING_AUTO_ZOFFSET_CN; machine_menu.LevelingSubConfTitle = LEVELING_PARA_CONF_TITLE_CN; machine_menu.AutoLevelEnable = AUTO_LEVELING_ENABLE_CN; @@ -177,16 +173,19 @@ void machine_setting_disp() { machine_menu.HotbedMinTemperature = HOTBED_MIN_TEMPERATURE_CN; machine_menu.HotbedMaxTemperature = HOTBED_MAX_TEMPERATURE_CN; - machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_CN; - machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_CN; - machine_menu.AccelerationConf = ACCELERATION_CONF_CN; - machine_menu.JerkConf = JERKCONF_CN; - machine_menu.StepsConf = STEPSCONF_CN; - machine_menu.TMCcurrentConf = TMC_CURRENT_CN; - machine_menu.TMCStepModeConf = TMC_STEP_MODE_CN; - machine_menu.MotorDirConf = MOTORDIRCONF_CN; - machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_CN; - machine_menu.PausePosition = PAUSE_POSITION_CN; + machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_CN; + machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_CN; + machine_menu.AccelerationConf = ACCELERATION_CONF_CN; + machine_menu.JerkConf = JERKCONF_CN; + machine_menu.StepsConf = STEPSCONF_CN; + machine_menu.TMCcurrentConf = TMC_CURRENT_CN; + machine_menu.TMCStepModeConf = TMC_STEP_MODE_CN; + machine_menu.MotorDirConf = MOTORDIRCONF_CN; + machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_CN; + machine_menu.PausePosition = PAUSE_POSITION_CN; + machine_menu.WifiSettings = WIFI_SETTINGS_CN; + machine_menu.HomingSensitivityConf = HOMING_SENSITIVITY_CONF_CN; + machine_menu.EncoderSettings = ENCODER_SETTINGS_CN; machine_menu.MaxFeedRateConfTitle = MAXFEEDRATE_CONF_TITLE_CN; machine_menu.XMaxFeedRate = X_MAXFEEDRATE_CN; @@ -268,16 +267,38 @@ void machine_setting_disp() { machine_menu.key_reset = KEY_REST_CN; machine_menu.key_confirm = KEY_CONFIRM_CN; - machine_menu.PausePosText = PAUSE_POSITION_CN; - machine_menu.xPos = PAUSE_POSITION_X_CN; - machine_menu.yPos = PAUSE_POSITION_Y_CN; - machine_menu.zPos = PAUSE_POSITION_Z_CN; + machine_menu.PausePosText = PAUSE_POSITION_CN; + machine_menu.xPos = PAUSE_POSITION_X_CN; + machine_menu.yPos = PAUSE_POSITION_Y_CN; + machine_menu.zPos = PAUSE_POSITION_Z_CN; + machine_menu.WifiConfTitle = WIFI_SETTINGS_TITLE_CN; + machine_menu.wifiMode = WIFI_SETTINGS_MODE_CN; + machine_menu.wifiName = WIFI_SETTINGS_NAME_CN; + machine_menu.wifiPassWord = WIFI_SETTINGS_PASSWORD_CN; + machine_menu.wifiCloud = WIFI_SETTINGS_CLOUD_CN; + machine_menu.wifiConfig = WIFI_SETTINGS_CONFIG_CN; + machine_menu.wifiEdit = WIFI_SETTINGS_EDIT_CN; + machine_menu.wifiConfigTips = WIFI_CONFIG_TIPS_CN; + + machine_menu.OffsetConfTitle = OFFSET_TITLE_CN; + machine_menu.Xoffset = OFFSET_X_CN; + machine_menu.Yoffset = OFFSET_Y_CN; + machine_menu.Zoffset = OFFSET_Z_CN; + + machine_menu.HomingSensitivityConfTitle = HOMING_SENSITIVITY_CONF_TITLE_CN; + machine_menu.X_Sensitivity = X_SENSITIVITY_CN; + machine_menu.Y_Sensitivity = Y_SENSITIVITY_CN; + machine_menu.Z_Sensitivity = Z_SENSITIVITY_CN; + machine_menu.Z2_Sensitivity = Z2_SENSITIVITY_CN; + + machine_menu.EncoderConfTitle = ENCODER_CONF_TITLE_CN; + machine_menu.EncoderConfText = ENCODER_CONF_TEXT_CN; } else if (gCfgItems.language == LANG_COMPLEX_CHINESE) { MachinePara_menu.title = MACHINE_PARA_TITLE_T_CN; MachinePara_menu.MachineSetting = MACHINE_TYPE_CNOFIG_T_CN; - MachinePara_menu.TemperatureSetting = TEMPERATURE_CONFIG_T_CN; MachinePara_menu.MotorSetting = MOTOR_CONFIG_T_CN; + MachinePara_menu.leveling = MACHINE_LEVELING_CONFIG_T_CN; MachinePara_menu.AdvanceSetting = ADVANCE_CONFIG_T_CN; machine_menu.default_value = DEFAULT_T_CN; @@ -290,7 +311,6 @@ void machine_setting_disp() { machine_menu.HomeDir = MACHINE_HOMEDIR_T_CN; machine_menu.EndStopType = MACHINE_ENDSTOP_TYPE_T_CN; machine_menu.FilamentConf = MACHINE_FILAMENT_CONFIG_T_CN; - machine_menu.LevelingConf = MACHINE_LEVELING_CONFIG_T_CN; machine_menu.MachineTypeConfTitle = MACHINE_TYPE_CONFIG_TITLE_T_CN; machine_menu.xyz = MACHINE_TYPE_XYZ_T_CN; @@ -325,18 +345,18 @@ void machine_setting_disp() { machine_menu.opened = ENDSTOP_OPENED_T_CN; machine_menu.closed = ENDSTOP_CLOSED_T_CN; - machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_T_CN; - machine_menu.InTemperature = FILAMENT_IN_TEMPERATURE_T_CN; - machine_menu.InLength = FILAMENT_IN_LENGTH_T_CN; - machine_menu.InSpeed = FILAMENT_IN_SPEED_T_CN; - machine_menu.OutTemperature = FILAMENT_OUT_TEMPERATURE_T_CN; - machine_menu.OutLength = FILAMENT_OUT_LENGTH_T_CN; - machine_menu.OutSpeed = FILAMENT_OUT_SPEED_T_CN; + machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_T_CN; + machine_menu.InLength = FILAMENT_IN_LENGTH_T_CN; + machine_menu.InSpeed = FILAMENT_IN_SPEED_T_CN; + machine_menu.FilamentTemperature = FILAMENT_TEMPERATURE_T_CN; + machine_menu.OutLength = FILAMENT_OUT_LENGTH_T_CN; + machine_menu.OutSpeed = FILAMENT_OUT_SPEED_T_CN; - machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_T_CN; - machine_menu.LevelingParaConf = LEVELING_PARA_CONF_T_CN; - machine_menu.DeltaLevelConf = LEVELING_DELTA_T_CN; - machine_menu.XYZLevelconf = LEVELING_XYZ_T_CN; + machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_T_CN; + machine_menu.LevelingParaConf = LEVELING_PARA_CONF_T_CN; + machine_menu.LevelingManuPosConf = LEVELING_MANUAL_POS_T_CN; + machine_menu.LevelingAutoCommandConf = LEVELING_AUTO_COMMAND_T_CN; + machine_menu.LevelingAutoZoffsetConf = LEVELING_AUTO_ZOFFSET_T_CN; machine_menu.LevelingSubConfTitle = LEVELING_PARA_CONF_TITLE_T_CN; machine_menu.AutoLevelEnable = AUTO_LEVELING_ENABLE_T_CN; @@ -386,16 +406,19 @@ void machine_setting_disp() { machine_menu.HotbedMinTemperature = HOTBED_MIN_TEMPERATURE_T_CN; machine_menu.HotbedMaxTemperature = HOTBED_MAX_TEMPERATURE_T_CN; - machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_T_CN; - machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_T_CN; - machine_menu.AccelerationConf = ACCELERATION_CONF_T_CN; - machine_menu.JerkConf = JERKCONF_T_CN; - machine_menu.StepsConf = STEPSCONF_T_CN; - machine_menu.TMCcurrentConf = TMC_CURRENT_T_CN; - machine_menu.TMCStepModeConf = TMC_STEP_MODE_T_CN; - machine_menu.MotorDirConf = MOTORDIRCONF_T_CN; - machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_T_CN; - machine_menu.PausePosition = PAUSE_POSITION_T_CN; + machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_T_CN; + machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_T_CN; + machine_menu.AccelerationConf = ACCELERATION_CONF_T_CN; + machine_menu.JerkConf = JERKCONF_T_CN; + machine_menu.StepsConf = STEPSCONF_T_CN; + machine_menu.TMCcurrentConf = TMC_CURRENT_T_CN; + machine_menu.TMCStepModeConf = TMC_STEP_MODE_T_CN; + machine_menu.MotorDirConf = MOTORDIRCONF_T_CN; + machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_T_CN; + machine_menu.PausePosition = PAUSE_POSITION_T_CN; + machine_menu.WifiSettings = WIFI_SETTINGS_T_CN; + machine_menu.HomingSensitivityConf = HOMING_SENSITIVITY_CONF_T_CN; + machine_menu.EncoderSettings = ENCODER_SETTINGS_T_CN; machine_menu.MaxFeedRateConfTitle = MAXFEEDRATE_CONF_TITLE_T_CN; machine_menu.XMaxFeedRate = X_MAXFEEDRATE_T_CN; @@ -484,12 +507,34 @@ void machine_setting_disp() { machine_menu.yPos = PAUSE_POSITION_Y_T_CN; machine_menu.zPos = PAUSE_POSITION_Z_T_CN; + machine_menu.WifiConfTitle = WIFI_SETTINGS_TITLE_T_CN; + machine_menu.wifiMode = WIFI_SETTINGS_MODE_T_CN; + machine_menu.wifiName = WIFI_SETTINGS_NAME_T_CN; + machine_menu.wifiPassWord = WIFI_SETTINGS_PASSWORD_T_CN; + machine_menu.wifiCloud = WIFI_SETTINGS_CLOUD_T_CN; + machine_menu.wifiConfig = WIFI_SETTINGS_CONFIG_T_CN; + machine_menu.wifiEdit = WIFI_SETTINGS_EDIT_T_CN; + machine_menu.wifiConfigTips = WIFI_CONFIG_TIPS_T_CN; + + machine_menu.OffsetConfTitle = OFFSET_TITLE_T_CN; + machine_menu.Xoffset = OFFSET_X_T_CN; + machine_menu.Yoffset = OFFSET_Y_T_CN; + machine_menu.Zoffset = OFFSET_Z_T_CN; + + machine_menu.HomingSensitivityConfTitle = HOMING_SENSITIVITY_CONF_TITLE_T_CN; + machine_menu.X_Sensitivity = X_SENSITIVITY_T_CN; + machine_menu.Y_Sensitivity = Y_SENSITIVITY_T_CN; + machine_menu.Z_Sensitivity = Z_SENSITIVITY_T_CN; + machine_menu.Z2_Sensitivity = Z2_SENSITIVITY_T_CN; + + machine_menu.EncoderConfTitle = ENCODER_CONF_TITLE_T_CN; + machine_menu.EncoderConfText = ENCODER_CONF_TEXT_T_CN; } else { MachinePara_menu.title = MACHINE_PARA_TITLE_EN; MachinePara_menu.MachineSetting = MACHINE_TYPE_CNOFIG_EN; - MachinePara_menu.TemperatureSetting = TEMPERATURE_CONFIG_EN; MachinePara_menu.MotorSetting = MOTOR_CONFIG_EN; + MachinePara_menu.leveling = MACHINE_LEVELING_CONFIG_EN; MachinePara_menu.AdvanceSetting = ADVANCE_CONFIG_EN; machine_menu.default_value = DEFAULT_EN; @@ -502,7 +547,6 @@ void machine_setting_disp() { machine_menu.HomeDir = MACHINE_HOMEDIR_EN; machine_menu.EndStopType = MACHINE_ENDSTOP_TYPE_EN; machine_menu.FilamentConf = MACHINE_FILAMENT_CONFIG_EN; - machine_menu.LevelingConf = MACHINE_LEVELING_CONFIG_EN; machine_menu.MachineTypeConfTitle = MACHINE_TYPE_CONFIG_TITLE_EN; machine_menu.xyz = MACHINE_TYPE_XYZ_EN; @@ -537,18 +581,18 @@ void machine_setting_disp() { machine_menu.opened = ENDSTOP_OPENED_EN; machine_menu.closed = ENDSTOP_CLOSED_EN; - machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_EN; - machine_menu.InTemperature = FILAMENT_IN_TEMPERATURE_EN; - machine_menu.InLength = FILAMENT_IN_LENGTH_EN; - machine_menu.InSpeed = FILAMENT_IN_SPEED_EN; - machine_menu.OutTemperature = FILAMENT_OUT_TEMPERATURE_EN; - machine_menu.OutLength = FILAMENT_OUT_LENGTH_EN; - machine_menu.OutSpeed = FILAMENT_OUT_SPEED_EN; + machine_menu.FilamentConfTitle = FILAMENT_CONF_TITLE_EN; + machine_menu.InLength = FILAMENT_IN_LENGTH_EN; + machine_menu.InSpeed = FILAMENT_IN_SPEED_EN; + machine_menu.FilamentTemperature = FILAMENT_TEMPERATURE_EN; + machine_menu.OutLength = FILAMENT_OUT_LENGTH_EN; + machine_menu.OutSpeed = FILAMENT_OUT_SPEED_EN; - machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_EN; - machine_menu.LevelingParaConf = LEVELING_PARA_CONF_EN; - machine_menu.DeltaLevelConf = LEVELING_DELTA_EN; - machine_menu.XYZLevelconf = LEVELING_XYZ_EN; + machine_menu.LevelingParaConfTitle = LEVELING_CONF_TITLE_EN; + machine_menu.LevelingParaConf = LEVELING_PARA_CONF_EN; + machine_menu.LevelingManuPosConf = LEVELING_MANUAL_POS_EN; + machine_menu.LevelingAutoCommandConf = LEVELING_AUTO_COMMAND_EN; + machine_menu.LevelingAutoZoffsetConf = LEVELING_AUTO_ZOFFSET_EN; machine_menu.LevelingSubConfTitle = LEVELING_PARA_CONF_TITLE_EN; machine_menu.AutoLevelEnable = AUTO_LEVELING_ENABLE_EN; @@ -598,16 +642,19 @@ void machine_setting_disp() { machine_menu.HotbedMinTemperature = HOTBED_MIN_TEMPERATURE_EN; machine_menu.HotbedMaxTemperature = HOTBED_MAX_TEMPERATURE_EN; - machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_EN; - machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_EN; - machine_menu.AccelerationConf = ACCELERATION_CONF_EN; - machine_menu.JerkConf = JERKCONF_EN; - machine_menu.StepsConf = STEPSCONF_EN; - machine_menu.TMCcurrentConf = TMC_CURRENT_EN; - machine_menu.TMCStepModeConf = TMC_STEP_MODE_EN; - machine_menu.MotorDirConf = MOTORDIRCONF_EN; - machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_EN; - machine_menu.PausePosition = PAUSE_POSITION_EN; + machine_menu.MotorConfTitle = MOTOR_CONF_TITLE_EN; + machine_menu.MaxFeedRateConf = MAXFEEDRATE_CONF_EN; + machine_menu.AccelerationConf = ACCELERATION_CONF_EN; + machine_menu.JerkConf = JERKCONF_EN; + machine_menu.StepsConf = STEPSCONF_EN; + machine_menu.TMCcurrentConf = TMC_CURRENT_EN; + machine_menu.TMCStepModeConf = TMC_STEP_MODE_EN; + machine_menu.MotorDirConf = MOTORDIRCONF_EN; + machine_menu.HomeFeedRateConf = HOMEFEEDRATECONF_EN; + machine_menu.PausePosition = PAUSE_POSITION_EN; + machine_menu.WifiSettings = WIFI_SETTINGS_EN; + machine_menu.HomingSensitivityConf = HOMING_SENSITIVITY_CONF_EN; + machine_menu.EncoderSettings = ENCODER_SETTINGS_EN; machine_menu.MaxFeedRateConfTitle = MAXFEEDRATE_CONF_TITLE_EN; machine_menu.XMaxFeedRate = X_MAXFEEDRATE_EN; @@ -692,10 +739,32 @@ void machine_setting_disp() { machine_menu.high_level = MOTOR_EN_HIGH_LEVEL_EN; machine_menu.low_level = MOTOR_EN_LOW_LEVEL_EN; - machine_menu.PausePosText = PAUSE_POSITION_EN; - machine_menu.xPos = PAUSE_POSITION_X_EN; - machine_menu.yPos = PAUSE_POSITION_Y_EN; - machine_menu.zPos = PAUSE_POSITION_Z_EN; + machine_menu.PausePosText = PAUSE_POSITION_EN; + machine_menu.xPos = PAUSE_POSITION_X_EN; + machine_menu.yPos = PAUSE_POSITION_Y_EN; + machine_menu.zPos = PAUSE_POSITION_Z_EN; + machine_menu.WifiConfTitle = WIFI_SETTINGS_TITLE_EN; + machine_menu.wifiMode = WIFI_SETTINGS_MODE_EN; + machine_menu.wifiName = WIFI_SETTINGS_NAME_EN; + machine_menu.wifiPassWord = WIFI_SETTINGS_PASSWORD_EN; + machine_menu.wifiCloud = WIFI_SETTINGS_CLOUD_EN; + machine_menu.wifiConfig = WIFI_SETTINGS_CONFIG_EN; + machine_menu.wifiEdit = WIFI_SETTINGS_EDIT_EN; + machine_menu.wifiConfigTips = WIFI_CONFIG_TIPS_EN; + + machine_menu.OffsetConfTitle = OFFSET_TITLE_EN; + machine_menu.Xoffset = OFFSET_X_EN; + machine_menu.Yoffset = OFFSET_Y_EN; + machine_menu.Zoffset = OFFSET_Z_EN; + + machine_menu.HomingSensitivityConfTitle = HOMING_SENSITIVITY_CONF_TITLE_EN; + machine_menu.X_Sensitivity = X_SENSITIVITY_EN; + machine_menu.Y_Sensitivity = Y_SENSITIVITY_EN; + machine_menu.Z_Sensitivity = Z_SENSITIVITY_EN; + machine_menu.Z2_Sensitivity = Z2_SENSITIVITY_EN; + + machine_menu.EncoderConfTitle = ENCODER_CONF_TITLE_EN; + machine_menu.EncoderConfText = ENCODER_CONF_TEXT_EN; } } @@ -771,10 +840,6 @@ void disp_language_init() { filament_menu.stat_temp = TEXT_VALUE; - zoffset_menu.step001 = ZOFFSET_STEP001; - zoffset_menu.step01 = ZOFFSET_STEP01; - zoffset_menu.step1 = ZOFFSET_STEP1; - machine_menu.key_0 = KEYBOARD_KEY0_EN; machine_menu.key_1 = KEYBOARD_KEY1_EN; machine_menu.key_2 = KEYBOARD_KEY2_EN; @@ -788,22 +853,15 @@ void disp_language_init() { machine_menu.key_point = KEYBOARD_KEY_POINT_EN; machine_menu.negative = KEYBOARD_KEY_NEGATIVE_EN; // wifi-list - #if 0 - list_menu.title = TEXT_WIFI_MENU_TITLE_EN; - list_menu.file_pages = FILE_PAGES_EN; - // keyboard - keyboard_menu.apply = MANUAL_IP_APPLY_EN; - keyboard_menu.password = TEXT_WIFI_PASSWORD_EN; - keyboard_menu.space = TEXT_WIFI_SAPCE_EN; - keyboard_menu.letter = TEXT_WIFI_LETTER_EN; - keyboard_menu.digital = TEXT_WIFI_DIGITAL_EN; - keyboard_menu.symbol = TEXT_WIFI_SYMBOL_EN; + #if ENABLED(USE_WIFI_FUNCTION) + list_menu.title = TEXT_WIFI_MENU_TITLE_EN; + list_menu.file_pages = FILE_PAGES_EN; + // tips - tips_menu.pointBold = TEXT_WIFI_POINT_BOLD_EN; tips_menu.joining = TEXT_WIFI_JOINING_EN; tips_menu.failedJoin = TEXT_WIFI_FAILED_JOIN_EN; tips_menu.wifiConected = TEXT_WIFI_WIFI_CONECTED_EN; - #endif + #endif //USE_WIFI_FUNCTION machine_setting_disp(); operation_menu.babystep = TEXT_BABY_STEP_EN; @@ -904,7 +962,6 @@ void disp_language_init() { filesys_menu.usb_sys = U_DISK_TEXT_CN; // more_menu.title = TITLE_MORE_CN; - more_menu.zoffset = ZOFFSET_CN; // WIFI wifi_menu.title = WIFI_TEXT; // wifi_menu.key = WIFI_KEY_TEXT_CN; @@ -1016,11 +1073,6 @@ void disp_language_init() { print_file_dialog_menu.reprint = DIALOG_REPRINT_CN; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_CN; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_CN; - zoffset_menu.inc = ZOFFSET_INC_CN; - zoffset_menu.dec = ZOFFSET_DEC_CN; - pause_msg_menu.pausing = MESSAGE_PAUSING_CN; pause_msg_menu.changing = MESSAGE_CHANGING_CN; pause_msg_menu.unload = MESSAGE_UNLOAD_CN; @@ -1092,7 +1144,6 @@ void disp_language_init() { preheat_menu.step_10c = TEXT_10C_T_CN; // move_menu.title = MOVE_TEXT_T_CN; - more_menu.zoffset = ZOFFSET_T_CN; // home_menu.title = TITLE_HOME_T_CN; home_menu.stopmove = HOME_STOPMOVE_T_CN; @@ -1249,10 +1300,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_T_CN; print_file_dialog_menu.reprint = DIALOG_REPRINT_T_CN; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_T_CN; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_T_CN; - zoffset_menu.inc = ZOFFSET_INC_T_CN; - zoffset_menu.dec = ZOFFSET_DEC_T_CN; pause_msg_menu.pausing = MESSAGE_PAUSING_T_CN; pause_msg_menu.changing = MESSAGE_CHANGING_T_CN; @@ -1359,7 +1406,6 @@ void disp_language_init() { set_menu.machine_para = MACHINE_PARA_EN; set_menu.eepromSet = EEPROM_SETTINGS_EN; more_menu.title = TITLE_MORE_EN; - more_menu.zoffset = ZOFFSET_EN; // filesys_menu.title = TITLE_FILESYS_EN; filesys_menu.sd_sys = SD_CARD_TEXT_EN; @@ -1469,10 +1515,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_EN; print_file_dialog_menu.reprint = DIALOG_REPRINT_EN; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_EN; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_EN; - zoffset_menu.inc = ZOFFSET_INC_EN; - zoffset_menu.dec = ZOFFSET_DEC_EN; pause_msg_menu.pausing = MESSAGE_PAUSING_EN; pause_msg_menu.changing = MESSAGE_CHANGING_EN; @@ -1579,7 +1621,6 @@ void disp_language_init() { set_menu.machine_para = MACHINE_PARA_RU; set_menu.eepromSet = EEPROM_SETTINGS_RU; more_menu.title = TITLE_MORE_RU; - more_menu.zoffset = ZOFFSET_RU; // filesys_menu.title = TITLE_FILESYS_RU; filesys_menu.sd_sys = SD_CARD_TEXT_RU; @@ -1689,10 +1730,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_RU; print_file_dialog_menu.reprint = DIALOG_REPRINT_RU; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_RU; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_RU; - zoffset_menu.inc = ZOFFSET_INC_RU; - zoffset_menu.dec = ZOFFSET_DEC_RU; pause_msg_menu.pausing = MESSAGE_PAUSING_RU; pause_msg_menu.changing = MESSAGE_CHANGING_RU; @@ -1803,7 +1840,6 @@ void disp_language_init() { set_menu.machine_para = MACHINE_PARA_SP; set_menu.eepromSet = EEPROM_SETTINGS_SP; more_menu.title = TITLE_MORE_SP; - more_menu.zoffset = ZOFFSET_SP; // filesys_menu.title = TITLE_FILESYS_SP; filesys_menu.sd_sys = SD_CARD_TEXT_SP; @@ -1914,10 +1950,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_SP; print_file_dialog_menu.reprint = DIALOG_REPRINT_SP; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_SP; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_SP; - zoffset_menu.inc = ZOFFSET_INC_SP; - zoffset_menu.dec = ZOFFSET_DEC_SP; pause_msg_menu.pausing = MESSAGE_PAUSING_SP; pause_msg_menu.changing = MESSAGE_CHANGING_SP; @@ -2025,7 +2057,6 @@ void disp_language_init() { set_menu.machine_para = MACHINE_PARA_FR; set_menu.eepromSet = EEPROM_SETTINGS_FR; more_menu.title = TITLE_MORE_FR; - more_menu.zoffset = ZOFFSET_FR; // filesys_menu.title = TITLE_FILESYS_FR; filesys_menu.sd_sys = SD_CARD_TEXT_FR; @@ -2137,10 +2168,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_FR; print_file_dialog_menu.reprint = DIALOG_REPRINT_FR; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_FR; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_FR; - zoffset_menu.inc = ZOFFSET_INC_FR; - zoffset_menu.dec = ZOFFSET_DEC_FR; pause_msg_menu.pausing = MESSAGE_PAUSING_FR; pause_msg_menu.changing = MESSAGE_CHANGING_FR; @@ -2249,7 +2276,6 @@ void disp_language_init() { set_menu.machine_para = MACHINE_PARA_IT; set_menu.eepromSet = EEPROM_SETTINGS_IT; more_menu.title = TITLE_MORE_IT; - more_menu.zoffset = ZOFFSET_IT; // filesys_menu.title = TITLE_FILESYS_IT; filesys_menu.sd_sys = SD_CARD_TEXT_IT; @@ -2358,10 +2384,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_IT; print_file_dialog_menu.reprint = DIALOG_REPRINT_IT; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_IT; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_IT; - zoffset_menu.inc = ZOFFSET_INC_IT; - zoffset_menu.dec = ZOFFSET_DEC_IT; pause_msg_menu.pausing = MESSAGE_PAUSING_IT; pause_msg_menu.changing = MESSAGE_CHANGING_IT; @@ -2472,7 +2494,6 @@ void disp_language_init() { set_menu.eepromSet = EEPROM_SETTINGS_EN; // more_menu.title = TITLE_MORE_EN; - more_menu.zoffset = ZOFFSET_EN; // filesys_menu.title = TITLE_FILESYS_EN; filesys_menu.sd_sys = SD_CARD_TEXT_EN; @@ -2582,10 +2603,6 @@ void disp_language_init() { print_file_dialog_menu.print_time = DIALOG_PRINT_TIME_EN; print_file_dialog_menu.reprint = DIALOG_REPRINT_EN; print_file_dialog_menu.wifi_enable_tips = DIALOG_WIFI_ENABLE_TIPS_EN; - // ZOFFSET - zoffset_menu.title = TITLE_ZOFFSET_EN; - zoffset_menu.inc = ZOFFSET_INC_EN; - zoffset_menu.dec = ZOFFSET_DEC_EN; pause_msg_menu.pausing = MESSAGE_PAUSING_EN; pause_msg_menu.changing = MESSAGE_CHANGING_EN; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.h index 585100935688..675fd41f168e 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.h @@ -60,7 +60,6 @@ typedef struct machine_common_disp{ const char *HomeDir; const char *EndStopType; const char *FilamentConf; - const char *LevelingConf; const char *MachineTypeConfTitle; const char *xyz; @@ -96,17 +95,17 @@ typedef struct machine_common_disp{ const char *closed; const char *FilamentConfTitle; - const char *InTemperature; const char *InLength; const char *InSpeed; - const char *OutTemperature; + const char *FilamentTemperature; const char *OutLength; const char *OutSpeed; const char *LevelingParaConfTitle; const char *LevelingParaConf; - const char *DeltaLevelConf; - const char *XYZLevelconf; + const char *LevelingManuPosConf; + const char *LevelingAutoCommandConf; + const char *LevelingAutoZoffsetConf; const char *LevelingSubConfTitle; const char *AutoLevelEnable; @@ -165,6 +164,7 @@ typedef struct machine_common_disp{ const char *HomeFeedRateConf; const char *TMCcurrentConf; const char *TMCStepModeConf; + const char *HomingSensitivityConf; const char *MaxFeedRateConfTitle; const char *XMaxFeedRate; @@ -210,6 +210,12 @@ typedef struct machine_common_disp{ const char *E0_StepMode; const char *E1_StepMode; + const char *HomingSensitivityConfTitle; + const char *X_Sensitivity; + const char *Y_Sensitivity; + const char *Z_Sensitivity; + const char *Z2_Sensitivity; + const char *MotorDirConfTitle; const char *X_MotorDir; const char *Y_MotorDir; @@ -231,6 +237,8 @@ typedef struct machine_common_disp{ const char *Z2andZ2Endstop; const char *EnablePinsInvert; const char *PausePosition; + const char *WifiSettings; + const char *EncoderSettings; const char *Z2ConfTitle; const char *Z2Enable; @@ -266,6 +274,23 @@ typedef struct machine_common_disp{ const char *yPos; const char *zPos; + const char *WifiConfTitle; + const char *wifiMode; + const char *wifiName; + const char *wifiPassWord; + const char *wifiCloud; + const char *wifiConfig; + const char *wifiEdit; + const char *wifiConfigTips; + + const char *OffsetConfTitle; + const char *Xoffset; + const char *Yoffset; + const char *Zoffset; + + const char *EncoderConfTitle; + const char *EncoderConfText; + } machine_common_def; extern machine_common_def machine_menu; @@ -435,7 +460,6 @@ extern filesys_menu_def filesys_menu; typedef struct more_menu_disp { const char *title; - const char *zoffset; const char *back; } more_menu_def; @@ -661,18 +685,6 @@ typedef struct print_file_dialog_disp { extern print_file_dialog_menu_def print_file_dialog_menu; -typedef struct zoffset_menu_disp { - const char *title; - const char *inc; - const char *dec; - const char *step001; - const char *step01; - const char *step1; - const char *back; -} zoffset_menu_def; - -extern zoffset_menu_def zoffset_menu; - typedef struct tool_menu_disp { const char *title; const char *preheat; @@ -691,37 +703,13 @@ extern tool_menu_def tool_menu; typedef struct MachinePara_menu_disp { const char *title; const char *MachineSetting; - const char *TemperatureSetting; const char *MotorSetting; + const char *leveling; const char *AdvanceSetting; - //const char *back; } MachinePara_menu_def; extern MachinePara_menu_def MachinePara_menu; -typedef struct MachineSettings_menu_disp { - const char *title; - const char *Machine; - const char *Stroke; - const char *HomeDir; - const char *EndStopType; - const char *filamet; - const char *leveling; - const char *back; -} MachineSettings_menu_def; - -extern MachineSettings_menu_def MachineSettings_menu; - -typedef struct TemperatureSettings_menu_disp { - const char *title; - const char *nozzle; - const char *hotbed; - const char *preheat; - const char *back; -} TemperatureSettings_menu_def; - -extern TemperatureSettings_menu_def TemperatureSettings_menu; - typedef struct pause_msg_disp { const char *pausing; const char *changing; @@ -842,6 +830,7 @@ extern eeprom_def eeprom_menu; #define DIALOG_UPLOAD_SPEED_EN "Speed" #define DIALOG_UPDATE_WIFI_FIRMWARE_EN "Updating wifi model firmware" #define DIALOG_UPDATE_WIFI_WEB_EN "Updating wifi model web data" +#define DIALOG_UPDATE_NO_DEVICE_EN "please check \nwether memory device insert!" #define ZOFFSET_STEP001 "0.01mm" #define ZOFFSET_STEP01 "0.1mm" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.cpp new file mode 100644 index 000000000000..01c86ad7cb47 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.cpp @@ -0,0 +1,120 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "draw_ui.h" +#include "wifiSerial.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include +#include +#include +#include +#include + +#include "../../../../MarlinCore.h" + +DEFINE_WFSERIAL(WifiSerial1, 1); + +WifiSerial::WifiSerial(usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin) { + this->usart_device = usart_device; + this->tx_pin = tx_pin; + this->rx_pin = rx_pin; +} + +/** + * Set up / tear down + */ +#if STM32_MCU_SERIES == STM32_SERIES_F1 + /* F1 MCUs have no GPIO_AFR[HL], so turn off PWM if there's a conflict + * on this GPIO bit. */ + static void disable_timer_if_necessary(timer_dev *dev, uint8 ch) { + if (dev != nullptr) timer_set_mode(dev, ch, TIMER_DISABLED); + } +#elif STM32_MCU_SERIES == STM32_SERIES_F2 || STM32_MCU_SERIES == STM32_SERIES_F4 + #define disable_timer_if_necessary(dev, ch) ((void)0) +#else + #warning "Unsupported STM32 series; timer conflicts are possible" +#endif + +void WifiSerial::begin(uint32 baud) { begin(baud, SERIAL_8N1); } + +/** + * Roger Clark. + * Note. The config parameter is not currently used. This is a work in progress. + * Code needs to be written to set the config of the hardware serial control register in question. + */ + +void WifiSerial::begin(uint32 baud, uint8_t config) { + //ASSERT(baud <= this->usart_device->max_baud); // Roger Clark. Assert doesn't do anything useful, we may as well save the space in flash and ram etc + + if (baud > this->usart_device->max_baud) return; + + const stm32_pin_info *txi = &PIN_MAP[this->tx_pin], + *rxi = &PIN_MAP[this->rx_pin]; + + disable_timer_if_necessary(txi->timer_device, txi->timer_channel); + + usart_init(this->usart_device); + + // Reinitialize the receive buffer, mks_esp8266 fixed data frame length is 1k bytes + rb_init(this->usart_device->rb, WIFI_RX_BUF_SIZE, wifiRxBuf); + + usart_config_gpios_async(this->usart_device, + rxi->gpio_device, rxi->gpio_bit, + txi->gpio_device, txi->gpio_bit, + config); + usart_set_baud_rate(this->usart_device, USART_USE_PCLK, baud); + usart_enable(this->usart_device); +} + +void WifiSerial::end(void) { + usart_disable(this->usart_device); +} + +int WifiSerial::available(void) { + return usart_data_available(this->usart_device); +} + +// +// I/O +// + +int WifiSerial::read(void) { + if (usart_data_available(usart_device) <= 0) return -1; + return usart_getc(usart_device); +} + +int WifiSerial::write(unsigned char ch) { + usart_putc(this->usart_device, ch); + return 1; +} + +int WifiSerial::wifi_rb_is_full(void) { + return rb_is_full(this->usart_device->rb); +} + +#endif // USE_WIFI_FUNCTION +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.h b/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.h new file mode 100644 index 000000000000..9d3946fee79b --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifiSerial.h @@ -0,0 +1,102 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft_lvgl_configuration.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#if SERIAL_PORT_2 != -1 + #error "SERIAL_PORT_2 must be set to -1 with HAS_TFT_LVGL_UI and USE_WIFI_FUNCTION." +#endif + +#define WIFI_BAUDRATE 115200 +#define WIFI_UPLOAD_BAUDRATE 1958400 +#define USART_SAFE_INSERT + +#define WIFI_RX_BUF_SIZE (1024+1) + +#include +#include +#include +#include +#include +#include + +#define DEFINE_WFSERIAL(name, n)\ + WifiSerial name(USART##n, \ + BOARD_USART##n##_TX_PIN, \ + BOARD_USART##n##_RX_PIN) + +class WifiSerial { + public: + uint8 wifiRxBuf[WIFI_RX_BUF_SIZE]; + + public: + WifiSerial(struct usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin); + + /* Set up/tear down */ + void begin(uint32 baud); + void begin(uint32 baud,uint8_t config); + void end(); + int available(void); + int read(void); + int write(uint8_t); + inline void wifi_usart_irq(usart_reg_map *regs) { + /* Handling RXNEIE and TXEIE interrupts. + * RXNE signifies availability of a byte in DR. + * + * See table 198 (sec 27.4, p809) in STM document RM0008 rev 15. + * We enable RXNEIE. + */ + if ((regs->CR1 & USART_CR1_RXNEIE) && (regs->SR & USART_SR_RXNE)) { + #ifdef USART_SAFE_INSERT + /* If the buffer is full and the user defines USART_SAFE_INSERT, + * ignore new bytes. */ + rb_safe_insert(this->usart_device->rb, (uint8)regs->DR); + #else + /* By default, push bytes around in the ring buffer. */ + rb_push_insert(this->usart_device->rb, (uint8)regs->DR); + #endif + } + /* TXE signifies readiness to send a byte to DR. */ + if ((regs->CR1 & USART_CR1_TXEIE) && (regs->SR & USART_SR_TXE)) { + if (!rb_is_empty(this->usart_device->wb)) + regs->DR=rb_remove(this->usart_device->wb); + else + regs->CR1 &= ~((uint32)USART_CR1_TXEIE); // disable TXEIE + } + } + + int wifi_rb_is_full(void); + + private: + struct usart_dev *usart_device; + uint8 tx_pin; + uint8 rx_pin; +}; + +extern WifiSerial WifiSerial1; + +#define WIFISERIAL WifiSerial1 + +#endif // USE_WIFI_FUNCTION diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp new file mode 100644 index 000000000000..5c025f13f986 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp @@ -0,0 +1,1927 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "draw_ui.h" +#include "wifi_module.h" +#include "wifi_upload.h" + +#if ENABLED(USE_WIFI_FUNCTION) + +#include "../../../../MarlinCore.h" +#include "../../../../module/temperature.h" +#include "../../../../gcode/queue.h" +#include "../../../../gcode/gcode.h" +#include "../../../../lcd/ultralcd.h" +#include "../../../../sd/cardreader.h" +#include "../../../../module/planner.h" +#if ENABLED(POWER_LOSS_RECOVERY) + #include "../../../../feature/powerloss.h" +#endif +#if ENABLED(PARK_HEAD_ON_PAUSE) + #include "../../../../feature/pause.h" +#endif + +#define WIFI_SET() WRITE(WIFI_RESET_PIN, HIGH); +#define WIFI_RESET() WRITE(WIFI_RESET_PIN, LOW); +#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH); +#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW); + +extern uint8_t Explore_Disk (char* path , uint8_t recu_level); + +extern uint8_t commands_in_queue; +extern uint8_t sel_id; + +int usartFifoAvailable(SZ_USART_FIFO *fifo); +int readUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len); +int writeUsartFifo(SZ_USART_FIFO * fifo, int8_t * buf, int32_t len); +extern unsigned int getTickDiff(unsigned int curTick, unsigned int lastTick); + +volatile SZ_USART_FIFO WifiRxFifo; + +#define WAIT_ESP_TRANS_TIMEOUT_TICK 10500 + +int cfg_cloud_flag = 0; + +extern PRINT_TIME print_time; + +char wifi_firm_ver[20] = {0}; +WIFI_GCODE_BUFFER espGcodeFifo; +extern uint8_t pause_resum; + +uint8_t wifi_connect_flg = 0; +extern volatile uint8_t get_temp_flag; + + +#define WIFI_MODE 2 +#define WIFI_AP_MODE 3 + +int upload_result = 0; + +uint32_t upload_time = 0; +uint32_t upload_size = 0; + +volatile WIFI_STATE wifi_link_state; +WIFI_PARA wifiPara; +IP_PARA ipPara; +CLOUD_PARA cloud_para; + +char wifi_check_time = 0; + +extern uint8_t gCurDir[100]; + +extern uint32_t wifi_loop_cycle; + +volatile TRANSFER_STATE esp_state; + +uint8_t left_to_send = 0; +uint8_t left_to_save[96] = {0}; + +volatile WIFI_DMA_RCV_FIFO wifiDmaRcvFifo; + +volatile WIFI_TRANS_ERROR wifiTransError; + +static bool need_ok_later = false; + +extern volatile WIFI_STATE wifi_link_state; +extern WIFI_PARA wifiPara; +extern IP_PARA ipPara; +extern CLOUD_PARA cloud_para; + +extern uint8_t once_flag; +extern uint8_t flash_preview_begin; +extern uint8_t default_preview_flg; +extern uint8_t gcode_preview_over; + +extern uint8_t bmp_public_buf[17 * 1024]; + +uint32_t getWifiTick() { + return millis(); +} + +uint32_t getWifiTickDiff(int32_t lastTick, int32_t curTick) { + if (lastTick <= curTick) { + return (curTick - lastTick) * TICK_CYCLE; + } + else { + return (0xffffffff - lastTick + curTick) * TICK_CYCLE; + } +} + +void wifi_delay(int n) { + uint32_t begin = getWifiTick(); + uint32_t end = begin; + + while (getWifiTickDiff(begin, end) < (uint32_t)n) { + end = getWifiTick(); + } +} + +void wifi_reset() { + uint32_t start, now; + start = getWifiTick(); + now = start; + WIFI_RESET(); + while (getWifiTickDiff(start, now) < 500) { + now = getWifiTick(); + } + WIFI_SET(); + +} + +void mount_file_sys(uint8_t disk_type) { + if (disk_type == FILE_SYS_SD) { + card.mount(); + } + else if (disk_type == FILE_SYS_USB) { + + } +} + +static void dma_init() { + #if 0 + __HAL_RCC_DMA1_CLK_ENABLE(); + + //HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_0); + HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 4, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn); + + hdma_usart1_rx.Instance = DMA1_Channel5; + //hdma_usart1_rx.Init.Channel = DMA_CHANNEL_4; + hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_rx.Init.MemDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_rx.Init.Mode = DMA_NORMAL; + hdma_usart1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; + if (HAL_DMA_Init((DMA_HandleTypeDef *)&hdma_usart1_rx) != HAL_OK) { + Error_Handler(); + } + + + HAL_DMA_Start_IT((DMA_HandleTypeDef *)&hdma_usart1_rx, + (uint32_t)&huart1.Instance->DR, + (uint32_t)(&WifiRxFifo.uartTxBuffer[0]), + UART_RX_BUFFER_SIZE); + + //HAL_UART_Receive_DMA(&huart1,(uint8_t*)&WifiRxFifo.uartTxBuffer[0], UART_RX_BUFFER_SIZE); + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the UART CR3 register */ + SET_BIT(huart1.Instance->CR3, USART_CR3_DMAR); + + #endif + for (uint8_t i = 0; i < TRANS_RCV_FIFO_BLOCK_NUM; i++) { + wifiDmaRcvFifo.bufferAddr[i] = &bmp_public_buf[1024 * i]; + wifiDmaRcvFifo.state[i] = udisk_buf_empty; + } + + memset(wifiDmaRcvFifo.bufferAddr[0], 0, 1024 * TRANS_RCV_FIFO_BLOCK_NUM); + wifiDmaRcvFifo.read_cur = 0; + wifiDmaRcvFifo.write_cur = 0; + +} + +static void wifi_deInit() { + #if 0 + HAL_DMA_Abort((DMA_HandleTypeDef *)&hdma_usart1_rx); + HAL_DMA_DeInit((DMA_HandleTypeDef *)&hdma_usart1_rx); + __HAL_DMA_DISABLE((DMA_HandleTypeDef *)&hdma_usart1_rx); + #endif +} + +extern uint8_t mksUsart1Rx; + +void esp_port_begin(uint8_t interrupt) { + WifiRxFifo.uart_read_point = 0; + WifiRxFifo.uart_write_point = 0; + #if 0 + NVIC_InitTypeDef NVIC_InitStructure; + + USART_InitTypeDef USART_InitStructure; + GPIO_InitTypeDef GPIO_InitStruct; + + WifiRxFifo.uart_read_point = 0; + WifiRxFifo.uart_write_point = 0; + memset((uint8_t*)WifiRxFifo.uartTxBuffer, 0, sizeof(WifiRxFifo.uartTxBuffer)); + + if (interrupt) { + #if TAN + wifi_deInit (); + + //SZ_STM32_COMInit(COM1, 115200); + __HAL_UART_ENABLE_IT(USART1, USART_IT_RXNE); + + USART_InitStructure.USART_BaudRate = 115200; //���ڵIJ����ʣ�����115200 ��ߴ�4.5Mbits/s + USART_InitStructure.USART_WordLength = USART_WordLength_8b; //�����ֳ���(8λ��9λ) + USART_InitStructure.USART_StopBits = USART_StopBits_1; //�����õ�ֹͣλ-֧��1��2��ֹͣλ + USART_InitStructure.USART_Parity = USART_Parity_No; //����żУ�� + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //��Ӳ�������� + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //˫��ģʽ��ʹ�ܷ��ͺͽ��� + + __HAL_RCC_USART1_CLK_ENABLE(); + + GPIO_InitStruct.Pin = TFT_WIFI_TX_Pin|TFT_WIFI_RX_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF7_USART1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pin = TFT_WIFI_RX_Pin; + HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); + + USART_Init(USART1, &USART_InitStructure); + + NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; + // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + + NVIC_Init(&NVIC_InitStructure); + #else + HAL_UART_DeInit(&huart1); + MX_USART1_UART_Init(3); + //__HAL_UART_ENABLE_IT(&huart1, UART_IT_RXNE); + HAL_UART_Receive_IT(&huart1,&mksUsart1Rx,1); + #endif + } + else{ + #if 0 + NVIC_DisableIRQ(SZ_STM32_COM1_IRQn); + + USART_Cmd(SZ_STM32_COM1, DISABLE); + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, DISABLE); + RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); + + SZ_STM32_COMInit(COM1, 1958400); + + USART_Cmd(SZ_STM32_COM1, ENABLE); + + wifi_delay(10); + + dma_init(); + #endif + HAL_UART_DeInit(&huart1); + MX_USART1_UART_Init(5); + //dma1_5_IRQ_sel = 1; + dma_init(); + } + #endif + if (interrupt) { + #if ENABLED(USE_WIFI_FUNCTION) + WIFISERIAL.end(); + for (uint16_t i = 0; i < 65535; i++); + WIFISERIAL.begin(WIFI_BAUDRATE); + uint32_t serial_connect_timeout = millis() + 1000UL; + while (/*!WIFISERIAL && */PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + //for(uint8_t i=0;i<100;i++)WIFISERIAL.write(0x33); + #endif + } + else { + #if ENABLED(USE_WIFI_FUNCTION) + WIFISERIAL.end(); + for (uint16_t i = 0; i < 65535; i++); + WIFISERIAL.begin(WIFI_UPLOAD_BAUDRATE); + uint32_t serial_connect_timeout = millis() + 1000UL; + while (/*!WIFISERIAL && */PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + //for(uint16_t i=0;i<65535;i++);//WIFISERIAL.write(0x33); + #endif + dma_init(); + } +} + +#if ENABLED(USE_WIFI_FUNCTION) + +int raw_send_to_wifi(char *buf, int len) { + if (buf == 0 || len <= 0) return 0; + + for (int i = 0; i < len; i++) + WIFISERIAL.write(*(buf + i)); + + return len; +} + +#endif // USE_WIFI_FUNCTION + +void wifi_ret_ack() {} + +char buf_to_wifi[256]; +int index_to_wifi = 0; +int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len) { + char wifi_ret_head = 0xa5; + char wifi_ret_tail = 0xfc; + + if (type == WIFI_PARA_SET) { + int data_offset = 4; + int apLen = strlen((const char *)uiCfg.wifi_name); + int keyLen = strlen((const char *)uiCfg.wifi_key); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + + buf_to_wifi[data_offset] = gCfgItems.wifi_mode_sel; + buf_to_wifi[data_offset + 1] = apLen; + strncpy(&buf_to_wifi[data_offset + 2], (const char *)uiCfg.wifi_name, apLen); + buf_to_wifi[data_offset + apLen + 2] = keyLen; + strncpy(&buf_to_wifi[data_offset + apLen + 3], (const char *)uiCfg.wifi_key, keyLen); + buf_to_wifi[data_offset + apLen + keyLen + 3] = wifi_ret_tail; + + index_to_wifi = apLen + keyLen + 3; + + buf_to_wifi[0] = wifi_ret_head; + buf_to_wifi[1] = type; + buf_to_wifi[2] = index_to_wifi & 0xff; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + + raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + + } + else if (type == WIFI_TRANS_INF) { + if (len > (int)(sizeof(buf_to_wifi) - index_to_wifi - 5)) { + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + return 0; + } + + if (len > 0) { + memcpy(&buf_to_wifi[4 + index_to_wifi], buf, len); + index_to_wifi += len; + + if (index_to_wifi < 1) + return 0; + + if (buf_to_wifi[index_to_wifi + 3] == '\n') { + //mask "wait" "busy" "X:" + if (((buf_to_wifi[4] == 'w') && (buf_to_wifi[5] == 'a') && (buf_to_wifi[6] == 'i') && (buf_to_wifi[7] == 't') ) + || ((buf_to_wifi[4] == 'b') && (buf_to_wifi[5] == 'u') && (buf_to_wifi[6] == 's') && (buf_to_wifi[7] == 'y') ) + || ((buf_to_wifi[4] == 'X') && (buf_to_wifi[5] == ':') ) + ) { + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + return 0; + } + + buf_to_wifi[0] = wifi_ret_head; + buf_to_wifi[1] = type; + buf_to_wifi[2] = index_to_wifi & 0xff; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + buf_to_wifi[4 + index_to_wifi] = wifi_ret_tail; + + raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + } + } + } + else if (type == WIFI_EXCEP_INF) { + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + + buf_to_wifi[0] = wifi_ret_head; + buf_to_wifi[1] = type; + buf_to_wifi[2] = 1; + buf_to_wifi[3] = 0; + buf_to_wifi[4] = *buf; + buf_to_wifi[5] = wifi_ret_tail; + + raw_send_to_wifi(buf_to_wifi, 6); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + } + else if (type == WIFI_CLOUD_CFG) { + int data_offset = 4; + int urlLen = strlen((const char *)uiCfg.cloud_hostUrl); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + + if (gCfgItems.cloud_enable == true) + buf_to_wifi[data_offset] = 0x0a; + else + buf_to_wifi[data_offset] = 0x05; + + buf_to_wifi[data_offset + 1] = urlLen; + strncpy(&buf_to_wifi[data_offset + 2], (const char *)uiCfg.cloud_hostUrl, urlLen); + buf_to_wifi[data_offset + urlLen + 2] = uiCfg.cloud_port & 0xff; + buf_to_wifi[data_offset + urlLen + 3] = (uiCfg.cloud_port >> 8) & 0xff; + buf_to_wifi[data_offset + urlLen + 4] = wifi_ret_tail; + + index_to_wifi = urlLen + 4; + + buf_to_wifi[0] = wifi_ret_head; + buf_to_wifi[1] = type; + buf_to_wifi[2] = index_to_wifi & 0xff; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + + raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + } + else if (type == WIFI_CLOUD_UNBIND) { + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + + buf_to_wifi[0] = wifi_ret_head; + buf_to_wifi[1] = type; + buf_to_wifi[2] = 0; + buf_to_wifi[3] = 0; + buf_to_wifi[4] = wifi_ret_tail; + + raw_send_to_wifi(buf_to_wifi, 5); + + memset(buf_to_wifi, 0, sizeof(buf_to_wifi)); + index_to_wifi = 0; + } +} + + +int send_to_wifi(char *buf, int len) { return package_to_wifi(WIFI_TRANS_INF, buf, len); } + +void set_cur_file_sys(int fileType) { + gCfgItems.fileSysType = fileType; +} + +void get_file_list(char *path) { + if ( path == 0) { + return; + } + + if (gCfgItems.fileSysType == FILE_SYS_SD) { + #if ENABLED(SDSUPPORT) + card.mount(); + #endif + } + else if (gCfgItems.fileSysType == FILE_SYS_USB) { + //udisk + } + Explore_Disk(path, 0); +} + +char wait_ip_back_flag = 0; + +typedef struct { + char write_buf[513]; + int write_index; + uint8_t saveFileName[30]; + uint32_t fileLen; + uint32_t tick_begin; + uint32_t tick_end; +} FILE_WRITER; + +FILE_WRITER file_writer; + +int32_t lastFragment = 0; + +char lastBinaryCmd[50] = {0}; + +int total_write = 0; +char binary_head[2] = {0, 0}; +unsigned char binary_data_len = 0; + +int write_to_file(char *buf, int len) { + int i; + int res; + + for (i = 0; i < len; i++) { + file_writer.write_buf[file_writer.write_index++] = buf[i]; + if (file_writer.write_index >= 512) { + res = card.write(file_writer.write_buf, file_writer.write_index); + if (res == -1) { + return -1; + } + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + file_writer.write_index = 0; + } + } + return 0; +} + +#define ESP_PROTOC_HEAD (uint8_t)0xa5 +#define ESP_PROTOC_TAIL (uint8_t)0xfc + +#define ESP_TYPE_NET (uint8_t)0x0 +#define ESP_TYPE_GCODE (uint8_t)0x1 +#define ESP_TYPE_FILE_FIRST (uint8_t)0x2 +#define ESP_TYPE_FILE_FRAGMENT (uint8_t)0x3 + +#define ESP_TYPE_WIFI_LIST (uint8_t)0x4 + +uint8_t esp_msg_buf[UART_RX_BUFFER_SIZE] = {0}; +uint16_t esp_msg_index = 0; + +typedef struct { + uint8_t head; + uint8_t type; + uint16_t dataLen; + uint8_t *data; + uint8_t tail; +} ESP_PROTOC_FRAME; + + +static int cut_msg_head(uint8_t *msg, uint16_t msgLen, uint16_t cutLen) { + if (msgLen < cutLen) return 0; + + else if (msgLen == cutLen) { + memset(msg, 0, msgLen); + return 0; + } + + for (int i = 0; i < (msgLen - cutLen); i++) + msg[i] = msg[cutLen + i]; + + memset(&msg[msgLen - cutLen], 0, cutLen); + + return msgLen - cutLen; +} + + +uint8_t Explore_Disk (char* path , uint8_t recu_level) { + char tmp[200]; + char Fstream[200]; + + if (path == 0)return 0; + + const uint8_t fileCnt = card.get_num_Files(); + + for (uint8_t i = 0; i < fileCnt; i++) { + const uint16_t nr = + #if ENABLED(SDCARD_RATHERRECENTFIRST) && DISABLED(SDCARD_SORT_ALPHA) + fileCnt - 1 - + #endif + i; + + #if ENABLED(SDCARD_SORT_ALPHA) + card.getfilename_sorted(nr); + #else + card.getfilename_sorted(nr); + #endif + memset(tmp, 0, sizeof(tmp)); + //if (card.longFilename[0] == 0) + strcpy(tmp, card.filename); + //else + //strcpy(tmp, card.longFilename); + + memset(Fstream, 0, sizeof(Fstream)); + strcpy(Fstream, tmp); + + if (card.flag.filenameIsDir && (recu_level <= 10)) { + strcat(Fstream, ".DIR\r\n"); + send_to_wifi(Fstream, strlen(Fstream)); + } + else { + strcat(Fstream, "\r\n"); + send_to_wifi(Fstream, strlen(Fstream)); + } + } + + return fileCnt; +} + +static void wifi_gcode_exec(uint8_t *cmd_line) { + int8_t tempBuf[100] = {0}; + uint8_t *tmpStr = 0; + int cmd_value; + volatile int print_rate; + if ((strstr((char *)&cmd_line[0], "\n") != 0) && ((strstr((char *)&cmd_line[0], "G") != 0) || (strstr((char *)&cmd_line[0], "M") != 0) || (strstr((char *)&cmd_line[0], "T") != 0) )) { + + tmpStr = (uint8_t *)strstr((char *)&cmd_line[0], "\n"); + if (tmpStr) { + *tmpStr = '\0'; + } + tmpStr = (uint8_t *)strstr((char *)&cmd_line[0], "\r"); + if (tmpStr) { + *tmpStr = '\0'; + } + tmpStr = (uint8_t *)strstr((char *)&cmd_line[0], "*"); + if (tmpStr) { + *tmpStr = '\0'; + } + tmpStr = (uint8_t *)strstr((char *)&cmd_line[0], "M"); + if ( tmpStr) { + cmd_value = atoi((char *)(tmpStr + 1)); + tmpStr = (uint8_t *)strstr((char *)tmpStr, " "); + + switch (cmd_value) { + + case 20: //print sd / udisk file + if (uiCfg.print_state == IDLE) { + int index = 0; + + if (tmpStr == 0) { + gCfgItems.fileSysType = FILE_SYS_SD; + send_to_wifi((char *)"Begin file list\r\n", strlen("Begin file list\r\n")); + + get_file_list((char *)"0:/"); + + send_to_wifi((char *)"End file list\r\n", strlen("End file list\r\n")); + + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + break; + } + + while (tmpStr[index] == ' ') + index++; + + if (gCfgItems.wifi_type == ESP_WIFI) { + char *path = (char *)tempBuf; + + if (strlen((char *)&tmpStr[index]) < 80) { + send_to_wifi((char *)"Begin file list\r\n", strlen("Begin file list\r\n")); + + if (strncmp((char *)&tmpStr[index], "1:", 2) == 0) { + gCfgItems.fileSysType = FILE_SYS_SD; + + } + else if (strncmp((char *)&tmpStr[index], "0:", 2) == 0) { + gCfgItems.fileSysType = FILE_SYS_USB; + } + strcpy((char *)path, (char *)&tmpStr[index]); + get_file_list(path); + send_to_wifi((char *)"End file list\r\n", strlen("End file list\r\n")); + } + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + } + } + break; + + case 21: + /*init sd card*/ + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + break; + + case 23: + /*select the file*/ + if (uiCfg.print_state == IDLE) { + int index = 0; + while (tmpStr[index] == ' ') + index++; + + if (strstr((char *)&tmpStr[index], ".g") || strstr((char *)&tmpStr[index], ".G")) { + if (strlen((char *)&tmpStr[index]) < 80) { + memset(list_file.file_name[sel_id], 0, sizeof(list_file.file_name[sel_id])); + + if (gCfgItems.wifi_type == ESP_WIFI) { + if (strncmp((char *)&tmpStr[index], "1:", 2) == 0) { + gCfgItems.fileSysType = FILE_SYS_SD; + + } + else if (strncmp((char *)&tmpStr[index], "0:", 2) == 0) { + gCfgItems.fileSysType = FILE_SYS_USB; + } + else { + if (tmpStr[index] != '/') + strcat((char *)list_file.file_name[0], "/"); + } + strcat((char *)list_file.file_name[sel_id], (char *)&tmpStr[index]); + + } + else { + strcpy(list_file.file_name[sel_id], (char *)&tmpStr[index]); + } + + char *cur_name=strrchr(list_file.file_name[sel_id],'/'); + + card.openFileRead(cur_name); + + if (card.isFileOpen()) { + send_to_wifi((char *)"File selected\r\n", strlen("File selected\r\n")); + + } + else { + send_to_wifi((char *)"file.open failed\r\n", strlen("file.open failed\r\n")); + strcpy(list_file.file_name[sel_id], "notValid"); + } + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + + } + + + } + } + break; + + case 24: + if (strcmp(list_file.file_name[sel_id], "notValid") != 0) { + if (uiCfg.print_state == IDLE) { + clear_cur_ui(); + reset_print_time(); + start_print_time(); + preview_gcode_prehandle(list_file.file_name[sel_id]); + uiCfg.print_state = WORKING; + lv_draw_printing(); + + if (gcode_preview_over != 1) { + #if ENABLED(SDSUPPORT) + char *cur_name; + cur_name=strrchr(list_file.file_name[sel_id],'/'); + + SdFile file; + SdFile *curDir; + card.endFilePrint(); + const char * const fname = card.diveToFile(true, curDir, cur_name); + if (!fname) return; + if (file.open(curDir, fname, O_READ)) { + gCfgItems.curFilesize = file.fileSize(); + file.close(); + update_spi_flash(); + } + card.openFileRead(cur_name); + if (card.isFileOpen()) { + feedrate_percentage = 100; + //saved_feedrate_percentage = feedrate_percentage; + planner.flow_percentage[0] = 100; + planner.e_factor[0]= planner.flow_percentage[0]*0.01; + if (EXTRUDERS==2) { + planner.flow_percentage[1] = 100; + planner.e_factor[1]= planner.flow_percentage[1]*0.01; + } + card.startFileprint(); + #if ENABLED(POWER_LOSS_RECOVERY) + recovery.prepare(); + #endif + once_flag = 0; + } + #endif + + } + } + else if (uiCfg.print_state == PAUSED) { + uiCfg.print_state = RESUMING; + clear_cur_ui(); + start_print_time(); + + if (gCfgItems.from_flash_pic==1) + flash_preview_begin = 1; + else + default_preview_flg = 1; + lv_draw_printing(); + } + else if (uiCfg.print_state == REPRINTING) { + uiCfg.print_state = REPRINTED; + clear_cur_ui(); + start_print_time(); + if (gCfgItems.from_flash_pic==1) + flash_preview_begin = 1; + else + default_preview_flg = 1; + lv_draw_printing(); + } + } + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + break; + + case 25: + /*pause print file*/ + if (uiCfg.print_state == WORKING) { + stop_print_time(); + + clear_cur_ui(); + + #if ENABLED(SDSUPPORT) + card.pauseSDPrint(); + uiCfg.print_state = PAUSING; + #endif + if (gCfgItems.from_flash_pic==1) + flash_preview_begin = 1; + else + default_preview_flg = 1; + lv_draw_printing(); + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + } + break; + + case 26: + /*stop print file*/ + if ((uiCfg.print_state == WORKING) || (uiCfg.print_state == PAUSED) || (uiCfg.print_state == REPRINTING)) { + stop_print_time(); + + clear_cur_ui(); + #if ENABLED(SDSUPPORT) + uiCfg.print_state = IDLE; + card.flag.abort_sd_printing = true; + #endif + + lv_draw_ready_print(); + + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + } + break; + + case 27: + /*report print rate*/ + if ((uiCfg.print_state == WORKING) || (uiCfg.print_state == PAUSED)|| (uiCfg.print_state == REPRINTING)) { + print_rate = uiCfg.totalSend; + + memset((char *)tempBuf, 0, sizeof(tempBuf)); + + sprintf((char *)tempBuf, "M27 %d\r\n", print_rate); + + send_to_wifi((char *)tempBuf, strlen((char *)tempBuf)); + + } + + break; + + case 28: + /*begin to transfer file to filesys*/ + if (uiCfg.print_state == IDLE) { + + int index = 0; + while (tmpStr[index] == ' ') + index++; + + if (strstr((char *)&tmpStr[index], ".g") || strstr((char *)&tmpStr[index], ".G")) { + strcpy((char *)file_writer.saveFileName, (char *)&tmpStr[index]); + + if (gCfgItems.fileSysType == FILE_SYS_SD) { + memset(tempBuf, 0, sizeof(tempBuf)); + sprintf((char *)tempBuf, "%s", file_writer.saveFileName); + } + else if (gCfgItems.fileSysType == FILE_SYS_USB) { + memset(tempBuf, 0, sizeof(tempBuf)); + sprintf((char *)tempBuf, "%s", (char *)file_writer.saveFileName); + } + mount_file_sys(gCfgItems.fileSysType); + + #if ENABLED(SDSUPPORT) + char *cur_name=strrchr(list_file.file_name[sel_id],'/'); + card.openFileWrite(cur_name); + if (card.isFileOpen()) { + memset(file_writer.saveFileName, 0, sizeof(file_writer.saveFileName)); + strcpy((char *)file_writer.saveFileName, (char *)&tmpStr[index]); + memset(tempBuf, 0, sizeof(tempBuf)); + sprintf((char *)tempBuf, "Writing to file: %s\r\n", (char *)file_writer.saveFileName); + wifi_ret_ack(); + send_to_wifi((char *)tempBuf, strlen((char *)tempBuf)); + + total_write = 0; + wifi_link_state = WIFI_WAIT_TRANS_START; + + } + else{ + wifi_link_state = WIFI_CONNECTED; + clear_cur_ui(); + lv_draw_dialog(DIALOG_TRANSFER_NO_DEVICE); + } + #endif + + } + + } + break; + case 105: + case 991: + memset(tempBuf, 0, sizeof(tempBuf)); + if (cmd_value == 105) { + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + sprintf((char *)tempBuf,"T:%.1f /%.1f B:%.1f /%.1f T0:%.1f /%.1f T1:%.1f /%.1f @:0 B@:0\r\n", + + (float)thermalManager.temp_hotend[0].celsius,(float)thermalManager.temp_hotend[0].target, + #if HAS_HEATED_BED + (float)thermalManager.temp_bed.celsius,(float)thermalManager.temp_bed.target, + #else + (float)0,(float)0, + #endif + (float)thermalManager.temp_hotend[0].celsius,(float)thermalManager.temp_hotend[0].target, + #if !defined(SINGLENOZZLE) && HAS_MULTI_EXTRUDER + (float)thermalManager.temp_hotend[1].celsius,(float)thermalManager.temp_hotend[1].target + #else + (float)0,(float)0 + #endif + ); + } + else { + sprintf((char *)tempBuf,"T:%d /%d B:%d /%d T0:%d /%d T1:%d /%d @:0 B@:0\r\n", + + (int)thermalManager.temp_hotend[0].celsius,(int)thermalManager.temp_hotend[0].target, + #if HAS_HEATED_BED + (int)thermalManager.temp_bed.celsius,(int)thermalManager.temp_bed.target, + #else + 0,0, + #endif + (int)thermalManager.temp_hotend[0].celsius,(int)thermalManager.temp_hotend[0].target, + #if !defined(SINGLENOZZLE) && HAS_MULTI_EXTRUDER + (int)thermalManager.temp_hotend[1].celsius,(int)thermalManager.temp_hotend[1].target + #else + 0,0 + #endif + ); + } + + send_to_wifi((char *)tempBuf, strlen((char *)tempBuf)); + + queue.enqueue_one_P(PSTR("M105")); + + break; + case 992: + if ((uiCfg.print_state == WORKING) || (uiCfg.print_state == PAUSED)) { + memset(tempBuf,0,sizeof(tempBuf)); + sprintf((char *)tempBuf, "M992 %d%d:%d%d:%d%d\r\n", print_time.hours/10, print_time.hours%10, print_time.minutes/10, print_time.minutes%10, print_time.seconds/10, print_time.seconds%10); + wifi_ret_ack(); + send_to_wifi((char *)tempBuf, strlen((char *)tempBuf)); + } + + break; + case 994: + if ((uiCfg.print_state == WORKING) || (uiCfg.print_state == PAUSED)) { + memset(tempBuf,0,sizeof(tempBuf)); + if (strlen((char *)list_file.file_name[sel_id]) > (100-1)) { + return; + } + sprintf((char *)tempBuf, "M994 %s;%d\n", list_file.file_name[sel_id],(int)gCfgItems.curFilesize); + wifi_ret_ack(); + send_to_wifi((char *)tempBuf, strlen((char *)tempBuf)); + } + break; + case 997: + if (uiCfg.print_state == IDLE) { + wifi_ret_ack(); + send_to_wifi((char *)"M997 IDLE\r\n", strlen("M997 IDLE\r\n")); + } + else if (uiCfg.print_state == WORKING) { + wifi_ret_ack(); + send_to_wifi((char *)"M997 PRINTING\r\n", strlen("M997 PRINTING\r\n")); + } + else if (uiCfg.print_state == PAUSED) { + wifi_ret_ack(); + send_to_wifi((char *)"M997 PAUSE\r\n", strlen("M997 PAUSE\r\n")); + } + else if (uiCfg.print_state == REPRINTING) { + wifi_ret_ack(); + send_to_wifi((char *)"M997 PAUSE\r\n", strlen("M997 PAUSE\r\n")); + } + if (uiCfg.command_send == 0) get_wifi_list_command_send(); + break; + + case 998: + if (uiCfg.print_state == IDLE) { + if (atoi((char *)tmpStr) == 0) { + set_cur_file_sys(0); + } + else if (atoi((char *)tmpStr) == 1) { + set_cur_file_sys(1); + } + wifi_ret_ack(); + } + break; + + case 115: + memset(tempBuf,0,sizeof(tempBuf)); + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + send_to_wifi((char *)"FIRMWARE_NAME:Robin_nano\r\n", strlen("FIRMWARE_NAME:Robin_nano\r\n")); + break; + + default: + strcat((char *)cmd_line, "\n"); + + uint32_t left; + + if (espGcodeFifo.wait_tick> 5) { + + if (espGcodeFifo.r > espGcodeFifo.w) + left = espGcodeFifo.r - espGcodeFifo.w - 1; + else + left = WIFI_GCODE_BUFFER_SIZE + espGcodeFifo.r - espGcodeFifo.w - 1; + if (left >= strlen((const char *)cmd_line)) { + uint32_t index = 0; + while (index < strlen((const char *)cmd_line)) { + espGcodeFifo.Buffer[espGcodeFifo.w] = cmd_line[index] ; + espGcodeFifo.w = (espGcodeFifo.w + 1) % WIFI_GCODE_BUFFER_SIZE; + index++; + } + if (left - WIFI_GCODE_BUFFER_LEAST_SIZE >= strlen((const char *)cmd_line)) + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + else + need_ok_later = true; + + } + + } + break; + + } + } + else{ + strcat((char *)cmd_line, "\n"); + uint32_t left_g; + + if (espGcodeFifo.wait_tick > 5) { + + if (espGcodeFifo.r > espGcodeFifo.w) + left_g = espGcodeFifo.r - espGcodeFifo.w - 1; + else + left_g = WIFI_GCODE_BUFFER_SIZE + espGcodeFifo.r - espGcodeFifo.w - 1; + if (left_g >= strlen((const char *)cmd_line)) { + uint32_t index = 0; + while (index < strlen((const char *)cmd_line)) { + espGcodeFifo.Buffer[espGcodeFifo.w] = cmd_line[index] ; + espGcodeFifo.w = (espGcodeFifo.w + 1) % WIFI_GCODE_BUFFER_SIZE; + index++; + } + if (left_g - WIFI_GCODE_BUFFER_LEAST_SIZE >= strlen((const char *)cmd_line)) + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + else + need_ok_later = true; + + } + } + } + } +} + +static int32_t charAtArray(const uint8_t *_array, uint32_t _arrayLen, uint8_t _char) { + for (uint32_t i = 0; i < _arrayLen; i++) + if (*(_array + i) == _char) return i; + return -1; +} + +void get_wifi_list_command_send() { + char buf[6] = {0}; + buf[0] = 0xA5; + buf[1] = 0x07; + buf[2] = 0x00; + buf[3] = 0x00; + buf[4] = 0xFC; + raw_send_to_wifi(buf, 5); +} + +static void net_msg_handle(uint8_t * msg, uint16_t msgLen) { + int wifiNameLen, wifiKeyLen, hostLen, id_len, ver_len; + + if (msgLen <= 0) return; + //ip + sprintf(ipPara.ip_addr, "%d.%d.%d.%d", msg[0], msg[1], msg[2], msg[3]); + + //port + //connect state + if (msg[6] == 0x0A) + wifi_link_state = WIFI_CONNECTED; + else if (msg[6] == 0x0E) + wifi_link_state = WIFI_EXCEPTION; + else + wifi_link_state = WIFI_NOT_CONFIG; + + //mode + wifiPara.mode = msg[7]; + + + //wifi name + wifiNameLen = msg[8]; + wifiKeyLen = msg[9 + wifiNameLen]; + if (wifiNameLen < 32) { + memset(wifiPara.ap_name, 0, sizeof(wifiPara.ap_name)); + memcpy(wifiPara.ap_name, &msg[9], wifiNameLen); + + memset(&wifi_list.wifiConnectedName,0,sizeof(wifi_list.wifiConnectedName)); + memcpy(&wifi_list.wifiConnectedName,&msg[9],wifiNameLen); + + //wifi key + if (wifiKeyLen < 64) { + memset(wifiPara.keyCode, 0, sizeof(wifiPara.keyCode)); + memcpy(wifiPara.keyCode, &msg[10 + wifiNameLen], wifiKeyLen); + } + } + + + cloud_para.state =msg[10 + wifiNameLen + wifiKeyLen]; + hostLen = msg[11 + wifiNameLen + wifiKeyLen]; + if (cloud_para.state) { + if (hostLen < 96) { + memset(cloud_para.hostUrl, 0, sizeof(cloud_para.hostUrl)); + memcpy(cloud_para.hostUrl, &msg[12 + wifiNameLen + wifiKeyLen], hostLen); + } + cloud_para.port = msg[12 + wifiNameLen + wifiKeyLen + hostLen] + (msg[13 + wifiNameLen + wifiKeyLen + hostLen] << 8); + + } + + // id + id_len = msg[14 + wifiNameLen + wifiKeyLen + hostLen]; + if (id_len == 20) { + memset(cloud_para.id, 0, sizeof(cloud_para.id)); + memcpy(cloud_para.id, (const char *)&msg[15 + wifiNameLen + wifiKeyLen + hostLen], id_len); + } + ver_len = msg[15 + wifiNameLen + wifiKeyLen + hostLen + id_len]; + if (ver_len < 20) { + memset(wifi_firm_ver, 0, sizeof(wifi_firm_ver)); + memcpy(wifi_firm_ver, (const char *)&msg[16 + wifiNameLen + wifiKeyLen + hostLen + id_len], ver_len); + } + + if (uiCfg.configWifi == 1) { + if ((wifiPara.mode != gCfgItems.wifi_mode_sel) + || (strncmp(wifiPara.ap_name, (const char *)uiCfg.wifi_name, 32) != 0) + || (strncmp(wifiPara.keyCode, (const char *)uiCfg.wifi_key, 64) != 0)) { + package_to_wifi(WIFI_PARA_SET, (char *)0, 0); + } + else uiCfg.configWifi = 0; + } + if (cfg_cloud_flag == 1) { + if (((cloud_para.state >> 4) != (char)gCfgItems.cloud_enable) + || (strncmp(cloud_para.hostUrl, (const char *)uiCfg.cloud_hostUrl, 96) != 0) + || (cloud_para.port != uiCfg.cloud_port)) { + package_to_wifi(WIFI_CLOUD_CFG, (char *)0, 0); + } + else cfg_cloud_flag = 0; + } +} + +static void wifi_list_msg_handle(uint8_t * msg, uint16_t msgLen) { + int wifiNameLen,wifiMsgIdex=1; + int8_t wifi_name_is_same=0; + int8_t i,j; + int8_t wifi_name_num=0; + uint8_t *str=0; + int8_t valid_name_num; + + if (msgLen <= 0) + return; + if (disp_state == KEY_BOARD_UI) + return; + + wifi_list.getNameNum = msg[0]; + + if (wifi_list.getNameNum < 20) { + uiCfg.command_send = 1; + + memset(wifi_list.wifiName,0,sizeof(wifi_list.wifiName)); + + wifi_name_num = wifi_list.getNameNum; + + valid_name_num=0; + str = wifi_list.wifiName[valid_name_num]; + + if (wifi_list.getNameNum > 0) wifi_list.currentWifipage = 1; + + for (i = 0; i 0x80) { + wifi_name_is_same = 1; + //break; + } + //} + } + if (wifi_name_is_same == 1) { + wifi_name_is_same = 0; + wifiMsgIdex += wifiNameLen; + //wifi_list.RSSI[i] = msg[wifiMsgIdex]; + wifiMsgIdex += 1; + wifi_name_num--; + //i--; + continue; + } + if (i < WIFI_TOTAL_NUMBER-1) { + str = wifi_list.wifiName[++valid_name_num]; + } + } + wifiMsgIdex += wifiNameLen; + wifi_list.RSSI[i] = msg[wifiMsgIdex]; + wifiMsgIdex += 1; + } + wifi_list.getNameNum = wifi_name_num; + if (wifi_list.getNameNum % NUMBER_OF_PAGE == 0) { + wifi_list.getPage = wifi_list.getNameNum/NUMBER_OF_PAGE; + } + else { + wifi_list.getPage = wifi_list.getNameNum/NUMBER_OF_PAGE + 1; + } + wifi_list.nameIndex = 0; + if (disp_state == WIFI_LIST_UI) + disp_wifi_list(); + } +} + +static void gcode_msg_handle(uint8_t * msg, uint16_t msgLen) { + uint8_t gcodeBuf[100] = {0}; + char *index_s; + char *index_e; + + if (msgLen <= 0) + return; + + index_s = (char *)msg; + index_e = (char *)strstr((char *)msg, "\n"); + if (*msg == 'N') { + index_s = (char *)strstr((char *)msg, " "); + while ((*index_s) == ' ') { + index_s++; + } + } + while ((index_e != 0) && ((int)index_s < (int)index_e)) { + if ((int)(index_e - index_s) < (int)sizeof(gcodeBuf)) { + memset(gcodeBuf, 0, sizeof(gcodeBuf)); + + memcpy(gcodeBuf, index_s, index_e - index_s + 1); + + wifi_gcode_exec(gcodeBuf); + } + while ((*index_e == '\r') || (*index_e == '\n')) + index_e++; + + index_s = index_e; + index_e = (char *)strstr(index_s, "\n"); + } +} + +void utf8_2_unicode(uint8_t *source,uint8_t Len) { + uint8_t i=0,char_i=0,char_byte_num=0; + uint16_t u16_h,u16_m,u16_l,u16_value; + uint8_t FileName_unicode[30]; + + memset(FileName_unicode, 0, sizeof(FileName_unicode)); + + while (1) { + char_byte_num = source[i] & 0xF0; + if (source[i] < 0X80) { + //ASCII --1byte + FileName_unicode[char_i] = source[i]; + i += 1; + char_i += 1; + } + else if (char_byte_num == 0XC0 || char_byte_num == 0XD0) { + //--2byte + + u16_h = (((uint16_t)source[i] <<8) & 0x1f00) >> 2; + u16_l = ((uint16_t)source[i+1] & 0x003f); + u16_value = (u16_h | u16_l); + FileName_unicode[char_i] = (uint8_t)((u16_value & 0xff00) >> 8); + FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00ff); + i += 2; + char_i += 2; + } + else if (char_byte_num == 0XE0) { + //--3byte + u16_h = (((uint16_t)source[i] <<8 ) & 0x0f00) << 4; + u16_m = (((uint16_t)source[i+1] << 8) & 0x3f00) >> 2; + u16_l = ((uint16_t)source[i+2] & 0x003f); + u16_value = (u16_h | u16_m | u16_l); + FileName_unicode[char_i] = (uint8_t)((u16_value & 0xff00) >> 8); + FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00ff); + i += 3; + char_i += 2; + } + else if (char_byte_num == 0XF0) { + //--4byte + i += 4; + //char_i += 3; + } + else { + break; + } + if (i >= Len || i >= 255)break; + } + memcpy(source, FileName_unicode, sizeof(FileName_unicode)); +} + +char saveFilePath[50]; + +static bool longName2DosName(const char* longName, uint8_t* dosName) { + uint8_t i = 11; + while (i--) dosName[i] = '\0'; + while (*longName) { + uint8_t c = *longName++; + if (c == '.') { // For a dot... + if (i == 0) return false; + else { strcat((char *)dosName,".GCO"); return dosName[0] != '\0'; } + } + else { + // Fail for illegal characters + PGM_P p = PSTR("|<>^+=?/[];,*\"\\"); + while (uint8_t b = pgm_read_byte(p++)) if (b == c) return false; + if (c < 0x21 || c == 0x7F) return false; // Check size, non-printable characters + dosName[i++] = (c < 'a' || c > 'z') ? (c) : (c + ('A' - 'a')); // Uppercase required for 8.3 name + } + if (i >= 5) strcat((char *)dosName,"~1.GCO"); + } + return dosName[0] != '\0'; // Return true if any name was set +} + +static void file_first_msg_handle(uint8_t * msg, uint16_t msgLen) { + uint8_t fileNameLen = *msg; + + if (msgLen != fileNameLen + 5) return; + + file_writer.fileLen = *((uint32_t *)(msg + 1)); + memset(file_writer.saveFileName, 0, sizeof(file_writer.saveFileName)); + + memcpy(file_writer.saveFileName, msg + 5, fileNameLen); + + utf8_2_unicode(file_writer.saveFileName,fileNameLen); + + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + + if (strlen((const char *)file_writer.saveFileName) > sizeof(saveFilePath)) + return; + + memset(saveFilePath, 0, sizeof(saveFilePath)); + + if (gCfgItems.fileSysType == FILE_SYS_SD) { + //sprintf((char *)saveFilePath, "/%s", file_writer.saveFileName); + card.mount(); + + //ZERO(list_file.long_name[sel_id]); + //memcpy(list_file.long_name[sel_id],file_writer.saveFileName,sizeof(list_file.long_name[sel_id])); + } + else if (gCfgItems.fileSysType == FILE_SYS_USB) { + + } + file_writer.write_index = 0; + lastFragment = -1; + + wifiTransError.flag = 0; + wifiTransError.start_tick = 0; + wifiTransError.now_tick = 0; + + TERN_(SDSUPPORT, card.closefile()); + + wifi_delay(1000); + + #if ENABLED(SDSUPPORT) + + uint8_t dosName[FILENAME_LENGTH]; + + if (!longName2DosName((const char *)file_writer.saveFileName,dosName)) { + clear_cur_ui(); + upload_result = 2; + wifiTransError.flag = 1; + wifiTransError.start_tick = getWifiTick(); + lv_draw_dialog(DIALOG_TYPE_UPLOAD_FILE); + return; + } + sprintf((char *)saveFilePath, "/%s", dosName); + + ZERO(list_file.long_name[sel_id]); + memcpy(list_file.long_name[sel_id],dosName,sizeof(dosName)); + + char *cur_name=strrchr((const char *)saveFilePath,'/'); + + SdFile file; + SdFile *curDir; + card.endFilePrint(); + const char * const fname = card.diveToFile(true, curDir, cur_name); + if (!fname) return; + if (file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) { + gCfgItems.curFilesize = file.fileSize(); + } + else { + clear_cur_ui(); + upload_result = 2; + wifiTransError.flag = 1; + wifiTransError.start_tick = getWifiTick(); + lv_draw_dialog(DIALOG_TYPE_UPLOAD_FILE); + return; + } + #endif + + wifi_link_state = WIFI_TRANS_FILE; + + upload_result = 1; + + clear_cur_ui(); + lv_draw_dialog(DIALOG_TYPE_UPLOAD_FILE); + + lv_task_handler(); + + file_writer.tick_begin = getWifiTick(); +} + +#define FRAG_MASK _BV32(31) + +static void file_fragment_msg_handle(uint8_t * msg, uint16_t msgLen) { + uint32_t frag = *((uint32_t *)msg); + + if ((frag & FRAG_MASK) != (uint32_t)(lastFragment + 1)) { + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + file_writer.write_index = 0; + wifi_link_state = WIFI_CONNECTED; + upload_result = 2; + } + else { + if (write_to_file((char *)msg + 4, msgLen - 4) < 0) { + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + file_writer.write_index = 0; + wifi_link_state = WIFI_CONNECTED; + upload_result = 2; + return; + } + lastFragment = frag; + + if ((frag & (~FRAG_MASK))) { + int res = card.write(file_writer.write_buf, file_writer.write_index); + if (res == -1) { + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + file_writer.write_index = 0; + wifi_link_state = WIFI_CONNECTED; + upload_result = 2; + return; + } + memset(file_writer.write_buf, 0, sizeof(file_writer.write_buf)); + file_writer.write_index = 0; + file_writer.tick_end = getWifiTick(); + upload_time = getWifiTickDiff(file_writer.tick_begin, file_writer.tick_end) / 1000; + upload_size = gCfgItems.curFilesize; + wifi_link_state = WIFI_CONNECTED; + upload_result = 3; + } + + } +} + +void esp_data_parser(char *cmdRxBuf, int len) { + int32_t head_pos; + int32_t tail_pos; + uint16_t cpyLen; + int16_t leftLen = len; + bool loop_again = false; + + ESP_PROTOC_FRAME esp_frame; + + while (leftLen > 0 || loop_again) { + loop_again = false; + + if (esp_msg_index != 0) { + head_pos = 0; + cpyLen = (leftLen < (int16_t)((sizeof(esp_msg_buf) - esp_msg_index)) ? leftLen : sizeof(esp_msg_buf) - esp_msg_index); + + memcpy(&esp_msg_buf[esp_msg_index], cmdRxBuf + len - leftLen, cpyLen); + + esp_msg_index += cpyLen; + + leftLen = leftLen - cpyLen; + tail_pos = charAtArray(esp_msg_buf, esp_msg_index, ESP_PROTOC_TAIL); + + if (tail_pos == -1) { + if (esp_msg_index >= sizeof(esp_msg_buf)) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + } + return; + } + } + else { + head_pos = charAtArray((uint8_t const *)&cmdRxBuf[len - leftLen], leftLen, ESP_PROTOC_HEAD); + if (head_pos == -1) return; + + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + memcpy(esp_msg_buf, &cmdRxBuf[len - leftLen + head_pos], leftLen - head_pos); + + esp_msg_index = leftLen - head_pos; + + leftLen = 0; + head_pos = 0; + tail_pos = charAtArray(esp_msg_buf, esp_msg_index, ESP_PROTOC_TAIL); + if (tail_pos == -1) { + if (esp_msg_index >= sizeof(esp_msg_buf)) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + } + return; + } + } + + esp_frame.type = esp_msg_buf[1]; + if ((esp_frame.type != ESP_TYPE_NET) && (esp_frame.type != ESP_TYPE_GCODE) + && (esp_frame.type != ESP_TYPE_FILE_FIRST) && (esp_frame.type != ESP_TYPE_FILE_FRAGMENT) + &&(esp_frame.type != ESP_TYPE_WIFI_LIST)) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + return; + } + + esp_frame.dataLen = esp_msg_buf[2] + (esp_msg_buf[3] << 8); + + if ((int)(4 + esp_frame.dataLen) > (int)(sizeof(esp_msg_buf))) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + return; + } + + if (esp_msg_buf[4 + esp_frame.dataLen] != ESP_PROTOC_TAIL) { + if (esp_msg_index >= sizeof(esp_msg_buf)) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + } + return; + } + + esp_frame.data = &esp_msg_buf[4]; + switch (esp_frame.type) { + case ESP_TYPE_NET: + net_msg_handle(esp_frame.data, esp_frame.dataLen); + break; + case ESP_TYPE_GCODE: + gcode_msg_handle(esp_frame.data, esp_frame.dataLen); + break; + case ESP_TYPE_FILE_FIRST: + file_first_msg_handle(esp_frame.data, esp_frame.dataLen); + break; + case ESP_TYPE_FILE_FRAGMENT: + file_fragment_msg_handle(esp_frame.data, esp_frame.dataLen); + break; + case ESP_TYPE_WIFI_LIST: + wifi_list_msg_handle(esp_frame.data, esp_frame.dataLen); + break; + default: break; + } + + esp_msg_index = cut_msg_head(esp_msg_buf, esp_msg_index, esp_frame.dataLen + 5); + if (esp_msg_index > 0) { + if (charAtArray(esp_msg_buf, esp_msg_index, ESP_PROTOC_HEAD) == -1) { + memset(esp_msg_buf, 0, sizeof(esp_msg_buf)); + esp_msg_index = 0; + return; + } + + if ((charAtArray(esp_msg_buf, esp_msg_index, ESP_PROTOC_HEAD) != -1) && (charAtArray(esp_msg_buf, esp_msg_index, ESP_PROTOC_TAIL) != -1)) + loop_again = true; + } + } +} + +int32_t tick_net_time1, tick_net_time2; + +int storeRcvData(int32_t len) { + unsigned char tmpW = wifiDmaRcvFifo.write_cur; + if (len <= UDISKBUFLEN && wifiDmaRcvFifo.state[tmpW] == udisk_buf_empty) { + for (uint16_t i = 0; i < len; i++) + wifiDmaRcvFifo.bufferAddr[tmpW][i] = WIFISERIAL.read(); + wifiDmaRcvFifo.state[tmpW] = udisk_buf_full; + wifiDmaRcvFifo.write_cur = (tmpW + 1) % TRANS_RCV_FIFO_BLOCK_NUM; + return 1; + } + return 0; +} + +int32_t readWifiFifo(uint8_t *retBuf, uint32_t bufLen) { + unsigned char tmpR = wifiDmaRcvFifo.read_cur; + if (bufLen >= UDISKBUFLEN && wifiDmaRcvFifo.state[tmpR] == udisk_buf_full) { + memcpy(retBuf, (unsigned char *)wifiDmaRcvFifo.bufferAddr[tmpR], UDISKBUFLEN); + wifiDmaRcvFifo.state[tmpR] = udisk_buf_empty; + wifiDmaRcvFifo.read_cur = (tmpR + 1) % TRANS_RCV_FIFO_BLOCK_NUM; + return UDISKBUFLEN; + } + return 0; +} + +void stopEspTransfer() { + if (wifi_link_state == WIFI_TRANS_FILE) + wifi_link_state = WIFI_CONNECTED; + + TERN_(SDSUPPORT, card.closefile()); + + if (upload_result != 3) { + wifiTransError.flag = 1; + wifiTransError.start_tick = getWifiTick(); + card.removeFile((const char *)saveFilePath); + } + else { + } + wifi_delay(200); + WIFI_IO1_SET(); + //exchangeFlashMode(1); //change spi flash to use dma mode + esp_port_begin(1); + if (wifiTransError.flag != 0x1) WIFI_IO1_RESET(); +} + +void wifi_rcv_handle() { + int32_t len = 0; + uint8_t ucStr[(UART_RX_BUFFER_SIZE) + 1] = {0}; + int8_t getDataF = 0; + + if (wifi_link_state == WIFI_TRANS_FILE) { + #if 0 + if (WIFISERIAL.available() == UART_RX_BUFFER_SIZE) { + for (uint16_t i=0;i 0) { + esp_data_parser((char *)ucStr, len); + if (wifi_link_state == WIFI_CONNECTED) { + clear_cur_ui(); + lv_draw_dialog(DIALOG_TYPE_UPLOAD_FILE); + stopEspTransfer(); + } + getDataF = 1; + } + if (esp_state == TRANSFER_STORE) { + if (storeRcvData(UART_RX_BUFFER_SIZE)) { + esp_state = TRANSFERING; + //esp_dma_pre(); + if (wifiTransError.flag != 0x1) WIFI_IO1_RESET(); + } + else + WIFI_IO1_SET(); + } + } + else { + //len = readUsartFifo((SZ_USART_FIFO *)&WifiRxFifo, (int8_t *)ucStr, UART_RX_BUFFER_SIZE); + len = readWifiBuf((int8_t *)ucStr, UART_RX_BUFFER_SIZE); + if (len > 0) { + esp_data_parser((char *)ucStr, len); + + if (wifi_link_state == WIFI_TRANS_FILE) { + //exchangeFlashMode(0); //change spi flash not use dma mode + wifi_delay(10); + esp_port_begin(0); + wifi_delay(10); + tick_net_time1 = 0; + } + if (wifiTransError.flag != 0x1) WIFI_IO1_RESET(); + getDataF = 1; + } + if (need_ok_later && (queue.length < BUFSIZE)) { + need_ok_later = false; + send_to_wifi((char *)"ok\r\n", strlen("ok\r\n")); + } + } + + if (getDataF == 1) { + tick_net_time1 = getWifiTick(); + } + else { + tick_net_time2 = getWifiTick(); + + if (wifi_link_state == WIFI_TRANS_FILE) { + if ((tick_net_time1 != 0) && (getWifiTickDiff(tick_net_time1, tick_net_time2) > 4500)) { + wifi_link_state = WIFI_CONNECTED; + upload_result = 2; + clear_cur_ui(); + stopEspTransfer(); + lv_draw_dialog(DIALOG_TYPE_UPLOAD_FILE); + } + } + + if ((tick_net_time1 != 0) && (getWifiTickDiff(tick_net_time1, tick_net_time2) > 10000)) + wifi_link_state = WIFI_NOT_CONFIG; + + if ((tick_net_time1 != 0) && (getWifiTickDiff(tick_net_time1, tick_net_time2) > 120000)) { + wifi_link_state = WIFI_NOT_CONFIG; + wifi_reset(); + tick_net_time1 = getWifiTick(); + } + } + + if (wifiTransError.flag == 0x1) { + wifiTransError.now_tick = getWifiTick(); + if (getWifiTickDiff(wifiTransError.start_tick, wifiTransError.now_tick) > WAIT_ESP_TRANS_TIMEOUT_TICK) { + wifiTransError.flag = 0; + WIFI_IO1_RESET(); + } + } +} + +void wifi_looping() { + do { wifi_rcv_handle(); } while (wifi_link_state == WIFI_TRANS_FILE); +} + +void mks_esp_wifi_init() { + wifi_link_state = WIFI_NOT_CONFIG; + + SET_OUTPUT(WIFI_RESET_PIN); + WIFI_SET(); + SET_OUTPUT(WIFI_IO1_PIN); + SET_INPUT_PULLUP(WIFI_IO0_PIN); + WIFI_IO1_SET(); + + esp_state = TRANSFER_IDLE; + esp_port_begin(1); + + wifi_reset(); + + #if 0 + res = f_open(&esp_upload.uploadFile, ESP_FIRMWARE_FILE, FA_OPEN_EXISTING | FA_READ); + + if (res == FR_OK) { + f_close(&esp_upload.uploadFile); + + wifi_delay(2000); + + if (usartFifoAvailable((SZ_USART_FIFO *)&WifiRxFifo) < 20) { + return; + } + + clear_cur_ui(); + + draw_dialog(DIALOG_TYPE_UPDATE_ESP_FIRMARE); + + if (wifi_upload(0) >= 0) { + + f_unlink("1:/MKS_WIFI_CUR"); + f_rename(ESP_FIRMWARE_FILE,"/MKS_WIFI_CUR"); + } + draw_return_ui(); + + update_flag = 1; + } + if (update_flag == 0) { + res = f_open(&esp_upload.uploadFile, ESP_WEB_FIRMWARE_FILE, FA_OPEN_EXISTING | FA_READ); + + if (res == FR_OK) { + f_close(&esp_upload.uploadFile); + + wifi_delay(2000); + + if (usartFifoAvailable((SZ_USART_FIFO *)&WifiRxFifo) < 20) { + return; + } + + clear_cur_ui(); + + draw_dialog(DIALOG_TYPE_UPDATE_ESP_FIRMARE); + if (wifi_upload(1) >= 0) { + + f_unlink("1:/MKS_WIFI_CUR"); + f_rename(ESP_WEB_FIRMWARE_FILE,"/MKS_WIFI_CUR"); + } + draw_return_ui(); + update_flag = 1; + } + + } + if (update_flag == 0) { + res = f_open(&esp_upload.uploadFile, ESP_WEB_FILE, FA_OPEN_EXISTING | FA_READ); + if (res == FR_OK) { + f_close(&esp_upload.uploadFile); + + wifi_delay(2000); + + if (usartFifoAvailable((SZ_USART_FIFO *)&WifiRxFifo) < 20) { + return; + } + + clear_cur_ui(); + + draw_dialog(DIALOG_TYPE_UPDATE_ESP_DATA); + + if (wifi_upload(2) >= 0) { + + f_unlink("1:/MKS_WEB_CONTROL_CUR"); + f_rename(ESP_WEB_FILE,"/MKS_WEB_CONTROL_CUR"); + } + draw_return_ui(); + } + } + #endif + wifiPara.decodeType = WIFI_DECODE_TYPE; + wifiPara.baud = 115200; + wifi_link_state = WIFI_NOT_CONFIG; +} + +#define BUF_INC_POINTER(p) ((p + 1 == UART_FIFO_BUFFER_SIZE) ? 0 : (p + 1)) + +int usartFifoAvailable(SZ_USART_FIFO *fifo) { + int diff = fifo->uart_write_point - fifo->uart_read_point; + if (diff < 0) diff += UART_FIFO_BUFFER_SIZE; + return diff; +} + +int readUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len) { + int i = 0 ; + while (i < len && fifo->uart_read_point != fifo->uart_write_point) { + buf[i++] = fifo->uartTxBuffer[fifo->uart_read_point]; + fifo->uart_read_point = BUF_INC_POINTER(fifo->uart_read_point); + } + return i; +} + +int writeUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len) { + if (buf == 0 || len <= 0) return -1; + + int i = 0 ; + while (i < len && fifo->uart_read_point != BUF_INC_POINTER(fifo->uart_write_point)) { + fifo->uartTxBuffer[fifo->uart_write_point] = buf[i++]; + fifo->uart_write_point = BUF_INC_POINTER(fifo->uart_write_point); + } + return i; +} + +void get_wifi_commands() { + static char wifi_line_buffer[MAX_CMD_SIZE]; + static bool wifi_comment_mode = false; + static int wifi_read_count = 0; + + if (espGcodeFifo.wait_tick > 5) { + while ((queue.length < BUFSIZE) && (espGcodeFifo.r != espGcodeFifo.w)) { + + espGcodeFifo.wait_tick = 0; + + char wifi_char = espGcodeFifo.Buffer[espGcodeFifo.r]; + + espGcodeFifo.r = (espGcodeFifo.r + 1) % WIFI_GCODE_BUFFER_SIZE; + + /** + * If the character ends the line + */ + if (wifi_char == '\n' || wifi_char == '\r') { + + wifi_comment_mode = false; // end of line == end of comment + + if (!wifi_read_count) continue; // skip empty lines + + wifi_line_buffer[wifi_read_count] = 0; // terminate string + wifi_read_count = 0; //reset buffer + + char* command = wifi_line_buffer; + while (*command == ' ') command++; // skip any leading spaces + + // Movement commands alert when stopped + if (IsStopped()) { + char* gpos = strchr(command, 'G'); + if (gpos) { + switch (strtol(gpos + 1, nullptr, 10)) { + case 0 ... 1: + #if ENABLED(ARC_SUPPORT) + case 2 ... 3: + #endif + #if ENABLED(BEZIER_CURVE_SUPPORT) + case 5: + #endif + SERIAL_ECHOLNPGM(STR_ERR_STOPPED); + LCD_MESSAGEPGM(MSG_STOPPED); + break; + } + } + } + + #if DISABLED(EMERGENCY_PARSER) + // Process critical commands early + if (strcmp(command, "M108") == 0) { + wait_for_heatup = false; + TERN_(HAS_LCD_MENU, wait_for_user = false); + } + if (strcmp(command, "M112") == 0) kill(M112_KILL_STR, nullptr, true); + if (strcmp(command, "M410") == 0) quickstop_stepper(); + #endif + + // Add the command to the queue + queue.enqueue_one_P(wifi_line_buffer); + } + else if (wifi_read_count >= MAX_CMD_SIZE - 1) { + + } + else { // it's not a newline, carriage return or escape char + if (wifi_char == ';') wifi_comment_mode = true; + if (!wifi_comment_mode) wifi_line_buffer[wifi_read_count++] = wifi_char; + } + } + }// queue has space, serial has data + else { + espGcodeFifo.wait_tick++; + } +} + +int readWifiBuf(int8_t *buf, int32_t len) { + int i = 0; + while (i < len && WIFISERIAL.available()) + buf[i++] = WIFISERIAL.read(); + return i; +} + +#endif // USE_WIFI_FUNCTION +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.h b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.h new file mode 100644 index 000000000000..0b402a3adb10 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.h @@ -0,0 +1,202 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +#include "../../inc/MarlinConfigPre.h" + +#include +#include +#include + +#define UART_RX_BUFFER_SIZE 1024 +#define UART_FIFO_BUFFER_SIZE 1024 + +#define ESP_WIFI 0x02 + +#define AP_MODEL 0x01 +#define STA_MODEL 0x02 + +#define WIFI_DECODE_TYPE 1 + +#define IP_DHCP_FLAG 1 + +#define WIFI_AP_NAME "TP-LINK_MKS" +#define WIFI_KEY_CODE "makerbase" + +#define IP_ADDR "192.168.3.100" +#define IP_MASK "255.255.255.0" +#define IP_GATE "192.168.3.1" +#define IP_DNS "192.168.3.1" + +#define AP_IP_DHCP_FLAG 1 +#define AP_IP_ADDR "192.168.3.100" +#define AP_IP_MASK "255.255.255.0" +#define AP_IP_GATE "192.168.3.1" +#define AP_IP_DNS "192.168.3.1" +#define IP_START_IP "192.168.3.1" +#define IP_END_IP "192.168.3.255" + +#define UDISKBUFLEN 1024 + +typedef enum{ + udisk_buf_empty = 0, + udisk_buf_full, +} UDISK_DATA_BUFFER_STATE; + +#define TRANS_RCV_FIFO_BLOCK_NUM 8 + +typedef struct { + unsigned char *bufferAddr[TRANS_RCV_FIFO_BLOCK_NUM]; + unsigned char *p; + UDISK_DATA_BUFFER_STATE state[TRANS_RCV_FIFO_BLOCK_NUM]; + unsigned char read_cur; + unsigned char write_cur; +} WIFI_DMA_RCV_FIFO; + +typedef struct { + uint8_t flag; // 0x0: no error; 0x01: error + uint32_t start_tick; //error start time + uint32_t now_tick; +} WIFI_TRANS_ERROR; + +extern volatile WIFI_TRANS_ERROR wifiTransError; + +typedef struct { + char ap_name[32]; //wifi-name + char keyCode[64]; //wifi password + int decodeType; + int baud; + int mode; +} WIFI_PARA; + +typedef struct { + char state; + char hostUrl[96]; + int port; + char id[21]; +} CLOUD_PARA; + +typedef struct { + char dhcp_flag; + char ip_addr[16]; + char mask[16]; + char gate[16]; + char dns[16]; + + char dhcpd_flag; + char dhcpd_ip[16]; + char dhcpd_mask[16]; + char dhcpd_gate[16]; + char dhcpd_dns[16]; + char start_ip_addr[16]; + char end_ip_addr[16]; +} IP_PARA; + +typedef enum { + WIFI_NOT_CONFIG, + WIFI_CONFIG_MODE, + WIFI_CONFIG_DHCP, + WIFI_CONFIG_AP, + WIFI_CONFIG_IP_INF, + WIFI_CONFIG_DNS, + WIFI_CONFIG_TCP, + WIFI_CONFIG_SERVER, + WIFI_CONFIG_REMOTE_PORT, + WIFI_CONFIG_BAUD, + WIFI_CONFIG_COMMINT, + WIFI_CONFIG_OK, + WIFI_GET_IP_OK, + WIFI_RECONN, + WIFI_CONNECTED, + WIFI_WAIT_TRANS_START, + WIFI_TRANS_FILE, + WIFI_CONFIG_DHCPD, + WIFI_COFIG_DHCPD_IP, + WIFI_COFIG_DHCPD_DNS, + WIFI_EXCEPTION, +} WIFI_STATE; + +typedef enum { + TRANSFER_IDLE, + TRANSFERING, + TRANSFER_STORE, +} TRANSFER_STATE; +extern volatile TRANSFER_STATE esp_state; + +typedef struct { + char buf[20][80]; + int rd_index; + int wt_index; +} QUEUE; + +typedef enum { + WIFI_PARA_SET, // 0x0:net parameter + WIFI_PRINT_INF, // 0x1:print message + WIFI_TRANS_INF, // 0x2:Pass through information + WIFI_EXCEP_INF, // 0x3:Exception information + WIFI_CLOUD_CFG, // 0x4:cloud config + WIFI_CLOUD_UNBIND, // 0x5:Unbind ID +} WIFI_RET_TYPE; + +typedef struct { + uint32_t uart_read_point; + uint32_t uart_write_point; + uint8_t uartTxBuffer[UART_FIFO_BUFFER_SIZE]; +} SZ_USART_FIFO; + +#define WIFI_GCODE_BUFFER_LEAST_SIZE 96 +#define WIFI_GCODE_BUFFER_SIZE (WIFI_GCODE_BUFFER_LEAST_SIZE * 3) +typedef struct { + uint8_t wait_tick; + uint8_t Buffer[WIFI_GCODE_BUFFER_SIZE]; + uint32_t r; + uint32_t w; +} WIFI_GCODE_BUFFER; + +extern volatile WIFI_STATE wifi_link_state; +extern WIFI_PARA wifiPara; +extern IP_PARA ipPara; +extern CLOUD_PARA cloud_para; + +extern WIFI_GCODE_BUFFER espGcodeFifo; + +extern uint32_t getWifiTick(); +extern uint32_t getWifiTickDiff(int32_t lastTick, int32_t curTick); + +extern void mks_esp_wifi_init(); +extern int cfg_cloud_flag; +extern int send_to_wifi(char *buf, int len); +extern void wifi_looping(); +extern int raw_send_to_wifi(char *buf, int len); +extern int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len); +extern void get_wifi_list_command_send(); +extern void get_wifi_commands(); +extern int readWifiBuf(int8_t *buf, int32_t len); +extern int storeRcvData(int32_t len); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp new file mode 100644 index 000000000000..132838c8a951 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp @@ -0,0 +1,847 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "draw_ui.h" +#include "wifi_module.h" +#include "wifi_upload.h" + +#include "../../../../MarlinCore.h" + +#define WIFI_SET() WRITE(WIFI_RESET_PIN, HIGH); +#define WIFI_RESET() WRITE(WIFI_RESET_PIN, LOW); +#define WIFI_IO1_SET() WRITE(WIFI_IO1_PIN, HIGH); +#define WIFI_IO1_RESET() WRITE(WIFI_IO1_PIN, LOW); + +extern SZ_USART_FIFO WifiRxFifo; + +extern int readUsartFifo(SZ_USART_FIFO *fifo, int8_t *buf, int32_t len); +extern int writeUsartFifo(SZ_USART_FIFO * fifo, int8_t * buf, int32_t len); +extern void esp_port_begin(uint8_t interrupt); +extern int usartFifoAvailable(SZ_USART_FIFO *fifo); +extern void wifi_delay(int n); + +#define ARRAY_SIZE(a) sizeof(a) / sizeof((a)[0]) + +//typedef signed char bool; + +// ESP8266 command codes +const uint8_t ESP_FLASH_BEGIN = 0x02; +const uint8_t ESP_FLASH_DATA = 0x03; +const uint8_t ESP_FLASH_END = 0x04; +const uint8_t ESP_MEM_BEGIN = 0x05; +const uint8_t ESP_MEM_END = 0x06; +const uint8_t ESP_MEM_DATA = 0x07; +const uint8_t ESP_SYNC = 0x08; +const uint8_t ESP_WRITE_REG = 0x09; +const uint8_t ESP_READ_REG = 0x0a; + +// MAC address storage locations +const uint32_t ESP_OTP_MAC0 = 0x3ff00050; +const uint32_t ESP_OTP_MAC1 = 0x3ff00054; +const uint32_t ESP_OTP_MAC2 = 0x3ff00058; +const uint32_t ESP_OTP_MAC3 = 0x3ff0005c; + +const size_t EspFlashBlockSize = 0x0400; // 1K byte blocks + +const uint8_t ESP_IMAGE_MAGIC = 0xe9; +const uint8_t ESP_CHECKSUM_MAGIC = 0xef; + +const uint32_t ESP_ERASE_CHIP_ADDR = 0x40004984; // &SPIEraseChip +const uint32_t ESP_SEND_PACKET_ADDR = 0x40003c80; // &send_packet +const uint32_t ESP_SPI_READ_ADDR = 0x40004b1c; // &SPIRead +const uint32_t ESP_UNKNOWN_ADDR = 0x40001121; // not used +const uint32_t ESP_USER_DATA_RAM_ADDR = 0x3ffe8000; // &user data ram +const uint32_t ESP_IRAM_ADDR = 0x40100000; // instruction RAM +const uint32_t ESP_FLASH_ADDR = 0x40200000; // address of start of Flash +//const uint32_t ESP_FLASH_READ_STUB_BEGIN = IRAM_ADDR + 0x18; + +UPLOAD_STRUCT esp_upload; + +static const unsigned int retriesPerReset = 3; +static const uint32_t connectAttemptInterval = 50; +static const unsigned int percentToReportIncrement = 5; // how often we report % complete +static const uint32_t defaultTimeout = 500; +static const uint32_t eraseTimeout = 15000; +static const uint32_t blockWriteTimeout = 200; +static const uint32_t blockWriteInterval = 15; // 15ms is long enough, 10ms is mostly too short + +// Messages corresponding to result codes, should make sense when followed by " error" +const char *resultMessages[] = { + "no", + "timeout", + "comm write", + "connect", + "bad reply", + "file read", + "empty file", + "response header", + "slip frame", + "slip state", + "slip data" +}; + +// A note on baud rates. +// The ESP8266 supports 921600, 460800, 230400, 115200, 74880 and some lower baud rates. +// 921600b is not reliable because even though it sometimes succeeds in connecting, we get a bad response during uploading after a few blocks. +// Probably our UART ISR cannot receive bytes fast enough, perhaps because of the latency of the system tick ISR. +// 460800b doesn't always manage to connect, but if it does then uploading appears to be reliable. +// 230400b always manages to connect. +static const uint32_t uploadBaudRates[] = { 460800, 230400, 115200, 74880 }; + + + +signed char IsReady() { + return esp_upload.state == upload_idle; +} + + + + + +void uploadPort_write(const uint8_t *buf, size_t len) { + #if 0 + int i; + + for(i = 0; i < len; i++) { + while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); + + USART_SendData(USART1, *(buf + i)); + } + #endif +} + +char uploadPort_read() { + uint8_t retChar; + if (readUsartFifo(&WifiRxFifo, (int8_t *)&retChar, 1) == 1) + return retChar; + else + return 0; + +} + +int uploadPort_available() { + return usartFifoAvailable(&WifiRxFifo); +} + + +void uploadPort_begin() { + esp_port_begin(1); +} + +void uploadPort_close() { + + //WIFI_COM.end(); + //WIFI_COM.begin(115200, true); + + esp_port_begin(0); + +} + + +void flushInput() { + while (uploadPort_available() != 0) { + (void)uploadPort_read(); + //IWDG_ReloadCounter(); + } +} + +// Extract 1-4 bytes of a value in little-endian order from a buffer beginning at a specified offset +uint32_t getData(unsigned byteCnt, const uint8_t *buf, int ofst) { + uint32_t val = 0; + + if (buf && byteCnt) { + unsigned int shiftCnt = 0; + if (byteCnt > 4) + byteCnt = 4; + do{ + val |= (uint32_t)buf[ofst++] << shiftCnt; + shiftCnt += 8; + } while (--byteCnt); + } + return(val); +} + +// Put 1-4 bytes of a value in little-endian order into a buffer beginning at a specified offset. +void putData(uint32_t val, unsigned byteCnt, uint8_t *buf, int ofst) { + if (buf && byteCnt) { + if (byteCnt > 4) { + byteCnt = 4; + } + do { + buf[ofst++] = (uint8_t)(val & 0xff); + val >>= 8; + } while (--byteCnt); + } +} + +// Read a byte optionally performing SLIP decoding. The return values are: +// +// 2 - an escaped byte was read successfully +// 1 - a non-escaped byte was read successfully +// 0 - no data was available +// -1 - the value 0xc0 was encountered (shouldn't happen) +// -2 - a SLIP escape byte was found but the following byte wasn't available +// -3 - a SLIP escape byte was followed by an invalid byte +int ReadByte(uint8_t *data, signed char slipDecode) { + if (uploadPort_available() == 0) { + return(0); + } + + // at least one byte is available + *data = uploadPort_read(); + if (!slipDecode) { + return(1); + } + + if (*data == 0xc0) { + // this shouldn't happen + return(-1); + } + + // if not the SLIP escape, we're done + if (*data != 0xdb) { + return(1); + } + + // SLIP escape, check availability of subsequent byte + if (uploadPort_available() == 0) { + return(-2); + } + + // process the escaped byte + *data = uploadPort_read(); + if (*data == 0xdc) { + *data = 0xc0; + return(2); + } + + if (*data == 0xdd) { + *data = 0xdb; + return(2); + } + // invalid + return(-3); +} +// When we write a sync packet, there must be no gaps between most of the characters. +// So use this function, which does a block write to the UART buffer in the latest CoreNG. +void _writePacketRaw(const uint8_t *buf, size_t len) { + uploadPort_write(buf, len); +} + +// Write a byte to the serial port optionally SLIP encoding. Return the number of bytes actually written. +void WriteByteRaw(uint8_t b) { + uploadPort_write((const uint8_t *)&b, 1); +} + +// Write a byte to the serial port optionally SLIP encoding. Return the number of bytes actually written. +void WriteByteSlip(uint8_t b) { + if (b == 0xC0) { + WriteByteRaw(0xDB); + WriteByteRaw(0xDC); + } + else if (b == 0xDB) { + WriteByteRaw(0xDB); + WriteByteRaw(0xDD); + } + else { + uploadPort_write((const uint8_t *)&b, 1); + } +} + +// Wait for a data packet to be returned. If the body of the packet is +// non-zero length, return an allocated buffer indirectly containing the +// data and return the data length. Note that if the pointer for returning +// the data buffer is NULL, the response is expected to be two bytes of zero. +// +// If an error occurs, return a negative value. Otherwise, return the number +// of bytes in the response (or zero if the response was not the standard "two bytes of zero"). +EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t msTimeout) { + typedef enum { + begin = 0, + header, + body, + end, + done + } PacketState; + + uint8_t resp, opRet; + + const size_t headerLength = 8; + + uint32_t startTime = getWifiTick(); + uint8_t hdr[headerLength]; + uint16_t hdrIdx = 0; + + uint16_t bodyIdx = 0; + uint8_t respBuf[2]; + + // wait for the response + uint16_t needBytes = 1; + + PacketState state = begin; + + *bodyLen = 0; + + + while (state != done) { + uint8_t c; + EspUploadResult stat; + + //IWDG_ReloadCounter(); + + if (getWifiTickDiff(startTime, getWifiTick()) > msTimeout) { + return(timeout); + } + + if (uploadPort_available() < needBytes) { + // insufficient data available + // preferably, return to Spin() here + continue; + } + + // sufficient bytes have been received for the current state, process them + switch(state) { + case begin: // expecting frame start + c = uploadPort_read(); + if (c != (uint8_t)0xc0) { + break; + } + state = header; + needBytes = 2; + + break; + case end: // expecting frame end + c = uploadPort_read(); + if (c != (uint8_t)0xc0) { + return slipFrame; + } + state = done; + + break; + + case header: // reading an 8-byte header + case body: // reading the response body + { + int rslt; + // retrieve a byte with SLIP decoding + rslt = ReadByte(&c, 1); + if (rslt != 1 && rslt != 2) { + // some error occurred + stat = (rslt == 0 || rslt == -2) ? slipData : slipFrame; + return stat; + } + else if (state == header) { + //store the header byte + hdr[hdrIdx++] = c; + if (hdrIdx >= headerLength) { + // get the body length, prepare a buffer for it + *bodyLen = (uint16_t)getData(2, hdr, 2); + + // extract the value, if requested + if (valp != 0) { + *valp = getData(4, hdr, 4); + } + + if (*bodyLen != 0) { + state = body; + } + else { + needBytes = 1; + state = end; + } + } + } + else { + // Store the response body byte, check for completion + if (bodyIdx < ARRAY_SIZE(respBuf)) { + respBuf[bodyIdx] = c; + } + ++bodyIdx; + if (bodyIdx >= *bodyLen) { + needBytes = 1; + state = end; + } + } + } + break; + + default: // this shouldn't happen + return slipState; + } + } + + // Extract elements from the header + resp = (uint8_t)getData(1, hdr, 0); + opRet = (uint8_t)getData(1, hdr, 1); + // Sync packets often provoke a response with a zero opcode instead of ESP_SYNC + if (resp != 0x01 || opRet != op) { +//debug//printf("resp %02x %02x\n", resp, opRet); + return respHeader; + } + + return success; +} + +// Send a block of data performing SLIP encoding of the content. +void _writePacket(const uint8_t *data, size_t len) { + unsigned char outBuf[2048] = {0}; + unsigned int outIndex = 0; + while (len != 0) { + if (*data == 0xC0) { + outBuf[outIndex++] = 0xDB; + outBuf[outIndex++] = 0xDC; + } + else if (*data == 0xDB) { + outBuf[outIndex++] = 0xDB; + outBuf[outIndex++] = 0xDD; + } + else { + outBuf[outIndex++] = *data; + + } + data++; + --len; + } + uploadPort_write((const uint8_t *)outBuf, outIndex); +} + +// Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. +// A SLIP packet begins and ends with 0xc0. The data encapsulated has the bytes +// 0xc0 and 0xdb replaced by the two-byte sequences {0xdb, 0xdc} and {0xdb, 0xdd} respectively. + +void writePacket(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { + + WriteByteRaw(0xc0); // send the packet start character + _writePacket(hdr, hdrLen); // send the header + _writePacket(data, dataLen); // send the data block + WriteByteRaw(0xc0); // send the packet end character +} + +// Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. +// This is like writePacket except that it does a fast block write for both the header and the main data with no SLIP encoding. Used to send sync commands. +void writePacketRaw(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { + WriteByteRaw(0xc0); // send the packet start character + _writePacketRaw(hdr, hdrLen); // send the header + _writePacketRaw(data, dataLen); // send the data block in raw mode + WriteByteRaw(0xc0); // send the packet end character +} + +// Send a command to the attached device together with the supplied data, if any. +// The data is supplied via a list of one or more segments. +void sendCommand(uint8_t op, uint32_t checkVal, const uint8_t *data, size_t dataLen) { + // populate the header + uint8_t hdr[8]; + putData(0, 1, hdr, 0); + putData(op, 1, hdr, 1); + putData(dataLen, 2, hdr, 2); + putData(checkVal, 4, hdr, 4); + + // send the packet + //flushInput(); + if (op == ESP_SYNC) { + writePacketRaw(hdr, sizeof(hdr), data, dataLen); + } + else { + writePacket(hdr, sizeof(hdr), data, dataLen); + } +} + +// Send a command to the attached device together with the supplied data, if any, and get the response +EspUploadResult doCommand(uint8_t op, const uint8_t *data, size_t dataLen, uint32_t checkVal, uint32_t *valp, uint32_t msTimeout) { + size_t bodyLen; + EspUploadResult stat; + + sendCommand(op, checkVal, data, dataLen); + + stat = readPacket(op, valp, &bodyLen, msTimeout); + if (stat == success && bodyLen != 2) { + stat = badReply; + } + + return stat; +} + +// Send a synchronising packet to the serial port in an attempt to induce +// the ESP8266 to auto-baud lock on the baud rate. +EspUploadResult Sync(uint16_t timeout) { + uint8_t buf[36]; + EspUploadResult stat; + int i ; + + // compose the data for the sync attempt + memset(buf, 0x55, sizeof(buf)); + buf[0] = 0x07; + buf[1] = 0x07; + buf[2] = 0x12; + buf[3] = 0x20; + + stat = doCommand(ESP_SYNC, buf, sizeof(buf), 0, 0, timeout); + + // If we got a response other than sync, discard it and wait for a sync response. This happens at higher baud rates. + for (i = 0; i < 10 && stat == respHeader; ++i) { + size_t bodyLen; + stat = readPacket(ESP_SYNC, 0, &bodyLen, timeout); + } + + if (stat == success) { + // Read and discard additional replies + for (;;) { + size_t bodyLen; + EspUploadResult rc = readPacket(ESP_SYNC, 0, &bodyLen, defaultTimeout); + if (rc != success || bodyLen != 2) { + break; + } + } + } + //DEBUG + //else debug//printf("stat=%d\n", (int)stat); + return stat; +} + +// Send a command to the device to begin the Flash process. +EspUploadResult flashBegin(uint32_t addr, uint32_t size) { + // determine the number of blocks represented by the size + uint32_t blkCnt; + uint8_t buf[16]; + uint32_t timeout; + + blkCnt = (size + EspFlashBlockSize - 1) / EspFlashBlockSize; + + // ensure that the address is on a block boundary + addr &= ~(EspFlashBlockSize - 1); + + // begin the Flash process + putData(size, 4, buf, 0); + putData(blkCnt, 4, buf, 4); + putData(EspFlashBlockSize, 4, buf, 8); + putData(addr, 4, buf, 12); + + timeout = (size != 0) ? eraseTimeout : defaultTimeout; + return doCommand(ESP_FLASH_BEGIN, buf, sizeof(buf), 0, 0, timeout); +} + +// Send a command to the device to terminate the Flash process +EspUploadResult flashFinish(signed char reboot) { + uint8_t buf[4]; + putData(reboot ? 0 : 1, 4, buf, 0); + return doCommand(ESP_FLASH_END, buf, sizeof(buf), 0, 0, defaultTimeout); +} + +// Compute the checksum of a block of data +uint16_t checksum(const uint8_t *data, uint16_t dataLen, uint16_t cksum) { + if (data != NULL) { + while (dataLen--) { + cksum ^= (uint16_t)*data++; + } + } + return(cksum); +} + +EspUploadResult flashWriteBlock(uint16_t flashParmVal, uint16_t flashParmMask) { + #if 0 + const uint32_t blkSize = EspFlashBlockSize; + int i; + + // Allocate a data buffer for the combined header and block data + const uint16_t hdrOfst = 0; + const uint16_t dataOfst = 16; + const uint16_t blkBufSize = dataOfst + blkSize; + uint32_t blkBuf32[blkBufSize/4]; + uint8_t * const blkBuf = (uint8_t*)(blkBuf32); + uint32_t cnt; + uint16_t cksum; + EspUploadResult stat; + + // Prepare the header for the block + putData(blkSize, 4, blkBuf, hdrOfst + 0); + putData(esp_upload.uploadBlockNumber, 4, blkBuf, hdrOfst + 4); + putData(0, 4, blkBuf, hdrOfst + 8); + putData(0, 4, blkBuf, hdrOfst + 12); + + // Get the data for the block + f_read(&esp_upload.uploadFile, blkBuf + dataOfst, blkSize, &cnt );//->Read(reinterpret_cast(blkBuf + dataOfst), blkSize); + if (cnt != blkSize) { + if (f_tell(&esp_upload.uploadFile) == esp_upload.fileSize) { + // partial last block, fill the remainder + memset(blkBuf + dataOfst + cnt, 0xff, blkSize - cnt); + } + else { + return fileRead; + } + } + + // Patch the flash parameters into the first block if it is loaded at address 0 + if (esp_upload.uploadBlockNumber == 0 && esp_upload.uploadAddress == 0 && blkBuf[dataOfst] == ESP_IMAGE_MAGIC && flashParmMask != 0) { + // update the Flash parameters + uint32_t flashParm = getData(2, blkBuf + dataOfst + 2, 0) & ~(uint32_t)flashParmMask; + putData(flashParm | flashParmVal, 2, blkBuf + dataOfst + 2, 0); + } + + // Calculate the block checksum + cksum = checksum(blkBuf + dataOfst, blkSize, ESP_CHECKSUM_MAGIC); + + for (i = 0; i < 3; i++) { + if ((stat = doCommand(ESP_FLASH_DATA, blkBuf, blkBufSize, cksum, 0, blockWriteTimeout)) == success) { + break; + } + } + + //printf("Upload %d\%\n", ftell(&esp_upload.uploadFile) * 100 / esp_upload.fileSize); + + return stat; + #endif +} + +void upload_spin() { + #if 0 + switch (esp_upload.state) { + case resetting: + + if (esp_upload.connectAttemptNumber == 9) { + // Time to give up + //Network::ResetWiFi(); + esp_upload.uploadResult = connected; + esp_upload.state = done; + } + else{ + + // Reset the serial port at the new baud rate. Also reset the ESP8266. + // const uint32_t baud = uploadBaudRates[esp_upload.connectAttemptNumber/esp_upload.retriesPerBaudRate]; + if (esp_upload.connectAttemptNumber % esp_upload.retriesPerBaudRate == 0) { + } + // uploadPort.begin(baud); + // uploadPort_close(); + + + uploadPort_begin(); + + wifi_delay(2000); + + flushInput(); + + esp_upload.lastAttemptTime = esp_upload.lastResetTime = getWifiTick(); + esp_upload.state = connecting; + } + + break; + + case connecting: + if ((getWifiTickDiff(esp_upload.lastAttemptTime, getWifiTick()) >= connectAttemptInterval) && (getWifiTickDiff(esp_upload.lastResetTime, getWifiTick()) >= 500)) { + // Attempt to establish a connection to the ESP8266. + EspUploadResult res = Sync(5000); + esp_upload.lastAttemptTime = getWifiTick(); + if (res == success) { + // Successful connection +// //MessageF(" success on attempt %d\n", (connectAttemptNumber % retriesPerBaudRate) + 1); + //printf("connect success\n"); + esp_upload.state = erasing; + } + else { + // This attempt failed + esp_upload.connectAttemptNumber++; + if (esp_upload.connectAttemptNumber % retriesPerReset == 0) { + esp_upload.state = resetting; // try a reset and a lower baud rate + } + } + } + break; + + case erasing: + if (getWifiTickDiff(esp_upload.lastAttemptTime, getWifiTick()) >= blockWriteInterval) { + uint32_t eraseSize; + const uint32_t sectorsPerBlock = 16; + const uint32_t sectorSize = 4096; + const uint32_t numSectors = (esp_upload.fileSize + sectorSize - 1)/sectorSize; + const uint32_t startSector = esp_upload.uploadAddress/sectorSize; + uint32_t headSectors = sectorsPerBlock - (startSector % sectorsPerBlock); + + if (numSectors < headSectors) { + headSectors = numSectors; + } + eraseSize = (numSectors < 2 * headSectors) + ? (numSectors + 1) / 2 * sectorSize + : (numSectors - headSectors) * sectorSize; + + //MessageF("Erasing %u bytes...\n", fileSize); + esp_upload.uploadResult = flashBegin(esp_upload.uploadAddress, eraseSize); + if (esp_upload.uploadResult == success) { + //MessageF("Uploading file...\n"); + esp_upload.uploadBlockNumber = 0; + esp_upload.uploadNextPercentToReport = percentToReportIncrement; + esp_upload.lastAttemptTime = getWifiTick(); + esp_upload.state = uploading; + } + else { + //MessageF("Erase failed\n"); + esp_upload.state = done; + } + } + break; + + case uploading: + // The ESP needs several milliseconds to recover from one packet before it will accept another + if (getWifiTickDiff(esp_upload.lastAttemptTime, getWifiTick()) >= 15) { + unsigned int percentComplete; + const uint32_t blkCnt = (esp_upload.fileSize + EspFlashBlockSize - 1) / EspFlashBlockSize; + if (esp_upload.uploadBlockNumber < blkCnt) { + esp_upload.uploadResult = flashWriteBlock(0, 0); + esp_upload.lastAttemptTime = getWifiTick(); + if (esp_upload.uploadResult != success) { + //MessageF("Flash block upload failed\n"); + esp_upload.state = done; + } + percentComplete = (100 * esp_upload.uploadBlockNumber)/blkCnt; + ++esp_upload.uploadBlockNumber; + if (percentComplete >= esp_upload.uploadNextPercentToReport) { + //MessageF("%u%% complete\n", percentComplete); + esp_upload.uploadNextPercentToReport += percentToReportIncrement; + } + } + else { + esp_upload.state = done; + } + } + break; + + case done: + f_close(&esp_upload.uploadFile); + //uploadPort.end(); + //uploadPort_close(); + + //WIFI_COM.begin(115200, true); + //wifi_init(); + + if (esp_upload.uploadResult == success) { + //printf("upload successfully\n"); + } + else { + //printf("upload failed\n"); + } + esp_upload.state = upload_idle;//idle; + break; + + default: + break; + } + #endif +} + +// Try to upload the given file at the given address +void SendUpdateFile(const char *file, uint32_t address) { + #if 0 + FRESULT res = f_open(&esp_upload.uploadFile, file, FA_OPEN_EXISTING | FA_READ); + + if (res != FR_OK) return; + + esp_upload.fileSize = f_size(&esp_upload.uploadFile); + if (esp_upload.fileSize == 0) { + f_close(&esp_upload.uploadFile); + return; + } + f_lseek(&esp_upload.uploadFile, 0); + + esp_upload.uploadAddress = address; + esp_upload.connectAttemptNumber = 0; + esp_upload.state = resetting; + #endif +} + +static const uint32_t FirmwareAddress = 0x00000000, WebFilesAddress = 0x00100000; + +void ResetWiFiForUpload(int begin_or_end) { + #if 0 + uint32_t start, now; + + GPIO_InitTypeDef GPIO_InitStructure; + + #if V1_0_V1_1 + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStructure.Pin = GPIO_Pin_8; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); + #else + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStructure.Pin = GPIO_Pin_13; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + HAL_GPIO_Init(GPIOC, &GPIO_InitStructure); + #endif + start = getWifiTick(); + now = start; + + if (begin_or_end == 0) { + #if V1_0_V1_1 + HAL_GPIO_WritePin(GPIOA,GPIO_Pin_8,GPIO_PIN_RESET); //update mode + #else + HAL_GPIO_WritePin(GPIOC,GPIO_Pin_13,GPIO_PIN_RESET); //update mode + #endif + } + else { + #if V1_0_V1_1 + #if V1_0_V1_1 + HAL_GPIO_WritePin(GPIOA,GPIO_Pin_8,GPIO_PIN_SET); //boot mode + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStructure.Pin = GPIO_Pin_8; + GPIO_InitStructure.Mode = GPIO_MODE_INPUT; + HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); + #endif + #else + HAL_GPIO_WritePin(GPIOC,GPIO_Pin_13,GPIO_PIN_SET); //boot mode + GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStructure.Pin = GPIO_Pin_13; + GPIO_InitStructure.Mode = GPIO_MODE_INPUT; + HAL_GPIO_Init(GPIOC, &GPIO_InitStructure); + #endif + } + WIFI_RESET(); + while (getWifiTickDiff(start, now) < 500) now = getWifiTick(); + WIFI_SET(); + #endif +} + +int32_t wifi_upload(int type) { + esp_upload.retriesPerBaudRate = 9; + + ResetWiFiForUpload(0); + + if (type == 0) + SendUpdateFile(ESP_FIRMWARE_FILE, FirmwareAddress); + else if (type == 1) + SendUpdateFile(ESP_WEB_FIRMWARE_FILE, FirmwareAddress); + else if (type == 2) + SendUpdateFile(ESP_WEB_FILE, WebFilesAddress); + else + return -1; + + while (esp_upload.state != upload_idle) { + upload_spin(); + //IWDG_ReloadCounter(); + } + + ResetWiFiForUpload(1); + + return esp_upload.uploadResult == success ? 0 : -1; +} + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.h b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.h new file mode 100644 index 000000000000..d942a2c84f80 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + +#define ESP_FIRMWARE_FILE "1:/MksWifi.bin" +#define ESP_WEB_FIRMWARE_FILE "1:/MksWifi_Web.bin" +#define ESP_WEB_FILE "1:/MksWifi_WebView.bin" + +typedef enum { + upload_idle, + resetting, + connecting, + erasing, + uploading, + done +} UploadState; + +typedef enum { + success = 0, + timeout, + connected, + badReply, + fileRead, + emptyFile, + respHeader, + slipFrame, + slipState, + slipData, +} EspUploadResult; + +typedef struct { + //FIL uploadFile; + uint32_t fileSize; + + uint32_t uploadAddress; + UploadState state; + uint32_t retriesPerBaudRate; + uint32_t connectAttemptNumber; + uint32_t lastAttemptTime; + uint32_t lastResetTime; + uint32_t uploadBlockNumber; + uint32_t uploadNextPercentToReport; + EspUploadResult uploadResult; +} UPLOAD_STRUCT; + +extern UPLOAD_STRUCT esp_upload; +int32_t wifi_upload(int type); + +#ifdef __cplusplus + } /* C-declarations for C++ */ +#endif diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index f83142444a49..da38192d8ea3 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -253,6 +253,13 @@ class Stepper { static bool initialized; #endif + // Last-moved extruder, as set when the last movement was fetched from planner + #if HAS_MULTI_EXTRUDER + static uint8_t last_moved_extruder; + #else + static constexpr uint8_t last_moved_extruder = 0; + #endif + private: static block_t* current_block; // A pointer to the block currently being traced @@ -262,13 +269,6 @@ class Stepper { static bool abort_current_block; // Signals to the stepper that current block should be aborted - // Last-moved extruder, as set when the last movement was fetched from planner - #if HAS_MULTI_EXTRUDER - static uint8_t last_moved_extruder; - #else - static constexpr uint8_t last_moved_extruder = 0; - #endif - #if ENABLED(X_DUAL_ENDSTOPS) static bool locked_X_motor, locked_X2_motor; #endif diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index d07d36339934..3908a243ce15 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -526,6 +526,8 @@ #include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3 #elif MB(MKS_ROBIN_E3D) #include "stm32f1/pins_MKS_ROBIN_E3D.h" // STM32F1 env:mks_robin_e3 +#elif MB(MKS_ROBIN_E3P) + #include "stm32f1/pins_MKS_ROBIN_E3P.h" // STM32F1 env:mks_robin_e3p #elif MB(BTT_SKR_MINI_V1_1) #include "stm32f1/pins_BTT_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_512K env:STM32F103RC_btt_USB env:STM32F103RC_btt_512K_USB #elif MB(BTT_SKR_MINI_E3_V1_0) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h new file mode 100644 index 000000000000..3f4dee0f6895 --- /dev/null +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -0,0 +1,377 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * MKS Robin nano (STM32F130VET6) board pin assignments + */ + +#ifndef __STM32F1__ + #error "Oops! Select an STM32F1 board in 'Tools > Board.'" +#elif HOTENDS > 1 || E_STEPPERS > 1 + #error "MKS Robin e3p supports up to 1 hotends / E-steppers. Comment out this line to continue." +#elif HAS_FSMC_TFT + #error "MKS Robin e3p doesn't support FSMC-based TFT displays." +#endif + +#define BOARD_INFO_NAME "MKS Robin e3p" + +// +// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role +// + +#define DISABLE_DEBUG + +// +// EEPROM +// +//#define FLASH_EEPROM_EMULATION +//#define SDCARD_EEPROM_EMULATION + +#if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM) + #define I2C_EEPROM // EEPROM on I2C-0 + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB +#endif + +// +// Note: MKS Robin board is using SPI2 interface. +// +//#define SPI_MODULE 2 +#define ENABLE_SPI2 + +// +// Limit Switches +// +#define X_DIAG_PIN PA15 +#define Y_DIAG_PIN PA12 +#define Z_DIAG_PIN PA11 +#define E0_DIAG_PIN PC4 + +#define X_STOP_PIN PA15 +#define Y_STOP_PIN PA12 +#define Z_MIN_PIN PA11 +#define Z_MAX_PIN PC4 + +// +// Steppers +// +#define X_ENABLE_PIN PE4 +#define X_STEP_PIN PE3 +#define X_DIR_PIN PE2 +#ifndef X_CS_PIN + #define X_CS_PIN PD5 +#endif + +#define Y_ENABLE_PIN PE1 +#define Y_STEP_PIN PE0 +#define Y_DIR_PIN PB9 +#ifndef Y_CS_PIN + #define Y_CS_PIN PD7 +#endif + +#define Z_ENABLE_PIN PB8 +#define Z_STEP_PIN PB5 +#define Z_DIR_PIN PB4 +#ifndef Z_CS_PIN + #define Z_CS_PIN PD4 +#endif + +#define E0_ENABLE_PIN PB3 +#define E0_STEP_PIN PD6 +#define E0_DIR_PIN PD3 +#ifndef E0_CS_PIN + #define E0_CS_PIN PD9 +#endif + +// +// Software SPI pins for TMC2130 stepper drivers +// +#if ENABLED(TMC_USE_SW_SPI) + #ifndef TMC_SW_MOSI + #define TMC_SW_MOSI PD14 + #endif + #ifndef TMC_SW_MISO + #define TMC_SW_MISO PD1 + #endif + #ifndef TMC_SW_SCK + #define TMC_SW_SCK PD0 + #endif +#endif + +#if HAS_TMC_UART + /** + * TMC2208/TMC2209 stepper drivers + * + * Hardware serial communication ports. + * If undefined software serial is used according to the pins below + */ + //#define X_HARDWARE_SERIAL Serial + //#define X2_HARDWARE_SERIAL Serial1 + //#define Y_HARDWARE_SERIAL Serial1 + //#define Y2_HARDWARE_SERIAL Serial1 + //#define Z_HARDWARE_SERIAL Serial1 + //#define Z2_HARDWARE_SERIAL Serial1 + //#define E0_HARDWARE_SERIAL Serial1 + //#define E1_HARDWARE_SERIAL Serial1 + //#define E2_HARDWARE_SERIAL Serial1 + //#define E3_HARDWARE_SERIAL Serial1 + //#define E4_HARDWARE_SERIAL Serial1 + + // + // Software serial + // + + #define X_SERIAL_TX_PIN PD5 + #define X_SERIAL_RX_PIN PD5 + + #define Y_SERIAL_TX_PIN PD7 + #define Y_SERIAL_RX_PIN PD7 + + #define Z_SERIAL_TX_PIN PD4 + #define Z_SERIAL_RX_PIN PD4 + + #define E0_SERIAL_TX_PIN PD9 + #define E0_SERIAL_RX_PIN PD9 + + // Reduce baud rate to improve software serial reliability + #define TMC_BAUD_RATE 19200 +#endif // TMC2208 || TMC2209 + +// +// Temperature Sensors +// +#define TEMP_0_PIN PC1 // TH1 +#define TEMP_BED_PIN PC0 // TB1 + +// +// Heaters / Fans +// +#define HEATER_0_PIN PC3 // HEATER1 +#define HEATER_BED_PIN PA0 // HOT BED + +#define FAN_PIN PB1 // FAN + +// +// Misc. Functions +// +#if HAS_TFT_LVGL_UI + //#define MKSPWC + #ifdef MKSPWC + #define SUICIDE_PIN PB2 // Enable MKSPWC SUICIDE PIN + #define SUICIDE_PIN_INVERTING false // Enable MKSPWC PIN STATE + #define KILL_PIN PA2 // Enable MKSPWC DET PIN + #define KILL_PIN_STATE true // Enable MKSPWC PIN STATE + #endif + + #define MT_DET_1_PIN PA4 // LVGL UI FILAMENT RUNOUT1 PIN + #define MT_DET_PIN_INVERTING false // LVGL UI filament RUNOUT PIN STATE + + #define WIFI_IO0_PIN PC13 // MKS ESP WIFI IO0 PIN + #define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN + #define WIFI_RESET_PIN PE9 // MKS ESP WIFI RESET PIN + + #if ENABLED(MKS_TEST) + #define MKS_TEST_POWER_LOSS_PIN PA2 // PW_DET + #define MKS_TEST_PS_ON_PIN PB0 // PW_OFF + #endif +#else + //#define POWER_LOSS_PIN PA2 // PW_DET + //#define PS_ON_PIN PB2 // PW_OFF + #define FIL_RUNOUT_PIN PA4 +#endif + +#define SERVO0_PIN PA8 // Enable BLTOUCH + +//#define LED_PIN PB2 + +// +// SD Card +// +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif + +#define SDIO_SUPPORT +#define SDIO_CLOCK 4500000 // 4.5 MHz +#define SD_DETECT_PIN PD12 +#define ONBOARD_SD_CS_PIN PC11 + +// +// LCD / Controller +// +#ifndef BEEPER_PIN + #define BEEPER_PIN PC5 +#endif + +/** + * Note: MKS Robin TFT screens use various TFT controllers. + * If the screen stays white, disable 'LCD_RESET_PIN' + * to let the bootloader init the screen. + */ + +#if HAS_SPI_TFT + + // Shared SPI TFT + + #define LCD_BACKLIGHT_PIN PD13 + + #define TOUCH_CS_PIN PE14 // SPI1_NSS + #define TOUCH_SCK_PIN PA5 // SPI1_SCK + #define TOUCH_MISO_PIN PA6 // SPI1_MISO + #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI + + #define BTN_EN1 PE8 + #define BTN_EN2 PE11 + #define BTN_ENC PE13 + + #define TFT_CS_PIN PD11 + #define TFT_SCK_PIN PA5 + #define TFT_MISO_PIN PA6 + #define TFT_MOSI_PIN PA7 + #define TFT_DC_PIN PD10 + #define TFT_RST_PIN PC6 + #define TFT_A0_PIN TFT_DC_PIN + + #define TFT_RESET_PIN PC6 + #define TFT_BACKLIGHT_PIN PD13 + + #define TOUCH_BUTTONS_HW_SPI + #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 + + #ifndef TFT_WIDTH + #define TFT_WIDTH 480 + #endif + #ifndef TFT_HEIGHT + #define TFT_HEIGHT 320 + #endif + + #define LCD_READ_ID 0xD3 + #define LCD_USE_DMA_SPI + +#endif + +#if ENABLED(TFT_LVGL_UI_SPI) + + // LVGL + + #define XPT2046_X_CALIBRATION -17253 + #define XPT2046_Y_CALIBRATION 11579 + #define XPT2046_X_OFFSET 514 + #define XPT2046_Y_OFFSET -24 + +#elif ENABLED(SPI_GRAPHICAL_TFT) + + // Emulated DOGM SPI + + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -11386 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8684 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 339 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -18 + #endif + + #ifndef GRAPHICAL_TFT_UPSCALE + #define GRAPHICAL_TFT_UPSCALE 3 + #endif + #ifndef TFT_PIXEL_OFFSET_Y + #define TFT_PIXEL_OFFSET_Y 32 + #endif + + #define BTN_ENC PE13 + #define BTN_EN1 PE8 + #define BTN_EN2 PE11 + + #define LCD_PINS_ENABLE PD13 + #define LCD_PINS_RS PC6 + +#elif ENABLED(TFT_480x320_SPI) + #define XPT2046_X_CALIBRATION -17253 + #define XPT2046_Y_CALIBRATION 11579 + #define XPT2046_X_OFFSET 514 + #define XPT2046_Y_OFFSET -24 + + #define TFT_DRIVER ST7796 + #define TFT_BUFFER_SIZE 14400 + +#endif + +#if HAS_SPI_LCD && !HAS_SPI_TFT + + // NON TFT Displays + + #if ENABLED(MKS_MINI_12864) + + // MKS MINI12864 and MKS LCD12864B + // If using MKS LCD12864A (Need to remove RPK2 resistor) + + #define LCD_BACKLIGHT_PIN -1 + #define LCD_RESET_PIN -1 + #define DOGLCD_A0 PD11 + #define DOGLCD_CS PE15 + #define DOGLCD_SCK PA5 + #define DOGLCD_MOSI PA7 + + // Required for MKS_MINI_12864 with this board + #define MKS_LCD12864B + #undef SHOW_BOOTSCREEN + + #else // !MKS_MINI_12864 + + #define LCD_PINS_D4 PE14 + #if ENABLED(ULTIPANEL) + #define LCD_PINS_D5 PE15 + #define LCD_PINS_D6 PD11 + #define LCD_PINS_D7 PD10 + #endif + + #ifndef BOARD_ST7920_DELAY_1 + #define BOARD_ST7920_DELAY_1 DELAY_NS(125) + #endif + #ifndef BOARD_ST7920_DELAY_2 + #define BOARD_ST7920_DELAY_2 DELAY_NS(125) + #endif + #ifndef BOARD_ST7920_DELAY_3 + #define BOARD_ST7920_DELAY_3 DELAY_NS(125) + #endif + + #endif // !MKS_MINI_12864 + +#endif // HAS_SPI_LCD && !HAS_SPI_TFT + +#define HAS_SPI_FLASH 1 +#define SPI_FLASH_SIZE 0x1000000 // 16MB +#if HAS_SPI_FLASH + #define W25QXX_CS_PIN PB12 + #define W25QXX_MOSI_PIN PB15 + #define W25QXX_MISO_PIN PB14 + #define W25QXX_SCK_PIN PB13 +#endif + +#if ENABLED(SPEAKER) && BEEPER_PIN == PC5 + #error "MKS Robin nano default BEEPER_PIN is not a SPEAKER." +#endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index c3e8be74e8c2..88333e9b9f7a 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -58,10 +58,6 @@ #define Z_MIN_PIN PA11 #define Z_MAX_PIN PC4 -#ifndef FIL_RUNOUT_PIN - #define FIL_RUNOUT_PIN PA4 // MT_DET -#endif - // // Steppers // @@ -123,25 +119,33 @@ // // Misc. Functions // -#define POWER_LOSS_PIN PA2 // PW_DET -#define PS_ON_PIN PA3 // PW_OFF +#if HAS_TFT_LVGL_UI + //#define MKSPWC + #ifdef MKSPWC + #define SUICIDE_PIN PB2 // Enable MKSPWC SUICIDE PIN + #define SUICIDE_PIN_INVERTING false // Enable MKSPWC PIN STATE + #define KILL_PIN PA2 // Enable MKSPWC DET PIN + #define KILL_PIN_STATE true // Enable MKSPWC PIN STATE + #endif -//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define SUICIDE_PIN_INVERTING false + #define MT_DET_1_PIN PA4 // LVGL UI FILAMENT RUNOUT1 PIN + #define MT_DET_2_PIN PE6 // LVGL UI FILAMENT RUNOUT2 PIN + #define MT_DET_PIN_INVERTING false // LVGL UI filament RUNOUT PIN STATE -//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY + #define WIFI_IO0_PIN PC13 // MKS ESP WIFI IO0 PIN + #define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN + #define WIFI_RESET_PIN PA5 // MKS ESP WIFI RESET PIN +#else + //#define POWER_LOSS_PIN PA2 // PW_DET + //#define PS_ON_PIN PB2 // PW_OFF + #define FIL_RUNOUT_PIN PA4 + #define FIL_RUNOUT2_PIN PE6 +#endif -#define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY +#define SERVO0_PIN PA8 // Enable BLTOUCH support //#define LED_PIN PB2 -#define MT_DET_1_PIN PA4 -#define MT_DET_2_PIN PE6 -#define MT_DET_PIN_INVERTING false - -#define WIFI_IO0_PIN PC13 - // // SD Card // diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index f9652f39348b..01415d7bf0e2 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -192,32 +192,38 @@ // // Misc. Functions // -#define POWER_LOSS_PIN PA2 // PW_DET -#define PS_ON_PIN PA3 // PW_OFF - -//#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define SUICIDE_PIN_INVERTING false +#if HAS_TFT_LVGL_UI + //#define MKSPWC + #ifdef MKSPWC + #define SUICIDE_PIN PB2 // Enable MKSPWC SUICIDE PIN + #define SUICIDE_PIN_INVERTING false // Enable MKSPWC PIN STATE + #define KILL_PIN PA2 // Enable MKSPWC DET PIN + #define KILL_PIN_STATE true // Enable MKSPWC PIN STATE + #endif -//#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY + #define MT_DET_1_PIN PA4 // LVGL UI FILAMENT RUNOUT1 PIN + #define MT_DET_2_PIN PE6 // LVGL UI FILAMENT RUNOUT2 PIN + #define MT_DET_PIN_INVERTING false // LVGL UI filament RUNOUT PIN STATE + + #define WIFI_IO0_PIN PC13 // MKS ESP WIFI IO0 PIN + #define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN + #define WIFI_RESET_PIN PE9 // MKS ESP WIFI RESET PIN + + #if ENABLED(MKS_TEST) + #define MKS_TEST_POWER_LOSS_PIN PA2 // PW_DET + #define MKS_TEST_PS_ON_PIN PB2 // PW_OFF + #endif +#else + //#define POWER_LOSS_PIN PA2 // PW_DET + //#define PS_ON_PIN PB2 // PW_OFF + #define FIL_RUNOUT_PIN PA4 + #define FIL_RUNOUT2_PIN PE6 +#endif -#define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY +#define SERVO0_PIN PA8 // Enable BLTOUCH //#define LED_PIN PB2 -#define MT_DET_1_PIN PA4 -#define MT_DET_2_PIN PE6 -#define MT_DET_PIN_INVERTING false - -#ifndef FIL_RUNOUT_PIN - #define FIL_RUNOUT_PIN MT_DET_1_PIN -#endif -#ifndef FIL_RUNOUT2_PIN - #define FIL_RUNOUT2_PIN MT_DET_2_PIN -#endif - -#define WIFI_IO0_PIN PC13 - // // SD Card // diff --git a/buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld b/buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld new file mode 100644 index 000000000000..d8a138ca2e25 --- /dev/null +++ b/buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld @@ -0,0 +1,14 @@ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - 40 + rom (rx) : ORIGIN = 0x08007000, LENGTH = 512K - 28K - 4K +} + +/* Provide memory region aliases for common.inc */ +REGION_ALIAS("REGION_TEXT", rom); +REGION_ALIAS("REGION_DATA", ram); +REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); + +/* Let common.inc handle the real work. */ +INCLUDE common.inc diff --git a/buildroot/share/PlatformIO/scripts/mks_robin_e3p.py b/buildroot/share/PlatformIO/scripts/mks_robin_e3p.py new file mode 100644 index 000000000000..2aab14bab788 --- /dev/null +++ b/buildroot/share/PlatformIO/scripts/mks_robin_e3p.py @@ -0,0 +1,40 @@ +import os +Import("env") + +# Relocate firmware from 0x08000000 to 0x08007000 +for define in env['CPPDEFINES']: + if define[0] == "VECT_TAB_ADDR": + env['CPPDEFINES'].remove(define) +env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000")) + +custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld") +for i, flag in enumerate(env["LINKFLAGS"]): + if "-Wl,-T" in flag: + env["LINKFLAGS"][i] = "-Wl,-T" + custom_ld_script + elif flag == "-T": + env["LINKFLAGS"][i + 1] = custom_ld_script + + +# Encrypt ${PROGNAME}.bin and save it as 'mks_robin_e3p.bin' +def encrypt(source, target, env): + import sys + + key = [0xA3, 0xBD, 0xAD, 0x0D, 0x41, 0x11, 0xBB, 0x8D, 0xDC, 0x80, 0x2D, 0xD0, 0xD2, 0xC4, 0x9B, 0x1E, 0x26, 0xEB, 0xE3, 0x33, 0x4A, 0x15, 0xE4, 0x0A, 0xB3, 0xB1, 0x3C, 0x93, 0xBB, 0xAF, 0xF7, 0x3E] + + firmware = open(target[0].path, "rb") + robin = open(target[0].dir.path +'/Robin_e3p.bin', "wb") + length = os.path.getsize(target[0].path) + position = 0 + try: + while position < length: + byte = firmware.read(1) + if position >= 320 and position < 31040: + byte = chr(ord(byte) ^ key[position & 31]) + if sys.version_info[0] > 2: + byte = bytes(byte, 'latin1') + robin.write(byte) + position += 1 + finally: + firmware.close() + robin.close() +env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", encrypt); diff --git a/platformio.ini b/platformio.ini index bf43936df682..c1b6f2c24d70 100644 --- a/platformio.ini +++ b/platformio.ini @@ -191,7 +191,7 @@ lib_deps = # Feature Dependencies # [features] -HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip +HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip src_filter=+ extra_scripts=download_mks_assets.py HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 @@ -955,6 +955,22 @@ extra_scripts = ${common.extra_scripts} build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 +# +# MKS Robin E3p (STM32F103VET6) +# - LVGL UI +# +[env:mks_robin_e3p] +platform = ${common_stm32f1.platform} +extends = common_stm32f1 +board = genericSTM32F103VE +platform_packages = tool-stm32duino +extra_scripts = ${common.extra_scripts} + buildroot/share/PlatformIO/scripts/mks_robin_e3p.py +build_flags = ${common_stm32f1.build_flags} + -DMCU_STM32F103VE -DSS_TIMER=4 +debug_tool = jlink +upload_protocol = jlink + # # MKS Robin Lite/Lite2 (STM32F103RCT6) # From 0251eb85b2f2429dc3b1a7dd9bb3ed48472c8cbe Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Mon, 21 Sep 2020 05:29:34 +0200 Subject: [PATCH 109/277] Optional menu item for Assisted Tramming (#19447) --- Marlin/Configuration_adv.h | 5 +++-- Marlin/src/lcd/menu/menu_motion.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 23d39b4d0ad7..65cbd21a947b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -773,7 +773,6 @@ // //#define ASSISTED_TRAMMING #if ENABLED(ASSISTED_TRAMMING) - // Define positions for probing points, use the hotend as reference not the sensor. #define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } } @@ -786,6 +785,9 @@ // Enable to restore leveling setup after operation #define RESTORE_LEVELING_AFTER_G35 + // Add a menu item for Assisted Tramming + //#define ASSISTED_TRAMMING_MENU_ITEM + /** * Screw thread: * M3: 30 = Clockwise, 31 = Counter-Clockwise @@ -793,7 +795,6 @@ * M5: 50 = Clockwise, 51 = Counter-Clockwise */ #define TRAMMING_SCREW_THREAD 30 - #endif // @section motion diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 77ab643cd652..9fea0597db5c 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -348,7 +348,7 @@ void menu_motion() { // // Assisted Bed Tramming // - #if ENABLED(ASSISTED_TRAMMING) + #if ENABLED(ASSISTED_TRAMMING_MENU_ITEM) GCODES_ITEM(MSG_ASSISTED_TRAMMING, PSTR("G35")); #endif From fb48cd0ab47f3ed981d4c74814e850ff7dcd13ba Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 20 Sep 2020 20:30:20 -0700 Subject: [PATCH 110/277] Replace Serial with Serial1 in pins files (#19459) --- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h | 2 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 2 +- Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h | 2 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 2 +- Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h | 2 +- Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h | 2 +- Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h index fb1218068eb3..a38be0bef765 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h @@ -151,7 +151,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 49c4dffa04ed..ce1372ed7a94 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -174,7 +174,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index 23558b2e0474..59d6a06cf423 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -153,7 +153,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index d112cc5d5080..2d09fe1feae5 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -163,7 +163,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index 01415d7bf0e2..d911ab2b517b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -132,7 +132,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index c00466677a25..9b3817df8c7b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -125,7 +125,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h index 55d1a37aa7f7..8cc1ca5e98b2 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h @@ -171,7 +171,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index 9e6a43c36b9a..b45914284adf 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -178,7 +178,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h index fe6e559bdb8e..ab277d43722a 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h @@ -57,7 +57,7 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial + //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 From 1bfc51ad5c79d19ad68cf7ae7b1175fc29741256 Mon Sep 17 00:00:00 2001 From: Chris Pepper Date: Mon, 21 Sep 2020 16:19:09 +0100 Subject: [PATCH 111/277] Update pins_ANET_10.h --- Marlin/src/pins/sanguino/pins_ANET_10.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h index 6830192f319b..d1ac131c0384 100644 --- a/Marlin/src/pins/sanguino/pins_ANET_10.h +++ b/Marlin/src/pins/sanguino/pins_ANET_10.h @@ -163,7 +163,7 @@ #define LCD_PINS_D6 16 #define LCD_PINS_D7 17 #define ADC_KEYPAD_PIN 1 - #elif EITHER(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) // Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics // display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb // See below for alternative pin definitions for use with https://www.thingiverse.com/thing:2103748 From 47aa61c0ec4a4fe511bd7c629ce18d5ea8007da8 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 22 Sep 2020 00:13:24 +0000 Subject: [PATCH 112/277] [cron] Bump distribution date (2020-09-22) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index c1b57d136716..ac6ba4f22c40 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-21" + #define STRING_DISTRIBUTION_DATE "2020-09-22" #endif /** From 225487f9db7d1a7aaf6886a283c7758a9ae2181e Mon Sep 17 00:00:00 2001 From: riodoro1 Date: Tue, 22 Sep 2020 22:08:14 +0200 Subject: [PATCH 113/277] Fix up K8800 pins (#19476) --- Marlin/src/pins/ramps/pins_K8800.h | 61 ++++++++++++++++++------------ 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h index 2783f69896a5..64e3c2566082 100644 --- a/Marlin/src/pins/ramps/pins_K8800.h +++ b/Marlin/src/pins/ramps/pins_K8800.h @@ -39,8 +39,13 @@ // #define X_STOP_PIN 3 #define Y_STOP_PIN 14 -#define Z_MIN_PIN 68 // Used for bed leveling -#define Z_MAX_PIN 66 +#define Z_STOP_PIN 66 + +#ifndef Z_MIN_PROBE_PIN + #define Z_MIN_PROBE_PIN 68 +#endif + +#define FIL_RUNOUT_PIN 69 // PK7 // // Steppers @@ -61,10 +66,6 @@ #define E0_DIR_PIN 28 #define E0_ENABLE_PIN 24 -#define E1_STEP_PIN 32 -#define E1_DIR_PIN 34 -#define E1_ENABLE_PIN 30 - // // Temperature Sensors // @@ -80,30 +81,42 @@ // // Misc. Functions // -#define SDSS 25 - -#define FIL_RUNOUT_PIN 69 // PK7 #define KILL_PIN 20 // PD1 +#define CASE_LIGHT_PIN 7 // -// LCD / Controller +// SD Card // +#define SDSS 25 #define SD_DETECT_PIN 21 // PD0 -#define LCD_SDSS 53 + +// +// LCD / Controller +// #define BEEPER_PIN 6 -#define DOGLCD_CS 29 -#define DOGLCD_A0 27 +#if HAS_SPI_LCD -#define LCD_PINS_RS 27 -#define LCD_PINS_ENABLE 29 -#define LCD_PINS_D4 37 -#define LCD_PINS_D5 35 -#define LCD_PINS_D6 33 -#define LCD_PINS_D7 31 + #define LCD_SDSS 53 -#if ENABLED(NEWPANEL) - #define BTN_EN1 17 - #define BTN_EN2 16 - #define BTN_ENC 23 -#endif + #define DOGLCD_CS 29 + #define DOGLCD_A0 27 + + #define LCD_PINS_RS 27 + #define LCD_PINS_ENABLE 29 + #define LCD_PINS_D4 37 + #define LCD_PINS_D5 35 + #define LCD_PINS_D6 33 + #define LCD_PINS_D7 31 + + #define LCD_CONTRAST_MIN 0 + #define LCD_CONTRAST_MAX 100 + #define DEFAULT_LCD_CONTRAST 30 + + #if ENABLED(NEWPANEL) + #define BTN_EN1 17 + #define BTN_EN2 16 + #define BTN_ENC 23 + #endif + +#endif // HAS_SPI_LCD From 79dc8a22976934e0c29495c16626650b87dba4d9 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Tue, 22 Sep 2020 17:44:17 -0300 Subject: [PATCH 114/277] Define ::softSPI (#19419) --- Marlin/src/module/temperature.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index d2145bcc804a..f589140895b6 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1567,6 +1567,7 @@ void Temperature::updateTemperaturesFromRawValues() { } #if MAX6675_SEPARATE_SPI + template SoftSPI SPIclass::softSPI; SPIclass max6675_spi; #endif From 63e7ae793b9c56f69e5a3f4227ba1eb9164d712e Mon Sep 17 00:00:00 2001 From: makerbase <4164049@qq.com> Date: Wed, 23 Sep 2020 04:57:17 +0800 Subject: [PATCH 115/277] MKS SGEN L V2 adaptable heaters/fans (#19462) --- Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index 2d09fe1feae5..b6f11a133daf 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -207,20 +207,20 @@ // #define HEATER_BED_PIN P2_05 #define HEATER_0_PIN P2_07 -#if HOTENDS == 1 - #ifndef FAN1_PIN - #define FAN1_PIN P2_06 - #endif -#else +#if HAS_MULTI_HOTEND #ifndef HEATER_1_PIN #define HEATER_1_PIN P2_06 #endif +#else + #ifndef FAN2_PIN + #define FAN2_PIN P2_06 // HE1 for FAN3 + #endif #endif #ifndef FAN_PIN - #define FAN_PIN P2_04 + #define FAN_PIN P2_04 // FAN1 #endif -#ifndef FAN2_PIN - #define FAN2_PIN P1_04 +#ifndef FAN1_PIN + #define FAN1_PIN P1_04 // FAN2 #endif // From d051c2adbd0b9c1bc91eee3628fd7c690d9f69ad Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Tue, 22 Sep 2020 15:36:59 -0700 Subject: [PATCH 116/277] Update board/teensy comment (#19456) --- .github/workflows/test-builds.yml | 1 + Marlin/src/core/boards.h | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index 35cd920adff8..b2287837998b 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -41,6 +41,7 @@ jobs: - mega2560 - teensy31 - teensy35 + - teensy41 - SAMD51_grandcentral_m4 # Extended AVR Environments diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 293c6a523076..e27448b0220b 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -359,8 +359,8 @@ #define BOARD_THE_BORG 5000 // THE-BORG (Power outputs: Hotend0, Hotend1, Bed, Fan) #define BOARD_REMRAM_V1 5001 // RemRam v1 -#define BOARD_TEENSY41 5002 // Teensy4.0 and Teensy4.1 -#define BOARD_T41U5XBB 5003 // T41U5XBB Teensy4.1 breakout board +#define BOARD_TEENSY41 5002 // Teensy 4.1 +#define BOARD_T41U5XBB 5003 // T41U5XBB Teensy 4.1 breakout board // // Espressif ESP32 WiFi From a87c517da5f0190cd3f892c9e72763bb1349b99c Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 22 Sep 2020 17:51:59 -0500 Subject: [PATCH 117/277] Fix Teensy 4.1 include --- Marlin/src/pins/pins.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 3908a243ce15..861810d95bb4 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -623,7 +623,7 @@ #include "stm32f7/pins_THE_BORG.h" // STM32F7 env:STM32F7 #elif MB(REMRAM_V1) #include "stm32f7/pins_REMRAM_V1.h" // STM32F7 env:STM32F7 -#elif MB(TEENSY40_41) +#elif MB(TEENSY41) #include "teensy4/pins_TEENSY41.h" // Teensy-4.x env:teensy41 #elif MB(T41U5XBB) #include "teensy4/pins_T41U5XBB.h" // Teensy-4.x env:teensy41 From fd8cd31504e9ff81cbda525a80e21c4f9c486771 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 23 Sep 2020 00:13:17 +0000 Subject: [PATCH 118/277] [cron] Bump distribution date (2020-09-23) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index ac6ba4f22c40..f002ce563b9f 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-22" + #define STRING_DISTRIBUTION_DATE "2020-09-23" #endif /** From 5f5f76956f11c7c58278fd449f6ad85e07cd6e10 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 22 Sep 2020 19:58:06 -0500 Subject: [PATCH 119/277] Fix up tests, warnings --- Marlin/src/gcode/calibrate/M48.cpp | 4 ++-- Marlin/src/lcd/extui/ui_api.cpp | 2 +- buildroot/tests/teensy41-tests | 13 +++++++------ platformio.ini | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index aaf58eed1c78..88273b46e46e 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -192,8 +192,8 @@ void GcodeSuite::M48() { // Choose the next position as an offset to chosen test position const xy_pos_t noz_pos = test_position - probe.offset_xy; xy_pos_t next_pos = { - noz_pos.x + cos(RADIANS(angle)) * radius, - noz_pos.y + sin(RADIANS(angle)) * radius + noz_pos.x + float(cos(RADIANS(angle))) * radius, + noz_pos.y + float(sin(RADIANS(angle))) * radius }; #if ENABLED(DELTA) diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index afc9c6692e00..1270e3d649f7 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -705,7 +705,7 @@ namespace ExtUI { #if ENABLED(BABYSTEP_ZPROBE_OFFSET) // Make it so babystepping in Z adjusts the Z probe offset. - if (axis == Z && TERN1(HAS_MULTI_EXTRUDER, linked_nozzles || active_extruder == 0)) + if (axis == Z && TERN1(HAS_MULTI_EXTRUDER, (linked_nozzles || active_extruder == 0))) probe.offset.z += mm; #endif diff --git a/buildroot/tests/teensy41-tests b/buildroot/tests/teensy41-tests index 04baf029d9cc..8d32d131e91c 100644 --- a/buildroot/tests/teensy41-tests +++ b/buildroot/tests/teensy41-tests @@ -19,14 +19,15 @@ opt_set EXTRUDERS 2 opt_set TEMP_SENSOR_0 1 opt_set TEMP_SENSOR_1 5 opt_set TEMP_SENSOR_BED 1 -opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER LCD_INFO_MENU SDSUPPORT SDCARD_SORT_ALPHA \ - FILAMENT_WIDTH_SENSOR FILAMENT_LCD_DISPLAY CALIBRATION_GCODE BAUD_RATE_GCODE \ +opt_enable EXTENSIBLE_UI LCD_INFO_MENU SDSUPPORT SDCARD_SORT_ALPHA \ + FILAMENT_LCD_DISPLAY CALIBRATION_GCODE BAUD_RATE_GCODE \ FIX_MOUNTED_PROBE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ - BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET BABYSTEP_ZPROBE_GFX_OVERLAY \ - PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT M100_FREE_MEMORY_WATCHER \ + BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET \ + PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT \ ADVANCED_PAUSE_FEATURE ARC_SUPPORT BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES PARK_HEAD_ON_PAUSE \ PHOTO_GCODE PHOTO_POSITION PHOTO_SWITCH_POSITION PHOTO_SWITCH_MS PHOTO_DELAY_MS PHOTO_RETRACT_MM \ HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT +opt_add EXTUI_EXAMPLE opt_set I2C_SLAVE_ADDRESS 63 opt_set GRID_MAX_POINTS_X 16 exec_test $1 $2 "Teensy4.1 with many features" @@ -62,7 +63,7 @@ restore_configs opt_set MOTHERBOARD BOARD_TEENSY41 opt_set EXTRUDERS 2 opt_set TEMP_SENSOR_1 1 -opt_enable MAGNETIC_PARKING_EXTRUDER ULTIMAKERCONTROLLER +opt_enable MAGNETIC_PARKING_EXTRUDER exec_test $1 $2 "MAGNETIC_PARKING_EXTRUDER with LCD" # @@ -70,7 +71,7 @@ exec_test $1 $2 "MAGNETIC_PARKING_EXTRUDER with LCD" # restore_configs opt_set MOTHERBOARD BOARD_TEENSY41 -opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 GRADIENT_MIX GRADIENT_VTOOL REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER +opt_enable MIXING_EXTRUDER DIRECT_MIXING_IN_G1 GRADIENT_MIX GRADIENT_VTOOL opt_set MIXING_STEPPERS 2 exec_test $1 $2 "Mixing Extruder" diff --git a/platformio.ini b/platformio.ini index c1b6f2c24d70..c68daf2c7172 100644 --- a/platformio.ini +++ b/platformio.ini @@ -207,7 +207,7 @@ HAS_L64XX = Arduino-L6470@0.8.0 NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 src_filter=+ MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 -HAS_GRAPHICAL_LCD = U8glib-HAL@0.4.1 +HAS_GRAPHICAL_LCD = U8glib-HAL@~0.4.1 src_filter=+ USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 From 5d0429ee2a5b802d1000a406f9c02850403472af Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Tue, 22 Sep 2020 18:36:31 -0700 Subject: [PATCH 120/277] Catch a TMC address conflict early (#19458) --- Marlin/src/module/stepper/trinamic.cpp | 105 +++++++++++++++++++++++++ buildroot/bin/opt_set | 4 +- buildroot/tests/STM32F103RC_btt-tests | 7 +- buildroot/tests/esp32-tests | 4 + 4 files changed, 117 insertions(+), 3 deletions(-) diff --git a/Marlin/src/module/stepper/trinamic.cpp b/Marlin/src/module/stepper/trinamic.cpp index 3dda98698bb1..a4b1b240f79e 100644 --- a/Marlin/src/module/stepper/trinamic.cpp +++ b/Marlin/src/module/stepper/trinamic.cpp @@ -209,113 +209,145 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E }; #if AXIS_HAS_UART(X) #ifdef X_HARDWARE_SERIAL TMC_UART_DEFINE(HW, X, X); + #define X_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, X, X); + #define X_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(X2) #ifdef X2_HARDWARE_SERIAL TMC_UART_DEFINE(HW, X2, X); + #define X2_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, X2, X); + #define X2_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Y) #ifdef Y_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Y, Y); + #define Y_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Y, Y); + #define Y_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Y2) #ifdef Y2_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Y2, Y); + #define Y2_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Y2, Y); + #define Y2_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Z) #ifdef Z_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Z, Z); + #define Z_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Z, Z); + #define Z_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Z2) #ifdef Z2_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Z2, Z); + #define Z2_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Z2, Z); + #define Z2_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Z3) #ifdef Z3_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Z3, Z); + #define Z3_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Z3, Z); + #define Z3_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(Z4) #ifdef Z4_HARDWARE_SERIAL TMC_UART_DEFINE(HW, Z4, Z); + #define Z4_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE(SW, Z4, Z); + #define Z4_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E0) #ifdef E0_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 0); + #define E0_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 0); + #define E0_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E1) #ifdef E1_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 1); + #define E1_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 1); + #define E1_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E2) #ifdef E2_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 2); + #define E2_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 2); + #define E2_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E3) #ifdef E3_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 3); + #define E3_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 3); + #define E3_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E4) #ifdef E4_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 4); + #define E4_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 4); + #define E4_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E5) #ifdef E5_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 5); + #define E5_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 5); + #define E5_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E6) #ifdef E6_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 6); + #define E6_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 6); + #define E6_HAS_SW_SERIAL 1 #endif #endif #if AXIS_HAS_UART(E7) #ifdef E7_HARDWARE_SERIAL TMC_UART_DEFINE_E(HW, 7); + #define E7_HAS_HW_SERIAL 1 #else TMC_UART_DEFINE_E(SW, 7); + #define E7_HAS_SW_SERIAL 1 #endif #endif @@ -769,4 +801,77 @@ void reset_trinamic_drivers() { stepper.set_directions(); } +// TMC Slave Address Conflict Detection +// +// Conflict detection is performed in the following way. Similar methods are used for +// hardware and software serial, but the implementations are indepenent. +// +// 1. Populate a data structure with UART parameters and addresses for all possible axis. +// If an axis is not in use, populate it with recognizable placeholder data. +// 2. For each axis in use, static_assert using a constexpr function, which counts the +// number of matching/conflicting axis. If the value is not exactly 1, fail. + +#if ANY_AXIS_HAS(HW_SERIAL) + // Hardware serial names are compared as strings, since actually resolving them cannot occur in a constexpr. + // Using a fixed-length character array for the port name allows this to be constexpr compatible. + struct SanityHwSerialDetails { const char port[20]; uint32_t address; }; + #define TMC_HW_DETAIL_ARGS(A) TERN(A##_HAS_HW_SERIAL, STRINGIFY(A##_HARDWARE_SERIAL), ""), TERN0(A##_HAS_HW_SERIAL, A##_SLAVE_ADDRESS) + #define TMC_HW_DETAIL(A) {TMC_HW_DETAIL_ARGS(A)} + constexpr SanityHwSerialDetails sanity_tmc_hw_details[] = { + TMC_HW_DETAIL(X), TMC_HW_DETAIL(X2), + TMC_HW_DETAIL(Y), TMC_HW_DETAIL(Y2), + TMC_HW_DETAIL(Z), TMC_HW_DETAIL(Z2), TMC_HW_DETAIL(Z3), TMC_HW_DETAIL(Z4), + TMC_HW_DETAIL(E0), TMC_HW_DETAIL(E1), TMC_HW_DETAIL(E2), TMC_HW_DETAIL(E3), TMC_HW_DETAIL(E4), TMC_HW_DETAIL(E5), TMC_HW_DETAIL(E6), TMC_HW_DETAIL(E7) + }; + + // constexpr compatible string comparison + constexpr bool str_eq_ce(const char * a, const char * b) { + return *a == *b && (*a == '\0' || str_eq_ce(a+1,b+1)); + } + + constexpr bool sc_hw_done(size_t start, size_t end) { return start == end; } + constexpr bool sc_hw_skip(const char* port_name) { return !(*port_name); } + constexpr bool sc_hw_match(const char* port_name, uint32_t address, size_t start, size_t end) { + return !sc_hw_done(start, end) && !sc_hw_skip(port_name) && (address == sanity_tmc_hw_details[start].address && str_eq_ce(port_name, sanity_tmc_hw_details[start].port)); + } + constexpr int count_tmc_hw_serial_matches(const char* port_name, uint32_t address, size_t start, size_t end) { + return sc_hw_done(start, end) ? 0 : ((sc_hw_skip(port_name) ? 0 : (sc_hw_match(port_name, address, start, end) ? 1 : 0)) + count_tmc_hw_serial_matches(port_name, address, start + 1, end)); + } + + #define TMC_HWSERIAL_CONFLICT_MSG(A) STRINGIFY(A) "_SLAVE_ADDRESS conflicts with another driver using the same " STRINGIFY(A) "_HARDWARE_SERIAL" + #define SA_NO_TMC_HW_C(A) static_assert(1 >= count_tmc_hw_serial_matches(TMC_HW_DETAIL_ARGS(A), 0, COUNT(sanity_tmc_hw_details)), TMC_HWSERIAL_CONFLICT_MSG(A)); + SA_NO_TMC_HW_C(X);SA_NO_TMC_HW_C(X2); + SA_NO_TMC_HW_C(Y);SA_NO_TMC_HW_C(Y2); + SA_NO_TMC_HW_C(Z);SA_NO_TMC_HW_C(Z2);SA_NO_TMC_HW_C(Z3);SA_NO_TMC_HW_C(Z4); + SA_NO_TMC_HW_C(E0);SA_NO_TMC_HW_C(E1);SA_NO_TMC_HW_C(E2);SA_NO_TMC_HW_C(E3);SA_NO_TMC_HW_C(E4);SA_NO_TMC_HW_C(E5);SA_NO_TMC_HW_C(E6);SA_NO_TMC_HW_C(E7); +#endif + +#if ANY_AXIS_HAS(SW_SERIAL) + struct SanitySwSerialDetails { int32_t txpin; int32_t rxpin; uint32_t address; }; + #define TMC_SW_DETAIL_ARGS(A) TERN(A##_HAS_SW_SERIAL, A##_SERIAL_TX_PIN, -1), TERN(A##_HAS_SW_SERIAL, A##_SERIAL_RX_PIN, -1), TERN0(A##_HAS_SW_SERIAL, A##_SLAVE_ADDRESS) + #define TMC_SW_DETAIL(A) TMC_SW_DETAIL_ARGS(A) + constexpr SanitySwSerialDetails sanity_tmc_sw_details[] = { + TMC_SW_DETAIL(X), TMC_SW_DETAIL(X2), + TMC_SW_DETAIL(Y), TMC_SW_DETAIL(Y2), + TMC_SW_DETAIL(Z), TMC_SW_DETAIL(Z2), TMC_SW_DETAIL(Z3), TMC_SW_DETAIL(Z4), + TMC_SW_DETAIL(E0), TMC_SW_DETAIL(E1), TMC_SW_DETAIL(E2), TMC_SW_DETAIL(E3), TMC_SW_DETAIL(E4), TMC_SW_DETAIL(E5), TMC_SW_DETAIL(E6), TMC_SW_DETAIL(E7) + }; + + constexpr bool sc_sw_done(size_t start, size_t end) { return start == end; } + constexpr bool sc_sw_skip(int32_t txpin) { return txpin < 0; } + constexpr bool sc_sw_match(int32_t txpin, int32_t rxpin, uint32_t address, size_t start, size_t end) { + return !sc_sw_done(start, end) && !sc_sw_skip(txpin) && (txpin == sanity_tmc_sw_details[start].txpin || rxpin == sanity_tmc_sw_details[start].rxpin) && (address == sanity_tmc_sw_details[start].address); + } + constexpr int count_tmc_sw_serial_matches(int32_t txpin, int32_t rxpin, uint32_t address, size_t start, size_t end) { + return sc_sw_done(start, end) ? 0 : ((sc_sw_skip(txpin) ? 0 : (sc_sw_match(txpin, rxpin, address, start, end) ? 1 : 0)) + count_tmc_sw_serial_matches(txpin, rxpin, address, start + 1, end)); + } + + #define TMC_SWSERIAL_CONFLICT_MSG(A) STRINGIFY(A) "_SLAVE_ADDRESS conflicts with another driver using the same " STRINGIFY(A) "_SERIAL_RX_PIN or " STRINGIFY(A) "_SERIAL_TX_PIN" + #define SA_NO_TMC_SW_C(A) static_assert(1 >= count_tmc_sw_serial_matches(TMC_SW_DETAIL_ARGS(A), 0, COUNT(sanity_tmc_sw_details)), TMC_SWSERIAL_CONFLICT_MSG(A)); + SA_NO_TMC_SW_C(X);SA_NO_TMC_SW_C(X2); + SA_NO_TMC_SW_C(Y);SA_NO_TMC_SW_C(Y2); + SA_NO_TMC_SW_C(Z);SA_NO_TMC_SW_C(Z2);SA_NO_TMC_SW_C(Z3);SA_NO_TMC_SW_C(Z4); + SA_NO_TMC_SW_C(E0);SA_NO_TMC_SW_C(E1);SA_NO_TMC_SW_C(E2);SA_NO_TMC_SW_C(E3);SA_NO_TMC_SW_C(E4);SA_NO_TMC_SW_C(E5);SA_NO_TMC_SW_C(E6);SA_NO_TMC_SW_C(E7); +#endif + #endif // HAS_TRINAMIC_CONFIG diff --git a/buildroot/bin/opt_set b/buildroot/bin/opt_set index f23a1d3d0764..a646e09ae789 100755 --- a/buildroot/bin/opt_set +++ b/buildroot/bin/opt_set @@ -6,7 +6,7 @@ set -e SED=$(which gsed || which sed) # Logic for returning nonzero based on answer here: https://stackoverflow.com/a/15966279/104648 -eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define \b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" || -eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define \b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" || +eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" || +eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" || eval "echo '#define ${@}' >>Marlin/Configuration_adv.h" || (echo "ERROR: opt_set Can't set or add ${1}" >&2 && exit 9) diff --git a/buildroot/tests/STM32F103RC_btt-tests b/buildroot/tests/STM32F103RC_btt-tests index 8780eb535cf4..ad15ee723767 100644 --- a/buildroot/tests/STM32F103RC_btt-tests +++ b/buildroot/tests/STM32F103RC_btt-tests @@ -16,7 +16,12 @@ opt_set SERIAL_PORT_2 -1 opt_set X_DRIVER_TYPE TMC2209 opt_set Y_DRIVER_TYPE TMC2209 opt_set Z_DRIVER_TYPE TMC2209 -opt_set E_DRIVER_TYPE TMC2209 +opt_set E0_DRIVER_TYPE TMC2209 +opt_set X_SLAVE_ADDRESS 0 +opt_set Y_SLAVE_ADDRESS 1 +opt_set Z_SLAVE_ADDRESS 2 +opt_set E0_SLAVE_ADDRESS 3 + exec_test $1 $2 "BigTreeTech SKR Mini E3 1.0 - Basic Config with TMC2209 HW Serial" # clean up diff --git a/buildroot/tests/esp32-tests b/buildroot/tests/esp32-tests index 992b3ec5ff44..204e7aa708eb 100755 --- a/buildroot/tests/esp32-tests +++ b/buildroot/tests/esp32-tests @@ -30,6 +30,10 @@ opt_set X_HARDWARE_SERIAL Serial1 opt_set Y_HARDWARE_SERIAL Serial1 opt_set Z_HARDWARE_SERIAL Serial1 opt_set E0_HARDWARE_SERIAL Serial1 +opt_set X_SLAVE_ADDRESS 0 +opt_set Y_SLAVE_ADDRESS 1 +opt_set Z_SLAVE_ADDRESS 2 +opt_set E0_SLAVE_ADDRESS 3 opt_enable HOTEND_IDLE_TIMEOUT exec_test $1 $2 "ESP32, TMC HW Serial, Hotend Idle" From 362145f608aa1a68b0e924ab66f39606356585bd Mon Sep 17 00:00:00 2001 From: Marcio T Date: Tue, 22 Sep 2020 20:01:01 -0600 Subject: [PATCH 121/277] New Touch UI buttons (#19465) --- .../screens/leveling_menu.cpp | 43 +++++++++++-------- .../ftdi_eve_touch_ui/screens/tune_menu.cpp | 15 +++++-- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp index 74ab332fb4d7..763403d28722 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/leveling_menu.cpp @@ -35,27 +35,29 @@ using namespace ExtUI; using namespace Theme; #ifdef TOUCH_UI_PORTRAIT - #define GRID_ROWS 9 + #define GRID_ROWS 10 #define GRID_COLS 2 #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) #define LEVEL_BED_POS BTN_POS(1,2), BTN_SIZE(2,1) #define LEVEL_AXIS_POS BTN_POS(1,3), BTN_SIZE(2,1) - #define SHOW_MESH_POS BTN_POS(1,4), BTN_SIZE(2,1) - #define BLTOUCH_TITLE_POS BTN_POS(1,6), BTN_SIZE(2,1) - #define BLTOUCH_RESET_POS BTN_POS(1,7), BTN_SIZE(1,1) - #define BLTOUCH_TEST_POS BTN_POS(2,7), BTN_SIZE(1,1) - #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) + #define Z_AUTO_ALIGN_POS BTN_POS(1,4), BTN_SIZE(2,1) + #define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(2,1) + #define BLTOUCH_TITLE_POS BTN_POS(1,7), BTN_SIZE(2,1) + #define BLTOUCH_RESET_POS BTN_POS(1,8), BTN_SIZE(1,1) + #define BLTOUCH_TEST_POS BTN_POS(2,8), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(1,10), BTN_SIZE(2,1) #else - #define GRID_ROWS 7 + #define GRID_ROWS 8 #define GRID_COLS 2 #define TITLE_POS BTN_POS(1,1), BTN_SIZE(2,1) #define LEVEL_BED_POS BTN_POS(1,2), BTN_SIZE(2,1) #define LEVEL_AXIS_POS BTN_POS(1,3), BTN_SIZE(2,1) - #define SHOW_MESH_POS BTN_POS(1,4), BTN_SIZE(2,1) - #define BLTOUCH_TITLE_POS BTN_POS(1,5), BTN_SIZE(2,1) - #define BLTOUCH_RESET_POS BTN_POS(1,6), BTN_SIZE(1,1) - #define BLTOUCH_TEST_POS BTN_POS(2,6), BTN_SIZE(1,1) - #define BACK_POS BTN_POS(1,7), BTN_SIZE(2,1) + #define Z_AUTO_ALIGN_POS BTN_POS(1,4), BTN_SIZE(2,1) + #define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(2,1) + #define BLTOUCH_TITLE_POS BTN_POS(1,6), BTN_SIZE(2,1) + #define BLTOUCH_RESET_POS BTN_POS(1,7), BTN_SIZE(1,1) + #define BLTOUCH_TEST_POS BTN_POS(2,7), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) #endif void LevelingMenu::onRedraw(draw_mode_t what) { @@ -78,12 +80,14 @@ void LevelingMenu::onRedraw(draw_mode_t what) { #endif ) .tag(3).button(LEVEL_AXIS_POS, GET_TEXT_F(MSG_AUTOLEVEL_X_AXIS)) + .enabled(ENABLED(Z_STEPPER_AUTO_ALIGN)) + .tag(4).button(Z_AUTO_ALIGN_POS, GET_TEXT_F(MSG_AUTO_Z_ALIGN)) .enabled(ENABLED(HAS_MESH)) - .tag(4).button(SHOW_MESH_POS, GET_TEXT_F(MSG_SHOW_MESH)); + .tag(5).button(SHOW_MESH_POS, GET_TEXT_F(MSG_SHOW_MESH)); #if ENABLED(BLTOUCH) cmd.text(BLTOUCH_TITLE_POS, GET_TEXT_F(MSG_BLTOUCH)) - .tag(5).button(BLTOUCH_RESET_POS, GET_TEXT_F(MSG_BLTOUCH_RESET)) - .tag(6).button(BLTOUCH_TEST_POS, GET_TEXT_F(MSG_BLTOUCH_SELFTEST)); + .tag(6).button(BLTOUCH_RESET_POS, GET_TEXT_F(MSG_BLTOUCH_RESET)) + .tag(7).button(BLTOUCH_TEST_POS, GET_TEXT_F(MSG_BLTOUCH_SELFTEST)); #endif cmd.colors(action_btn) .tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK)); @@ -103,12 +107,15 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) { #ifdef AXIS_LEVELING_COMMANDS case 3: SpinnerDialogBox::enqueueAndWait_P(F(AXIS_LEVELING_COMMANDS)); break; #endif + #if ENABLED(Z_STEPPER_AUTO_ALIGN) + case 4: SpinnerDialogBox::enqueueAndWait_P(F("G34")); break; + #endif #if HAS_MESH - case 4: GOTO_SCREEN(BedMeshScreen); break; + case 5: GOTO_SCREEN(BedMeshScreen); break; #endif #if ENABLED(BLTOUCH) - case 5: injectCommands_P(PSTR("M280 P0 S60")); break; - case 6: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break; + case 6: injectCommands_P(PSTR("M280 P0 S60")); break; + case 7: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break; #endif default: return false; } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp index 4e3fb7d17ef9..9fe2f1e9cbcb 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp @@ -37,7 +37,7 @@ void TuneMenu::onRedraw(draw_mode_t what) { } #ifdef TOUCH_UI_PORTRAIT - #define GRID_ROWS 8 + #define GRID_ROWS 9 #define GRID_COLS 2 #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(2,1) #define FIL_CHANGE_POS BTN_POS(1,2), BTN_SIZE(2,1) @@ -46,9 +46,10 @@ void TuneMenu::onRedraw(draw_mode_t what) { #define SPEED_POS BTN_POS(1,5), BTN_SIZE(2,1) #define PAUSE_POS BTN_POS(1,6), BTN_SIZE(2,1) #define STOP_POS BTN_POS(1,7), BTN_SIZE(2,1) - #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) + #define CASE_LIGHT_POS BTN_POS(1,8), BTN_SIZE(2,1) + #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) #else - #define GRID_ROWS 4 + #define GRID_ROWS 5 #define GRID_COLS 2 #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(1,1) #define NUDGE_NOZ_POS BTN_POS(2,1), BTN_SIZE(1,1) @@ -57,7 +58,8 @@ void TuneMenu::onRedraw(draw_mode_t what) { #define PAUSE_POS BTN_POS(1,3), BTN_SIZE(1,1) #define STOP_POS BTN_POS(2,3), BTN_SIZE(1,1) #define FILAMENT_POS BTN_POS(1,4), BTN_SIZE(1,1) - #define BACK_POS BTN_POS(2,4), BTN_SIZE(1,1) + #define CASE_LIGHT_POS BTN_POS(2,4), BTN_SIZE(1,1) + #define BACK_POS BTN_POS(1,5), BTN_SIZE(2,1) #endif if (what & FOREGROUND) { @@ -79,6 +81,8 @@ void TuneMenu::onRedraw(draw_mode_t what) { .button( PAUSE_POS, isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT)) .enabled(TERN0(SDSUPPORT, isPrintingFromMedia())) .tag(8).button( STOP_POS, GET_TEXT_F(MSG_STOP_PRINT)) + .enabled(ENABLED(CASE_LIGHT_ENABLE)) + .tag(10).button( CASE_LIGHT_POS, GET_TEXT_F(MSG_CASE_LIGHT)) .tag(1).colors(action_btn) .button( BACK_POS, GET_TEXT_F(MSG_BACK)); } @@ -111,6 +115,9 @@ bool TuneMenu::onTouchEnd(uint8_t tag) { #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) case 9: GOTO_SCREEN(FilamentMenu); break; #endif + #if ENABLED(CASE_LIGHT_ENABLE) + case 10: GOTO_SCREEN(CaseLightScreen); break; + #endif default: return false; } From 90bc1993b6811623dd9d0de00251e0c63415cb49 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Wed, 23 Sep 2020 17:06:36 -0300 Subject: [PATCH 122/277] Include pins.h in dependencies script (#19468) --- Marlin/src/pins/esp32/pins_E4D.h | 2 +- Marlin/src/pins/esp32/pins_ESP32.h | 2 +- Marlin/src/pins/esp32/pins_MRR_ESPA.h | 2 +- Marlin/src/pins/esp32/pins_MRR_ESPE.h | 2 +- Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h | 2 +- Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h | 2 +- Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h | 2 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 4 ++++ Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h | 4 ++-- Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h | 2 +- Marlin/src/pins/lpc1768/pins_MKS_SBASE.h | 4 ++-- Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h | 2 +- Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h | 2 +- Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h | 2 +- Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h | 2 +- Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h | 2 +- .../src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h | 2 +- Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h | 2 +- Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h | 2 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN.h | 2 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 2 +- Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h | 2 +- Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h | 2 +- Marlin/src/pins/mega/pins_CHEAPTRONIC.h | 2 +- Marlin/src/pins/mega/pins_CHEAPTRONICv2.h | 2 +- Marlin/src/pins/mega/pins_CNCONTROLS_11.h | 2 +- Marlin/src/pins/mega/pins_CNCONTROLS_12.h | 2 +- Marlin/src/pins/mega/pins_CNCONTROLS_15.h | 2 +- Marlin/src/pins/mega/pins_EINSTART-S.h | 2 +- Marlin/src/pins/mega/pins_ELEFU_3.h | 2 +- Marlin/src/pins/mega/pins_GT2560_REV_A.h | 2 +- Marlin/src/pins/mega/pins_GT2560_V3.h | 2 +- Marlin/src/pins/mega/pins_HJC2560C_REV2.h | 2 +- Marlin/src/pins/mega/pins_INTAMSYS40.h | 2 +- Marlin/src/pins/mega/pins_LEAPFROG.h | 2 +- Marlin/src/pins/mega/pins_LEAPFROG_XEED2015.h | 2 +- Marlin/src/pins/mega/pins_MEGACONTROLLER.h | 2 +- Marlin/src/pins/mega/pins_MEGATRONICS.h | 2 +- Marlin/src/pins/mega/pins_MEGATRONICS_2.h | 2 +- Marlin/src/pins/mega/pins_MEGATRONICS_3.h | 2 +- Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h | 2 +- Marlin/src/pins/mega/pins_MINITRONICS.h | 2 +- Marlin/src/pins/mega/pins_OVERLORD.h | 2 +- Marlin/src/pins/mega/pins_PICA.h | 2 +- Marlin/src/pins/mega/pins_SILVER_GATE.h | 2 +- Marlin/src/pins/mega/pins_WANHAO_ONEPLUS.h | 2 +- Marlin/src/pins/pins.h | 7 +++++++ Marlin/src/pins/rambo/pins_EINSY_RAMBO.h | 2 +- Marlin/src/pins/rambo/pins_EINSY_RETRO.h | 2 +- Marlin/src/pins/rambo/pins_MINIRAMBO.h | 2 +- Marlin/src/pins/rambo/pins_RAMBO.h | 2 +- Marlin/src/pins/rambo/pins_SCOOVO_X9H.h | 2 +- Marlin/src/pins/ramps/pins_AZTEEG_X3.h | 2 +- Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h | 2 +- Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h | 2 +- Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h | 2 +- Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h | 2 +- Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h | 2 +- Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h | 2 +- Marlin/src/pins/ramps/pins_FYSETC_F6_13.h | 2 +- Marlin/src/pins/ramps/pins_K8800.h | 2 +- Marlin/src/pins/ramps/pins_RAMPS.h | 9 +++++---- Marlin/src/pins/ramps/pins_RAMPS_OLD.h | 2 +- Marlin/src/pins/ramps/pins_RAMPS_PLUS.h | 2 +- Marlin/src/pins/ramps/pins_RUMBA.h | 2 +- Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h | 2 +- Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h | 2 +- Marlin/src/pins/ramps/pins_TT_OSCAR.h | 2 +- Marlin/src/pins/ramps/pins_ULTIMAIN_2.h | 2 +- Marlin/src/pins/ramps/pins_ULTIMAKER.h | 2 +- Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h | 2 +- Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h | 2 +- Marlin/src/pins/sam/pins_ADSK.h | 2 +- Marlin/src/pins/sam/pins_ALLIGATOR_R2.h | 2 +- Marlin/src/pins/sam/pins_ARCHIM1.h | 2 +- Marlin/src/pins/sam/pins_ARCHIM2.h | 2 +- Marlin/src/pins/sam/pins_CNCONTROLS_15D.h | 2 +- Marlin/src/pins/sam/pins_DUE3DOM.h | 2 +- Marlin/src/pins/sam/pins_DUE3DOM_MINI.h | 2 +- Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h | 2 +- Marlin/src/pins/sam/pins_RADDS.h | 2 +- Marlin/src/pins/sam/pins_RAMPS4DUE.h | 2 +- Marlin/src/pins/sam/pins_RAMPS_DUO.h | 2 +- Marlin/src/pins/sam/pins_RAMPS_FD_V1.h | 2 +- Marlin/src/pins/sam/pins_RAMPS_SMART.h | 2 +- Marlin/src/pins/sam/pins_RURAMPS4D_11.h | 2 +- Marlin/src/pins/sam/pins_RURAMPS4D_13.h | 2 +- Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h | 2 +- Marlin/src/pins/samd/pins_RAMPS_144.h | 2 +- Marlin/src/pins/sanguino/pins_ANET_10.h | 2 +- Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h | 2 +- Marlin/src/pins/sanguino/pins_GEN3_PLUS.h | 2 +- Marlin/src/pins/sanguino/pins_GEN6.h | 2 +- Marlin/src/pins/sanguino/pins_GEN7_12.h | 2 +- Marlin/src/pins/sanguino/pins_GEN7_14.h | 2 +- Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h | 2 +- Marlin/src/pins/sanguino/pins_OMCA.h | 2 +- Marlin/src/pins/sanguino/pins_OMCA_A.h | 2 +- Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h | 2 +- Marlin/src/pins/sanguino/pins_SETHI.h | 2 +- Marlin/src/pins/sanguino/pins_ZMIB_V2.h | 2 +- Marlin/src/pins/stm32f0/pins_MALYAN_M200_V2.h | 2 +- Marlin/src/pins/stm32f0/pins_MALYAN_M300.h | 2 +- Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 2 +- .../pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h | 2 +- Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h | 2 +- Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h | 2 +- Marlin/src/pins/stm32f1/pins_CHITU3D.h | 2 +- Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h | 2 +- Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h | 2 +- Marlin/src/pins/stm32f1/pins_CREALITY_V4.h | 2 +- Marlin/src/pins/stm32f1/pins_CREALITY_V427.h | 2 +- Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h | 2 +- Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h | 2 +- .../src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h | 2 +- Marlin/src/pins/stm32f1/pins_GTM32_MINI.h | 2 +- Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h | 2 +- Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h | 2 +- Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h | 2 +- Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h | 2 +- Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h | 2 +- Marlin/src/pins/stm32f1/pins_MALYAN_M200.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h | 4 ++-- .../src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 4 ++-- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 2 +- Marlin/src/pins/stm32f1/pins_MORPHEUS.h | 2 +- Marlin/src/pins/stm32f1/pins_STM32F1R.h | 2 +- Marlin/src/pins/stm32f1/pins_STM3R_MINI.h | 2 +- Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h | 2 +- Marlin/src/pins/stm32f4/pins_ARMED.h | 2 +- Marlin/src/pins/stm32f4/pins_BEAST.h | 2 +- Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h | 2 +- Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h | 2 +- Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h | 2 +- .../src/pins/stm32f4/pins_BTT_SKR_PRO_common.h | 2 +- Marlin/src/pins/stm32f4/pins_FLYF407ZG.h | 2 +- Marlin/src/pins/stm32f4/pins_FYSETC_S6.h | 2 +- Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h | 2 +- Marlin/src/pins/stm32f4/pins_LERDGE_K.h | 2 +- Marlin/src/pins/stm32f4/pins_LERDGE_S.h | 2 +- Marlin/src/pins/stm32f4/pins_LERDGE_X.h | 2 +- Marlin/src/pins/stm32f4/pins_MKS_ROBIN2.h | 2 +- Marlin/src/pins/stm32f4/pins_RUMBA32_common.h | 2 +- Marlin/src/pins/stm32f4/pins_STEVAL_3DP001V1.h | 2 +- Marlin/src/pins/stm32f4/pins_VAKE403D.h | 2 +- Marlin/src/pins/stm32f7/pins_REMRAM_V1.h | 2 +- Marlin/src/pins/stm32f7/pins_THE_BORG.h | 2 +- Marlin/src/pins/teensy2/pins_5DPRINT.h | 2 +- Marlin/src/pins/teensy2/pins_BRAINWAVE.h | 2 +- Marlin/src/pins/teensy2/pins_BRAINWAVE_PRO.h | 2 +- Marlin/src/pins/teensy2/pins_PRINTRBOARD.h | 2 +- Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h | 2 +- Marlin/src/pins/teensy2/pins_SAV_MKI.h | 2 +- Marlin/src/pins/teensy2/pins_TEENSY2.h | 2 +- Marlin/src/pins/teensy2/pins_TEENSYLU.h | 2 +- Marlin/src/pins/teensy3/pins_TEENSY31_32.h | 2 +- Marlin/src/pins/teensy3/pins_TEENSY35_36.h | 2 +- Marlin/src/pins/teensy4/pins_T41U5XBB.h | 8 ++++---- Marlin/src/pins/teensy4/pins_TEENSY41.h | 16 ++++++++-------- .../scripts/common-dependencies-post.py | 16 ++++++++++++++++ .../PlatformIO/scripts/common-dependencies.h | 3 +++ .../PlatformIO/scripts/common-dependencies.py | 2 +- platformio.ini | 1 + 169 files changed, 213 insertions(+), 181 deletions(-) create mode 100644 buildroot/share/PlatformIO/scripts/common-dependencies-post.py diff --git a/Marlin/src/pins/esp32/pins_E4D.h b/Marlin/src/pins/esp32/pins_E4D.h index e66bb669f71c..7b5595444cf1 100644 --- a/Marlin/src/pins/esp32/pins_E4D.h +++ b/Marlin/src/pins/esp32/pins_E4D.h @@ -27,7 +27,7 @@ * for more info check https://atbox.tech/ and join to Facebook page E4d@box. */ -#ifndef ARDUINO_ARCH_ESP32 +#if NOT_TARGET(ARDUINO_ARCH_ESP32) #error "Oops! Select an ESP32 board in 'Tools > Board.'" #elif EXTRUDERS > 1 || E_STEPPERS > 1 #error "E4d@box only supports one E Stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/esp32/pins_ESP32.h b/Marlin/src/pins/esp32/pins_ESP32.h index 5f793f1cf2e4..d54a92b9c4e5 100644 --- a/Marlin/src/pins/esp32/pins_ESP32.h +++ b/Marlin/src/pins/esp32/pins_ESP32.h @@ -25,7 +25,7 @@ * Espressif ESP32 (Tensilica Xtensa LX6) pin assignments */ -#ifndef ARDUINO_ARCH_ESP32 +#if NOT_TARGET(ARDUINO_ARCH_ESP32) "Oops! Select an ESP32 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPA.h b/Marlin/src/pins/esp32/pins_MRR_ESPA.h index 8a5b11ed71c6..0457b0afca53 100644 --- a/Marlin/src/pins/esp32/pins_MRR_ESPA.h +++ b/Marlin/src/pins/esp32/pins_MRR_ESPA.h @@ -27,7 +27,7 @@ * Supports 4 stepper drivers, heated bed, single hotend. */ -#ifndef ARDUINO_ARCH_ESP32 +#if NOT_TARGET(ARDUINO_ARCH_ESP32) #error "Oops! Select an ESP32 board in 'Tools > Board.'" #elif EXTRUDERS > 1 || E_STEPPERS > 1 #error "MRR ESPA only supports one E Stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPE.h b/Marlin/src/pins/esp32/pins_MRR_ESPE.h index b38a88351d5a..459d00e3e7e2 100644 --- a/Marlin/src/pins/esp32/pins_MRR_ESPE.h +++ b/Marlin/src/pins/esp32/pins_MRR_ESPE.h @@ -28,7 +28,7 @@ * single hotend, and LCD controller. */ -#ifndef ARDUINO_ARCH_ESP32 +#if NOT_TARGET(ARDUINO_ARCH_ESP32) #error "Oops! Select an ESP32 board in 'Tools > Board.'" #elif EXTRUDERS > 2 || E_STEPPERS > 2 #error "MRR ESPE only supports two E Steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h b/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h index ffc149279c29..78e742667497 100644 --- a/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h +++ b/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h @@ -25,7 +25,7 @@ * AZSMZ MINI pin assignments */ -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h index 6ccfca1cac22..13e30b961c1e 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h @@ -30,7 +30,7 @@ * */ -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h index 20edcb07a76f..ed5fd530e04a 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h @@ -30,7 +30,7 @@ * */ -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index ce1372ed7a94..1846b16e4698 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -25,6 +25,10 @@ #define BOARD_INFO_NAME "BTT SKR V1.4" #endif +#ifndef BOARD_CUSTOM_BUILD_FLAGS + #define BOARD_CUSTOM_BUILD_FLAGS -DLPC_PINCFG_UART3_P4_28 +#endif + // // SD Connection // diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h index bfae569cc422..9fade582e978 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h @@ -22,10 +22,10 @@ #pragma once #ifdef SKR_HAS_LPC1769 - #ifndef MCU_LPC1769 + #if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif -#elif !defined(MCU_LPC1768) +#elif NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h index 6bba067cbef8..5132081a5591 100644 --- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h +++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 54f3dfd95c16..7d0745aa2d1a 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -25,9 +25,9 @@ * MKS SBASE pin assignments */ -#if defined(MKS_HAS_LPC1769) && !defined(MCU_LPC1769) +#if defined(MKS_HAS_LPC1769) && NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." -#elif !defined(MKS_HAS_LPC1769) && !defined(MCU_LPC1768) +#elif NOT_TARGET(MKS_HAS_LPC1769, MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index 59d6a06cf423..c57c987a7560 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -25,7 +25,7 @@ * MKS SGEN-L pin assignments */ -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 32c9ad271187..7b87c95f84a8 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -36,7 +36,7 @@ // Numbers in parentheses () are the corresponding mega2560 pin numbers -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h index e717511c124f..f9b9db918d55 100644 --- a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h +++ b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h @@ -25,7 +25,7 @@ * Selena Compact pin assignments */ -#ifndef MCU_LPC1768 +#if NOT_TARGET(MCU_LPC1768) #error "Oops! Make sure you have the LPC1768 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h index 83cf17eee9f9..adf9085262a0 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h @@ -25,7 +25,7 @@ * Azteeg X5 GT pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h index 8d5080b28033..d798e3873584 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h @@ -25,7 +25,7 @@ * Azteeg X5 MINI pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h index 592f666e391e..99ff0fd25a14 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h @@ -25,7 +25,7 @@ * Azteeg X5 MINI pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h index d5c7d9868f97..0314c5049f82 100644 --- a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h @@ -25,7 +25,7 @@ * Cohesion3D Mini pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h index 387090288184..9dc870a35396 100644 --- a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h +++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h @@ -25,7 +25,7 @@ * Cohesion3D ReMix pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h index c9f3ff7aae26..19c2d5032050 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h @@ -29,7 +29,7 @@ * */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index b6f11a133daf..3df10a41d769 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -25,7 +25,7 @@ * MKS SGen pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h index de148995cacb..696270b417ae 100644 --- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h @@ -25,7 +25,7 @@ * Smoothieboard pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h index 81f5b75016c3..75c899fe01d1 100644 --- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h @@ -25,7 +25,7 @@ * TH3D EZBoard pin assignments */ -#ifndef MCU_LPC1769 +#if NOT_TARGET(MCU_LPC1769) #error "Oops! Make sure you have the LPC1769 environment selected in your IDE." #endif diff --git a/Marlin/src/pins/mega/pins_CHEAPTRONIC.h b/Marlin/src/pins/mega/pins_CHEAPTRONIC.h index 90d4340ba8f3..98427d9e592a 100644 --- a/Marlin/src/pins/mega/pins_CHEAPTRONIC.h +++ b/Marlin/src/pins/mega/pins_CHEAPTRONIC.h @@ -25,7 +25,7 @@ * Cheaptronic v1.0 pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h index 18bcc9e407e3..3a84f4395f3a 100644 --- a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h +++ b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h @@ -27,7 +27,7 @@ * www.reprapobchod.cz */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_11.h b/Marlin/src/pins/mega/pins_CNCONTROLS_11.h index 6f792ad5fa5c..675d4b7262f8 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_11.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_11.h @@ -25,7 +25,7 @@ * CartesioV11 pin assignments */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_12.h b/Marlin/src/pins/mega/pins_CNCONTROLS_12.h index 7040c2babb18..35426a453139 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_12.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_12.h @@ -25,7 +25,7 @@ * CartesioV12 pin assignments */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_CNCONTROLS_15.h b/Marlin/src/pins/mega/pins_CNCONTROLS_15.h index 4af0d991e962..8bafbdf00058 100644 --- a/Marlin/src/pins/mega/pins_CNCONTROLS_15.h +++ b/Marlin/src/pins/mega/pins_CNCONTROLS_15.h @@ -25,7 +25,7 @@ * CNControls V15 for HMS434 pin assignments */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_EINSTART-S.h b/Marlin/src/pins/mega/pins_EINSTART-S.h index eeaf0c419741..40d65c353e8c 100644 --- a/Marlin/src/pins/mega/pins_EINSTART-S.h +++ b/Marlin/src/pins/mega/pins_EINSTART-S.h @@ -26,7 +26,7 @@ * PCB Silkscreen: 3DPrinterCon_v3.5 */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_ELEFU_3.h b/Marlin/src/pins/mega/pins_ELEFU_3.h index 685611f78d22..af93c408a25a 100644 --- a/Marlin/src/pins/mega/pins_ELEFU_3.h +++ b/Marlin/src/pins/mega/pins_ELEFU_3.h @@ -25,7 +25,7 @@ * Elefu RA Board Pin Assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_GT2560_REV_A.h b/Marlin/src/pins/mega/pins_GT2560_REV_A.h index ebfdd24bb49a..2fb112f5afca 100644 --- a/Marlin/src/pins/mega/pins_GT2560_REV_A.h +++ b/Marlin/src/pins/mega/pins_GT2560_REV_A.h @@ -27,7 +27,7 @@ * Richard Smith */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_GT2560_V3.h b/Marlin/src/pins/mega/pins_GT2560_V3.h index 9b396d8db250..d71a19541914 100644 --- a/Marlin/src/pins/mega/pins_GT2560_V3.h +++ b/Marlin/src/pins/mega/pins_GT2560_V3.h @@ -25,7 +25,7 @@ * GT2560 RevB + GT2560 V3.0 + GT2560 V3.1 + GT2560 V4.0 pin assignment */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h index 2cbac0723c83..d21cd22e53bd 100644 --- a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h +++ b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h @@ -25,7 +25,7 @@ * HJC2560-C Rev2.x pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_INTAMSYS40.h b/Marlin/src/pins/mega/pins_INTAMSYS40.h index b6ff30a4fc23..3dc9c9a6bed3 100644 --- a/Marlin/src/pins/mega/pins_INTAMSYS40.h +++ b/Marlin/src/pins/mega/pins_INTAMSYS40.h @@ -27,7 +27,7 @@ * 2208 version exists and may or may not work */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_LEAPFROG.h b/Marlin/src/pins/mega/pins_LEAPFROG.h index 99872e1fb4e7..9e6802b24bd7 100644 --- a/Marlin/src/pins/mega/pins_LEAPFROG.h +++ b/Marlin/src/pins/mega/pins_LEAPFROG.h @@ -25,7 +25,7 @@ * Leapfrog Driver board pin assignments */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Mega 1280' or 'Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_LEAPFROG_XEED2015.h b/Marlin/src/pins/mega/pins_LEAPFROG_XEED2015.h index 61f5508cdc04..9c316aa75951 100644 --- a/Marlin/src/pins/mega/pins_LEAPFROG_XEED2015.h +++ b/Marlin/src/pins/mega/pins_LEAPFROG_XEED2015.h @@ -29,7 +29,7 @@ * printer models. As such this file is currently specific to the Xeed. */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_MEGACONTROLLER.h b/Marlin/src/pins/mega/pins_MEGACONTROLLER.h index 6b90b884c239..938ad82eff03 100644 --- a/Marlin/src/pins/mega/pins_MEGACONTROLLER.h +++ b/Marlin/src/pins/mega/pins_MEGACONTROLLER.h @@ -25,7 +25,7 @@ * Mega controller pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Mega Controller supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS.h b/Marlin/src/pins/mega/pins_MEGATRONICS.h index 2d98256fe71f..1c37b21ab707 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS.h @@ -25,7 +25,7 @@ * MegaTronics pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h index 481dc35fa3a1..9005ac2acfa1 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h @@ -25,7 +25,7 @@ * MegaTronics v2.0 pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_3.h b/Marlin/src/pins/mega/pins_MEGATRONICS_3.h index 093889674873..45ebd163a79f 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS_3.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS_3.h @@ -25,7 +25,7 @@ * MegaTronics v3.0 / v3.1 / v3.2 pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h index 526c9bfc68b9..74a45eac017f 100644 --- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h @@ -37,7 +37,7 @@ * number (B5) agrees with the schematic but B5 is assigned to logical pin 11. */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Mega 1280' or 'Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_MINITRONICS.h b/Marlin/src/pins/mega/pins_MINITRONICS.h index 138d4b443111..9cb4401da90c 100644 --- a/Marlin/src/pins/mega/pins_MINITRONICS.h +++ b/Marlin/src/pins/mega/pins_MINITRONICS.h @@ -32,7 +32,7 @@ * */ -#ifndef __AVR_ATmega1281__ +#if NOT_TARGET(__AVR_ATmega1281__) #error "Oops! Select 'Minitronics' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Minitronics supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/mega/pins_OVERLORD.h b/Marlin/src/pins/mega/pins_OVERLORD.h index bbccc93561e8..9589fa585189 100644 --- a/Marlin/src/pins/mega/pins_OVERLORD.h +++ b/Marlin/src/pins/mega/pins_OVERLORD.h @@ -25,7 +25,7 @@ * Dreammaker Overlord v1.1 pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Overlord Controller supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/mega/pins_PICA.h b/Marlin/src/pins/mega/pins_PICA.h index 40ef3a610f7e..acaeefe17861 100644 --- a/Marlin/src/pins/mega/pins_PICA.h +++ b/Marlin/src/pins/mega/pins_PICA.h @@ -42,7 +42,7 @@ AD12 = 66; AD13 = 67; AD14 = 68; AD15 = 69; */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." #endif diff --git a/Marlin/src/pins/mega/pins_SILVER_GATE.h b/Marlin/src/pins/mega/pins_SILVER_GATE.h index a67725d9bce6..e339b0472ac4 100644 --- a/Marlin/src/pins/mega/pins_SILVER_GATE.h +++ b/Marlin/src/pins/mega/pins_SILVER_GATE.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__AVR_ATmega1281__) && !defined(__AVR_ATmega2561__) +#if NOT_TARGET(__AVR_ATmega1281__, __AVR_ATmega2561__) #error "Oops! Select 'Silvergate' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/mega/pins_WANHAO_ONEPLUS.h b/Marlin/src/pins/mega/pins_WANHAO_ONEPLUS.h index ba7f64768b0f..52e757c53408 100644 --- a/Marlin/src/pins/mega/pins_WANHAO_ONEPLUS.h +++ b/Marlin/src/pins/mega/pins_WANHAO_ONEPLUS.h @@ -25,7 +25,7 @@ * Wanhao 0ne+ pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 861810d95bb4..bf95c8731239 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -51,6 +51,13 @@ #define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)) +// Test the target within the included pins file +#ifdef __MARLIN_PREBUILD__ + #define NOT_TARGET(V...) 0 +#else + #define NOT_TARGET(V...) NONE(V) +#endif + // // RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560 // diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h index e2a4940e8789..21e43bb3618b 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h @@ -25,7 +25,7 @@ * Einsy-Rambo pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h index 672c37241464..39ba3ddf04c5 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h @@ -25,7 +25,7 @@ * Einsy-Retro pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/rambo/pins_MINIRAMBO.h b/Marlin/src/pins/rambo/pins_MINIRAMBO.h index 0c14d9f46b29..c41a6ac17966 100644 --- a/Marlin/src/pins/rambo/pins_MINIRAMBO.h +++ b/Marlin/src/pins/rambo/pins_MINIRAMBO.h @@ -25,7 +25,7 @@ * Mini-RAMBo pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'RAMBo' in 'Tools > Board' or the Mega2560 environment in PlatformIO." #endif diff --git a/Marlin/src/pins/rambo/pins_RAMBO.h b/Marlin/src/pins/rambo/pins_RAMBO.h index 5abf1f2d90d0..2109eb615b2e 100644 --- a/Marlin/src/pins/rambo/pins_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_RAMBO.h @@ -41,7 +41,7 @@ * Rambo pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h b/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h index bba628f30782..4af38e1de36b 100644 --- a/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h +++ b/Marlin/src/pins/rambo/pins_SCOOVO_X9H.h @@ -25,7 +25,7 @@ * Rambo pin assignments MODIFIED FOR Scoovo X9H ************************************************/ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_AZTEEG_X3.h b/Marlin/src/pins/ramps/pins_AZTEEG_X3.h index d142fb903e55..e919b30cf982 100644 --- a/Marlin/src/pins/ramps/pins_AZTEEG_X3.h +++ b/Marlin/src/pins/ramps/pins_AZTEEG_X3.h @@ -25,7 +25,7 @@ * AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h index 5eee450fc507..9ba6a0c1ac45 100644 --- a/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h +++ b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h @@ -25,7 +25,7 @@ * AZTEEG_X3_PRO (Arduino Mega) pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 5 || E_STEPPERS > 5 #error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h b/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h index 1420aaaa56d2..967fec7b47de 100644 --- a/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h +++ b/Marlin/src/pins/ramps/pins_BQ_ZUM_MEGA_3D.h @@ -25,7 +25,7 @@ * bq ZUM Mega 3D board definition */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h index de80851df00c..3fa738e32215 100644 --- a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h +++ b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h @@ -25,7 +25,7 @@ * Wanhao Duplicator i3 Plus pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h index f1e6e6727c75..0877d168d60f 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h @@ -25,7 +25,7 @@ * Formbot Raptor pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "Formbot supports up to 3 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h index 4a9b9e1d5964..362ff7ae438a 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h @@ -25,7 +25,7 @@ * Formbot pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h index a804df4ed394..0470fc47e98b 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h @@ -25,7 +25,7 @@ * Formbot pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h index ffaa72d988e7..3f7575497cb3 100644 --- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h +++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h @@ -25,7 +25,7 @@ // FYSETC F6 1.3 (and 1.4) pin assignments // -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'FYSETC F6' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h index 64e3c2566082..f526b9b2269f 100644 --- a/Marlin/src/pins/ramps/pins_K8800.h +++ b/Marlin/src/pins/ramps/pins_K8800.h @@ -25,7 +25,7 @@ * Velleman K8800 (Vertex) */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h index e32c79afa9dd..b2d394e61d2c 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS.h @@ -51,12 +51,13 @@ #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1." #endif -#if NONE(IS_RAMPS_SMART, IS_RAMPS_DUO, IS_RAMPS4DUE, TARGET_LPC1768) - #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) - #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" - #endif +#if NOT_TARGET(IS_RAMPS_SMART, IS_RAMPS_DUO, IS_RAMPS4DUE, TARGET_LPC1768, __AVR_ATmega1280__, __AVR_ATmega2560__) + #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif +// Custom flags and defines for the build +//#define BOARD_CUSTOM_BUILD_FLAGS -D__FOO__ + #ifndef BOARD_INFO_NAME #define BOARD_INFO_NAME "RAMPS 1.4" #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS_OLD.h b/Marlin/src/pins/ramps/pins_RAMPS_OLD.h index d154b2fdd039..6d2dad231491 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_OLD.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_OLD.h @@ -25,7 +25,7 @@ * Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h index bdd53abbc04d..19209f1e2363 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h @@ -38,7 +38,7 @@ * */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h index 5b4f830328f6..5be2896e18c0 100644 --- a/Marlin/src/pins/ramps/pins_RUMBA.h +++ b/Marlin/src/pins/ramps/pins_RUMBA.h @@ -25,7 +25,7 @@ * RUMBA pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h index 98a20fb3fde1..e7a59a69dffe 100644 --- a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h +++ b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h @@ -25,7 +25,7 @@ * Tenlog pin assignments */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Tenlog supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h b/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h index d02a063e8086..f342eff8aa6c 100644 --- a/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h +++ b/Marlin/src/pins/ramps/pins_TRONXY_V3_1_0.h @@ -25,7 +25,7 @@ * Arduino Mega for Tronxy X5S-2E, etc. */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "TRONXY-V3-1.0 supports only 2 hotends/E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h index ab3dc1a32b60..33b2a60d641e 100644 --- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h +++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h @@ -20,7 +20,7 @@ * */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h index cbf9523eacc0..c6251ae8175c 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAIN_2.h @@ -33,7 +33,7 @@ * case light */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h index f316fad7783b..2dfde42bac69 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h @@ -33,7 +33,7 @@ * case light */ -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h index a44baf26e4d0..c5bbd02bf5a9 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h @@ -60,7 +60,7 @@ //#define BOARD_REV_1_0 //#define BOARD_REV_1_5 -#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h index 4bf63f348f14..096d970871f2 100644 --- a/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h +++ b/Marlin/src/pins/ramps/pins_Z_BOLT_X_SERIES.h @@ -25,7 +25,7 @@ * Z-Bolt X Series board – based on Arduino Mega2560 */ -#ifndef __AVR_ATmega2560__ +#if NOT_TARGET(__AVR_ATmega2560__) #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #elif HOTENDS > 4 || E_STEPPERS > 4 #error "Z-Bolt X Series board supports up to 4 hotends / E-steppers." diff --git a/Marlin/src/pins/sam/pins_ADSK.h b/Marlin/src/pins/sam/pins_ADSK.h index 289fa462cc8e..c4d7c079407c 100644 --- a/Marlin/src/pins/sam/pins_ADSK.h +++ b/Marlin/src/pins/sam/pins_ADSK.h @@ -27,7 +27,7 @@ #define BOARD_INFO_NAME "ADSK" -#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__SAM3X8E__, __AVR_ATmega1280__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino Due or Mega' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h index 4d08ed784d68..8d6906117dd1 100644 --- a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h +++ b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h @@ -26,7 +26,7 @@ * https://reprap.org/wiki/Alligator_Board */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_ARCHIM1.h b/Marlin/src/pins/sam/pins_ARCHIM1.h index 134049781aca..8c54cad3b6b8 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM1.h +++ b/Marlin/src/pins/sam/pins_ARCHIM1.h @@ -37,7 +37,7 @@ * https://github.com/ultimachine/Archim/wiki */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Archim' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_ARCHIM2.h b/Marlin/src/pins/sam/pins_ARCHIM2.h index b527b511835f..3223ac7a0ef4 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM2.h +++ b/Marlin/src/pins/sam/pins_ARCHIM2.h @@ -37,7 +37,7 @@ * https://github.com/ultimachine/Archim/wiki */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Archim' in 'Tools > Board.'" #elif DISABLED(TMC_USE_SW_SPI) #error "Archim2 requires Software SPI. Enable TMC_USE_SW_SPI in Configuration_adv.h." diff --git a/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h b/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h index a2094bee4daf..fcd2bb4c67bf 100644 --- a/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h +++ b/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h @@ -24,7 +24,7 @@ * CNControls V15 for HMS434 with DUE pin assignments */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_DUE3DOM.h b/Marlin/src/pins/sam/pins_DUE3DOM.h index 260a2810f5e8..b7c01f843ae3 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM.h @@ -25,7 +25,7 @@ * DUE3DOM pin assignments */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h index 946cadcfa943..7f559f11903f 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h @@ -25,7 +25,7 @@ * DUE3DOM MINI pin assignments */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h index be6b0fb2ed86..2cfbecc08646 100644 --- a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h +++ b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h @@ -25,7 +25,7 @@ * PRINTRBOARD_G2 */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h index bbbfb2e55826..c82c7e9c5399 100644 --- a/Marlin/src/pins/sam/pins_RADDS.h +++ b/Marlin/src/pins/sam/pins_RADDS.h @@ -25,7 +25,7 @@ * RADDS */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RAMPS4DUE.h b/Marlin/src/pins/sam/pins_RAMPS4DUE.h index 2bd894f9ae27..54548333b5fd 100644 --- a/Marlin/src/pins/sam/pins_RAMPS4DUE.h +++ b/Marlin/src/pins/sam/pins_RAMPS4DUE.h @@ -39,7 +39,7 @@ * A15 | NC */ -#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__SAM3X8E__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino Due' or 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h index 5f8864ab1468..94f1b50776a9 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h +++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h @@ -43,7 +43,7 @@ * A15 | A11 */ -#if !defined(__SAM3X8E__) && !defined(__AVR_ATmega2560__) +#if NOT_TARGET(__SAM3X8E__, __AVR_ATmega2560__) #error "Oops! Select 'Arduino Due' or 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h index eb9889607d37..5662590e269f 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h +++ b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h @@ -28,7 +28,7 @@ * Use 4k7 thermistor tables */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RAMPS_SMART.h b/Marlin/src/pins/sam/pins_RAMPS_SMART.h index 06eee2d970eb..9b76ee290b96 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_SMART.h +++ b/Marlin/src/pins/sam/pins_RAMPS_SMART.h @@ -60,7 +60,7 @@ * (Search the web for "Arduino DUE Board Pinout" to see the correct header.) */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h index 3ecd64aa8aee..524c14d198f8 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h @@ -32,7 +32,7 @@ * | */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h index 2b52338d35ca..187473b3dd43 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h @@ -32,7 +32,7 @@ * | */ -#ifndef __SAM3X8E__ +#if NOT_TARGET(__SAM3X8E__) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h index 75b29629e90d..0b91ba61d6df 100644 --- a/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h +++ b/Marlin/src/pins/sam/pins_ULTRATRONICS_PRO.h @@ -26,7 +26,7 @@ * https://reprapworld.com/documentation/datasheet_ultratronics10_05.pdf */ -#ifndef ARDUINO_ARCH_SAM +#if NOT_TARGET(ARDUINO_ARCH_SAM) #error "Oops! Select 'Arduino Due' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h index 93e758b3ae66..388ac1a3312e 100644 --- a/Marlin/src/pins/samd/pins_RAMPS_144.h +++ b/Marlin/src/pins/samd/pins_RAMPS_144.h @@ -25,7 +25,7 @@ * AGCM4 with RAMPS v1.4.4 pin assignments */ -#ifndef ARDUINO_GRAND_CENTRAL_M4 +#if NOT_TARGET(ARDUINO_GRAND_CENTRAL_M4) #error "Oops! Select 'Adafruit Grand Central M4' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h index d1ac131c0384..3978198eef86 100644 --- a/Marlin/src/pins/sanguino/pins_ANET_10.h +++ b/Marlin/src/pins/sanguino/pins_ANET_10.h @@ -89,7 +89,7 @@ * Many thanks to Hans Raaf (@oderwat) for developing the Anet-specific software and supporting the Anet community. */ -#ifndef __AVR_ATmega1284P__ +#if NOT_TARGET(__AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Board' and 'ATmega1284P' in 'Tools > Processor.' (For PlatformIO, use 'melzi' or 'melzi_optiboot.')" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h index 901e326742ab..e927aac124db 100644 --- a/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h +++ b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h @@ -50,7 +50,7 @@ * */ -#ifndef __AVR_ATmega644P__ +#if NOT_TARGET(__AVR_ATmega644P__) #error "Oops! Select 'Sanguino' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h index a28b4c039ca9..1961446e2274 100644 --- a/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h +++ b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h @@ -50,7 +50,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN6.h b/Marlin/src/pins/sanguino/pins_GEN6.h index ad54f3cd76f3..98eb616892e6 100644 --- a/Marlin/src/pins/sanguino/pins_GEN6.h +++ b/Marlin/src/pins/sanguino/pins_GEN6.h @@ -52,7 +52,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN7_12.h b/Marlin/src/pins/sanguino/pins_GEN7_12.h index 75b75cdc6fd4..ed550624f789 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_12.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_12.h @@ -52,7 +52,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN7_14.h b/Marlin/src/pins/sanguino/pins_GEN7_14.h index af0d824151d5..752fe3074f07 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_14.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_14.h @@ -52,7 +52,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h index 27ec622fcea7..1a19c33deac4 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h @@ -55,7 +55,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_OMCA.h b/Marlin/src/pins/sanguino/pins_OMCA.h index 8e4c6d2b641d..d9f43995d481 100644 --- a/Marlin/src/pins/sanguino/pins_OMCA.h +++ b/Marlin/src/pins/sanguino/pins_OMCA.h @@ -77,7 +77,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__) #error "Oops! Select 'Sanguino' in 'Tools > Board' and 'ATmega644' or 'ATmega644P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_OMCA_A.h b/Marlin/src/pins/sanguino/pins_OMCA_A.h index 922ef69b5e64..1b4c9b68b215 100644 --- a/Marlin/src/pins/sanguino/pins_OMCA_A.h +++ b/Marlin/src/pins/sanguino/pins_OMCA_A.h @@ -76,7 +76,7 @@ * */ -#ifndef __AVR_ATmega644__ +#if NOT_TARGET(__AVR_ATmega644__) #error "Oops! Select 'Sanguino' in 'Tools > Board' and ATmega644 in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h index 83c2d56d2b36..4b4fb1d70ed7 100644 --- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h +++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h @@ -52,7 +52,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_SETHI.h b/Marlin/src/pins/sanguino/pins_SETHI.h index 19fea9ff537c..e0a0604619ce 100644 --- a/Marlin/src/pins/sanguino/pins_SETHI.h +++ b/Marlin/src/pins/sanguino/pins_SETHI.h @@ -50,7 +50,7 @@ * */ -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h index 262199e310cf..838ffe38aa9a 100644 --- a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h +++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) +#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'" #endif diff --git a/Marlin/src/pins/stm32f0/pins_MALYAN_M200_V2.h b/Marlin/src/pins/stm32f0/pins_MALYAN_M200_V2.h index 0e5bd58987eb..abdd088f9bd3 100644 --- a/Marlin/src/pins/stm32f0/pins_MALYAN_M200_V2.h +++ b/Marlin/src/pins/stm32f0/pins_MALYAN_M200_V2.h @@ -22,7 +22,7 @@ #pragma once -#ifndef STM32F0xx +#if NOT_TARGET(STM32F0xx) #error "Oops! Select an STM32F0 board in your IDE." #endif diff --git a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h index d6a83aca1a30..dfa413b63fad 100644 --- a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h +++ b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h @@ -22,7 +22,7 @@ #pragma once -#if NONE(__STM32F1__, STM32F1xx, STM32F0xx) +#if NOT_TARGET(__STM32F1__, STM32F1xx, STM32F0xx) #error "Oops! Select a 'Malyan M300' board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index cff34daf2f02..e4f8e614bbfa 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef TARGET_STM32F1 +#if NOT_TARGET(TARGET_STM32F1) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index 923b0fa4c1b2..85c5f646d98a 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef TARGET_STM32F1 +#if NOT_TARGET(TARGET_STM32F1) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index 4a12d5d32db0..09dff2ef30f5 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef TARGET_STM32F1 +#if NOT_TARGET(TARGET_STM32F1) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h index 5254166fa576..420ffc631f23 100644 --- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h +++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef TARGET_STM32F1 +#if NOT_TARGET(TARGET_STM32F1) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "CCROBOT-ONLINE MEEB_3DP only supports 1 hotend / E-stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h index bf9a7d8e0543..2521359e53dd 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__STM32F1__) && !defined(__STM32F4__) +#if NOT_TARGET(__STM32F1__, __STM32F4__) #error "Oops! Select an STM32F1/4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index 54ff9a779a30..10c615e524f9 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__STM32F1__) && !defined(__STM32F4__) +#if NOT_TARGET(__STM32F1__, __STM32F4__) #error "Oops! Select an STM32F1/4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h index a825db275c6a..f8f3225f3cd4 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__STM32F1__) && !defined(__STM32F4__) +#if NOT_TARGET(__STM32F1__, __STM32F4__) #error "Oops! Select an STM32F1/4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index f122a2b7c2ba..c1f1e315dfec 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -24,7 +24,7 @@ * CREALITY (STM32F103) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h index 9453a6d515b2..5b51ece07f08 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h @@ -24,7 +24,7 @@ * CREALITY v4.2.7 (STM32F103) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h index ca9364a570d9..b7db592e7809 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h index 1f5e70a15a28..24aa83d9482f 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h index f07320db404c..5e8bd11b4bd0 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH_V12.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h index fe6c0b1325c9..b6520d563c38 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h @@ -26,7 +26,7 @@ * Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h index 716de610a710..7dbee215a0d6 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h @@ -26,7 +26,7 @@ * Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h index fe6c0b1325c9..b6520d563c38 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h @@ -26,7 +26,7 @@ * Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h index 1fc4fa94249e..7731ffb5e734 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h @@ -26,7 +26,7 @@ * Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h index d474eb25f6a7..64948039baf9 100644 --- a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h +++ b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h @@ -28,7 +28,7 @@ * Pin assignments for 32-bit JGAurora A5S & A1 */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "JGAurora 32-bit board only supports 1 hotend / E-stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h index d08045ec16d5..799477ac1023 100644 --- a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h +++ b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h @@ -22,7 +22,7 @@ * Longer3D LK1/LK2 & Alfawise U20/U30 (STM32F103VET6) board pin assignments */ -#if !defined(__STM32F1__) && !defined(STM32F1xx) +#if NOT_TARGET(__STM32F1__, STM32F1xx) #error "Oops! Select a STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "Longer3D board only supports 1 hotend / E-stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h index 39c52ab0d30e..d3c26c497d8f 100644 --- a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h +++ b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h @@ -25,7 +25,7 @@ * MALYAN M200 pin assignments */ -#if NONE(__STM32F1__, STM32F1xx, STM32F0xx) +#if NOT_TARGET(__STM32F1__, STM32F1xx, STM32F0xx) #error "Oops! Select an STM32 board in your IDE." #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index 1ab9165830e0..e39c8f234285 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -27,7 +27,7 @@ * https://github.com/makerbase-mks/MKS-Robin/tree/master/MKS%20Robin/Hardware */ -#if !defined(STM32F1) && !defined(STM32F1xx) +#if NOT_TARGET(STM32F1, STM32F1xx) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h index 3f4dee0f6895..19f3c3efdac8 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -25,7 +25,7 @@ * MKS Robin nano (STM32F130VET6) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "MKS Robin e3p supports up to 1 hotends / E-steppers. Comment out this line to continue." @@ -184,7 +184,7 @@ #define MT_DET_1_PIN PA4 // LVGL UI FILAMENT RUNOUT1 PIN #define MT_DET_PIN_INVERTING false // LVGL UI filament RUNOUT PIN STATE - + #define WIFI_IO0_PIN PC13 // MKS ESP WIFI IO0 PIN #define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN #define WIFI_RESET_PIN PE9 // MKS ESP WIFI RESET PIN diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h index 9461a828af01..f6a3b555c399 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h @@ -25,7 +25,7 @@ * MKS Robin E3 & E3D (STM32F103RCT6) common board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h index 3cf0bce06d36..2bd417951f0a 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "MKS Robin Lite supports only 1 hotend / E-stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h index 6ce6c6010501..bcb731df71a6 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h @@ -25,7 +25,7 @@ * MKS Robin Lite 3 (STM32F103RCT6) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin Lite3 supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h index 19b04c9e7c6f..a7e6a6e22773 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h @@ -25,7 +25,7 @@ * MKS Robin mini (STM32F130VET6) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "MKS Robin mini only supports 1 hotend / E-stepper. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 88333e9b9f7a..e705b7b5704d 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -25,7 +25,7 @@ * MKS Robin nano (STM32F130VET6) board pin assignments */ -#if !defined(STM32F1) && !defined(STM32F1xx) +#if NOT_TARGET(STM32F1, STM32F1xx) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin nano supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index d911ab2b517b..ccb07b35f88c 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -25,7 +25,7 @@ * MKS Robin nano (STM32F130VET6) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin nano supports up to 2 hotends / E-steppers. Comment out this line to continue." @@ -204,7 +204,7 @@ #define MT_DET_1_PIN PA4 // LVGL UI FILAMENT RUNOUT1 PIN #define MT_DET_2_PIN PE6 // LVGL UI FILAMENT RUNOUT2 PIN #define MT_DET_PIN_INVERTING false // LVGL UI filament RUNOUT PIN STATE - + #define WIFI_IO0_PIN PC13 // MKS ESP WIFI IO0 PIN #define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN #define WIFI_RESET_PIN PE9 // MKS ESP WIFI RESET PIN diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 9b3817df8c7b..2e74b6b15f2b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -25,7 +25,7 @@ * MKS Robin pro (STM32F103ZET6) board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "MKS Robin pro supports up to 3 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f1/pins_MORPHEUS.h b/Marlin/src/pins/stm32f1/pins_MORPHEUS.h index 1cd3780ec59d..28262eaa828c 100644 --- a/Marlin/src/pins/stm32f1/pins_MORPHEUS.h +++ b/Marlin/src/pins/stm32f1/pins_MORPHEUS.h @@ -30,7 +30,7 @@ * MORPHEUS Board pin assignments */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h index 63fb383c9b52..79f53f02c2f8 100644 --- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h +++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h index c18642fb1df1..468ee5394aae 100644 --- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__STM32F1__) && !defined(__STM32F4__) +#if NOT_TARGET(__STM32F1__, __STM32F4__) #error "Oops! Select an STM32F1/4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h index 598db026fd94..4745641ea934 100644 --- a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h @@ -28,7 +28,7 @@ * https://github.com/MarlinFirmware/Marlin/files/3401484/x5sa-main_board-2.pdf */ -#ifndef __STM32F1__ +#if NOT_TARGET(__STM32F1__) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Trigorilla Pro supports up to 2 hotends / E-steppers. Comment out this line to continue." diff --git a/Marlin/src/pins/stm32f4/pins_ARMED.h b/Marlin/src/pins/stm32f4/pins_ARMED.h index 696241693629..db57db14d549 100644 --- a/Marlin/src/pins/stm32f4/pins_ARMED.h +++ b/Marlin/src/pins/stm32f4/pins_ARMED.h @@ -24,7 +24,7 @@ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Arm'ed supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_BEAST.h b/Marlin/src/pins/stm32f4/pins_BEAST.h index 691b468c343a..d23442ccedbf 100644 --- a/Marlin/src/pins/stm32f4/pins_BEAST.h +++ b/Marlin/src/pins/stm32f4/pins_BEAST.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(__STM32F1__) && !defined(__STM32F4__) +#if NOT_TARGET(__STM32F1__, __STM32F4__) #error "Oops! Select an STM32F1/4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h index dc0dab1cd15d..b13d495542f8 100644 --- a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h +++ b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h @@ -27,7 +27,7 @@ * Shield - https://github.com/jmz52/Hardware */ -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "Black STM32F4VET6 supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h index 009b1b65f1e8..7843572e13a2 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "BIGTREE BTT002 V1.0 supports up to 1 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h index 8cc1ca5e98b2..ddca719e5322 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 8 || E_STEPPERS > 8 #error "BIGTREE GTR V1.0 supports up to 8 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index b45914284adf..e9abd66795c0 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h index a3a5ccdff8dc..808751d7a53d 100644 --- a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h +++ b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 6 || E_STEPPERS > 6 #error "FLYF407ZG supports up to 6 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h index 9ffedc2ac477..a6d7f8a495ad 100644 --- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "RUMBA32 supports up to 3 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h index 44b2e6b27cbc..ae469365a996 100644 --- a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h +++ b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h @@ -25,7 +25,7 @@ * To build with Arduino IDE use "Discovery F407VG" * To build with PlatformIO use environment "STM32F4" */ -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "STM32F4 supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h index 0f0d3d048c71..48973688a058 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h @@ -18,7 +18,7 @@ */ #pragma once -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "LERDGE K supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_S.h b/Marlin/src/pins/stm32f4/pins_LERDGE_S.h index 2e55782edb41..0600ed43389f 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_S.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_S.h @@ -18,7 +18,7 @@ */ #pragma once -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "LERDGE S supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_X.h b/Marlin/src/pins/stm32f4/pins_LERDGE_X.h index da2851c1316d..bed51ca660cf 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_X.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_X.h @@ -18,7 +18,7 @@ */ #pragma once -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 #error "LERDGE X supports only one hotend / E-steppers" diff --git a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN2.h b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN2.h index bb04cb82ecf3..c2f5f324ba28 100644 --- a/Marlin/src/pins/stm32f4/pins_MKS_ROBIN2.h +++ b/Marlin/src/pins/stm32f4/pins_MKS_ROBIN2.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS_ROBIN2 supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h index 90f9e500133a..338fda1e53a1 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h @@ -26,7 +26,7 @@ * */ -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "RUMBA32 boards support up to 3 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f4/pins_STEVAL_3DP001V1.h b/Marlin/src/pins/stm32f4/pins_STEVAL_3DP001V1.h index a0bd38b6acdc..0278dd8434b6 100644 --- a/Marlin/src/pins/stm32f4/pins_STEVAL_3DP001V1.h +++ b/Marlin/src/pins/stm32f4/pins_STEVAL_3DP001V1.h @@ -40,7 +40,7 @@ #pragma once -#ifndef STM32F4 +#if NOT_TARGET(STM32F4) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f4/pins_VAKE403D.h b/Marlin/src/pins/stm32f4/pins_VAKE403D.h index 1ffe25b49927..6c826b068d24 100644 --- a/Marlin/src/pins/stm32f4/pins_VAKE403D.h +++ b/Marlin/src/pins/stm32f4/pins_VAKE403D.h @@ -21,7 +21,7 @@ */ #pragma once -#if !defined(STM32F4) && !defined(STM32F4xx) +#if NOT_TARGET(STM32F4, STM32F4xx) #error "Oops! Select an STM32F4 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "STM32F4 supports up to 2 hotends / E-steppers." diff --git a/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h b/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h index 6706d26f645d..c3dc004728d8 100644 --- a/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h +++ b/Marlin/src/pins/stm32f7/pins_REMRAM_V1.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F7xx +#if NOT_TARGET(STM32F7xx) #error "Oops! Select an STM32F7 board in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/stm32f7/pins_THE_BORG.h b/Marlin/src/pins/stm32f7/pins_THE_BORG.h index 756f495e4b2e..c050824a83da 100644 --- a/Marlin/src/pins/stm32f7/pins_THE_BORG.h +++ b/Marlin/src/pins/stm32f7/pins_THE_BORG.h @@ -21,7 +21,7 @@ */ #pragma once -#ifndef STM32F7 +#if NOT_TARGET(STM32F7) #error "Oops! Select an STM32F7 board in 'Tools > Board.'" #elif HOTENDS > 3 || E_STEPPERS > 3 #error "The-Borg supports up to 3 hotends / E-steppers." diff --git a/Marlin/src/pins/teensy2/pins_5DPRINT.h b/Marlin/src/pins/teensy2/pins_5DPRINT.h index 7ba1fbcf8db8..908e12e0bae2 100644 --- a/Marlin/src/pins/teensy2/pins_5DPRINT.h +++ b/Marlin/src/pins/teensy2/pins_5DPRINT.h @@ -68,7 +68,7 @@ * https://bitbucket.org/makible/5dprint-d8-controller-board */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_BRAINWAVE.h b/Marlin/src/pins/teensy2/pins_BRAINWAVE.h index ce1b4e3bbf74..97d210a0f852 100644 --- a/Marlin/src/pins/teensy2/pins_BRAINWAVE.h +++ b/Marlin/src/pins/teensy2/pins_BRAINWAVE.h @@ -68,7 +68,7 @@ * 4. The programmer is no longer needed. Remove it. */ -#ifndef __AVR_AT90USB646__ +#if NOT_TARGET(__AVR_AT90USB646__) #error "Oops! Select 'AT90USB646_TEENSYPP' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_BRAINWAVE_PRO.h b/Marlin/src/pins/teensy2/pins_BRAINWAVE_PRO.h index eeca39c14c9f..e41fcaab9442 100644 --- a/Marlin/src/pins/teensy2/pins_BRAINWAVE_PRO.h +++ b/Marlin/src/pins/teensy2/pins_BRAINWAVE_PRO.h @@ -75,7 +75,7 @@ * 4. The programmer is no longer needed. Remove it. */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h index 7d96bd12ff9c..ffecc03b4a25 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h @@ -62,7 +62,7 @@ * 4. The programmer is no longer needed. Remove it. */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h index 83b17b65606c..3fb8c7f2593b 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h @@ -63,7 +63,7 @@ * 4. The programmer is no longer needed. Remove it. */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_SAV_MKI.h b/Marlin/src/pins/teensy2/pins_SAV_MKI.h index cdd9b634bdb7..4d083ecd12e2 100644 --- a/Marlin/src/pins/teensy2/pins_SAV_MKI.h +++ b/Marlin/src/pins/teensy2/pins_SAV_MKI.h @@ -62,7 +62,7 @@ * 4. The programmer is no longer needed. Remove it. */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_TEENSY2.h b/Marlin/src/pins/teensy2/pins_TEENSY2.h index 9ef31e84ba07..4efd83d9bc5c 100644 --- a/Marlin/src/pins/teensy2/pins_TEENSY2.h +++ b/Marlin/src/pins/teensy2/pins_TEENSY2.h @@ -107,7 +107,7 @@ * E DIR 35 a7 a3 31 Y DIR */ -#ifndef __AVR_AT90USB1286__ +#if NOT_TARGET(__AVR_AT90USB1286__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy2/pins_TEENSYLU.h b/Marlin/src/pins/teensy2/pins_TEENSYLU.h index c69a1c06a785..09bbeebdd8c3 100644 --- a/Marlin/src/pins/teensy2/pins_TEENSYLU.h +++ b/Marlin/src/pins/teensy2/pins_TEENSYLU.h @@ -73,7 +73,7 @@ * The pin assignments in this file match the silkscreen. */ -#if !defined(__AVR_AT90USB1286__) && !defined(__AVR_AT90USB1286P__) +#if NOT_TARGET(__AVR_AT90USB1286__, __AVR_AT90USB1286P__) #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h index 863137e9c877..18d158295afe 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html */ -#if !IS_32BIT_TEENSY +#if NOT_TARGET(IS_32BIT_TEENSY) #error "Oops! Select 'Teensy 3.1' or 'Teensy 3.2' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h index 02d8374f23ed..6de50f0991a6 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if !IS_32BIT_TEENSY +#if NOT_TARGET(IS_32BIT_TEENSY) #error "Oops! Select 'Teensy 3.5' or 'Teensy 3.6' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy4/pins_T41U5XBB.h b/Marlin/src/pins/teensy4/pins_T41U5XBB.h index 1541bfbd62e8..b985d0bd9cf8 100644 --- a/Marlin/src/pins/teensy4/pins_T41U5XBB.h +++ b/Marlin/src/pins/teensy4/pins_T41U5XBB.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if !IS_32BIT_TEENSY || !IS_TEENSY41 +#if NOT_TARGET(IS_32BIT_TEENSY) || NOT_TARGET(IS_TEENSY41) #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" #else #define BOARD_INFO_NAME "Teensy4.1" @@ -42,7 +42,7 @@ GND |-----#####-----| VIN (3.65 TO 5.5V) RX1 CS1 RX1 PWM 0 | ##### | GND TX1 MISO1 TX1 PWM 1 | | 3.3V - STPX PWM 2 | | 23 A9 PWM + STPX PWM 2 | | 23 A9 PWM DIRX PWM 3 | | 22 A8 PWM LIMZ STPY PWM 4 | | 21 A7 RX5 LIMY DIRY PWM 5 | | 20 A6 TX5 LIMX @@ -58,13 +58,13 @@ SDA PWM 25 | | 40 A16 STENY STPB MOSI1 26 | | 39 A15 MISO1 STENZ DIRB SCK1 27 | * * * * * | 38 A14 STENA - LIMB RX7 PWM 28 | | 37 PWM STENB + LIMB RX7 PWM 28 | | 37 PWM STENB DOOR TX7 PWM 29 | | 36 PWM ST0 ST1 30 | | 35 TX8 ST3 AUX0 31 | SDCARD | 34 RX8 ST2 AUX1 32 |_______________| 33 PWM AUX2 - + */ // diff --git a/Marlin/src/pins/teensy4/pins_TEENSY41.h b/Marlin/src/pins/teensy4/pins_TEENSY41.h index 08a3f5e0d139..c06fdc83e801 100644 --- a/Marlin/src/pins/teensy4/pins_TEENSY41.h +++ b/Marlin/src/pins/teensy4/pins_TEENSY41.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if !IS_32BIT_TEENSY || !IS_TEENSY41 +#if NOT_TARGET(IS_32BIT_TEENSY) || NOT_TARGET(IS_TEENSY41) #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" #else #define BOARD_INFO_NAME "Teensy4.1" @@ -44,27 +44,27 @@ X_DIR_PIN MISO1 TX1 PWM 1 | | 3.3V Y_STEP_PIN PWM 2 | | 23 A9 PWM SERVO1_PIN Y_DIR_PIN PWM 3 | | 22 A8 PWM SERVO0_PIN - Z_STEP_PIN PWM 4 | | 21 A7 RX5 + Z_STEP_PIN PWM 4 | | 21 A7 RX5 Z_DIR_PIN PWM 5 | | 20 A6 TX5 FILWIDTH_PIN - X_ENABLE_PIN PWM 6 | | 19 A5 PWM SCL0 + X_ENABLE_PIN PWM 6 | | 19 A5 PWM SCL0 Y_ENABLE_PIN RX2 PWM 7 | | 18 A4 PWM SDA0 HEATER_1_PIN - Z_ENABLE_PIN TX2 PWM 8 | | 17 A3 RX4 SDA1 + Z_ENABLE_PIN TX2 PWM 8 | | 17 A3 RX4 SDA1 E0_STEP_PIN PWM 9 | | 16 A2 TX4 SCL1 TEMP_0_PIN E0_DIR_PIN PWM 10 | | 15 A1 PWM RX3 TEMP_BED_PIN MOSI_PIN MOSI0 PWM 11 | | 14 A0 PWM TX3 TEMP_1_PIN MISO_PIN MISO0 PWM 12 | | 13 LED PWM SCK0 SCK_PIN 3.3V | | GND - Z_STOP_PIN PWM 24 | | 41 A17 - E0_ENABLE_PIN PWM 25 | | 40 A16 + Z_STOP_PIN PWM 24 | | 41 A17 + E0_ENABLE_PIN PWM 25 | | 40 A16 FAN_PIN MOSI1 26 | | 39 A15 MISO1 X_STOP_PIN Z-PROBE PWR SCK1 27 | * * * * * | 38 A14 Y_STOP_PIN - SOL1_PIN RX7 PWM 28 | | 37 PWM HEATER_0_PIN + SOL1_PIN RX7 PWM 28 | | 37 PWM HEATER_0_PIN FAN_PIN TX7 PWM 29 | | 36 PWM HEATER_BED_PIN X_CS_PIN 30 | | 35 TX8 E1_ENABLE_PIN y_CS_PIN 31 | SDCARD | 34 RX8 E1_DIR_PIN Z_CS_PIN 32 |_______________| 33 PWM E1_STEP_PIN - + */ // diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies-post.py b/buildroot/share/PlatformIO/scripts/common-dependencies-post.py new file mode 100644 index 000000000000..2b1b948119f0 --- /dev/null +++ b/buildroot/share/PlatformIO/scripts/common-dependencies-post.py @@ -0,0 +1,16 @@ +# +# common-dependencies-post.py +# Convenience script to add build flags for Marlin Enabled Features +# + +Import("env") +Import("projenv") + +def apply_board_build_flags(): + if not 'BOARD_CUSTOM_BUILD_FLAGS' in env['MARLIN_FEATURES']: + return + projenv.Append(CCFLAGS=env['MARLIN_FEATURES']['BOARD_CUSTOM_BUILD_FLAGS'].split()) + +# We need to add the board build flags in a post script +# so the platform build script doesn't overwrite the custom CCFLAGS +apply_board_build_flags() diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index e88e74e81d04..344dce9f13ab 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -149,3 +149,6 @@ #define HAS_MENU_UBL #endif #endif + +// Include pins for the current board. Platform tests will be skipped. No HAL-defined pins. +#include "../../../../Marlin/src/pins/pins.h" diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.py b/buildroot/share/PlatformIO/scripts/common-dependencies.py index def3bf40c225..6005855156a8 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.py +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.py @@ -238,7 +238,7 @@ def load_marlin_features(): else: cmd += ['-D' + s] - cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] + cmd += ['-D__MARLIN_PREBUILD__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] cmd = ' '.join(cmd) blab(cmd) define_list = subprocess.check_output(cmd, shell=True).splitlines() diff --git a/platformio.ini b/platformio.ini index c68daf2c7172..f8ec029de3eb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -184,6 +184,7 @@ default_src_filter = + - - + extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py + post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants lib_deps = From 023cb54fae55b6d05a028257036c52cd2e3b89b1 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Wed, 23 Sep 2020 13:07:34 -0700 Subject: [PATCH 123/277] MKS Robin Mini uses ONBOARD_SPI_DEVICE (#19460) --- Marlin/src/HAL/STM32F1/onboard_sd.cpp | 16 ++++++++-------- Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 2 +- .../pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h | 2 +- Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h | 2 +- Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h | 2 +- Marlin/src/pins/stm32f1/pins_CREALITY_V4.h | 2 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h | 1 + 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/onboard_sd.cpp b/Marlin/src/HAL/STM32F1/onboard_sd.cpp index 099e2a06869f..0440db9438a4 100644 --- a/Marlin/src/HAL/STM32F1/onboard_sd.cpp +++ b/Marlin/src/HAL/STM32F1/onboard_sd.cpp @@ -21,23 +21,23 @@ #include "fastio.h" #if HAS_SHARED_MEDIA - #ifndef ON_BOARD_SPI_DEVICE - #define ON_BOARD_SPI_DEVICE SPI_DEVICE + #ifndef ONBOARD_SPI_DEVICE + #define ONBOARD_SPI_DEVICE SPI_DEVICE #endif #define ONBOARD_SD_SPI SPI #else - SPIClass OnBoardSPI(ON_BOARD_SPI_DEVICE); - #define ONBOARD_SD_SPI OnBoardSPI + SPIClass OnboardSPI(ONBOARD_SPI_DEVICE); + #define ONBOARD_SD_SPI OnboardSPI #endif -#if ON_BOARD_SPI_DEVICE == 1 +#if ONBOARD_SPI_DEVICE == 1 #define SPI_CLOCK_MAX SPI_BAUD_PCLK_DIV_4 #else #define SPI_CLOCK_MAX SPI_BAUD_PCLK_DIV_2 #endif -#define CS_LOW() WRITE(ONBOARD_SD_CS_PIN, LOW) /* Set OnBoardSPI cs low */ -#define CS_HIGH() WRITE(ONBOARD_SD_CS_PIN, HIGH) /* Set OnBoardSPI cs high */ +#define CS_LOW() WRITE(ONBOARD_SD_CS_PIN, LOW) /* Set OnboardSPI cs low */ +#define CS_HIGH() WRITE(ONBOARD_SD_CS_PIN, HIGH) /* Set OnboardSPI cs high */ #define FCLK_FAST() ONBOARD_SD_SPI.setClockDivider(SPI_CLOCK_MAX) #define FCLK_SLOW() ONBOARD_SD_SPI.setClockDivider(SPI_BAUD_PCLK_DIV_256) @@ -152,7 +152,7 @@ static int select() { /* 1:OK, 0:Timeout */ /*-----------------------------------------------------------------------*/ static void power_on() { /* Enable SSP module and attach it to I/O pads */ - ONBOARD_SD_SPI.setModule(ON_BOARD_SPI_DEVICE); + ONBOARD_SD_SPI.setModule(ONBOARD_SPI_DEVICE); ONBOARD_SD_SPI.begin(); ONBOARD_SD_SPI.setBitOrder(MSBFIRST); ONBOARD_SD_SPI.setDataMode(SPI_MODE0); diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index e4f8e614bbfa..f018a40c3ef3 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -288,5 +288,5 @@ #error "SD CUSTOM_CABLE is not compatible with SKR E3 DIP." #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ONBOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index 85c5f646d98a..4f03d3bbd717 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -236,5 +236,5 @@ #error "SD CUSTOM_CABLE is not compatible with SKR Mini E3." #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ONBOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index 09dff2ef30f5..aaecc054421a 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -213,5 +213,5 @@ #define MOSI_PIN PA7 #define SS_PIN PA4 #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ONBOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h index 420ffc631f23..e67a6d3b1bc5 100644 --- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h +++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h @@ -173,7 +173,7 @@ #define SS_PIN PA4 #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ONBOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for SD-NAND #endif diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index c1f1e315dfec..eb910dd8466e 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -150,7 +150,7 @@ // #define SD_DETECT_PIN PC7 #define SDCARD_CONNECTION ONBOARD -#define ON_BOARD_SPI_DEVICE 1 +#define ONBOARD_SPI_DEVICE 1 #define ONBOARD_SD_CS_PIN PA4 // SDSS #define SDIO_SUPPORT #define NO_SD_HOST_DRIVE // This board's SD is only seen by the printer diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h index a7e6a6e22773..b159ae3f4c78 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h @@ -126,6 +126,7 @@ #define SDIO_SUPPORT #define SDIO_CLOCK 4500000 // 4.5 MHz #define SD_DETECT_PIN PD12 +#define ONBOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PC11 // From 93421f3a00eb85bb25a7a3ce32b5c1a367ff83d5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 23 Sep 2020 15:33:54 -0500 Subject: [PATCH 124/277] Teensy pins cleanup --- Marlin/src/pins/teensy3/pins_TEENSY31_32.h | 11 +-- Marlin/src/pins/teensy3/pins_TEENSY35_36.h | 100 ++++++++++----------- Marlin/src/pins/teensy4/pins_T41U5XBB.h | 83 +++++++++-------- Marlin/src/pins/teensy4/pins_TEENSY41.h | 84 ++++++++--------- 4 files changed, 134 insertions(+), 144 deletions(-) diff --git a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h index 18d158295afe..b98c78fde1d3 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h @@ -35,9 +35,6 @@ #define BOARD_INFO_NAME "Teensy3.2" #endif -#define AT90USB 1286 // Disable MarlinSerial etc. -#define USBCON //1286 // Disable MarlinSerial etc. - // // Limit Switches // @@ -92,20 +89,14 @@ // // Misc. Functions // - -//#define SDSS 16 // 8 #define LED_PIN 13 - //#define SOL1_PIN 28 +//#define SDSS 16 // 8 // // LCD / Controller // -//#define SCK_PIN 13 -//#define MISO_PIN 12 -//#define MOSI_PIN 11 - /* #if HAS_SPI_LCD #define LCD_PINS_RS 40 diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h index 6de50f0991a6..961dc0cff03f 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h @@ -37,48 +37,44 @@ #define BOARD_INFO_NAME "Teensy3.6" #endif -#define AT90USB 1286 // Disable MarlinSerial etc. -#define USBCON //1286 // Disable MarlinSerial etc. -/* - - teemuatlut plan for Teensy3.5 and Teensy3.6: - USB - GND |-----#####-----| VIN 5V - X_STEP_PIN MOSI1 RX1 0 | ##### | Analog GND - X_DIR_PIN MISO1 TX1 1 | | 3.3V - Y_STEP_PIN PWM 2 | *NC AREF* | 23 A9 PWM - Y_DIR_PIN SCL2 CAN0TX PWM 3 | *A26 A10* | 22 A8 PWM - Z_STEP_PIN SDA2 CAN0RX PWM 4 | *A25 A11* | 21 A7 PWM CS0 MOSI1 RX1 - Z_DIR_PIN MISO1 TX1 PWM 5 | *GND * * 57 | 20 A6 PWM CS0 SCK1 FILWIDTH_PIN - X_ENABLE_PIN PWM 6 | *GND * * 56 | 19 A5 SCL0 E0_STEP_PIN - Y_ENABLE_PIN SCL0 MOSI0 RX3 PWM 7 | * * 55 | 18 A4 SDA0 E0_DIR_PIN - Z_ENABLE_PIN SDA0 MISO0 TX3 PWM 8 | * * 54 | 17 A3 SDA0 E0_ENABLE_PIN - CS0 RX2 PWM 9 | | 16 A2 SCL0 TEMP_0_PIN - CS0 TX2 PWM 10 | | 15 A1 CS0 TEMP_BED_PIN - X_STOP_PIN MOSI0 11 | | 14 A0 PWM CS0 TEMP_1_PIN - Y_STOP_PIN MISO0 12 | | 13 LED SCK0 LED_PIN - 3.3V | | GND - Z_STOP_PIN 24 | 40 * * 53 | A22 DAC1 -AUX2 25 | 41 * * 52 | A21 DAC0 -AUX2 FAN_PIN SCL2 TX1 26 | 42 * * 51 | 39 A20 MISO0 SDSS -AUX2 Z-PROBE PWR SCK0 RX1 27 | * * * * * | 38 A19 PWM SDA1 -AUX2 SOL1_PIN MOSI0 28 | 43 * * 50 | 37 A18 PWM SCL1 -D10 CONTROLLER_FAN_PIN CAN0TX PWM 29 | 44 * * 49 | 36 A17 PWM -D9 HEATER_0_PIN CAN0RX PWM 30 | 45 * * 48 | 35 A16 PWM E1_ENABLE_PIN -D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM SDA0 RX5 E1_DIR_PIN - SCK1 TX4 A13 32 |__GND_*_*_3.3V_| 33 A14 PWM SCL0 TX5 E1_STEP_PIN - - Interior pins: - LCD_PINS_RS 40 * * 53 SCK2 - LCD_PINS_ENABLE 41 * * 52 MOSI2 - LCD_PINS_D4 42 * * 51 MISO2 - LCD_PINS_D5 CS2 43 * * 50 A24 - LCD_PINS_D6 MOSI2 44 * * 49 A23 - LCD_PINS_D7 MISO2 45 * * 48 TX6 SDA0 BTN_ENC - BTN_EN1 SCK2 46 * * 47 RX6 SCL0 BTN_EN2 - GND * * 3.3V - -*/ +/** + * Plan for Teensy 3.5 and Teensy 3.6: + * USB + * GND |-----#####-----| VIN 5V + * X_STEP_PIN MOSI1 RX1 0 | ##### | Analog GND + * X_DIR_PIN MISO1 TX1 1 | | 3.3V + * Y_STEP_PIN PWM 2 | *NC AREF* | 23 A9 PWM + * Y_DIR_PIN SCL2 CAN0TX PWM 3 | *A26 A10* | 22 A8 PWM + * Z_STEP_PIN SDA2 CAN0RX PWM 4 | *A25 A11* | 21 A7 PWM CS0 MOSI1 RX1 + * Z_DIR_PIN MISO1 TX1 PWM 5 | *GND * * 57 | 20 A6 PWM CS0 SCK1 FILWIDTH_PIN + * X_ENABLE_PIN PWM 6 | *GND * * 56 | 19 A5 SCL0 E0_STEP_PIN + * Y_ENABLE_PIN SCL0 MOSI0 RX3 PWM 7 | * * 55 | 18 A4 SDA0 E0_DIR_PIN + * Z_ENABLE_PIN SDA0 MISO0 TX3 PWM 8 | * * 54 | 17 A3 SDA0 E0_ENABLE_PIN + * CS0 RX2 PWM 9 | | 16 A2 SCL0 TEMP_0_PIN + * CS0 TX2 PWM 10 | | 15 A1 CS0 TEMP_BED_PIN + * X_STOP_PIN MOSI0 11 | | 14 A0 PWM CS0 TEMP_1_PIN + * Y_STOP_PIN MISO0 12 | | 13 LED SCK0 LED_PIN + * 3.3V | | GND + * Z_STOP_PIN 24 | 40 * * 53 | A22 DAC1 + * AUX2 25 | 41 * * 52 | A21 DAC0 + * AUX2 FAN_PIN SCL2 TX1 26 | 42 * * 51 | 39 A20 MISO0 SDSS + * AUX2 Z-PROBE PWR SCK0 RX1 27 | * * * * * | 38 A19 PWM SDA1 + * AUX2 SOL1_PIN MOSI0 28 | 43 * * 50 | 37 A18 PWM SCL1 + * D10 CONTROLLER_FAN_PIN CAN0TX PWM 29 | 44 * * 49 | 36 A17 PWM + * D9 HEATER_0_PIN CAN0RX PWM 30 | 45 * * 48 | 35 A16 PWM E1_ENABLE_PIN + * D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM SDA0 RX5 E1_DIR_PIN + * SCK1 TX4 A13 32 |__GND_*_*_3.3V_| 33 A14 PWM SCL0 TX5 E1_STEP_PIN + * + * Interior pins: + * LCD_PINS_RS 40 * * 53 SCK2 + * LCD_PINS_ENABLE 41 * * 52 MOSI2 + * LCD_PINS_D4 42 * * 51 MISO2 + * LCD_PINS_D5 CS2 43 * * 50 A24 + * LCD_PINS_D6 MOSI2 44 * * 49 A23 + * LCD_PINS_D7 MISO2 45 * * 48 TX6 SDA0 BTN_ENC + * BTN_EN1 SCK2 46 * * 47 RX6 SCL0 BTN_EN2 + * GND * * 3.3V + */ // // Limit Switches @@ -121,24 +117,18 @@ D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM #define TEMP_1_PIN 0 #define TEMP_BED_PIN 1 // Bed / Analog pin numbering -#define SDSS 39 // 8 +// +// Misc. Functions +// #define LED_PIN 13 #define PS_ON_PIN 1 -#define ALARM_PIN -1 - #define FILWIDTH_PIN 6 #define SOL1_PIN 28 -#if 0 -// Pretty sure this is obsolete! -// Please use Marlin 1.1.x pins files as reference for new pins files. -#ifndef SDSUPPORT - // these are defined in the SD library if building with SD support - #define SCK_PIN 13 - #define MISO_PIN 12 - #define MOSI_PIN 11 -#endif -#endif +// +// SD Card +// +#define SDSS 39 // 8 #if HAS_SPI_LCD #define LCD_PINS_RS 40 diff --git a/Marlin/src/pins/teensy4/pins_T41U5XBB.h b/Marlin/src/pins/teensy4/pins_T41U5XBB.h index b985d0bd9cf8..cb4c0ea879bf 100644 --- a/Marlin/src/pins/teensy4/pins_T41U5XBB.h +++ b/Marlin/src/pins/teensy4/pins_T41U5XBB.h @@ -33,39 +33,44 @@ #define BOARD_INFO_NAME "Teensy4.1" #endif -#define AT90USB 1286 // Disable MarlinSerial etc. -#define USBCON //1286 // Disable MarlinSerial etc. -/* - - plan for Teensy4.0 and Teensy4.1: - USB - GND |-----#####-----| VIN (3.65 TO 5.5V) - RX1 CS1 RX1 PWM 0 | ##### | GND - TX1 MISO1 TX1 PWM 1 | | 3.3V - STPX PWM 2 | | 23 A9 PWM - DIRX PWM 3 | | 22 A8 PWM LIMZ - STPY PWM 4 | | 21 A7 RX5 LIMY - DIRY PWM 5 | | 20 A6 TX5 LIMX - STPZ PWM 6 | | 19 A5 PWM SCL0 COOL - DIRZ RX2 PWM 7 | | 18 A4 PWM SDA0 MIST - STPA TX2 PWM 8 | | 17 A3 RX4 SDA1 CYST - DIRA PWM 9 | | 16 A2 TX4 SCL1 EHOLD - STEN PWM 10 | | 15 A1 PWM RX3 PRB - SPDI MOSI0 PWM 11 | | 14 A0 PWM TX3 PANIC - SPEN MISO0 PWM 12 | | 13 LED PWM SCK0 SPWM - 3.3V | | GND - SCL PWM 24 | | 41 A17 KPSTR - SDA PWM 25 | | 40 A16 STENY - STPB MOSI1 26 | | 39 A15 MISO1 STENZ - DIRB SCK1 27 | * * * * * | 38 A14 STENA - LIMB RX7 PWM 28 | | 37 PWM STENB - DOOR TX7 PWM 29 | | 36 PWM ST0 - ST1 30 | | 35 TX8 ST3 - AUX0 31 | SDCARD | 34 RX8 ST2 - AUX1 32 |_______________| 33 PWM AUX2 +/** + * Plan for Teensy 4.0 and Teensy 4.1: + * USB + * GND |-----#####-----| VIN (3.65 TO 5.5V) + * RX1 CS1 RX1 PWM 0 | ##### | GND + * TX1 MISO1 TX1 PWM 1 | | 3.3V + * STPX PWM 2 | | 23 A9 PWM + * DIRX PWM 3 | | 22 A8 PWM LIMZ + * STPY PWM 4 | | 21 A7 RX5 LIMY + * DIRY PWM 5 | | 20 A6 TX5 LIMX + * STPZ PWM 6 | | 19 A5 PWM SCL0 COOL + * DIRZ RX2 PWM 7 | | 18 A4 PWM SDA0 MIST + * STPA TX2 PWM 8 | | 17 A3 RX4 SDA1 CYST + * DIRA PWM 9 | | 16 A2 TX4 SCL1 EHOLD + * STEN PWM 10 | | 15 A1 PWM RX3 PRB + * SPDI MOSI0 PWM 11 | | 14 A0 PWM TX3 PANIC + * SPEN MISO0 PWM 12 | | 13 LED PWM SCK0 SPWM + * 3.3V | | GND + * SCL PWM 24 | | 41 A17 KPSTR + * SDA PWM 25 | | 40 A16 STENY + * STPB MOSI1 26 | | 39 A15 MISO1 STENZ + * DIRB SCK1 27 | * * * * * | 38 A14 STENA + * LIMB RX7 PWM 28 | | 37 PWM STENB + * DOOR TX7 PWM 29 | | 36 PWM ST0 + * ST1 30 | | 35 TX8 ST3 + * AUX0 31 | SDCARD | 34 RX8 ST2 + * AUX1 32 |_______________| 33 PWM AUX2 + */ +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif -*/ +// +// Servos +// +#define SERVO0_PIN 24 +#define SERVO1_PIN 25 // // Limit Switches @@ -100,20 +105,22 @@ #define E1_DIR_PIN 27 #define E1_ENABLE_PIN 37 +// +// Heaters / Fans +// #define HEATER_0_PIN 31 #define HEATER_1_PIN 32 #define HEATER_BED_PIN 33 +// +// Temperature Sensors +// #define TEMP_0_PIN 5 // Extruder / Analog pin numbering: 2 => A2 #define TEMP_1_PIN 4 #define TEMP_BED_PIN 15 // Bed / Analog pin numbering +// +// Misc. Functions +// #define LED_PIN 13 - #define SOL0_PIN 17 -#define SERVO0_PIN 24 -#define SERVO1_PIN 25 - -#ifndef SDCARD_CONNECTION - #define SDCARD_CONNECTION ONBOARD -#endif diff --git a/Marlin/src/pins/teensy4/pins_TEENSY41.h b/Marlin/src/pins/teensy4/pins_TEENSY41.h index c06fdc83e801..cc7341bc2326 100644 --- a/Marlin/src/pins/teensy4/pins_TEENSY41.h +++ b/Marlin/src/pins/teensy4/pins_TEENSY41.h @@ -33,39 +33,40 @@ #define BOARD_INFO_NAME "Teensy4.1" #endif -#define AT90USB 1286 // Disable MarlinSerial etc. -#define USBCON //1286 // Disable MarlinSerial etc. -/* - - plan for Teensy4.0 and Teensy4.1: - USB - GND |-----#####-----| VIN (3.65 TO 5.5V) - X_STEP_PIN CS1 RX1 PWM 0 | ##### | GND - X_DIR_PIN MISO1 TX1 PWM 1 | | 3.3V - Y_STEP_PIN PWM 2 | | 23 A9 PWM SERVO1_PIN - Y_DIR_PIN PWM 3 | | 22 A8 PWM SERVO0_PIN - Z_STEP_PIN PWM 4 | | 21 A7 RX5 - Z_DIR_PIN PWM 5 | | 20 A6 TX5 FILWIDTH_PIN - X_ENABLE_PIN PWM 6 | | 19 A5 PWM SCL0 - Y_ENABLE_PIN RX2 PWM 7 | | 18 A4 PWM SDA0 HEATER_1_PIN - Z_ENABLE_PIN TX2 PWM 8 | | 17 A3 RX4 SDA1 - E0_STEP_PIN PWM 9 | | 16 A2 TX4 SCL1 TEMP_0_PIN - E0_DIR_PIN PWM 10 | | 15 A1 PWM RX3 TEMP_BED_PIN - MOSI_PIN MOSI0 PWM 11 | | 14 A0 PWM TX3 TEMP_1_PIN - MISO_PIN MISO0 PWM 12 | | 13 LED PWM SCK0 SCK_PIN - 3.3V | | GND - Z_STOP_PIN PWM 24 | | 41 A17 - E0_ENABLE_PIN PWM 25 | | 40 A16 - FAN_PIN MOSI1 26 | | 39 A15 MISO1 X_STOP_PIN - Z-PROBE PWR SCK1 27 | * * * * * | 38 A14 Y_STOP_PIN - SOL1_PIN RX7 PWM 28 | | 37 PWM HEATER_0_PIN - FAN_PIN TX7 PWM 29 | | 36 PWM HEATER_BED_PIN - X_CS_PIN 30 | | 35 TX8 E1_ENABLE_PIN - y_CS_PIN 31 | SDCARD | 34 RX8 E1_DIR_PIN - Z_CS_PIN 32 |_______________| 33 PWM E1_STEP_PIN - +/** + * Plan for Teensy 4.0 and Teensy 4.1: + * USB + * GND |-----#####-----| VIN (3.65 TO 5.5V) + * X_STEP_PIN CS1 RX1 PWM 0 | ##### | GND + * X_DIR_PIN MISO1 TX1 PWM 1 | | 3.3V + * Y_STEP_PIN PWM 2 | | 23 A9 PWM SERVO1_PIN + * Y_DIR_PIN PWM 3 | | 22 A8 PWM SERVO0_PIN + * Z_STEP_PIN PWM 4 | | 21 A7 RX5 + * Z_DIR_PIN PWM 5 | | 20 A6 TX5 FILWIDTH_PIN + * X_ENABLE_PIN PWM 6 | | 19 A5 PWM SCL0 + * Y_ENABLE_PIN RX2 PWM 7 | | 18 A4 PWM SDA0 HEATER_1_PIN + * Z_ENABLE_PIN TX2 PWM 8 | | 17 A3 RX4 SDA1 + * E0_STEP_PIN PWM 9 | | 16 A2 TX4 SCL1 TEMP_0_PIN + * E0_DIR_PIN PWM 10 | | 15 A1 PWM RX3 TEMP_BED_PIN + * MOSI_PIN MOSI0 PWM 11 | | 14 A0 PWM TX3 TEMP_1_PIN + * MISO_PIN MISO0 PWM 12 | | 13 LED PWM SCK0 SCK_PIN + * 3.3V | | GND + * Z_STOP_PIN PWM 24 | | 41 A17 + * E0_ENABLE_PIN PWM 25 | | 40 A16 + * FAN_PIN MOSI1 26 | | 39 A15 MISO1 X_STOP_PIN + * Z-PROBE PWR SCK1 27 | * * * * * | 38 A14 Y_STOP_PIN + * SOL1_PIN RX7 PWM 28 | | 37 PWM HEATER_0_PIN + * FAN_PIN TX7 PWM 29 | | 36 PWM HEATER_BED_PIN + * X_CS_PIN 30 | | 35 TX8 E1_ENABLE_PIN + * y_CS_PIN 31 | SDCARD | 34 RX8 E1_DIR_PIN + * Z_CS_PIN 32 |_______________| 33 PWM E1_STEP_PIN + */ -*/ +// +// Servos +// +#define SERVO0_PIN 22 +#define SERVO1_PIN 23 // // Limit Switches @@ -100,6 +101,9 @@ #define E1_DIR_PIN 34 #define E1_ENABLE_PIN 35 +// +// Heaters / Fans +// #define HEATER_0_PIN 37 #define HEATER_1_PIN 18 #define HEATER_BED_PIN 36 @@ -107,22 +111,20 @@ #define FAN_PIN 29 #endif +// +// Temperature Sensors +// #define TEMP_0_PIN 2 // Extruder / Analog pin numbering: 2 => A2 #define TEMP_1_PIN 0 #define TEMP_BED_PIN 1 // Bed / Analog pin numbering +// +// Misc. Functions +// #define LED_PIN 13 +#define SOL0_PIN 28 //#define PS_ON_PIN 1 -//#define ALARM_PIN -1 - //#define FILWIDTH_PIN 6 // A6 -#define SOL0_PIN 28 -#define SERVO0_PIN 22 -#define SERVO1_PIN 23 - -//#define SCK_PIN 13 -//#define MISO_PIN 12 -//#define MOSI_PIN 11 #ifndef SDCARD_CONNECTION #define SDCARD_CONNECTION ONBOARD From e3d4e328f93a04020124082a8342a34956a79ce4 Mon Sep 17 00:00:00 2001 From: ellensp Date: Thu, 24 Sep 2020 08:44:15 +1200 Subject: [PATCH 125/277] Preserve brightness in EEPROM validate (#19485) Co-authored-by: Scott Lahteine --- Marlin/src/module/settings.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 6608b4033265..0fc23099ccb8 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -1804,10 +1804,11 @@ void MarlinSettings::postprocess() { // { _FIELD_TEST(lcd_contrast); - int16_t lcd_contrast; EEPROM_READ(lcd_contrast); - TERN_(HAS_LCD_CONTRAST, ui.set_contrast(lcd_contrast)); + if (!validating) { + TERN_(HAS_LCD_CONTRAST, ui.set_contrast(lcd_contrast)); + } } // From 6634bedb258eb3ee7f59c3351f8472d32b323af8 Mon Sep 17 00:00:00 2001 From: ellensp Date: Thu, 24 Sep 2020 09:03:07 +1200 Subject: [PATCH 126/277] Define UART pins for LPC debug based on LPC_PINCFG_UART (#19475) --- Marlin/src/HAL/AVR/fastio.h | 16 ++++--- Marlin/src/HAL/AVR/pinsDebug.h | 4 +- Marlin/src/pins/pinsDebug.h | 82 ++++++++++++++++++++++++---------- 3 files changed, 73 insertions(+), 29 deletions(-) diff --git a/Marlin/src/HAL/AVR/fastio.h b/Marlin/src/HAL/AVR/fastio.h index bd6935aaf0ce..dd0163466110 100644 --- a/Marlin/src/HAL/AVR/fastio.h +++ b/Marlin/src/HAL/AVR/fastio.h @@ -29,11 +29,17 @@ #include -#define AVR_AT90USB1286_FAMILY (defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__)) -#define AVR_ATmega1284_FAMILY (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)) -#define AVR_ATmega2560_FAMILY (defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)) -#define AVR_ATmega2561_FAMILY (defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)) -#define AVR_ATmega328_FAMILY (defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__)) +#if defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__) + #define AVR_AT90USB1286_FAMILY 1 +#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__) + #define AVR_ATmega1284_FAMILY 1 +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + #define AVR_ATmega2560_FAMILY 1 +#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) + #define AVR_ATmega2561_FAMILY 1 +#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__) + #define AVR_ATmega328_FAMILY 1 +#endif /** * Include Ports and Functions diff --git a/Marlin/src/HAL/AVR/pinsDebug.h b/Marlin/src/HAL/AVR/pinsDebug.h index d73f520d1494..2cf740a5597a 100644 --- a/Marlin/src/HAL/AVR/pinsDebug.h +++ b/Marlin/src/HAL/AVR/pinsDebug.h @@ -26,7 +26,9 @@ #define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS -#define AVR_ATmega2560_FAMILY_PLUS_70 MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H) +#if MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H) + #define AVR_ATmega2560_FAMILY_PLUS_70 1 +#endif #if AVR_AT90USB1286_FAMILY diff --git a/Marlin/src/pins/pinsDebug.h b/Marlin/src/pins/pinsDebug.h index 0766d818e75f..06a8144291ca 100644 --- a/Marlin/src/pins/pinsDebug.h +++ b/Marlin/src/pins/pinsDebug.h @@ -45,7 +45,7 @@ #line 46 // manually add pins that have names that are macros which don't play well with these macros -#if (AVR_ATmega2560_FAMILY || AVR_ATmega1284_FAMILY || defined(ARDUINO_ARCH_SAM) || defined(TARGET_LPC1768)) +#if ANY(AVR_ATmega2560_FAMILY, AVR_ATmega1284_FAMILY, ARDUINO_ARCH_SAM, TARGET_LPC1768) #if SERIAL_PORT == 0 static const char RXD_NAME_0[] PROGMEM = { "RXD0" }; static const char TXD_NAME_0[] PROGMEM = { "TXD0" }; @@ -110,83 +110,119 @@ const PinInfo pin_array[] PROGMEM = { // manually add pins ... #if SERIAL_PORT == 0 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_0, 0, true }, { TXD_NAME_0, 1, true }, #elif AVR_ATmega1284_FAMILY { RXD_NAME_0, 8, true }, { TXD_NAME_0, 9, true }, - #elif defined(TARGET_LPC1768) + #elif defined(TARGET_LPC1768) // TX P0_02 RX P0_03 { RXD_NAME_0, 3, true }, { TXD_NAME_0, 2, true }, #endif #elif SERIAL_PORT == 1 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_1, 19, true }, { TXD_NAME_1, 18, true }, #elif AVR_ATmega1284_FAMILY { RXD_NAME_1, 10, true }, { TXD_NAME_1, 11, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_1, 16, true }, - { TXD_NAME_1, 15, true }, + #ifdef LPC_PINCFG_UART1_P2_00 // TX P2_00 RX P2_01 + { RXD_NAME_1, 0x41, true }, + { TXD_NAME_1, 0x40, true }, + #else // TX P0_15 RX P0_16 + { RXD_NAME_1, 16, true }, + { TXD_NAME_1, 15, true }, + #endif #endif #elif SERIAL_PORT == 2 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_2, 17, true }, { TXD_NAME_2, 16, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_2, 11, true }, - { TXD_NAME_2, 10, true }, + #ifdef LPC_PINCFG_UART2_P2_08 // TX P2_08 RX P2_09 + { RXD_NAME_2, 0x49, true }, + { TXD_NAME_2, 0x48, true }, + #else // TX P0_10 RX P0_11 + { RXD_NAME_2, 11, true }, + { TXD_NAME_2, 10, true }, + #endif #endif #elif SERIAL_PORT == 3 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_3, 15, true }, { TXD_NAME_3, 14, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_3, 1, true }, - { TXD_NAME_3, 0, true }, + #ifdef LPC_PINCFG_UART3_P0_25 // TX P0_25 RX P0_26 + { RXD_NAME_3, 0x1A, true }, + { TXD_NAME_3, 0x19, true }, + #elif defined(LPC_PINCFG_UART3_P4_28) // TX P4_28 RX P4_29 + { RXD_NAME_3, 0x9D, true }, + { TXD_NAME_3, 0x9C, true }, + #else // TX P0_00 RX P0_01 + { RXD_NAME_3, 1, true }, + { TXD_NAME_3, 0, true }, + #endif #endif #endif #ifdef SERIAL_PORT_2 #if SERIAL_PORT_2 == 0 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_0, 0, true }, { TXD_NAME_0, 1, true }, #elif AVR_ATmega1284_FAMILY { RXD_NAME_0, 8, true }, { TXD_NAME_0, 9, true }, - #elif defined(TARGET_LPC1768) + #elif defined(TARGET_LPC1768) // TX P0_02 RX P0_03 { RXD_NAME_0, 3, true }, { TXD_NAME_0, 2, true }, #endif #elif SERIAL_PORT_2 == 1 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_1, 19, true }, { TXD_NAME_1, 18, true }, #elif AVR_ATmega1284_FAMILY { RXD_NAME_1, 10, true }, { TXD_NAME_1, 11, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_1, 16, true }, - { TXD_NAME_1, 15, true }, + #ifdef LPC_PINCFG_UART1_P2_00 // TX P2_00 RX P2_01 + { RXD_NAME_1, 0x41, true }, + { TXD_NAME_1, 0x40, true }, + #else // TX P0_15 RX P0_16 + { RXD_NAME_1, 16, true }, + { TXD_NAME_1, 15, true }, + #endif #endif #elif SERIAL_PORT_2 == 2 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_2, 17, true }, { TXD_NAME_2, 16, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_2, 11, true }, - { TXD_NAME_2, 10, true }, + #ifdef LPC_PINCFG_UART2_P2_08 // TX P2_08 RX P2_09 + { RXD_NAME_2, 0x49, true }, + { TXD_NAME_2, 0x48, true }, + #else // TX P0_10 RX P0_11 + { RXD_NAME_2, 11, true }, + { TXD_NAME_2, 10, true }, + #endif #endif #elif SERIAL_PORT_2 == 3 - #if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM)) + #if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM) { RXD_NAME_3, 15, true }, { TXD_NAME_3, 14, true }, #elif defined(TARGET_LPC1768) - { RXD_NAME_3, 1, true }, - { TXD_NAME_3, 0, true }, + #ifdef LPC_PINCFG_UART3_P0_25 // TX P0_25 RX P0_26 + { RXD_NAME_3, 0x1A, true }, + { TXD_NAME_3, 0x19, true }, + #elif defined(LPC_PINCFG_UART3_P4_28) // TX P4_28 RX P4_29 + { RXD_NAME_3, 0x9D, true }, + { TXD_NAME_3, 0x9C, true }, + #else // TX P0_00 RX P0_01 + { RXD_NAME_3, 1, true }, + { TXD_NAME_3, 0, true }, + #endif #endif #endif #endif From ecc80138123751945b6470d4cd95b13f00456a90 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 23 Sep 2020 17:40:00 -0500 Subject: [PATCH 127/277] Whitespace cleanup --- Marlin/src/lcd/dwin/dwin_lcd.h | 2 +- Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h | 2 +- Marlin/src/module/stepper/trinamic.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/lcd/dwin/dwin_lcd.h b/Marlin/src/lcd/dwin/dwin_lcd.h index 11409666d893..9ae6d076d502 100644 --- a/Marlin/src/lcd/dwin/dwin_lcd.h +++ b/Marlin/src/lcd/dwin/dwin_lcd.h @@ -205,7 +205,7 @@ void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, // picIDe: Icon ending ID // x/y: Upper-left point // interval: Display time interval, unit 10mS -void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs, +void DWIN_ICON_Animation(uint8_t animID, bool animate, uint8_t libID, uint8_t picIDs, uint8_t picIDe, uint16_t x, uint16_t y, uint16_t interval); // Animation Control diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h index 84639b59e12c..4e2fde6ab333 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/theme/colors.h @@ -127,7 +127,7 @@ namespace Theme { #if ENABLED(TOUCH_UI_COCOA_PRESS) constexpr uint32_t syringe_rgb = 0xFFFFFF; constexpr uint32_t fluid_rgb = accent_color_5; - #else + #else constexpr uint32_t syringe_rgb = accent_color_5; constexpr uint32_t fluid_rgb = accent_color_3; #endif diff --git a/Marlin/src/module/stepper/trinamic.cpp b/Marlin/src/module/stepper/trinamic.cpp index a4b1b240f79e..d5a861d71ba0 100644 --- a/Marlin/src/module/stepper/trinamic.cpp +++ b/Marlin/src/module/stepper/trinamic.cpp @@ -802,10 +802,10 @@ void reset_trinamic_drivers() { } // TMC Slave Address Conflict Detection -// +// // Conflict detection is performed in the following way. Similar methods are used for // hardware and software serial, but the implementations are indepenent. -// +// // 1. Populate a data structure with UART parameters and addresses for all possible axis. // If an axis is not in use, populate it with recognizable placeholder data. // 2. For each axis in use, static_assert using a constexpr function, which counts the @@ -815,7 +815,7 @@ void reset_trinamic_drivers() { // Hardware serial names are compared as strings, since actually resolving them cannot occur in a constexpr. // Using a fixed-length character array for the port name allows this to be constexpr compatible. struct SanityHwSerialDetails { const char port[20]; uint32_t address; }; - #define TMC_HW_DETAIL_ARGS(A) TERN(A##_HAS_HW_SERIAL, STRINGIFY(A##_HARDWARE_SERIAL), ""), TERN0(A##_HAS_HW_SERIAL, A##_SLAVE_ADDRESS) + #define TMC_HW_DETAIL_ARGS(A) TERN(A##_HAS_HW_SERIAL, STRINGIFY(A##_HARDWARE_SERIAL), ""), TERN0(A##_HAS_HW_SERIAL, A##_SLAVE_ADDRESS) #define TMC_HW_DETAIL(A) {TMC_HW_DETAIL_ARGS(A)} constexpr SanityHwSerialDetails sanity_tmc_hw_details[] = { TMC_HW_DETAIL(X), TMC_HW_DETAIL(X2), From 928d874deac6258659033e8c4ac03a7766eb3ca6 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 24 Sep 2020 00:13:39 +0000 Subject: [PATCH 128/277] [cron] Bump distribution date (2020-09-24) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index f002ce563b9f..a889bef80ef3 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-23" + #define STRING_DISTRIBUTION_DATE "2020-09-24" #endif /** From 4b928b2da8ae26bd4a949debe470a914e23545ca Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 23 Sep 2020 19:45:33 -0500 Subject: [PATCH 129/277] HAL and serial cleanup Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com> --- Marlin/src/HAL/AVR/HAL.h | 21 +---- Marlin/src/HAL/AVR/MarlinSerial.cpp | 20 ++--- Marlin/src/HAL/AVR/MarlinSerial.h | 6 +- Marlin/src/HAL/DUE/HAL.h | 47 +++-------- Marlin/src/HAL/ESP32/HAL.h | 3 - Marlin/src/HAL/HAL.h | 6 ++ Marlin/src/HAL/LINUX/HAL.h | 1 - Marlin/src/HAL/LINUX/main.cpp | 2 +- Marlin/src/HAL/LPC1768/HAL.h | 47 +++-------- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 37 ++++++--- Marlin/src/HAL/SAMD51/HAL.h | 46 +++-------- Marlin/src/HAL/STM32/HAL.h | 81 ++++++------------- Marlin/src/HAL/STM32/pinsDebug_STM32GENERIC.h | 2 +- Marlin/src/HAL/STM32F1/HAL.h | 5 +- Marlin/src/HAL/STM32F1/MarlinSerial.h | 1 + Marlin/src/HAL/STM32F1/sdio.cpp | 2 +- Marlin/src/HAL/STM32_F4_F7/HAL.h | 61 +++----------- Marlin/src/HAL/TEENSY31_32/HAL.h | 14 ++-- Marlin/src/HAL/TEENSY35_36/HAL.h | 14 ++-- Marlin/src/HAL/TEENSY40_41/HAL.h | 51 +++--------- Marlin/src/MarlinCore.cpp | 18 ++--- Marlin/src/gcode/config/M575.cpp | 19 +---- Marlin/src/inc/SanityCheck.h | 40 +++++++-- Marlin/src/lcd/extui/malyan_lcd.cpp | 6 +- Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 8 +- .../pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h | 8 +- .../pins/stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h | 8 +- Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h | 8 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h | 16 ++-- .../pins/stm32f1/pins_MKS_ROBIN_E3_common.h | 8 +- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 16 ++-- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 17 ++-- buildroot/tests/malyan_M300-tests | 1 + 33 files changed, 220 insertions(+), 420 deletions(-) diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index 609375e386e8..fcaaf75c4a9e 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -81,12 +81,7 @@ typedef int8_t pin_t; // Serial ports #ifdef USBCON - #if ENABLED(BLUETOOTH) - #define MYSERIAL0 bluetoothSerial - #else - #define MYSERIAL0 Serial - #endif - #define NUM_SERIAL 1 + #define MYSERIAL0 TERN(BLUETOOTH, bluetoothSerial, Serial) #else #if !WITHIN(SERIAL_PORT, -1, 3) #error "SERIAL_PORT must be from -1 to 3. Please update your configuration." @@ -97,36 +92,22 @@ typedef int8_t pin_t; #ifdef SERIAL_PORT_2 #if !WITHIN(SERIAL_PORT_2, -1, 3) #error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration." - #elif SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." #endif #define MYSERIAL1 customizedSerial2 - #define NUM_SERIAL 2 - #else - #define NUM_SERIAL 1 #endif #endif #ifdef DGUS_SERIAL_PORT #if !WITHIN(DGUS_SERIAL_PORT, -1, 3) #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." - #elif DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." #endif #define DGUS_SERIAL internalDgusSerial - #define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.get_tx_buffer_free #endif #ifdef ANYCUBIC_LCD_SERIAL_PORT #if !WITHIN(ANYCUBIC_LCD_SERIAL_PORT, -1, 3) #error "ANYCUBIC_LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." - #elif ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT - #error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT_2 - #error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." #endif #define ANYCUBIC_LCD_SERIAL anycubicLcdSerial #endif diff --git a/Marlin/src/HAL/AVR/MarlinSerial.cpp b/Marlin/src/HAL/AVR/MarlinSerial.cpp index 3d44a3f59ffc..838627001d14 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/AVR/MarlinSerial.cpp @@ -712,11 +712,11 @@ } // Hookup ISR handlers - ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) { + ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _RX_vect)) { MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_UDRE_vect)) { + ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) { MarlinSerial>::_tx_udr_empty_irq(); } @@ -729,11 +729,11 @@ #ifdef SERIAL_PORT_2 // Hookup ISR handlers - ISR(SERIAL_REGNAME(USART,SERIAL_PORT_2,_RX_vect)) { + ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _RX_vect)) { MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART,SERIAL_PORT_2,_UDRE_vect)) { + ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _UDRE_vect)) { MarlinSerial>::_tx_udr_empty_irq(); } @@ -749,11 +749,11 @@ #ifdef INTERNAL_SERIAL_PORT - ISR(SERIAL_REGNAME(USART,INTERNAL_SERIAL_PORT,_RX_vect)) { + ISR(SERIAL_REGNAME(USART, INTERNAL_SERIAL_PORT, _RX_vect)) { MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART,INTERNAL_SERIAL_PORT,_UDRE_vect)) { + ISR(SERIAL_REGNAME(USART, INTERNAL_SERIAL_PORT, _UDRE_vect)) { MarlinSerial>::_tx_udr_empty_irq(); } @@ -776,11 +776,11 @@ return ret; } - ISR(SERIAL_REGNAME(USART,DGUS_SERIAL_PORT,_RX_vect)) { + ISR(SERIAL_REGNAME(USART, DGUS_SERIAL_PORT, _RX_vect)) { MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART,DGUS_SERIAL_PORT,_UDRE_vect)) { + ISR(SERIAL_REGNAME(USART, DGUS_SERIAL_PORT, _UDRE_vect)) { MarlinSerial>::_tx_udr_empty_irq(); } @@ -794,11 +794,11 @@ #ifdef ANYCUBIC_LCD_SERIAL_PORT - ISR(SERIAL_REGNAME(USART,ANYCUBIC_LCD_SERIAL_PORT,_RX_vect)) { + ISR(SERIAL_REGNAME(USART, ANYCUBIC_LCD_SERIAL_PORT, _RX_vect)) { MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART,ANYCUBIC_LCD_SERIAL_PORT,_UDRE_vect)) { + ISR(SERIAL_REGNAME(USART, ANYCUBIC_LCD_SERIAL_PORT, _UDRE_vect)) { MarlinSerial>::_tx_udr_empty_irq(); } diff --git a/Marlin/src/HAL/AVR/MarlinSerial.h b/Marlin/src/HAL/AVR/MarlinSerial.h index e8bfc5583a91..8dbed4d85be4 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.h +++ b/Marlin/src/HAL/AVR/MarlinSerial.h @@ -48,11 +48,11 @@ // These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor // requires two levels of indirection to expand macro values properly) - #define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) + #define SERIAL_REGNAME(registerbase,number,suffix) _SERIAL_REGNAME(registerbase,number,suffix) #if SERIAL_PORT == 0 && (!defined(UBRR0H) || !defined(UDR0)) // use un-numbered registers if necessary - #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##suffix + #define _SERIAL_REGNAME(registerbase,number,suffix) registerbase##suffix #else - #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix + #define _SERIAL_REGNAME(registerbase,number,suffix) registerbase##number##suffix #endif // Registers used by MarlinSerial class (expanded depending on selected serial port) diff --git a/Marlin/src/HAL/DUE/HAL.h b/Marlin/src/HAL/DUE/HAL.h index 31409c76dd56..974f1ccc1649 100644 --- a/Marlin/src/HAL/DUE/HAL.h +++ b/Marlin/src/HAL/DUE/HAL.h @@ -38,57 +38,34 @@ #include +#define _MSERIAL(X) Serial##X +#define MSERIAL(X) _MSERIAL(X) +#define Serial0 Serial + // Define MYSERIAL0/1 before MarlinSerial includes! #if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER) #define MYSERIAL0 customizedSerial1 -#elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 Serial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 Serial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 Serial3 +#elif WITHIN(SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else #error "The required SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #if SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER) + #if SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER) #define MYSERIAL1 customizedSerial2 - #elif SERIAL_PORT_2 == 0 - #define MYSERIAL1 Serial - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 Serial1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 Serial2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 Serial3 + #elif WITHIN(SERIAL_PORT_2, 0, 3) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration." #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different from SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 + #if DGUS_SERIAL_PORT == -1 #define DGUS_SERIAL internalDgusSerial - #elif DGUS_SERIAL_PORT == 0 - #define DGUS_SERIAL Serial - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL Serial1 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL Serial2 - #elif DGUS_SERIAL_PORT == 3 - #define DGUS_SERIAL Serial3 + #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) + #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) #else #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index c91f9efff0b9..5eb84fdc3021 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -58,9 +58,6 @@ extern portMUX_TYPE spinlock; #else #define MYSERIAL1 webSocketSerial #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #define CRITICAL_SECTION_START() portENTER_CRITICAL(&spinlock) diff --git a/Marlin/src/HAL/HAL.h b/Marlin/src/HAL/HAL.h index c7b7531442db..8b6a978d2103 100644 --- a/Marlin/src/HAL/HAL.h +++ b/Marlin/src/HAL/HAL.h @@ -25,6 +25,12 @@ #include HAL_PATH(.,HAL.h) +#ifdef SERIAL_PORT_2 + #define NUM_SERIAL 2 +#else + #define NUM_SERIAL 1 +#endif + #define HAL_ADC_RANGE _BV(HAL_ADC_RESOLUTION) #ifndef I2C_ADDRESS diff --git a/Marlin/src/HAL/LINUX/HAL.h b/Marlin/src/HAL/LINUX/HAL.h index 96e121d9153e..778ba2db4d71 100644 --- a/Marlin/src/HAL/LINUX/HAL.h +++ b/Marlin/src/HAL/LINUX/HAL.h @@ -62,7 +62,6 @@ uint8_t _getc(); extern HalSerial usb_serial; #define MYSERIAL0 usb_serial -#define NUM_SERIAL 1 #define ST7920_DELAY_1 DELAY_NS(600) #define ST7920_DELAY_2 DELAY_NS(750) diff --git a/Marlin/src/HAL/LINUX/main.cpp b/Marlin/src/HAL/LINUX/main.cpp index 4eeef318e7e7..481f059030b7 100644 --- a/Marlin/src/HAL/LINUX/main.cpp +++ b/Marlin/src/HAL/LINUX/main.cpp @@ -107,7 +107,7 @@ int main() { std::thread write_serial (write_serial_thread); std::thread read_serial (read_serial_thread); - #if NUM_SERIAL > 0 + #ifdef MYSERIAL0 MYSERIAL0.begin(BAUDRATE); SERIAL_ECHOLNPGM("x86_64 Initialized"); SERIAL_FLUSHTX(); diff --git a/Marlin/src/HAL/LPC1768/HAL.h b/Marlin/src/HAL/LPC1768/HAL.h index 0153bacf42dd..e9f05fcc617d 100644 --- a/Marlin/src/HAL/LPC1768/HAL.h +++ b/Marlin/src/HAL/LPC1768/HAL.h @@ -63,56 +63,33 @@ extern "C" volatile uint32_t _millis; #define ST7920_DELAY_3 DELAY_NS(750) #endif +#define _MSERIAL(X) MSerial##X +#define MSERIAL(X) _MSERIAL(X) +#define MSerial0 MSerial + #if SERIAL_PORT == -1 #define MYSERIAL0 UsbSerial -#elif SERIAL_PORT == 0 - #define MYSERIAL0 MSerial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 MSerial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 MSerial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 MSerial3 +#elif WITHIN(SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else #error "SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #if SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 + #if SERIAL_PORT_2 == -1 #define MYSERIAL1 UsbSerial - #elif SERIAL_PORT_2 == 0 - #define MYSERIAL1 MSerial - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 MSerial1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 MSerial2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 MSerial3 + #elif WITHIN(SERIAL_PORT_2, 0, 3) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration." #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 + #if DGUS_SERIAL_PORT == -1 #define DGUS_SERIAL UsbSerial - #elif DGUS_SERIAL_PORT == 0 - #define DGUS_SERIAL MSerial - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL MSerial1 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL MSerial2 - #elif DGUS_SERIAL_PORT == 3 - #define DGUS_SERIAL MSerial3 + #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) + #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) #else #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index 3fc1dd801a45..2ca8a29da4c6 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -89,6 +89,9 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o * Serial2 | P0_10 | P0_11 | * Serial3 | P0_00 | P0_01 | */ +#define ANY_TX(N,V...) DO(IS_TX##N,||,V) +#define ANY_RX(N,V...) DO(IS_RX##N,||,V) + #if (defined(SERIAL_PORT) && SERIAL_PORT == 0) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 0) || (defined(DGUS_SERIAL_PORT) && DGUS_SERIAL_PORT == 0) #define IS_TX0(P) (P == P0_02) #define IS_RX0(P) (P == P0_03) @@ -106,48 +109,56 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1 || DGUS_SERIAL_PORT == 1 #define IS_TX1(P) (P == P0_15) #define IS_RX1(P) (P == P0_16) + #define _IS_TX1_1 IS_TX1 + #define _IS_RX1_1 IS_RX1 #if IS_TX1(TMC_SW_SCK) #error "Serial port pins (1) conflict with other pins!" #elif HAS_SPI_LCD #if IS_TX1(BTN_EN2) || IS_RX1(BTN_EN1) #error "Serial port pins (1) conflict with Encoder Buttons!" - #elif IS_TX1(SCK_PIN) || IS_TX1(LCD_PINS_D4) || IS_TX1(DOGLCD_SCK) || IS_TX1(LCD_RESET_PIN) || IS_TX1(LCD_PINS_RS) || IS_TX1(SHIFT_CLK) \ - || IS_RX1(LCD_SDSS) || IS_RX1(LCD_PINS_RS) || IS_RX1(MISO_PIN) || IS_RX1(DOGLCD_A0) || IS_RX1(SS_PIN) || IS_RX1(LCD_SDSS) || IS_RX1(DOGLCD_CS) || IS_RX1(LCD_RESET_PIN) || IS_RX1(LCD_BACKLIGHT_PIN) + #elif ANY_TX(1, SCK_PIN, LCD_PINS_D4, DOGLCD_SCK, LCD_RESET_PIN, LCD_PINS_RS, SHIFT_CLK) \ + || ANY_RX(1, LCD_SDSS, LCD_PINS_RS, MISO_PIN, DOGLCD_A0, SS_PIN, LCD_SDSS, DOGLCD_CS, LCD_RESET_PIN, LCD_BACKLIGHT_PIN) #error "Serial port pins (1) conflict with LCD pins!" #endif #endif #undef IS_TX1 #undef IS_RX1 + #undef _IS_TX1_1 + #undef _IS_RX1_1 #endif #if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2 || DGUS_SERIAL_PORT == 2 #define IS_TX2(P) (P == P0_10) #define IS_RX2(P) (P == P0_11) - #if IS_TX2(X2_ENABLE_PIN) || IS_RX2(X2_DIR_PIN) || IS_RX2(X2_STEP_PIN) || (AXIS_HAS_SPI(X2) && IS_TX2(X2_CS_PIN)) + #define _IS_TX2_1 IS_TX2 + #define _IS_RX2_1 IS_RX2 + #if IS_TX2(X2_ENABLE_PIN) || ANY_RX(2, X2_DIR_PIN, X2_STEP_PIN) || (AXIS_HAS_SPI(X2) && IS_TX2(X2_CS_PIN)) #error "Serial port pins (2) conflict with X2 pins!" - #elif IS_TX2(Y2_ENABLE_PIN) || IS_RX2(Y2_DIR_PIN) || IS_RX2(Y2_STEP_PIN) || (AXIS_HAS_SPI(Y2) && IS_TX2(Y2_CS_PIN)) + #elif IS_TX2(Y2_ENABLE_PIN) || ANY_RX(2, Y2_DIR_PIN, Y2_STEP_PIN) || (AXIS_HAS_SPI(Y2) && IS_TX2(Y2_CS_PIN)) #error "Serial port pins (2) conflict with Y2 pins!" - #elif IS_TX2(Z2_ENABLE_PIN) || IS_RX2(Z2_DIR_PIN) || IS_RX2(Z2_STEP_PIN) || (AXIS_HAS_SPI(Z2) && IS_TX2(Z2_CS_PIN)) + #elif IS_TX2(Z2_ENABLE_PIN) || ANY_RX(2, Z2_DIR_PIN, Z2_STEP_PIN) || (AXIS_HAS_SPI(Z2) && IS_TX2(Z2_CS_PIN)) #error "Serial port pins (2) conflict with Z2 pins!" - #elif IS_TX2(Z3_ENABLE_PIN) || IS_RX2(Z3_DIR_PIN) || IS_RX2(Z3_STEP_PIN) || (AXIS_HAS_SPI(Z3) && IS_TX2(Z3_CS_PIN)) + #elif IS_TX2(Z3_ENABLE_PIN) || ANY_RX(2, Z3_DIR_PIN, Z3_STEP_PIN) || (AXIS_HAS_SPI(Z3) && IS_TX2(Z3_CS_PIN)) #error "Serial port pins (2) conflict with Z3 pins!" - #elif IS_TX2(Z4_ENABLE_PIN) || IS_RX2(Z4_DIR_PIN) || IS_RX2(Z4_STEP_PIN) || (AXIS_HAS_SPI(Z4) && IS_TX2(Z4_CS_PIN)) + #elif IS_TX2(Z4_ENABLE_PIN) || ANY_RX(2, Z4_DIR_PIN, Z4_STEP_PIN) || (AXIS_HAS_SPI(Z4) && IS_TX2(Z4_CS_PIN)) #error "Serial port pins (2) conflict with Z4 pins!" - #elif IS_RX2(X_DIR_PIN) || IS_RX2(Y_DIR_PIN) + #elif ANY_RX(2, X_DIR_PIN, Y_DIR_PIN) #error "Serial port pins (2) conflict with other pins!" #elif Y_HOME_DIR < 0 && IS_TX2(Y_STOP_PIN) #error "Serial port pins (2) conflict with Y endstop pin!" #elif HAS_CUSTOM_PROBE_PIN && IS_TX2(Z_MIN_PROBE_PIN) #error "Serial port pins (2) conflict with probe pin!" - #elif IS_TX2(X_ENABLE_PIN) || IS_RX2(X_DIR_PIN) || IS_TX2(Y_ENABLE_PIN) || IS_RX2(Y_DIR_PIN) + #elif ANY_TX(2, X_ENABLE_PIN, Y_ENABLE_PIN) || ANY_RX(2, X_DIR_PIN, Y_DIR_PIN) #error "Serial port pins (2) conflict with X/Y stepper pins!" #elif HAS_MULTI_EXTRUDER && (IS_TX2(E1_ENABLE_PIN) || (AXIS_HAS_SPI(E1) && IS_TX2(E1_CS_PIN))) #error "Serial port pins (2) conflict with E1 stepper pins!" - #elif EXTRUDERS && (IS_RX2(E0_DIR_PIN) || IS_RX2(E0_STEP_PIN)) + #elif EXTRUDERS && ANY_RX(2, E0_DIR_PIN, E0_STEP_PIN) #error "Serial port pins (2) conflict with E stepper pins!" #endif #undef IS_TX2 #undef IS_RX2 + #undef _IS_TX2_1 + #undef _IS_RX2_1 #endif #if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3 || DGUS_SERIAL_PORT == 3 @@ -155,8 +166,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #define PIN_IS_RX3(P) (P##_PIN == P0_01) #if PIN_IS_TX3(X_MIN) || PIN_IS_RX3(X_MAX) #error "Serial port pins (3) conflict with X endstop pins!" - #elif PIN_IS_TX3(Y_SERIAL_TX) || PIN_IS_TX3(Y_SERIAL_RX) \ - || PIN_IS_RX3(X_SERIAL_TX) || PIN_IS_RX3(X_SERIAL_RX) + #elif PIN_IS_TX3(Y_SERIAL_TX) || PIN_IS_TX3(Y_SERIAL_RX) || PIN_IS_RX3(X_SERIAL_TX) || PIN_IS_RX3(X_SERIAL_RX) #error "Serial port pins (3) conflict with X/Y axis UART pins!" #elif PIN_IS_TX3(X2_DIR) || PIN_IS_RX3(X2_STEP) #error "Serial port pins (3) conflict with X2 pins!" @@ -175,6 +185,9 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #undef PIN_IS_RX3 #endif +#undef ANY_TX +#undef ANY_RX + // // Flag any i2c pin conflicts // diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index ea0f694cdc02..b516cb769fb3 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -35,56 +35,32 @@ // MYSERIAL0 required before MarlinSerial includes! + #define _MSERIAL(X) Serial##X + #define MSERIAL(X) _MSERIAL(INCREMENT(X)) + #if SERIAL_PORT == -1 #define MYSERIAL0 Serial - #elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial1 - #elif SERIAL_PORT == 1 - #define MYSERIAL0 Serial2 - #elif SERIAL_PORT == 2 - #define MYSERIAL0 Serial3 - #elif SERIAL_PORT == 3 - #define MYSERIAL0 Serial4 + #elif WITHIN(SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else #error "SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #if SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 + #if SERIAL_PORT_2 == -1 #define MYSERIAL1 Serial - #elif SERIAL_PORT_2 == 0 - #define MYSERIAL1 Serial1 - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 Serial2 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 Serial3 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 Serial4 + #elif WITHIN(SERIAL_PORT_2, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration." #endif - #define NUM_SERIAL 2 - #else - #define NUM_SERIAL 1 #endif #ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 + #if DGUS_SERIAL_PORT == -1 #define DGUS_SERIAL Serial - #elif DGUS_SERIAL_PORT == 0 - #define DGUS_SERIAL Serial1 - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL Serial2 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL Serial3 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL Serial4 + #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(DGUS_SERIAL_PORT) #else #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index 08081331b736..9ec2d5c19e83 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -43,82 +43,47 @@ // ------------------------ // Defines // ------------------------ +#define _MSERIAL(X) MSerial##X +#define MSERIAL(X) _MSERIAL(X) -#if SERIAL_PORT == 0 - #error "SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." -#elif SERIAL_PORT == -1 +#if SERIAL_PORT == -1 #define MYSERIAL0 SerialUSB -#elif SERIAL_PORT == 1 - #define MYSERIAL0 MSerial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 MSerial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 MSerial3 -#elif SERIAL_PORT == 4 - #define MYSERIAL0 MSerial4 -#elif SERIAL_PORT == 5 - #define MYSERIAL0 MSerial5 -#elif SERIAL_PORT == 6 - #define MYSERIAL0 MSerial6 +#elif WITHIN(SERIAL_PORT, 1, 6) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else - #error "SERIAL_PORT must be from -1 to 6. Please update your configuration." + #error "SERIAL_PORT must be -1 or from 1 to 6. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #define NUM_SERIAL 2 - #if SERIAL_PORT_2 == 0 - #error "SERIAL_PORT_2 cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 + #if SERIAL_PORT_2 == -1 #define MYSERIAL1 SerialUSB - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 MSerial1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 MSerial2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 MSerial3 - #elif SERIAL_PORT_2 == 4 - #define MYSERIAL1 MSerial4 - #elif SERIAL_PORT_2 == 5 - #define MYSERIAL1 MSerial5 - #elif SERIAL_PORT_2 == 6 - #define MYSERIAL1 MSerial6 + #elif WITHIN(SERIAL_PORT_2, 1, 6) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else - #error "SERIAL_PORT_2 must be from -1 to 6. Please update your configuration." + #error "SERIAL_PORT_2 must be -1 or from 1 to 6. Please update your configuration." #endif -#else - #define NUM_SERIAL 1 #endif #if HAS_DGUS_LCD - #if DGUS_SERIAL_PORT == 0 - #error "DGUS_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 + #if DGUS_SERIAL_PORT == -1 #define DGUS_SERIAL SerialUSB - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL MSerial1 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL MSerial2 - #elif DGUS_SERIAL_PORT == 3 - #define DGUS_SERIAL MSerial3 - #elif DGUS_SERIAL_PORT == 4 - #define DGUS_SERIAL MSerial4 - #elif DGUS_SERIAL_PORT == 5 - #define DGUS_SERIAL MSerial5 - #elif DGUS_SERIAL_PORT == 6 - #define DGUS_SERIAL MSerial6 + #elif WITHIN(DGUS_SERIAL_PORT, 1, 6) + #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) #else - #error "DGUS_SERIAL_PORT must be from -1 to 6. Please update your configuration." + #error "DGUS_SERIAL_PORT must be -1 or from 1 to 6. Please update your configuration." #endif - #define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.availableForWrite #endif +#if ENABLED(MALYAN_LCD) + #if LCD_SERIAL_PORT == -1 + #define LCD_SERIAL SerialUSB + #elif WITHIN(LCD_SERIAL_PORT, 1, 6) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) + #else + #error "LCD_SERIAL_PORT must be -1 or from 1 to 6. Please update your configuration." + #endif +#endif /** * TODO: review this to return 1 for pins that are not analog input diff --git a/Marlin/src/HAL/STM32/pinsDebug_STM32GENERIC.h b/Marlin/src/HAL/STM32/pinsDebug_STM32GENERIC.h index 5ff40debea5e..9069d9f7bd8a 100644 --- a/Marlin/src/HAL/STM32/pinsDebug_STM32GENERIC.h +++ b/Marlin/src/HAL/STM32/pinsDebug_STM32GENERIC.h @@ -98,7 +98,7 @@ static inline void pwm_details(const pin_t pin) { timer_dev * const tdev = PIN_MAP[pin].timer_device; const uint8_t channel = PIN_MAP[pin].timer_channel; const char num = ( - #if defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY) + #if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY) tdev == &timer8 ? '8' : tdev == &timer5 ? '5' : #endif diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index f76d8c54a0e3..47414cb45e10 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -53,7 +53,7 @@ // ------------------------ #ifndef STM32_FLASH_SIZE - #if defined(MCU_STM32F103RE) || defined(MCU_STM32F103VE) + #if EITHER(MCU_STM32F103RE, MCU_STM32F103VE) #define STM32_FLASH_SIZE 512 #else #define STM32_FLASH_SIZE 256 @@ -106,9 +106,6 @@ #else #error "SERIAL_PORT_2 must be from -1 to 5. Please update your configuration." #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #ifdef DGUS_SERIAL diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.h b/Marlin/src/HAL/STM32F1/MarlinSerial.h index eb0059bfbcae..b9248e50caff 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.h +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.h @@ -30,6 +30,7 @@ #include "../../feature/e_parser.h" #endif +// Increase priority of serial interrupts, to reduce overflow errors #define UART_IRQ_PRIO 1 class MarlinSerial : public HardwareSerial { diff --git a/Marlin/src/HAL/STM32F1/sdio.cpp b/Marlin/src/HAL/STM32F1/sdio.cpp index 0e9a3b2d0450..ffa6db1206ae 100644 --- a/Marlin/src/HAL/STM32F1/sdio.cpp +++ b/Marlin/src/HAL/STM32F1/sdio.cpp @@ -26,7 +26,7 @@ #include "../../inc/MarlinConfig.h" // Allow pins/pins.h to set density -#if defined(STM32_HIGH_DENSITY) || defined(STM32_XL_DENSITY) +#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY) #include "sdio.h" diff --git a/Marlin/src/HAL/STM32_F4_F7/HAL.h b/Marlin/src/HAL/STM32_F4_F7/HAL.h index 5601400c5ac9..e132168205bb 100644 --- a/Marlin/src/HAL/STM32_F4_F7/HAL.h +++ b/Marlin/src/HAL/STM32_F4_F7/HAL.h @@ -46,24 +46,16 @@ // Serial override //extern HalSerial usb_serial; +#define _MSERIAL(X) SerialUART##X +#define MSERIAL(X) _MSERIAL(X) +#define SerialUART0 Serial1 + #if defined(STM32F4) && SERIAL_PORT == 0 #error "SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." #elif SERIAL_PORT == -1 #define MYSERIAL0 SerialUSB -#elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial1 -#elif SERIAL_PORT == 1 - #define MYSERIAL0 SerialUART1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 SerialUART2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 SerialUART3 -#elif SERIAL_PORT == 4 - #define MYSERIAL0 SerialUART4 -#elif SERIAL_PORT == 5 - #define MYSERIAL0 SerialUART5 -#elif SERIAL_PORT == 6 - #define MYSERIAL0 SerialUART6 +#elif WITHIN(SERIAL_PORT, 0, 6) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else #error "SERIAL_PORT must be from -1 to 6. Please update your configuration." #endif @@ -71,55 +63,22 @@ #ifdef SERIAL_PORT_2 #if defined(STM32F4) && SERIAL_PORT_2 == 0 #error "SERIAL_PORT_2 cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." #elif SERIAL_PORT_2 == -1 #define MYSERIAL1 SerialUSB - #elif SERIAL_PORT_2 == 0 - #define MYSERIAL1 Serial1 - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 SerialUART1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 SerialUART2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 SerialUART3 - #elif SERIAL_PORT_2 == 4 - #define MYSERIAL1 SerialUART4 - #elif SERIAL_PORT_2 == 5 - #define MYSERIAL1 SerialUART5 - #elif SERIAL_PORT_2 == 6 - #define MYSERIAL1 SerialUART6 + #elif WITHIN(SERIAL_PORT_2, 0, 6) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 6. Please update your configuration." #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #ifdef DGUS_SERIAL_PORT #if defined(STM32F4) && DGUS_SERIAL_PORT == 0 #error "DGUS_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." #elif DGUS_SERIAL_PORT == -1 #define DGUS_SERIAL SerialUSB - #elif DGUS_SERIAL_PORT == 0 - #define DGUS_SERIAL Serial1 - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL SerialUART1 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL SerialUART2 - #elif DGUS_SERIAL_PORT == 3 - #define DGUS_SERIAL SerialUART3 - #elif DGUS_SERIAL_PORT == 4 - #define DGUS_SERIAL SerialUART4 - #elif DGUS_SERIAL_PORT == 5 - #define DGUS_SERIAL SerialUART5 - #elif DGUS_SERIAL_PORT == 6 - #define DGUS_SERIAL SerialUART6 + #elif WITHIN(DGUS_SERIAL_PORT, 0, 6) + #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) #else #error "DGUS_SERIAL_PORT must be from -1 to 6. Please update your configuration." #endif diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.h b/Marlin/src/HAL/TEENSY31_32/HAL.h index ad095cba83cc..31ceb8b87c9a 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/TEENSY31_32/HAL.h @@ -49,18 +49,14 @@ #define IS_TEENSY32 1 #endif -#define NUM_SERIAL 1 +#define _MSERIAL(X) Serial##X +#define MSERIAL(X) _MSERIAL(X) +#define Serial0 Serial #if SERIAL_PORT == -1 #define MYSERIAL0 SerialUSB -#elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 Serial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 Serial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 Serial3 +#elif WITHIN(SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #endif #define HAL_SERVO_LIB libServo diff --git a/Marlin/src/HAL/TEENSY35_36/HAL.h b/Marlin/src/HAL/TEENSY35_36/HAL.h index 96be08d7b7ca..11f0fb941e93 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/TEENSY35_36/HAL.h @@ -54,18 +54,14 @@ #define IS_TEENSY36 1 #endif -#define NUM_SERIAL 1 +#define _MSERIAL(X) Serial##X +#define MSERIAL(X) _MSERIAL(X) +#define Serial0 Serial #if SERIAL_PORT == -1 #define MYSERIAL0 SerialUSB -#elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 Serial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 Serial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 Serial3 +#elif WITHIN(SERIAL_PORT, 0, 3) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #endif #define HAL_SERVO_LIB libServo diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h index 0626d4ee9cda..77f7af295668 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.h +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -50,59 +50,26 @@ #define IS_TEENSY41 1 #endif +#define _MSERIAL(X) Serial##X +#define MSERIAL(X) _MSERIAL(X) +#define Serial0 Serial + #if SERIAL_PORT == -1 #define MYSERIAL0 SerialUSB -#elif SERIAL_PORT == 0 - #define MYSERIAL0 Serial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 Serial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 Serial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 Serial3 -#elif SERIAL_PORT == 4 - #define MYSERIAL0 Serial4 -#elif SERIAL_PORT == 5 - #define MYSERIAL0 Serial5 -#elif SERIAL_PORT == 6 - #define MYSERIAL0 Serial6 -#elif SERIAL_PORT == 7 - #define MYSERIAL0 Serial7 -#elif SERIAL_PORT == 8 - #define MYSERIAL0 Serial8 +#elif WITHIN(SERIAL_PORT, 0, 8) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) #else #error "The required SERIAL_PORT must be from -1 to 8. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #if SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 + #if SERIAL_PORT_2 == -1 #define MYSERIAL1 usbSerial - #elif SERIAL_PORT_2 == 0 - #define MYSERIAL1 Serial - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 Serial1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 Serial2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 Serial3 - #elif SERIAL_PORT_2 == 4 - #define MYSERIAL1 Serial4 - #elif SERIAL_PORT_2 == 5 - #define MYSERIAL1 Serial5 - #elif SERIAL_PORT_2 == 6 - #define MYSERIAL1 Serial6 - #elif SERIAL_PORT_2 == 7 - #define MYSERIAL1 Serial7 - #elif SERIAL_PORT_2 == 8 - #define MYSERIAL1 Serial8 + #elif WITHIN(SERIAL_PORT_2, 0, 8) + #define MYSERIAL0 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 8. Please update your configuration." #endif - #define NUM_SERIAL 2 -#else - #define NUM_SERIAL 1 #endif #define HAL_SERVO_LIB libServo diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 22935c146073..e11439861bd4 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -912,17 +912,15 @@ void setup() { #endif #endif - #if NUM_SERIAL > 0 - MYSERIAL0.begin(BAUDRATE); - uint32_t serial_connect_timeout = millis() + 1000UL; - while (!MYSERIAL0 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } - #if HAS_MULTI_SERIAL - MYSERIAL1.begin(BAUDRATE); - serial_connect_timeout = millis() + 1000UL; - while (!MYSERIAL1 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } - #endif - SERIAL_ECHO_MSG("start"); + MYSERIAL0.begin(BAUDRATE); + uint32_t serial_connect_timeout = millis() + 1000UL; + while (!MYSERIAL0 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } + #if HAS_MULTI_SERIAL + MYSERIAL1.begin(BAUDRATE); + serial_connect_timeout = millis() + 1000UL; + while (!MYSERIAL1 && PENDING(millis(), serial_connect_timeout)) { /*nada*/ } #endif + SERIAL_ECHO_MSG("start"); #if BOTH(HAS_TFT_LVGL_UI, USE_WIFI_FUNCTION) mks_esp_wifi_init(); diff --git a/Marlin/src/gcode/config/M575.cpp b/Marlin/src/gcode/config/M575.cpp index 3aa5844653c2..44723b7f2fe6 100644 --- a/Marlin/src/gcode/config/M575.cpp +++ b/Marlin/src/gcode/config/M575.cpp @@ -53,23 +53,10 @@ void GcodeSuite::M575() { case 115200: case 250000: case 500000: case 1000000: { const int8_t port = parser.intval('P', -99); const bool set0 = (port == -99 || port == 0); - if (set0) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(" Serial " - #if HAS_MULTI_SERIAL - , '0', - #else - "0" - #endif - " baud rate set to ", baud - ); - } + if (set0) SERIAL_ECHO_MSG(" Serial ", '0', " baud rate set to ", baud); #if HAS_MULTI_SERIAL const bool set1 = (port == -99 || port == 1); - if (set1) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(" Serial ", '1', " baud rate set to ", baud); - } + if (set1) SERIAL_ECHO_MSG(" Serial ", '1', " baud rate set to ", baud); #endif SERIAL_FLUSH(); @@ -85,4 +72,4 @@ void GcodeSuite::M575() { } } -#endif // NUM_SERIAL > 0 && BAUD_RATE_GCODE +#endif // BAUD_RATE_GCODE diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 8d68b33ece20..4c0b68e8aec0 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -582,12 +582,10 @@ #error "SERIAL_XON_XOFF and SERIAL_STATS_* features not supported on USB-native AVR devices." #endif -#if SERIAL_PORT > 7 - #error "Set SERIAL_PORT to the port on your board. Usually this is 0." -#endif - -#if defined(SERIAL_PORT_2) && NUM_SERIAL < 2 - #error "SERIAL_PORT_2 is not supported for your MOTHERBOARD. Disable it to continue." +#ifndef SERIAL_PORT + #error "SERIAL_PORT must be defined in Configuration.h" +#elif defined(SERIAL_PORT_2) && SERIAL_PORT_2 == SERIAL_PORT + #error "SERIAL_PORT_2 cannot be the same as SERIAL_PORT. Please update your configuration." #endif /** @@ -2280,6 +2278,36 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #error "Please enable only one LCD_SCREEN_ROT_* option: 0, 90, 180, or 270." #endif +/** + * Serial displays require a dedicated serial port + */ +#if HAS_DGUS_LCD + #ifndef DGUS_SERIAL_PORT + #error "The DGUS LCD requires DGUS_SERIAL_PORT to be defined in Configuration.h" + #elif DGUS_SERIAL_PORT == SERIAL_PORT + #error "DGUS_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." + #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 + #error "DGUS_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." + #endif +#elif ENABLED(MALYAN_LCD) + #ifndef LCD_SERIAL_PORT + #error "MALYAN_LCD requires LCD_SERIAL_PORT to be defined in Configuration.h" + #elif LCD_SERIAL_PORT == SERIAL_PORT + #error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." + #elif defined(SERIAL_PORT_2) && LCD_SERIAL_PORT == SERIAL_PORT_2 + #error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." + #endif +#elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) + #ifndef ANYCUBIC_LCD_SERIAL_PORT + #error "The ANYCUBIC LCD requires ANYCUBIC_LCD_SERIAL_PORT to be defined in Configuration.h" + #elif ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT + #error "ANYCUBIC_LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." + #elif defined(SERIAL_PORT_2) && ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT_2 + #error "ANYCUBIC_LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." + #endif + #define ANYCUBIC_LCD_SERIAL anycubicLcdSerial +#endif + /** * FYSETC Mini 12864 RGB backlighting required */ diff --git a/Marlin/src/lcd/extui/malyan_lcd.cpp b/Marlin/src/lcd/extui/malyan_lcd.cpp index b5148065c7cc..ece1b142355c 100644 --- a/Marlin/src/lcd/extui/malyan_lcd.cpp +++ b/Marlin/src/lcd/extui/malyan_lcd.cpp @@ -45,7 +45,7 @@ #if ENABLED(MALYAN_LCD) -#define DEBUG_MALYAN_LCD +//#define DEBUG_MALYAN_LCD #include "ui_api.h" @@ -61,10 +61,6 @@ #define DEBUG_OUT ENABLED(DEBUG_MALYAN_LCD) #include "../../core/debug_out.h" -// On the Malyan M200, this will be Serial1. On a RAMPS board, -// it might not be. -#define LCD_SERIAL Serial1 - // This is based on longest sys command + a filename, plus some buffer // in case we encounter some data we don't recognize // There is no evidence a line will ever be this long, but better safe than sorry diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index f018a40c3ef3..a3cb987fff0b 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -117,10 +117,10 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial1 - //#define Y_HARDWARE_SERIAL Serial1 - //#define Z_HARDWARE_SERIAL Serial1 - //#define E0_HARDWARE_SERIAL Serial1 + //#define X_HARDWARE_SERIAL MSerial1 + //#define Y_HARDWARE_SERIAL MSerial1 + //#define Z_HARDWARE_SERIAL MSerial1 + //#define E0_HARDWARE_SERIAL MSerial1 // // Software serial diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h index b658f3d714b8..78751a6bac87 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h @@ -30,8 +30,8 @@ * Hardware serial communication ports. */ #if HAS_TMC_UART - #define X_HARDWARE_SERIAL Serial4 - #define Y_HARDWARE_SERIAL Serial4 - #define Z_HARDWARE_SERIAL Serial4 - #define E0_HARDWARE_SERIAL Serial4 + #define X_HARDWARE_SERIAL MSerial4 + #define Y_HARDWARE_SERIAL MSerial4 + #define Z_HARDWARE_SERIAL MSerial4 + #define E0_HARDWARE_SERIAL MSerial4 #endif diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h index cb94f0bdcacd..0a0d857db3f4 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h @@ -52,8 +52,8 @@ * Hardware serial communication ports. */ #if HAS_TMC_UART - #define X_HARDWARE_SERIAL Serial4 - #define Y_HARDWARE_SERIAL Serial4 - #define Z_HARDWARE_SERIAL Serial4 - #define E0_HARDWARE_SERIAL Serial4 + #define X_HARDWARE_SERIAL MSerial4 + #define Y_HARDWARE_SERIAL MSerial4 + #define Z_HARDWARE_SERIAL MSerial4 + #define E0_HARDWARE_SERIAL MSerial4 #endif diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h index b7db592e7809..a04d6d261f8c 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h @@ -93,10 +93,10 @@ // // Hardware serial with switch // - #define X_HARDWARE_SERIAL Serial1 - #define Y_HARDWARE_SERIAL Serial1 - #define Z_HARDWARE_SERIAL Serial1 - #define E0_HARDWARE_SERIAL Serial1 + #define X_HARDWARE_SERIAL MSerial1 + #define Y_HARDWARE_SERIAL MSerial1 + #define Z_HARDWARE_SERIAL MSerial1 + #define E0_HARDWARE_SERIAL MSerial1 // The 4xTMC2209 module doesn't have a serial multiplexer and // needs to set *_SLAVE_ADDRESS in Configuration_adv.h for X,Y,Z,E0 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index e39c8f234285..48da17adc5a9 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -188,17 +188,11 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial1 - //#define X2_HARDWARE_SERIAL Serial1 - //#define Y_HARDWARE_SERIAL Serial1 - //#define Y2_HARDWARE_SERIAL Serial1 - //#define Z_HARDWARE_SERIAL Serial1 - //#define Z2_HARDWARE_SERIAL Serial1 - //#define E0_HARDWARE_SERIAL Serial1 - //#define E1_HARDWARE_SERIAL Serial1 - //#define E2_HARDWARE_SERIAL Serial1 - //#define E3_HARDWARE_SERIAL Serial1 - //#define E4_HARDWARE_SERIAL Serial1 + //#define X_HARDWARE_SERIAL MSerial1 + //#define Y_HARDWARE_SERIAL MSerial1 + //#define Z_HARDWARE_SERIAL MSerial1 + //#define E0_HARDWARE_SERIAL MSerial1 + //#define E1_HARDWARE_SERIAL MSerial1 // Unused servo pins may be repurposed with SoftwareSerialM //#define X_SERIAL_TX_PIN PF8 // SERVO3_PIN -- XS2 - 6 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h index f6a3b555c399..bbacbf5585d3 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h @@ -83,10 +83,10 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial1 - //#define Y_HARDWARE_SERIAL Serial1 - //#define Z_HARDWARE_SERIAL Serial1 - //#define E0_HARDWARE_SERIAL Serial1 + //#define X_HARDWARE_SERIAL MSerial1 + //#define Y_HARDWARE_SERIAL MSerial1 + //#define Z_HARDWARE_SERIAL MSerial1 + //#define E0_HARDWARE_SERIAL MSerial1 // // Software serial diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index ccb07b35f88c..be3b130c858f 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -132,17 +132,11 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial1 - //#define X2_HARDWARE_SERIAL Serial1 - //#define Y_HARDWARE_SERIAL Serial1 - //#define Y2_HARDWARE_SERIAL Serial1 - //#define Z_HARDWARE_SERIAL Serial1 - //#define Z2_HARDWARE_SERIAL Serial1 - //#define E0_HARDWARE_SERIAL Serial1 - //#define E1_HARDWARE_SERIAL Serial1 - //#define E2_HARDWARE_SERIAL Serial1 - //#define E3_HARDWARE_SERIAL Serial1 - //#define E4_HARDWARE_SERIAL Serial1 + //#define X_HARDWARE_SERIAL MSerial1 + //#define Y_HARDWARE_SERIAL MSerial1 + //#define Z_HARDWARE_SERIAL MSerial1 + //#define E0_HARDWARE_SERIAL MSerial1 + //#define E1_HARDWARE_SERIAL MSerial1 // // Software serial diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 2e74b6b15f2b..e445b8169bb5 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -125,17 +125,12 @@ * Hardware serial communication ports. * If undefined software serial is used according to the pins below */ - //#define X_HARDWARE_SERIAL Serial1 - //#define X2_HARDWARE_SERIAL Serial1 - //#define Y_HARDWARE_SERIAL Serial1 - //#define Y2_HARDWARE_SERIAL Serial1 - //#define Z_HARDWARE_SERIAL Serial1 - //#define Z2_HARDWARE_SERIAL Serial1 - //#define E0_HARDWARE_SERIAL Serial1 - //#define E1_HARDWARE_SERIAL Serial1 - //#define E2_HARDWARE_SERIAL Serial1 - //#define E3_HARDWARE_SERIAL Serial1 - //#define E4_HARDWARE_SERIAL Serial1 + //#define X_HARDWARE_SERIAL MSerial1 + //#define Y_HARDWARE_SERIAL MSerial1 + //#define Z_HARDWARE_SERIAL MSerial1 + //#define E0_HARDWARE_SERIAL MSerial1 + //#define E1_HARDWARE_SERIAL MSerial1 + //#define E2_HARDWARE_SERIAL MSerial1 // // Software serial diff --git a/buildroot/tests/malyan_M300-tests b/buildroot/tests/malyan_M300-tests index ada60d558429..1955accaa5f6 100755 --- a/buildroot/tests/malyan_M300-tests +++ b/buildroot/tests/malyan_M300-tests @@ -9,6 +9,7 @@ set -e restore_configs use_example_configs "delta/Malyan M300" opt_disable AUTO_BED_LEVELING_3POINT +opt_set LCD_SERIAL_PORT 1 exec_test $1 $2 "Malyan M300 (delta)" # cleanup From 568f292883d422bdd226d7faf2d2eba16a4a0ed9 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 23 Sep 2020 21:36:31 -0500 Subject: [PATCH 130/277] HAL/serial followup --- Marlin/src/HAL/AVR/HAL.h | 1 - Marlin/src/HAL/SAMD51/HAL.h | 2 +- Marlin/src/HAL/STM32F1/HAL.h | 2 +- Marlin/src/HAL/TEENSY40_41/HAL.h | 2 +- .../lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp | 6 +++++- Marlin/src/lcd/extui/malyan_lcd.cpp | 6 +++++- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index fcaaf75c4a9e..af7e14267936 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -86,7 +86,6 @@ typedef int8_t pin_t; #if !WITHIN(SERIAL_PORT, -1, 3) #error "SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif - #define MYSERIAL0 customizedSerial1 #ifdef SERIAL_PORT_2 diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index b516cb769fb3..c72613e7729b 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -50,7 +50,7 @@ #if SERIAL_PORT_2 == -1 #define MYSERIAL1 Serial #elif WITHIN(SERIAL_PORT_2, 0, 3) - #define MYSERIAL0 MSERIAL(SERIAL_PORT_2) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration." #endif diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index 47414cb45e10..0f3c3e14602c 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -108,7 +108,7 @@ #endif #endif -#ifdef DGUS_SERIAL +#ifdef DGUS_SERIAL_PORT #if DGUS_SERIAL_PORT == 0 #error "DGUS_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." #elif DGUS_SERIAL_PORT == SERIAL_PORT diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h index 77f7af295668..b3b0144d134b 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.h +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -66,7 +66,7 @@ #if SERIAL_PORT_2 == -1 #define MYSERIAL1 usbSerial #elif WITHIN(SERIAL_PORT_2, 0, 8) - #define MYSERIAL0 MSERIAL(SERIAL_PORT_2) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) #else #error "SERIAL_PORT_2 must be from -1 to 8. Please update your configuration." #endif diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index a7173b1ad2a7..16779c077317 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -113,7 +113,11 @@ static void sendLine_P(PGM_P str) { AnycubicTFTClass::AnycubicTFTClass() {} void AnycubicTFTClass::OnSetup() { - ANYCUBIC_LCD_SERIAL.begin(115200); + #ifndef LCD_BAUDRATE + #define LCD_BAUDRATE 115200 + #endif + LCD_SERIAL.begin(LCD_BAUDRATE); + SENDLINE_DBG_PGM("J17", "TFT Serial Debug: Main board reset... J17"); // J17 Main board reset ExtUI::delay_ms(10); diff --git a/Marlin/src/lcd/extui/malyan_lcd.cpp b/Marlin/src/lcd/extui/malyan_lcd.cpp index ece1b142355c..79a5fb961aa1 100644 --- a/Marlin/src/lcd/extui/malyan_lcd.cpp +++ b/Marlin/src/lcd/extui/malyan_lcd.cpp @@ -428,7 +428,11 @@ namespace ExtUI { * it and translate into ExtUI operations where possible. */ inbound_count = 0; - LCD_SERIAL.begin(500000); + + #ifndef LCD_BAUDRATE + #define LCD_BAUDRATE 500000 + #endif + LCD_SERIAL.begin(LCD_BAUDRATE); // Signal init write_to_lcd_P(PSTR("{SYS:STARTED}\r\n")); From b3223d7b412b0067e0f9c1ad7b672317098a973f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 23 Sep 2020 21:36:39 -0500 Subject: [PATCH 131/277] Fix some pin inits --- .../lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp | 6 ++---- Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index 16779c077317..486f2627783d 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -123,12 +123,10 @@ void AnycubicTFTClass::OnSetup() { // initialise the state of the key pins running on the tft #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) - pinMode(SD_DETECT_PIN, INPUT); - WRITE(SD_DETECT_PIN, HIGH); + SET_INPUT_PULLUP(SD_DETECT_PIN); #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) - pinMode(FIL_RUNOUT_PIN, INPUT); - WRITE(FIL_RUNOUT_PIN, HIGH); + SET_INPUT_PULLUP(FIL_RUNOUT_PIN); #endif mediaPrintingState = AMPRINTSTATE_NOT_PRINTING; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp index 0e4526734ca1..2b6f5f89f6ee 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp @@ -161,13 +161,13 @@ void printer_state_polling() { void filament_pin_setup() { #if PIN_EXISTS(MT_DET_1) - pinMode(MT_DET_1_PIN, INPUT_PULLUP); + SET_INPUT_PULLUP(MT_DET_1_PIN); #endif #if PIN_EXISTS(MT_DET_2) - pinMode(MT_DET_2_PIN, INPUT_PULLUP); + SET_INPUT_PULLUP(MT_DET_2_PIN); #endif #if PIN_EXISTS(MT_DET_3) - pinMode(MT_DET_3_PIN, INPUT_PULLUP); + SET_INPUT_PULLUP(MT_DET_3_PIN); #endif } From 6bb6f7f28897ecd9e7e7391e2cd9d941627a041a Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 25 Sep 2020 00:13:26 +0000 Subject: [PATCH 132/277] [cron] Bump distribution date (2020-09-25) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index a889bef80ef3..95ac6d405143 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-24" + #define STRING_DISTRIBUTION_DATE "2020-09-25" #endif /** From da6c8317a7e7483fcb823c06f9cf953a764eacb0 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Thu, 24 Sep 2020 18:28:48 -0700 Subject: [PATCH 133/277] Fix and improve STM32F1 serial (#19464) --- Marlin/Configuration.h | 5 +- Marlin/Configuration_adv.h | 10 +- Marlin/src/HAL/AVR/HAL.h | 17 +- Marlin/src/HAL/AVR/MarlinSerial.cpp | 1228 ++++++++--------- Marlin/src/HAL/AVR/MarlinSerial.h | 67 +- Marlin/src/HAL/DUE/HAL.h | 12 +- Marlin/src/HAL/DUE/MarlinSerial.h | 2 + Marlin/src/HAL/LINUX/include/serial.h | 1 + Marlin/src/HAL/LPC1768/HAL.h | 12 +- Marlin/src/HAL/LPC1768/MarlinSerial.cpp | 8 +- Marlin/src/HAL/LPC1768/MarlinSerial.h | 1 + Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 8 +- Marlin/src/HAL/LPC1768/usb_serial.cpp | 2 + Marlin/src/HAL/SAMD51/HAL.h | 12 +- Marlin/src/HAL/STM32/HAL.h | 16 +- Marlin/src/HAL/STM32/MarlinSerial.cpp | 4 +- Marlin/src/HAL/STM32/MarlinSerial.h | 4 + Marlin/src/HAL/STM32F1/HAL.h | 80 +- Marlin/src/HAL/STM32F1/MarlinSerial.cpp | 127 +- Marlin/src/HAL/STM32F1/MarlinSerial.h | 21 +- Marlin/src/HAL/STM32F1/msc_sd.h | 1 + Marlin/src/HAL/STM32_F4_F7/HAL.h | 16 +- Marlin/src/inc/Conditionals_adv.h | 34 + Marlin/src/inc/SanityCheck.h | 33 +- Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp | 25 +- .../anycubic_i3mega/anycubic_i3mega_lcd.cpp | 18 +- Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp | 62 +- buildroot/tests/mks_robin_pro-tests | 1 + 28 files changed, 947 insertions(+), 880 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 2635bc750eb0..93e2a0229a71 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -2165,6 +2165,9 @@ // Touch-screen LCD for Malyan M200/M300 printers // //#define MALYAN_LCD +#if ENABLED(MALYAN_LCD) + #define LCD_SERIAL_PORT 1 // Default is 1 for Malyan M200 +#endif // // Touch UI for FTDI EVE (FT800/FT810) displays @@ -2178,7 +2181,7 @@ //#define ANYCUBIC_LCD_I3MEGA //#define ANYCUBIC_LCD_CHIRON #if EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) - #define ANYCUBIC_LCD_SERIAL_PORT 3 + #define LCD_SERIAL_PORT 3 // Default is 3 for Anycubic //#define ANYCUBIC_LCD_DEBUG #endif diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 65cbd21a947b..a8c9205538ad 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1404,8 +1404,8 @@ // Additional options for DGUS / DWIN displays // #if HAS_DGUS_LCD - #define DGUS_SERIAL_PORT 3 - #define DGUS_BAUDRATE 115200 + #define LCD_SERIAL_PORT 3 + #define LCD_BAUDRATE 115200 #define DGUS_RX_BUFFER_SIZE 128 #define DGUS_TX_BUFFER_SIZE 48 @@ -3419,10 +3419,10 @@ #if ENABLED(PRUSA_MMU2) // Serial port used for communication with MMU2. - // For AVR enable the UART port used for the MMU. (e.g., internalSerial) + // For AVR enable the UART port used for the MMU. (e.g., mmuSerial) // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2) - #define INTERNAL_SERIAL_PORT 2 - #define MMU2_SERIAL internalSerial + #define MMU2_SERIAL_PORT 2 + #define MMU2_SERIAL mmuSerial // Use hardware reset for MMU if a pin is defined for it //#define MMU2_RST_PIN 23 diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index af7e14267936..41f1acd32f68 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -96,19 +96,14 @@ typedef int8_t pin_t; #endif #endif -#ifdef DGUS_SERIAL_PORT - #if !WITHIN(DGUS_SERIAL_PORT, -1, 3) - #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." +#ifdef LCD_SERIAL_PORT + #if !WITHIN(LCD_SERIAL_PORT, -1, 3) + #error "LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif - #define DGUS_SERIAL internalDgusSerial - #define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.get_tx_buffer_free -#endif - -#ifdef ANYCUBIC_LCD_SERIAL_PORT - #if !WITHIN(ANYCUBIC_LCD_SERIAL_PORT, -1, 3) - #error "ANYCUBIC_LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." + #define LCD_SERIAL lcdSerial + #if HAS_DGUS_LCD + #define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free() #endif - #define ANYCUBIC_LCD_SERIAL anycubicLcdSerial #endif // ------------------------ diff --git a/Marlin/src/HAL/AVR/MarlinSerial.cpp b/Marlin/src/HAL/AVR/MarlinSerial.cpp index 838627001d14..63599efd4132 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/AVR/MarlinSerial.cpp @@ -40,407 +40,370 @@ #if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) - #include "MarlinSerial.h" - #include "../../MarlinCore.h" +#include "MarlinSerial.h" +#include "../../MarlinCore.h" + +#if ENABLED(DIRECT_STEPPING) + #include "../../feature/direct_stepping.h" +#endif + +template typename MarlinSerial::ring_buffer_r MarlinSerial::rx_buffer = { 0, 0, { 0 } }; +template typename MarlinSerial::ring_buffer_t MarlinSerial::tx_buffer = { 0 }; +template bool MarlinSerial::_written = false; +template uint8_t MarlinSerial::xon_xoff_state = MarlinSerial::XON_XOFF_CHAR_SENT | MarlinSerial::XON_CHAR; +template uint8_t MarlinSerial::rx_dropped_bytes = 0; +template uint8_t MarlinSerial::rx_buffer_overruns = 0; +template uint8_t MarlinSerial::rx_framing_errors = 0; +template typename MarlinSerial::ring_buffer_pos_t MarlinSerial::rx_max_enqueued = 0; + +// A SW memory barrier, to ensure GCC does not overoptimize loops +#define sw_barrier() asm volatile("": : :"memory"); + +#include "../../feature/e_parser.h" + +// "Atomically" read the RX head index value without disabling interrupts: +// This MUST be called with RX interrupts enabled, and CAN'T be called +// from the RX ISR itself! +template +FORCE_INLINE typename MarlinSerial::ring_buffer_pos_t MarlinSerial::atomic_read_rx_head() { + if (Cfg::RX_SIZE > 256) { + // Keep reading until 2 consecutive reads return the same value, + // meaning there was no update in-between caused by an interrupt. + // This works because serial RX interrupts happen at a slower rate + // than successive reads of a variable, so 2 consecutive reads with + // the same value means no interrupt updated it. + ring_buffer_pos_t vold, vnew = rx_buffer.head; + sw_barrier(); + do { + vold = vnew; + vnew = rx_buffer.head; + sw_barrier(); + } while (vold != vnew); + return vnew; + } + else { + // With an 8bit index, reads are always atomic. No need for special handling + return rx_buffer.head; + } +} + +template +volatile bool MarlinSerial::rx_tail_value_not_stable = false; +template +volatile uint16_t MarlinSerial::rx_tail_value_backup = 0; + +// Set RX tail index, taking into account the RX ISR could interrupt +// the write to this variable in the middle - So a backup strategy +// is used to ensure reads of the correct values. +// -Must NOT be called from the RX ISR - +template +FORCE_INLINE void MarlinSerial::atomic_set_rx_tail(typename MarlinSerial::ring_buffer_pos_t value) { + if (Cfg::RX_SIZE > 256) { + // Store the new value in the backup + rx_tail_value_backup = value; + sw_barrier(); + // Flag we are about to change the true value + rx_tail_value_not_stable = true; + sw_barrier(); + // Store the new value + rx_buffer.tail = value; + sw_barrier(); + // Signal the new value is completely stored into the value + rx_tail_value_not_stable = false; + sw_barrier(); + } + else + rx_buffer.tail = value; +} + +// Get the RX tail index, taking into account the read could be +// interrupting in the middle of the update of that index value +// -Called from the RX ISR - +template +FORCE_INLINE typename MarlinSerial::ring_buffer_pos_t MarlinSerial::atomic_read_rx_tail() { + if (Cfg::RX_SIZE > 256) { + // If the true index is being modified, return the backup value + if (rx_tail_value_not_stable) return rx_tail_value_backup; + } + // The true index is stable, return it + return rx_buffer.tail; +} + +// (called with RX interrupts disabled) +template +FORCE_INLINE void MarlinSerial::store_rxd_char() { + + static EmergencyParser::State emergency_state; // = EP_RESET + + // This must read the R_UCSRA register before reading the received byte to detect error causes + if (Cfg::DROPPED_RX && B_DOR && !++rx_dropped_bytes) --rx_dropped_bytes; + if (Cfg::RX_OVERRUNS && B_DOR && !++rx_buffer_overruns) --rx_buffer_overruns; + if (Cfg::RX_FRAMING_ERRORS && B_FE && !++rx_framing_errors) --rx_framing_errors; + + // Read the character from the USART + uint8_t c = R_UDR; #if ENABLED(DIRECT_STEPPING) - #include "../../feature/direct_stepping.h" + if (page_manager.maybe_store_rxd_char(c)) return; #endif - template typename MarlinSerial::ring_buffer_r MarlinSerial::rx_buffer = { 0, 0, { 0 } }; - template typename MarlinSerial::ring_buffer_t MarlinSerial::tx_buffer = { 0 }; - template bool MarlinSerial::_written = false; - template uint8_t MarlinSerial::xon_xoff_state = MarlinSerial::XON_XOFF_CHAR_SENT | MarlinSerial::XON_CHAR; - template uint8_t MarlinSerial::rx_dropped_bytes = 0; - template uint8_t MarlinSerial::rx_buffer_overruns = 0; - template uint8_t MarlinSerial::rx_framing_errors = 0; - template typename MarlinSerial::ring_buffer_pos_t MarlinSerial::rx_max_enqueued = 0; - - // A SW memory barrier, to ensure GCC does not overoptimize loops - #define sw_barrier() asm volatile("": : :"memory"); - - #include "../../feature/e_parser.h" - - // "Atomically" read the RX head index value without disabling interrupts: - // This MUST be called with RX interrupts enabled, and CAN'T be called - // from the RX ISR itself! - template - FORCE_INLINE typename MarlinSerial::ring_buffer_pos_t MarlinSerial::atomic_read_rx_head() { - if (Cfg::RX_SIZE > 256) { - // Keep reading until 2 consecutive reads return the same value, - // meaning there was no update in-between caused by an interrupt. - // This works because serial RX interrupts happen at a slower rate - // than successive reads of a variable, so 2 consecutive reads with - // the same value means no interrupt updated it. - ring_buffer_pos_t vold, vnew = rx_buffer.head; - sw_barrier(); - do { - vold = vnew; - vnew = rx_buffer.head; - sw_barrier(); - } while (vold != vnew); - return vnew; - } - else { - // With an 8bit index, reads are always atomic. No need for special handling - return rx_buffer.head; - } - } + // Get the tail - Nothing can alter its value while this ISR is executing, but there's + // a chance that this ISR interrupted the main process while it was updating the index. + // The backup mechanism ensures the correct value is always returned. + const ring_buffer_pos_t t = atomic_read_rx_tail(); - template - volatile bool MarlinSerial::rx_tail_value_not_stable = false; - template - volatile uint16_t MarlinSerial::rx_tail_value_backup = 0; - - // Set RX tail index, taking into account the RX ISR could interrupt - // the write to this variable in the middle - So a backup strategy - // is used to ensure reads of the correct values. - // -Must NOT be called from the RX ISR - - template - FORCE_INLINE void MarlinSerial::atomic_set_rx_tail(typename MarlinSerial::ring_buffer_pos_t value) { - if (Cfg::RX_SIZE > 256) { - // Store the new value in the backup - rx_tail_value_backup = value; - sw_barrier(); - // Flag we are about to change the true value - rx_tail_value_not_stable = true; - sw_barrier(); - // Store the new value - rx_buffer.tail = value; - sw_barrier(); - // Signal the new value is completely stored into the value - rx_tail_value_not_stable = false; - sw_barrier(); - } - else - rx_buffer.tail = value; - } + // Get the head pointer - This ISR is the only one that modifies its value, so it's safe to read here + ring_buffer_pos_t h = rx_buffer.head; - // Get the RX tail index, taking into account the read could be - // interrupting in the middle of the update of that index value - // -Called from the RX ISR - - template - FORCE_INLINE typename MarlinSerial::ring_buffer_pos_t MarlinSerial::atomic_read_rx_tail() { - if (Cfg::RX_SIZE > 256) { - // If the true index is being modified, return the backup value - if (rx_tail_value_not_stable) return rx_tail_value_backup; - } - // The true index is stable, return it - return rx_buffer.tail; - } + // Get the next element + ring_buffer_pos_t i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - // (called with RX interrupts disabled) - template - FORCE_INLINE void MarlinSerial::store_rxd_char() { + if (Cfg::EMERGENCYPARSER) emergency_parser.update(emergency_state, c); + + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the RX FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) + --rx_dropped_bytes; - static EmergencyParser::State emergency_state; // = EP_RESET + if (Cfg::MAX_RX_QUEUED) { + // Calculate count of bytes stored into the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - // This must read the R_UCSRA register before reading the received byte to detect error causes - if (Cfg::DROPPED_RX && B_DOR && !++rx_dropped_bytes) --rx_dropped_bytes; - if (Cfg::RX_OVERRUNS && B_DOR && !++rx_buffer_overruns) --rx_buffer_overruns; - if (Cfg::RX_FRAMING_ERRORS && B_FE && !++rx_framing_errors) --rx_framing_errors; + // Keep track of the maximum count of enqueued bytes + NOLESS(rx_max_enqueued, rx_count); + } - // Read the character from the USART - uint8_t c = R_UDR; + if (Cfg::XONOFF) { + // If the last char that was sent was an XON + if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XON_CHAR) { - #if ENABLED(DIRECT_STEPPING) - if (page_manager.maybe_store_rxd_char(c)) return; - #endif + // Bytes stored into the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - // Get the tail - Nothing can alter its value while this ISR is executing, but there's - // a chance that this ISR interrupted the main process while it was updating the index. - // The backup mechanism ensures the correct value is always returned. - const ring_buffer_pos_t t = atomic_read_rx_tail(); + // If over 12.5% of RX buffer capacity, send XOFF before running out of + // RX buffer space .. 325 bytes @ 250kbits/s needed to let the host react + // and stop sending bytes. This translates to 13mS propagation time. + if (rx_count >= (Cfg::RX_SIZE) / 8) { - // Get the head pointer - This ISR is the only one that modifies its value, so it's safe to read here - ring_buffer_pos_t h = rx_buffer.head; + // At this point, definitely no TX interrupt was executing, since the TX ISR can't be preempted. + // Don't enable the TX interrupt here as a means to trigger the XOFF char, because if it happens + // to be in the middle of trying to disable the RX interrupt in the main program, eventually the + // enabling of the TX interrupt could be undone. The ONLY reliable thing this can do to ensure + // the sending of the XOFF char is to send it HERE AND NOW. - // Get the next element - ring_buffer_pos_t i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); + // About to send the XOFF char + xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; - if (Cfg::EMERGENCYPARSER) emergency_parser.update(emergency_state, c); + // Wait until the TX register becomes empty and send it - Here there could be a problem + // - While waiting for the TX register to empty, the RX register could receive a new + // character. This must also handle that situation! + while (!B_UDRE) { - // If the character is to be stored at the index just before the tail - // (such that the head would advance to the current tail), the RX FIFO is - // full, so don't write the character or advance the head. - if (i != t) { - rx_buffer.buffer[h] = c; - h = i; - } - else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) - --rx_dropped_bytes; + if (B_RXC) { + // A char arrived while waiting for the TX buffer to be empty - Receive and process it! - if (Cfg::MAX_RX_QUEUED) { - // Calculate count of bytes stored into the RX buffer - const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - // Keep track of the maximum count of enqueued bytes - NOLESS(rx_max_enqueued, rx_count); - } + // Read the character from the USART + c = R_UDR; - if (Cfg::XONOFF) { - // If the last char that was sent was an XON - if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XON_CHAR) { - - // Bytes stored into the RX buffer - const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - - // If over 12.5% of RX buffer capacity, send XOFF before running out of - // RX buffer space .. 325 bytes @ 250kbits/s needed to let the host react - // and stop sending bytes. This translates to 13mS propagation time. - if (rx_count >= (Cfg::RX_SIZE) / 8) { - - // At this point, definitely no TX interrupt was executing, since the TX ISR can't be preempted. - // Don't enable the TX interrupt here as a means to trigger the XOFF char, because if it happens - // to be in the middle of trying to disable the RX interrupt in the main program, eventually the - // enabling of the TX interrupt could be undone. The ONLY reliable thing this can do to ensure - // the sending of the XOFF char is to send it HERE AND NOW. - - // About to send the XOFF char - xon_xoff_state = XOFF_CHAR | XON_XOFF_CHAR_SENT; - - // Wait until the TX register becomes empty and send it - Here there could be a problem - // - While waiting for the TX register to empty, the RX register could receive a new - // character. This must also handle that situation! - while (!B_UDRE) { - - if (B_RXC) { - // A char arrived while waiting for the TX buffer to be empty - Receive and process it! - - i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - - // Read the character from the USART - c = R_UDR; - - if (Cfg::EMERGENCYPARSER) emergency_parser.update(emergency_state, c); - - // If the character is to be stored at the index just before the tail - // (such that the head would advance to the current tail), the FIFO is - // full, so don't write the character or advance the head. - if (i != t) { - rx_buffer.buffer[h] = c; - h = i; - } - else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) - --rx_dropped_bytes; - } - sw_barrier(); - } + if (Cfg::EMERGENCYPARSER) emergency_parser.update(emergency_state, c); - R_UDR = XOFF_CHAR; - - // Clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written - B_TXC = 1; - - // At this point there could be a race condition between the write() function - // and this sending of the XOFF char. This interrupt could happen between the - // wait to be empty TX buffer loop and the actual write of the character. Since - // the TX buffer is full because it's sending the XOFF char, the only way to be - // sure the write() function will succeed is to wait for the XOFF char to be - // completely sent. Since an extra character could be received during the wait - // it must also be handled! - while (!B_UDRE) { - - if (B_RXC) { - // A char arrived while waiting for the TX buffer to be empty - Receive and process it! - - i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - - // Read the character from the USART - c = R_UDR; - - if (Cfg::EMERGENCYPARSER) - emergency_parser.update(emergency_state, c); - - // If the character is to be stored at the index just before the tail - // (such that the head would advance to the current tail), the FIFO is - // full, so don't write the character or advance the head. - if (i != t) { - rx_buffer.buffer[h] = c; - h = i; - } - else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) - --rx_dropped_bytes; + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; } - sw_barrier(); + else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) + --rx_dropped_bytes; } - - // At this point everything is ready. The write() function won't - // have any issues writing to the UART TX register if it needs to! + sw_barrier(); } - } - } - // Store the new head value - The main loop will retry until the value is stable - rx_buffer.head = h; - } + R_UDR = XOFF_CHAR; - // (called with TX irqs disabled) - template - FORCE_INLINE void MarlinSerial::_tx_udr_empty_irq() { - if (Cfg::TX_SIZE > 0) { - // Read positions - uint8_t t = tx_buffer.tail; - const uint8_t h = tx_buffer.head; + // Clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + B_TXC = 1; - if (Cfg::XONOFF) { - // If an XON char is pending to be sent, do it now - if (xon_xoff_state == XON_CHAR) { + // At this point there could be a race condition between the write() function + // and this sending of the XOFF char. This interrupt could happen between the + // wait to be empty TX buffer loop and the actual write of the character. Since + // the TX buffer is full because it's sending the XOFF char, the only way to be + // sure the write() function will succeed is to wait for the XOFF char to be + // completely sent. Since an extra character could be received during the wait + // it must also be handled! + while (!B_UDRE) { - // Send the character - R_UDR = XON_CHAR; + if (B_RXC) { + // A char arrived while waiting for the TX buffer to be empty - Receive and process it! - // clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written - B_TXC = 1; + i = (ring_buffer_pos_t)(h + 1) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - // Remember we sent it. - xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + // Read the character from the USART + c = R_UDR; - // If nothing else to transmit, just disable TX interrupts. - if (h == t) B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) + if (Cfg::EMERGENCYPARSER) + emergency_parser.update(emergency_state, c); - return; + // If the character is to be stored at the index just before the tail + // (such that the head would advance to the current tail), the FIFO is + // full, so don't write the character or advance the head. + if (i != t) { + rx_buffer.buffer[h] = c; + h = i; + } + else if (Cfg::DROPPED_RX && !++rx_dropped_bytes) + --rx_dropped_bytes; + } + sw_barrier(); } - } - // If nothing to transmit, just disable TX interrupts. This could - // happen as the result of the non atomicity of the disabling of RX - // interrupts that could end reenabling TX interrupts as a side effect. - if (h == t) { - B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) - return; + // At this point everything is ready. The write() function won't + // have any issues writing to the UART TX register if it needs to! } - - // There is something to TX, Send the next byte - const uint8_t c = tx_buffer.buffer[t]; - t = (t + 1) & (Cfg::TX_SIZE - 1); - R_UDR = c; - tx_buffer.tail = t; - - // Clear the TXC bit (by writing a one to its bit location). - // Ensures flush() won't return until the bytes are actually written/ - B_TXC = 1; - - // Disable interrupts if there is nothing to transmit following this byte - if (h == t) B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) - } - } - - // Public Methods - template - void MarlinSerial::begin(const long baud) { - uint16_t baud_setting; - bool useU2X = true; - - #if F_CPU == 16000000UL && SERIAL_PORT == 0 - // Hard-coded exception for compatibility with the bootloader shipped - // with the Duemilanove and previous boards, and the firmware on the - // 8U2 on the Uno and Mega 2560. - if (baud == 57600) useU2X = false; - #endif - - R_UCSRA = 0; - if (useU2X) { - B_U2X = 1; - baud_setting = (F_CPU / 4 / baud - 1) / 2; } - else - baud_setting = (F_CPU / 8 / baud - 1) / 2; - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - R_UBRRH = baud_setting >> 8; - R_UBRRL = baud_setting; - - B_RXEN = 1; - B_TXEN = 1; - B_RXCIE = 1; - if (Cfg::TX_SIZE > 0) B_UDRIE = 0; - _written = false; } - template - void MarlinSerial::end() { - B_RXEN = 0; - B_TXEN = 0; - B_RXCIE = 0; - B_UDRIE = 0; - } + // Store the new head value - The main loop will retry until the value is stable + rx_buffer.head = h; +} - template - int MarlinSerial::peek() { - const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; - return h == t ? -1 : rx_buffer.buffer[t]; - } +// (called with TX irqs disabled) +template +FORCE_INLINE void MarlinSerial::_tx_udr_empty_irq() { + if (Cfg::TX_SIZE > 0) { + // Read positions + uint8_t t = tx_buffer.tail; + const uint8_t h = tx_buffer.head; - template - int MarlinSerial::read() { - const ring_buffer_pos_t h = atomic_read_rx_head(); + if (Cfg::XONOFF) { + // If an XON char is pending to be sent, do it now + if (xon_xoff_state == XON_CHAR) { - // Read the tail. Main thread owns it, so it is safe to directly read it - ring_buffer_pos_t t = rx_buffer.tail; + // Send the character + R_UDR = XON_CHAR; - // If nothing to read, return now - if (h == t) return -1; + // clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + B_TXC = 1; - // Get the next char - const int v = rx_buffer.buffer[t]; - t = (ring_buffer_pos_t)(t + 1) & (Cfg::RX_SIZE - 1); + // Remember we sent it. + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - // Advance tail - Making sure the RX ISR will always get an stable value, even - // if it interrupts the writing of the value of that variable in the middle. - atomic_set_rx_tail(t); + // If nothing else to transmit, just disable TX interrupts. + if (h == t) B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) - if (Cfg::XONOFF) { - // If the XOFF char was sent, or about to be sent... - if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { - // Get count of bytes in the RX buffer - const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); - if (rx_count < (Cfg::RX_SIZE) / 10) { - if (Cfg::TX_SIZE > 0) { - // Signal we want an XON character to be sent. - xon_xoff_state = XON_CHAR; - // Enable TX ISR. Non atomic, but it will eventually enable them - B_UDRIE = 1; - } - else { - // If not using TX interrupts, we must send the XON char now - xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; - while (!B_UDRE) sw_barrier(); - R_UDR = XON_CHAR; - } - } + return; } } - return v; - } + // If nothing to transmit, just disable TX interrupts. This could + // happen as the result of the non atomicity of the disabling of RX + // interrupts that could end reenabling TX interrupts as a side effect. + if (h == t) { + B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) + return; + } - template - typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available() { - const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; - return (ring_buffer_pos_t)(Cfg::RX_SIZE + h - t) & (Cfg::RX_SIZE - 1); + // There is something to TX, Send the next byte + const uint8_t c = tx_buffer.buffer[t]; + t = (t + 1) & (Cfg::TX_SIZE - 1); + R_UDR = c; + tx_buffer.tail = t; + + // Clear the TXC bit (by writing a one to its bit location). + // Ensures flush() won't return until the bytes are actually written/ + B_TXC = 1; + + // Disable interrupts if there is nothing to transmit following this byte + if (h == t) B_UDRIE = 0; // (Non-atomic, could be reenabled by the main program, but eventually this will succeed) } +} - template - void MarlinSerial::flush() { +// Public Methods +template +void MarlinSerial::begin(const long baud) { + uint16_t baud_setting; + bool useU2X = true; - // Set the tail to the head: - // - Read the RX head index in a safe way. (See atomic_read_rx_head.) - // - Set the tail, making sure the RX ISR will always get a stable value, even - // if it interrupts the writing of the value of that variable in the middle. - atomic_set_rx_tail(atomic_read_rx_head()); + #if F_CPU == 16000000UL && SERIAL_PORT == 0 + // Hard-coded exception for compatibility with the bootloader shipped + // with the Duemilanove and previous boards, and the firmware on the + // 8U2 on the Uno and Mega 2560. + if (baud == 57600) useU2X = false; + #endif - if (Cfg::XONOFF) { - // If the XOFF char was sent, or about to be sent... - if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { + R_UCSRA = 0; + if (useU2X) { + B_U2X = 1; + baud_setting = (F_CPU / 4 / baud - 1) / 2; + } + else + baud_setting = (F_CPU / 8 / baud - 1) / 2; + + // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) + R_UBRRH = baud_setting >> 8; + R_UBRRL = baud_setting; + + B_RXEN = 1; + B_TXEN = 1; + B_RXCIE = 1; + if (Cfg::TX_SIZE > 0) B_UDRIE = 0; + _written = false; +} + +template +void MarlinSerial::end() { + B_RXEN = 0; + B_TXEN = 0; + B_RXCIE = 0; + B_UDRIE = 0; +} + +template +int MarlinSerial::peek() { + const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; + return h == t ? -1 : rx_buffer.buffer[t]; +} + +template +int MarlinSerial::read() { + const ring_buffer_pos_t h = atomic_read_rx_head(); + + // Read the tail. Main thread owns it, so it is safe to directly read it + ring_buffer_pos_t t = rx_buffer.tail; + + // If nothing to read, return now + if (h == t) return -1; + + // Get the next char + const int v = rx_buffer.buffer[t]; + t = (ring_buffer_pos_t)(t + 1) & (Cfg::RX_SIZE - 1); + + // Advance tail - Making sure the RX ISR will always get an stable value, even + // if it interrupts the writing of the value of that variable in the middle. + atomic_set_rx_tail(t); + + if (Cfg::XONOFF) { + // If the XOFF char was sent, or about to be sent... + if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { + // Get count of bytes in the RX buffer + const ring_buffer_pos_t rx_count = (ring_buffer_pos_t)(h - t) & (ring_buffer_pos_t)(Cfg::RX_SIZE - 1); + if (rx_count < (Cfg::RX_SIZE) / 10) { if (Cfg::TX_SIZE > 0) { // Signal we want an XON character to be sent. xon_xoff_state = XON_CHAR; - // Enable TX ISR. Non atomic, but it will eventually enable it. + // Enable TX ISR. Non atomic, but it will eventually enable them B_UDRIE = 1; } else { @@ -453,363 +416,384 @@ } } - template - void MarlinSerial::write(const uint8_t c) { - if (Cfg::TX_SIZE == 0) { - - _written = true; - while (!B_UDRE) sw_barrier(); - R_UDR = c; - - } - else { - - _written = true; - - // If the TX interrupts are disabled and the data register - // is empty, just write the byte to the data register and - // be done. This shortcut helps significantly improve the - // effective datarate at high (>500kbit/s) bitrates, where - // interrupt overhead becomes a slowdown. - // Yes, there is a race condition between the sending of the - // XOFF char at the RX ISR, but it is properly handled there - if (!B_UDRIE && B_UDRE) { - R_UDR = c; - - // clear the TXC bit -- "can be cleared by writing a one to its bit - // location". This makes sure flush() won't return until the bytes - // actually got written - B_TXC = 1; - return; - } - - const uint8_t i = (tx_buffer.head + 1) & (Cfg::TX_SIZE - 1); - - // If global interrupts are disabled (as the result of being called from an ISR)... - if (!ISRS_ENABLED()) { - - // Make room by polling if it is possible to transmit, and do so! - while (i == tx_buffer.tail) { - - // If we can transmit another byte, do it. - if (B_UDRE) _tx_udr_empty_irq(); - - // Make sure compiler rereads tx_buffer.tail - sw_barrier(); - } + return v; +} + +template +typename MarlinSerial::ring_buffer_pos_t MarlinSerial::available() { + const ring_buffer_pos_t h = atomic_read_rx_head(), t = rx_buffer.tail; + return (ring_buffer_pos_t)(Cfg::RX_SIZE + h - t) & (Cfg::RX_SIZE - 1); +} + +template +void MarlinSerial::flush() { + + // Set the tail to the head: + // - Read the RX head index in a safe way. (See atomic_read_rx_head.) + // - Set the tail, making sure the RX ISR will always get a stable value, even + // if it interrupts the writing of the value of that variable in the middle. + atomic_set_rx_tail(atomic_read_rx_head()); + + if (Cfg::XONOFF) { + // If the XOFF char was sent, or about to be sent... + if ((xon_xoff_state & XON_XOFF_CHAR_MASK) == XOFF_CHAR) { + if (Cfg::TX_SIZE > 0) { + // Signal we want an XON character to be sent. + xon_xoff_state = XON_CHAR; + // Enable TX ISR. Non atomic, but it will eventually enable it. + B_UDRIE = 1; } else { - // Interrupts are enabled, just wait until there is space - while (i == tx_buffer.tail) sw_barrier(); + // If not using TX interrupts, we must send the XON char now + xon_xoff_state = XON_CHAR | XON_XOFF_CHAR_SENT; + while (!B_UDRE) sw_barrier(); + R_UDR = XON_CHAR; } - - // Store new char. head is always safe to move - tx_buffer.buffer[tx_buffer.head] = c; - tx_buffer.head = i; - - // Enable TX ISR - Non atomic, but it will eventually enable TX ISR - B_UDRIE = 1; } } +} - template - void MarlinSerial::flushTX() { +template +void MarlinSerial::write(const uint8_t c) { + if (Cfg::TX_SIZE == 0) { - if (Cfg::TX_SIZE == 0) { - // No bytes written, no need to flush. This special case is needed since there's - // no way to force the TXC (transmit complete) bit to 1 during initialization. - if (!_written) return; + _written = true; + while (!B_UDRE) sw_barrier(); + R_UDR = c; - // Wait until everything was transmitted - while (!B_TXC) sw_barrier(); + } + else { - // At this point nothing is queued anymore (DRIE is disabled) and - // the hardware finished transmission (TXC is set). + _written = true; - } - else { + // If the TX interrupts are disabled and the data register + // is empty, just write the byte to the data register and + // be done. This shortcut helps significantly improve the + // effective datarate at high (>500kbit/s) bitrates, where + // interrupt overhead becomes a slowdown. + // Yes, there is a race condition between the sending of the + // XOFF char at the RX ISR, but it is properly handled there + if (!B_UDRIE && B_UDRE) { + R_UDR = c; - // No bytes written, no need to flush. This special case is needed since there's - // no way to force the TXC (transmit complete) bit to 1 during initialization. - if (!_written) return; + // clear the TXC bit -- "can be cleared by writing a one to its bit + // location". This makes sure flush() won't return until the bytes + // actually got written + B_TXC = 1; + return; + } - // If global interrupts are disabled (as the result of being called from an ISR)... - if (!ISRS_ENABLED()) { + const uint8_t i = (tx_buffer.head + 1) & (Cfg::TX_SIZE - 1); - // Wait until everything was transmitted - We must do polling, as interrupts are disabled - while (tx_buffer.head != tx_buffer.tail || !B_TXC) { + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { - // If there is more space, send an extra character - if (B_UDRE) _tx_udr_empty_irq(); + // Make room by polling if it is possible to transmit, and do so! + while (i == tx_buffer.tail) { - sw_barrier(); - } + // If we can transmit another byte, do it. + if (B_UDRE) _tx_udr_empty_irq(); + // Make sure compiler rereads tx_buffer.tail + sw_barrier(); } - else { - // Wait until everything was transmitted - while (tx_buffer.head != tx_buffer.tail || !B_TXC) sw_barrier(); - } - - // At this point nothing is queued anymore (DRIE is disabled) and - // the hardware finished transmission (TXC is set). } - } - - /** - * Imports from print.h - */ - - template - void MarlinSerial::print(char c, int base) { - print((long)c, base); - } - - template - void MarlinSerial::print(unsigned char b, int base) { - print((unsigned long)b, base); - } - - template - void MarlinSerial::print(int n, int base) { - print((long)n, base); - } - - template - void MarlinSerial::print(unsigned int n, int base) { - print((unsigned long)n, base); - } - - template - void MarlinSerial::print(long n, int base) { - if (base == 0) write(n); - else if (base == 10) { - if (n < 0) { print('-'); n = -n; } - printNumber(n, 10); + else { + // Interrupts are enabled, just wait until there is space + while (i == tx_buffer.tail) sw_barrier(); } - else - printNumber(n, base); - } - template - void MarlinSerial::print(unsigned long n, int base) { - if (base == 0) write(n); - else printNumber(n, base); - } + // Store new char. head is always safe to move + tx_buffer.buffer[tx_buffer.head] = c; + tx_buffer.head = i; - template - void MarlinSerial::print(double n, int digits) { - printFloat(n, digits); + // Enable TX ISR - Non atomic, but it will eventually enable TX ISR + B_UDRIE = 1; } +} - template - void MarlinSerial::println() { - print('\r'); - print('\n'); - } - - template - void MarlinSerial::println(const String& s) { - print(s); - println(); - } - - template - void MarlinSerial::println(const char c[]) { - print(c); - println(); - } +template +void MarlinSerial::flushTX() { - template - void MarlinSerial::println(char c, int base) { - print(c, base); - println(); - } + if (Cfg::TX_SIZE == 0) { + // No bytes written, no need to flush. This special case is needed since there's + // no way to force the TXC (transmit complete) bit to 1 during initialization. + if (!_written) return; - template - void MarlinSerial::println(unsigned char b, int base) { - print(b, base); - println(); - } + // Wait until everything was transmitted + while (!B_TXC) sw_barrier(); - template - void MarlinSerial::println(int n, int base) { - print(n, base); - println(); - } + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). - template - void MarlinSerial::println(unsigned int n, int base) { - print(n, base); - println(); } + else { - template - void MarlinSerial::println(long n, int base) { - print(n, base); - println(); - } + // No bytes written, no need to flush. This special case is needed since there's + // no way to force the TXC (transmit complete) bit to 1 during initialization. + if (!_written) return; - template - void MarlinSerial::println(unsigned long n, int base) { - print(n, base); - println(); - } + // If global interrupts are disabled (as the result of being called from an ISR)... + if (!ISRS_ENABLED()) { - template - void MarlinSerial::println(double n, int digits) { - print(n, digits); - println(); - } + // Wait until everything was transmitted - We must do polling, as interrupts are disabled + while (tx_buffer.head != tx_buffer.tail || !B_TXC) { - // Private Methods + // If there is more space, send an extra character + if (B_UDRE) _tx_udr_empty_irq(); - template - void MarlinSerial::printNumber(unsigned long n, uint8_t base) { - if (n) { - unsigned char buf[8 * sizeof(long)]; // Enough space for base 2 - int8_t i = 0; - while (n) { - buf[i++] = n % base; - n /= base; + sw_barrier(); } - while (i--) - print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10))); - } - else - print('0'); - } - template - void MarlinSerial::printFloat(double number, uint8_t digits) { - // Handle negative numbers - if (number < 0.0) { - print('-'); - number = -number; } - - // Round correctly so that print(1.999, 2) prints as "2.00" - double rounding = 0.5; - LOOP_L_N(i, digits) rounding *= 0.1; - number += rounding; - - // Extract the integer part of the number and print it - unsigned long int_part = (unsigned long)number; - double remainder = number - (double)int_part; - print(int_part); - - // Print the decimal point, but only if there are digits beyond - if (digits) { - print('.'); - // Extract digits from the remainder one at a time - while (digits--) { - remainder *= 10.0; - int toPrint = int(remainder); - print(toPrint); - remainder -= toPrint; - } + else { + // Wait until everything was transmitted + while (tx_buffer.head != tx_buffer.tail || !B_TXC) sw_barrier(); } - } - // Hookup ISR handlers - ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _RX_vect)) { - MarlinSerial>::store_rxd_char(); + // At this point nothing is queued anymore (DRIE is disabled) and + // the hardware finished transmission (TXC is set). } +} - ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) { - MarlinSerial>::_tx_udr_empty_irq(); - } - - // Preinstantiate - template class MarlinSerial>; - - // Instantiate - MarlinSerial> customizedSerial1; - - #ifdef SERIAL_PORT_2 +/** + * Imports from print.h + */ - // Hookup ISR handlers - ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _RX_vect)) { - MarlinSerial>::store_rxd_char(); +template +void MarlinSerial::print(char c, int base) { + print((long)c, base); +} + +template +void MarlinSerial::print(unsigned char b, int base) { + print((unsigned long)b, base); +} + +template +void MarlinSerial::print(int n, int base) { + print((long)n, base); +} + +template +void MarlinSerial::print(unsigned int n, int base) { + print((unsigned long)n, base); +} + +template +void MarlinSerial::print(long n, int base) { + if (base == 0) write(n); + else if (base == 10) { + if (n < 0) { print('-'); n = -n; } + printNumber(n, 10); + } + else + printNumber(n, base); +} + +template +void MarlinSerial::print(unsigned long n, int base) { + if (base == 0) write(n); + else printNumber(n, base); +} + +template +void MarlinSerial::print(double n, int digits) { + printFloat(n, digits); +} + +template +void MarlinSerial::println() { + print('\r'); + print('\n'); +} + +template +void MarlinSerial::println(const String& s) { + print(s); + println(); +} + +template +void MarlinSerial::println(const char c[]) { + print(c); + println(); +} + +template +void MarlinSerial::println(char c, int base) { + print(c, base); + println(); +} + +template +void MarlinSerial::println(unsigned char b, int base) { + print(b, base); + println(); +} + +template +void MarlinSerial::println(int n, int base) { + print(n, base); + println(); +} + +template +void MarlinSerial::println(unsigned int n, int base) { + print(n, base); + println(); +} + +template +void MarlinSerial::println(long n, int base) { + print(n, base); + println(); +} + +template +void MarlinSerial::println(unsigned long n, int base) { + print(n, base); + println(); +} + +template +void MarlinSerial::println(double n, int digits) { + print(n, digits); + println(); +} + +// Private Methods + +template +void MarlinSerial::printNumber(unsigned long n, uint8_t base) { + if (n) { + unsigned char buf[8 * sizeof(long)]; // Enough space for base 2 + int8_t i = 0; + while (n) { + buf[i++] = n % base; + n /= base; } - - ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _UDRE_vect)) { - MarlinSerial>::_tx_udr_empty_irq(); + while (i--) + print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10))); + } + else + print('0'); +} + +template +void MarlinSerial::printFloat(double number, uint8_t digits) { + // Handle negative numbers + if (number < 0.0) { + print('-'); + number = -number; + } + + // Round correctly so that print(1.999, 2) prints as "2.00" + double rounding = 0.5; + LOOP_L_N(i, digits) rounding *= 0.1; + number += rounding; + + // Extract the integer part of the number and print it + unsigned long int_part = (unsigned long)number; + double remainder = number - (double)int_part; + print(int_part); + + // Print the decimal point, but only if there are digits beyond + if (digits) { + print('.'); + // Extract digits from the remainder one at a time + while (digits--) { + remainder *= 10.0; + int toPrint = int(remainder); + print(toPrint); + remainder -= toPrint; } + } +} - // Preinstantiate - template class MarlinSerial>; +// Hookup ISR handlers +ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _RX_vect)) { + MarlinSerial>::store_rxd_char(); +} - // Instantiate - MarlinSerial> customizedSerial2; +ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) { + MarlinSerial>::_tx_udr_empty_irq(); +} - #endif +// Preinstantiate +template class MarlinSerial>; -#endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) +// Instantiate +MarlinSerial> customizedSerial1; -#ifdef INTERNAL_SERIAL_PORT +#ifdef SERIAL_PORT_2 - ISR(SERIAL_REGNAME(USART, INTERNAL_SERIAL_PORT, _RX_vect)) { - MarlinSerial>::store_rxd_char(); + // Hookup ISR handlers + ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _RX_vect)) { + MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART, INTERNAL_SERIAL_PORT, _UDRE_vect)) { - MarlinSerial>::_tx_udr_empty_irq(); + ISR(SERIAL_REGNAME(USART, SERIAL_PORT_2, _UDRE_vect)) { + MarlinSerial>::_tx_udr_empty_irq(); } // Preinstantiate - template class MarlinSerial>; + template class MarlinSerial>; // Instantiate - MarlinSerial> internalSerial; + MarlinSerial> customizedSerial2; #endif -#ifdef DGUS_SERIAL_PORT - - template - typename MarlinSerial::ring_buffer_pos_t MarlinSerial::get_tx_buffer_free() { - const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send. - h = tx_buffer.head; // next pos for queue. - int ret = t - h - 1; - if (ret < 0) ret += Cfg::TX_SIZE + 1; - return ret; - } +#ifdef MMU2_SERIAL_PORT - ISR(SERIAL_REGNAME(USART, DGUS_SERIAL_PORT, _RX_vect)) { - MarlinSerial>::store_rxd_char(); + ISR(SERIAL_REGNAME(USART, MMU2_SERIAL_PORT, _RX_vect)) { + MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART, DGUS_SERIAL_PORT, _UDRE_vect)) { - MarlinSerial>::_tx_udr_empty_irq(); + ISR(SERIAL_REGNAME(USART, MMU2_SERIAL_PORT, _UDRE_vect)) { + MarlinSerial>::_tx_udr_empty_irq(); } // Preinstantiate - template class MarlinSerial>; + template class MarlinSerial>; // Instantiate - MarlinSerial> internalDgusSerial; + MarlinSerial> mmuSerial; #endif -#ifdef ANYCUBIC_LCD_SERIAL_PORT +#ifdef LCD_SERIAL_PORT - ISR(SERIAL_REGNAME(USART, ANYCUBIC_LCD_SERIAL_PORT, _RX_vect)) { - MarlinSerial>::store_rxd_char(); + ISR(SERIAL_REGNAME(USART, LCD_SERIAL_PORT, _RX_vect)) { + MarlinSerial>::store_rxd_char(); } - ISR(SERIAL_REGNAME(USART, ANYCUBIC_LCD_SERIAL_PORT, _UDRE_vect)) { - MarlinSerial>::_tx_udr_empty_irq(); + ISR(SERIAL_REGNAME(USART, LCD_SERIAL_PORT, _UDRE_vect)) { + MarlinSerial>::_tx_udr_empty_irq(); } // Preinstantiate - template class MarlinSerial>; + template class MarlinSerial>; // Instantiate - MarlinSerial> anycubicLcdSerial; + MarlinSerial> lcdSerial; + + #if HAS_DGUS_LCD + template + typename MarlinSerial::ring_buffer_pos_t MarlinSerial::get_tx_buffer_free() { + const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send. + h = tx_buffer.head; // next pos for queue. + int ret = t - h - 1; + if (ret < 0) ret += Cfg::TX_SIZE + 1; + return ret; + } + #endif #endif +#endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) + // For AT90USB targets use the UART for BT interfacing #if defined(USBCON) && ENABLED(BLUETOOTH) HardwareSerial bluetoothSerial; diff --git a/Marlin/src/HAL/AVR/MarlinSerial.h b/Marlin/src/HAL/AVR/MarlinSerial.h index 8dbed4d85be4..cb906e2b6572 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.h +++ b/Marlin/src/HAL/AVR/MarlinSerial.h @@ -217,10 +217,12 @@ static ring_buffer_pos_t available(); static void write(const uint8_t c); static void flushTX(); - #ifdef DGUS_SERIAL_PORT + #if HAS_DGUS_LCD static ring_buffer_pos_t get_tx_buffer_free(); #endif + static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; } + FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; } FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; } FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; } @@ -278,55 +280,50 @@ #endif // !USBCON -#ifdef INTERNAL_SERIAL_PORT +#ifdef MMU2_SERIAL_PORT template - struct MarlinInternalSerialCfg { + struct MMU2SerialCfg { static constexpr int PORT = serial; - static constexpr unsigned int RX_SIZE = 32; - static constexpr unsigned int TX_SIZE = 32; static constexpr bool XONOFF = false; static constexpr bool EMERGENCYPARSER = false; static constexpr bool DROPPED_RX = false; - static constexpr bool RX_OVERRUNS = false; static constexpr bool RX_FRAMING_ERRORS = false; static constexpr bool MAX_RX_QUEUED = false; + static constexpr unsigned int RX_SIZE = 32; + static constexpr unsigned int TX_SIZE = 32; + static constexpr bool RX_OVERRUNS = false; }; - extern MarlinSerial> internalSerial; + extern MarlinSerial> mmuSerial; #endif -#ifdef DGUS_SERIAL_PORT - template - struct MarlinInternalSerialCfg { - static constexpr int PORT = serial; - static constexpr unsigned int RX_SIZE = DGUS_RX_BUFFER_SIZE; - static constexpr unsigned int TX_SIZE = DGUS_TX_BUFFER_SIZE; - static constexpr bool XONOFF = false; - static constexpr bool EMERGENCYPARSER = false; - static constexpr bool DROPPED_RX = false; - static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS); - static constexpr bool RX_FRAMING_ERRORS = false; - static constexpr bool MAX_RX_QUEUED = false; - }; - - extern MarlinSerial> internalDgusSerial; -#endif +#ifdef LCD_SERIAL_PORT -#ifdef ANYCUBIC_LCD_SERIAL_PORT template - struct AnycubicLcdSerialCfg { - static constexpr int PORT = serial; - static constexpr unsigned int RX_SIZE = 64; - static constexpr unsigned int TX_SIZE = 128; - static constexpr bool XONOFF = false; - static constexpr bool EMERGENCYPARSER = false; - static constexpr bool DROPPED_RX = false; - static constexpr bool RX_OVERRUNS = false; - static constexpr bool RX_FRAMING_ERRORS = false; - static constexpr bool MAX_RX_QUEUED = false; + struct LCDSerialCfg { + static constexpr int PORT = serial; + static constexpr bool XONOFF = false; + static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER); + static constexpr bool DROPPED_RX = false; + static constexpr bool RX_FRAMING_ERRORS = false; + static constexpr bool MAX_RX_QUEUED = false; + #if HAS_DGUS_LCD + static constexpr unsigned int RX_SIZE = DGUS_RX_BUFFER_SIZE; + static constexpr unsigned int TX_SIZE = DGUS_TX_BUFFER_SIZE; + static constexpr bool RX_OVERRUNS = ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS); + #elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) + static constexpr unsigned int RX_SIZE = 64; + static constexpr unsigned int TX_SIZE = 128; + static constexpr bool RX_OVERRUNS = false; + #else + static constexpr unsigned int RX_SIZE = 64; + static constexpr unsigned int TX_SIZE = 128; + static constexpr bool RX_OVERRUNS = false + #endif }; - extern MarlinSerial> anycubicLcdSerial; + extern MarlinSerial> lcdSerial; + #endif // Use the UART for Bluetooth in AT90USB configurations diff --git a/Marlin/src/HAL/DUE/HAL.h b/Marlin/src/HAL/DUE/HAL.h index 974f1ccc1649..7a057fdae4fc 100644 --- a/Marlin/src/HAL/DUE/HAL.h +++ b/Marlin/src/HAL/DUE/HAL.h @@ -61,13 +61,13 @@ #endif #endif -#ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL internalDgusSerial - #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) - #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) +#ifdef LCD_SERIAL_PORT + #if LCD_SERIAL_PORT == -1 + #define LCD_SERIAL lcdSerial + #elif WITHIN(LCD_SERIAL_PORT, 0, 3) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) #else - #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." + #error "LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #endif diff --git a/Marlin/src/HAL/DUE/MarlinSerial.h b/Marlin/src/HAL/DUE/MarlinSerial.h index dfafa1514159..a194eba2f386 100644 --- a/Marlin/src/HAL/DUE/MarlinSerial.h +++ b/Marlin/src/HAL/DUE/MarlinSerial.h @@ -122,6 +122,8 @@ class MarlinSerial { static void write(const uint8_t c); static void flushTX(); + static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; } + FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; } FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; } FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; } diff --git a/Marlin/src/HAL/LINUX/include/serial.h b/Marlin/src/HAL/LINUX/include/serial.h index 154e95aec262..94e0c758ee12 100644 --- a/Marlin/src/HAL/LINUX/include/serial.h +++ b/Marlin/src/HAL/LINUX/include/serial.h @@ -79,6 +79,7 @@ class HalSerial { #if ENABLED(EMERGENCY_PARSER) EmergencyParser::State emergency_state; + static inline bool emergency_parser_enabled() { return true; } #endif HalSerial() { host_connected = true; } diff --git a/Marlin/src/HAL/LPC1768/HAL.h b/Marlin/src/HAL/LPC1768/HAL.h index e9f05fcc617d..3118aed1b246 100644 --- a/Marlin/src/HAL/LPC1768/HAL.h +++ b/Marlin/src/HAL/LPC1768/HAL.h @@ -85,13 +85,13 @@ extern "C" volatile uint32_t _millis; #endif #endif -#ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL UsbSerial - #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) - #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) +#ifdef LCD_SERIAL_PORT + #if LCD_SERIAL_PORT == -1 + #define LCD_SERIAL UsbSerial + #elif WITHIN(LCD_SERIAL_PORT, 0, 3) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) #else - #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." + #error "LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #endif diff --git a/Marlin/src/HAL/LPC1768/MarlinSerial.cpp b/Marlin/src/HAL/LPC1768/MarlinSerial.cpp index c3fb3bd0e4d2..5374e005d3da 100644 --- a/Marlin/src/HAL/LPC1768/MarlinSerial.cpp +++ b/Marlin/src/HAL/LPC1768/MarlinSerial.cpp @@ -24,28 +24,28 @@ #include "../../inc/MarlinConfigPre.h" #include "MarlinSerial.h" -#if (defined(SERIAL_PORT) && SERIAL_PORT == 0) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 0) || (defined(DGUS_SERIAL_PORT) && DGUS_SERIAL_PORT == 0) +#if USING_SERIAL_0 MarlinSerial MSerial(LPC_UART0); extern "C" void UART0_IRQHandler() { MSerial.IRQHandler(); } #endif -#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1 || DGUS_SERIAL_PORT == 1 +#if USING_SERIAL_1 MarlinSerial MSerial1((LPC_UART_TypeDef *) LPC_UART1); extern "C" void UART1_IRQHandler() { MSerial1.IRQHandler(); } #endif -#if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2 || DGUS_SERIAL_PORT == 2 +#if USING_SERIAL_2 MarlinSerial MSerial2(LPC_UART2); extern "C" void UART2_IRQHandler() { MSerial2.IRQHandler(); } #endif -#if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3 || DGUS_SERIAL_PORT == 3 +#if USING_SERIAL_3 MarlinSerial MSerial3(LPC_UART3); extern "C" void UART3_IRQHandler() { MSerial3.IRQHandler(); diff --git a/Marlin/src/HAL/LPC1768/MarlinSerial.h b/Marlin/src/HAL/LPC1768/MarlinSerial.h index 98ce73d377a6..8d6b64378a0a 100644 --- a/Marlin/src/HAL/LPC1768/MarlinSerial.h +++ b/Marlin/src/HAL/LPC1768/MarlinSerial.h @@ -57,6 +57,7 @@ class MarlinSerial : public HardwareSerial { } EmergencyParser::State emergency_state; + static inline bool emergency_parser_enabled() { return true; } #endif }; diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index 2ca8a29da4c6..b6491368cd2a 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -92,7 +92,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #define ANY_TX(N,V...) DO(IS_TX##N,||,V) #define ANY_RX(N,V...) DO(IS_RX##N,||,V) -#if (defined(SERIAL_PORT) && SERIAL_PORT == 0) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 0) || (defined(DGUS_SERIAL_PORT) && DGUS_SERIAL_PORT == 0) +#if USING_SERIAL_0 #define IS_TX0(P) (P == P0_02) #define IS_RX0(P) (P == P0_03) #if IS_TX0(TMC_SW_MISO) || IS_RX0(TMC_SW_MOSI) @@ -106,7 +106,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #undef IS_RX0 #endif -#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1 || DGUS_SERIAL_PORT == 1 +#if USING_SERIAL_1 #define IS_TX1(P) (P == P0_15) #define IS_RX1(P) (P == P0_16) #define _IS_TX1_1 IS_TX1 @@ -127,7 +127,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #undef _IS_RX1_1 #endif -#if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2 || DGUS_SERIAL_PORT == 2 +#if USING_SERIAL_2 #define IS_TX2(P) (P == P0_10) #define IS_RX2(P) (P == P0_11) #define _IS_TX2_1 IS_TX2 @@ -161,7 +161,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #undef _IS_RX2_1 #endif -#if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3 || DGUS_SERIAL_PORT == 3 +#if USING_SERIAL_3 #define PIN_IS_TX3(P) (PIN_EXISTS(P) && P##_PIN == P0_00) #define PIN_IS_RX3(P) (P##_PIN == P0_01) #if PIN_IS_TX3(X_MIN) || PIN_IS_RX3(X_MAX) diff --git a/Marlin/src/HAL/LPC1768/usb_serial.cpp b/Marlin/src/HAL/LPC1768/usb_serial.cpp index 63a570efdfa8..d225ce418860 100644 --- a/Marlin/src/HAL/LPC1768/usb_serial.cpp +++ b/Marlin/src/HAL/LPC1768/usb_serial.cpp @@ -26,7 +26,9 @@ #if ENABLED(EMERGENCY_PARSER) #include "../../feature/e_parser.h" + EmergencyParser::State emergency_state; + bool CDC_RecvCallback(const char buffer) { emergency_parser.update(emergency_state, buffer); return true; diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index c72613e7729b..7fd826a1b6a4 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -56,13 +56,13 @@ #endif #endif - #ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL Serial - #elif WITHIN(DGUS_SERIAL_PORT, 0, 3) - #define MYSERIAL0 MSERIAL(DGUS_SERIAL_PORT) + #ifdef LCD_SERIAL_PORT + #if LCD_SERIAL_PORT == -1 + #define LCD_SERIAL Serial + #elif WITHIN(LCD_SERIAL_PORT, 0, 3) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) #else - #error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration." + #error "LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." #endif #endif diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index 9ec2d5c19e83..60ab45374a56 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -64,18 +64,7 @@ #endif #endif -#if HAS_DGUS_LCD - #if DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL SerialUSB - #elif WITHIN(DGUS_SERIAL_PORT, 1, 6) - #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) - #else - #error "DGUS_SERIAL_PORT must be -1 or from 1 to 6. Please update your configuration." - #endif - #define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.availableForWrite -#endif - -#if ENABLED(MALYAN_LCD) +#ifdef LCD_SERIAL_PORT #if LCD_SERIAL_PORT == -1 #define LCD_SERIAL SerialUSB #elif WITHIN(LCD_SERIAL_PORT, 1, 6) @@ -83,6 +72,9 @@ #else #error "LCD_SERIAL_PORT must be -1 or from 1 to 6. Please update your configuration." #endif + #if HAS_DGUS_LCD + #define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.availableForWrite() + #endif #endif /** diff --git a/Marlin/src/HAL/STM32/MarlinSerial.cpp b/Marlin/src/HAL/STM32/MarlinSerial.cpp index 2d799ea54db0..a146664366df 100644 --- a/Marlin/src/HAL/STM32/MarlinSerial.cpp +++ b/Marlin/src/HAL/STM32/MarlinSerial.cpp @@ -49,8 +49,8 @@ DECLARE_SERIAL_PORT_EXP(SERIAL_PORT_2) #endif -#if defined(DGUS_SERIAL_PORT) && DGUS_SERIAL_PORT >= 0 - DECLARE_SERIAL_PORT_EXP(DGUS_SERIAL_PORT) +#if defined(LCD_SERIAL_PORT) && LCD_SERIAL_PORT >= 0 + DECLARE_SERIAL_PORT_EXP(LCD_SERIAL_PORT) #endif void MarlinSerial::begin(unsigned long baud, uint8_t config) { diff --git a/Marlin/src/HAL/STM32/MarlinSerial.h b/Marlin/src/HAL/STM32/MarlinSerial.h index 5ab97ff3a993..3611cc78d7ce 100644 --- a/Marlin/src/HAL/STM32/MarlinSerial.h +++ b/Marlin/src/HAL/STM32/MarlinSerial.h @@ -35,6 +35,10 @@ class MarlinSerial : public HardwareSerial { #endif { } + #if ENABLED(EMERGENCY_PARSER) + static inline bool emergency_parser_enabled() { return true; } + #endif + void begin(unsigned long baud, uint8_t config); inline void begin(unsigned long baud) { begin(baud, SERIAL_8N1); } diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index 0f3c3e14602c..5c03593eb088 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -68,71 +68,49 @@ #endif #endif -#if SERIAL_PORT == 0 - #error "SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." -#elif SERIAL_PORT == -1 +#define _MSERIAL(X) MSerial##X +#define MSERIAL(X) _MSERIAL(X) + +#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY) + #define NUM_UARTS 5 +#else + #define NUM_UARTS 3 +#endif + +#if SERIAL_PORT == -1 #define MYSERIAL0 UsbSerial -#elif SERIAL_PORT == 1 - #define MYSERIAL0 MSerial1 -#elif SERIAL_PORT == 2 - #define MYSERIAL0 MSerial2 -#elif SERIAL_PORT == 3 - #define MYSERIAL0 MSerial3 -#elif SERIAL_PORT == 4 - #define MYSERIAL0 MSerial4 -#elif SERIAL_PORT == 5 - #define MYSERIAL0 MSerial5 +#elif WITHIN(SERIAL_PORT, 1, NUM_UARTS) + #define MYSERIAL0 MSERIAL(SERIAL_PORT) +#elif NUM_UARTS == 5 + #error "SERIAL_PORT must be -1 or from 1 to 5. Please update your configuration." #else - #error "SERIAL_PORT must be from -1 to 5. Please update your configuration." + #error "SERIAL_PORT must be -1 or from 1 to 3. Please update your configuration." #endif #ifdef SERIAL_PORT_2 - #if SERIAL_PORT_2 == 0 - #error "SERIAL_PORT_2 cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif SERIAL_PORT_2 == SERIAL_PORT - #error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration." - #elif SERIAL_PORT_2 == -1 + #if SERIAL_PORT_2 == -1 #define MYSERIAL1 UsbSerial - #elif SERIAL_PORT_2 == 1 - #define MYSERIAL1 MSerial1 - #elif SERIAL_PORT_2 == 2 - #define MYSERIAL1 MSerial2 - #elif SERIAL_PORT_2 == 3 - #define MYSERIAL1 MSerial3 - #elif SERIAL_PORT_2 == 4 - #define MYSERIAL1 MSerial4 - #elif SERIAL_PORT_2 == 5 - #define MYSERIAL1 MSerial5 + #elif WITHIN(SERIAL_PORT_2, 1, NUM_UARTS) + #define MYSERIAL1 MSERIAL(SERIAL_PORT_2) + #elif NUM_UARTS == 5 + #error "SERIAL_PORT_2 must be -1 or from 1 to 5. Please update your configuration." #else - #error "SERIAL_PORT_2 must be from -1 to 5. Please update your configuration." + #error "SERIAL_PORT_2 must be -1 or from 1 to 3. Please update your configuration." #endif #endif -#ifdef DGUS_SERIAL_PORT - #if DGUS_SERIAL_PORT == 0 - #error "DGUS_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL UsbSerial - #elif DGUS_SERIAL_PORT == 1 - #define DGUS_SERIAL MSerial1 - #elif DGUS_SERIAL_PORT == 2 - #define DGUS_SERIAL MSerial2 - #elif DGUS_SERIAL_PORT == 3 - #define DGUS_SERIAL MSerial3 - #elif DGUS_SERIAL_PORT == 4 - #define DGUS_SERIAL MSerial4 - #elif DGUS_SERIAL_PORT == 5 - #define DGUS_SERIAL MSerial5 +#ifdef LCD_SERIAL_PORT + #if LCD_SERIAL_PORT == -1 + #define LCD_SERIAL UsbSerial + #elif WITHIN(LCD_SERIAL_PORT, 1, NUM_UARTS) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) + #elif NUM_UARTS == 5 + #error "LCD_SERIAL_PORT must be -1 or from 1 to 5. Please update your configuration." #else - #error "DGUS_SERIAL_PORT must be from -1 to 5. Please update your configuration." + #error "LCD_SERIAL_PORT must be -1 or from 1 to 3. Please update your configuration." #endif #endif - // Set interrupt grouping for this MCU void HAL_init(); #define HAL_IDLETASK 1 diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp index 9a48e901f42d..ebf11cb429fa 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.cpp +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.cpp @@ -22,7 +22,7 @@ #ifdef __STM32F1__ -#include "../../inc/MarlinConfigPre.h" +#include "../../inc/MarlinConfig.h" #include "MarlinSerial.h" #include @@ -53,7 +53,8 @@ static inline __always_inline void my_usart_irq(ring_buffer *rb, ring_buffer *wb rb_push_insert(rb, c); #endif #if ENABLED(EMERGENCY_PARSER) - emergency_parser.update(serial.emergency_state, c); + if (serial.emergency_parser_enabled()) + emergency_parser.update(serial.emergency_state, c); #endif } } @@ -73,40 +74,120 @@ static inline __always_inline void my_usart_irq(ring_buffer *rb, ring_buffer *wb } } -#define DEFINE_HWSERIAL_MARLIN(name, n) \ - MarlinSerial name(USART##n, \ - BOARD_USART##n##_TX_PIN, \ - BOARD_USART##n##_RX_PIN); \ - extern "C" void __irq_usart##n(void) { \ +// Not every MarlinSerial port should handle emergency parsing. +// It would not make sense to parse GCode from TMC responses, for example. +constexpr bool serial_handles_emergency(int port) { + return false + #ifdef SERIAL_PORT + || (SERIAL_PORT) == port + #endif + #ifdef SERIAL_PORT_2 + || (SERIAL_PORT_2) == port + #endif + #ifdef LCD_SERIAL_PORT + || (LCD_SERIAL_PORT) == port + #endif + ; +} + +#define DEFINE_HWSERIAL_MARLIN(name, n) \ + MarlinSerial name(USART##n, \ + BOARD_USART##n##_TX_PIN, \ + BOARD_USART##n##_RX_PIN, \ + serial_handles_emergency(n)); \ + extern "C" void __irq_usart##n(void) { \ my_usart_irq(USART##n->rb, USART##n->wb, USART##n##_BASE, MSerial##n); \ } #define DEFINE_HWSERIAL_UART_MARLIN(name, n) \ MarlinSerial name(UART##n, \ - BOARD_USART##n##_TX_PIN, \ - BOARD_USART##n##_RX_PIN); \ + BOARD_USART##n##_TX_PIN, \ + BOARD_USART##n##_RX_PIN, \ + serial_handles_emergency(n)); \ extern "C" void __irq_usart##n(void) { \ - my_usart_irq(USART##n->rb, USART##n->wb, USART##n##_BASE, MSerial##n); \ + my_usart_irq(UART##n->rb, UART##n->wb, UART##n##_BASE, MSerial##n); \ } -#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1 || DGUS_SERIAL_PORT == 1 - DEFINE_HWSERIAL_MARLIN(MSerial1, 1); +// Instantiate all UARTs even if they are not needed +// This avoids a bunch of logic to figure out every serial +// port which may be in use on the system. +DEFINE_HWSERIAL_MARLIN(MSerial1, 1); +DEFINE_HWSERIAL_MARLIN(MSerial2, 2); +DEFINE_HWSERIAL_MARLIN(MSerial3, 3); +#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY) + DEFINE_HWSERIAL_UART_MARLIN(MSerial4, 4); + DEFINE_HWSERIAL_UART_MARLIN(MSerial5, 5); #endif -#if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2 || DGUS_SERIAL_PORT == 2 - DEFINE_HWSERIAL_MARLIN(MSerial2, 2); -#endif +// Check the type of each serial port by passing it to a template function. +// HardwareSerial is known to sometimes hang the controller when an error occurs, +// so this case will fail the static assert. All other classes are assumed to be ok. +template +constexpr bool IsSerialClassAllowed(const T&) { return true; } +constexpr bool IsSerialClassAllowed(const HardwareSerial&) { return false; } -#if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3 || DGUS_SERIAL_PORT == 3 - DEFINE_HWSERIAL_MARLIN(MSerial3, 3); -#endif +#define CHECK_CFG_SERIAL(A) static_assert(IsSerialClassAllowed(A), STRINGIFY(A) " is defined incorrectly"); +#define CHECK_AXIS_SERIAL(A) static_assert(IsSerialClassAllowed(A##_HARDWARE_SERIAL), STRINGIFY(A) "_HARDWARE_SERIAL must be defined in the form MSerial1, rather than Serial1"); -#if SERIAL_PORT == 4 || SERIAL_PORT_2 == 4 || DGUS_SERIAL_PORT == 4 - DEFINE_HWSERIAL_UART_MARLIN(MSerial4, 4); -#endif +// If you encounter this error, replace SerialX with MSerialX, for example MSerial3. -#if SERIAL_PORT == 5 || SERIAL_PORT_2 == 5 || DGUS_SERIAL_PORT == 5 - DEFINE_HWSERIAL_UART_MARLIN(MSerial5, 5); +// Non-TMC ports were already validated in HAL.h, so do not require verbose error messages. +#ifdef MYSERIAL0 + CHECK_CFG_SERIAL(MYSERIAL0); +#endif +#ifdef MYSERIAL1 + CHECK_CFG_SERIAL(MYSERIAL1); +#endif +#ifdef LCD_SERIAL + CHECK_CFG_SERIAL(LCD_SERIAL); +#endif +#if AXIS_HAS_HW_SERIAL(X) + CHECK_AXIS_SERIAL(X); +#endif +#if AXIS_HAS_HW_SERIAL(X2) + CHECK_AXIS_SERIAL(X2); +#endif +#if AXIS_HAS_HW_SERIAL(Y) + CHECK_AXIS_SERIAL(Y); +#endif +#if AXIS_HAS_HW_SERIAL(Y2) + CHECK_AXIS_SERIAL(Y2); +#endif +#if AXIS_HAS_HW_SERIAL(Z) + CHECK_AXIS_SERIAL(Z); +#endif +#if AXIS_HAS_HW_SERIAL(Z2) + CHECK_AXIS_SERIAL(Z2); +#endif +#if AXIS_HAS_HW_SERIAL(Z3) + CHECK_AXIS_SERIAL(Z3); +#endif +#if AXIS_HAS_HW_SERIAL(Z4) + CHECK_AXIS_SERIAL(Z4); +#endif +#if AXIS_HAS_HW_SERIAL(E0) + CHECK_AXIS_SERIAL(E0); +#endif +#if AXIS_HAS_HW_SERIAL(E1) + CHECK_AXIS_SERIAL(E1); +#endif +#if AXIS_HAS_HW_SERIAL(E2) + CHECK_AXIS_SERIAL(E2); +#endif +#if AXIS_HAS_HW_SERIAL(E3) + CHECK_AXIS_SERIAL(E3); +#endif +#if AXIS_HAS_HW_SERIAL(E4) + CHECK_AXIS_SERIAL(E4); +#endif +#if AXIS_HAS_HW_SERIAL(E5) + CHECK_AXIS_SERIAL(E5); +#endif +#if AXIS_HAS_HW_SERIAL(E6) + CHECK_AXIS_SERIAL(E6); +#endif +#if AXIS_HAS_HW_SERIAL(E7) + CHECK_AXIS_SERIAL(E7); #endif #endif // __STM32F1__ diff --git a/Marlin/src/HAL/STM32F1/MarlinSerial.h b/Marlin/src/HAL/STM32F1/MarlinSerial.h index b9248e50caff..6aa94b64fff7 100644 --- a/Marlin/src/HAL/STM32F1/MarlinSerial.h +++ b/Marlin/src/HAL/STM32F1/MarlinSerial.h @@ -35,15 +35,22 @@ class MarlinSerial : public HardwareSerial { public: - MarlinSerial(struct usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin) : + #if ENABLED(EMERGENCY_PARSER) + const bool ep_enabled; + EmergencyParser::State emergency_state; + inline bool emergency_parser_enabled() { return ep_enabled; } + #endif + + MarlinSerial(struct usart_dev *usart_device, uint8 tx_pin, uint8 rx_pin, bool TERN_(EMERGENCY_PARSER, ep_capable)) : HardwareSerial(usart_device, tx_pin, rx_pin) #if ENABLED(EMERGENCY_PARSER) + , ep_enabled(ep_capable) , emergency_state(EmergencyParser::State::EP_RESET) #endif { } #ifdef UART_IRQ_PRIO - // shadow the parent methods to set irq priority after the begin + // Shadow the parent methods to set IRQ priority after begin() void begin(uint32 baud) { MarlinSerial::begin(baud, SERIAL_8N1); } @@ -53,14 +60,12 @@ class MarlinSerial : public HardwareSerial { nvic_irq_set_priority(c_dev()->irq_num, UART_IRQ_PRIO); } #endif - - #if ENABLED(EMERGENCY_PARSER) - EmergencyParser::State emergency_state; - #endif }; extern MarlinSerial MSerial1; extern MarlinSerial MSerial2; extern MarlinSerial MSerial3; -extern MarlinSerial MSerial4; -extern MarlinSerial MSerial5; +#if EITHER(STM32_HIGH_DENSITY, STM32_XL_DENSITY) + extern MarlinSerial MSerial4; + extern MarlinSerial MSerial5; +#endif diff --git a/Marlin/src/HAL/STM32F1/msc_sd.h b/Marlin/src/HAL/STM32F1/msc_sd.h index d9cdbe6bb3d1..1e4e4c44b1b5 100644 --- a/Marlin/src/HAL/STM32F1/msc_sd.h +++ b/Marlin/src/HAL/STM32F1/msc_sd.h @@ -32,6 +32,7 @@ class MarlinUSBCompositeSerial : public USBCompositeSerial { #if ENABLED(EMERGENCY_PARSER) EmergencyParser::State emergency_state; + inline bool emergency_parser_enabled() { return true; } #endif }; diff --git a/Marlin/src/HAL/STM32_F4_F7/HAL.h b/Marlin/src/HAL/STM32_F4_F7/HAL.h index e132168205bb..88e48f0fa09d 100644 --- a/Marlin/src/HAL/STM32_F4_F7/HAL.h +++ b/Marlin/src/HAL/STM32_F4_F7/HAL.h @@ -72,15 +72,15 @@ #endif #endif -#ifdef DGUS_SERIAL_PORT - #if defined(STM32F4) && DGUS_SERIAL_PORT == 0 - #error "DGUS_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." - #elif DGUS_SERIAL_PORT == -1 - #define DGUS_SERIAL SerialUSB - #elif WITHIN(DGUS_SERIAL_PORT, 0, 6) - #define DGUS_SERIAL MSERIAL(DGUS_SERIAL_PORT) +#ifdef LCD_SERIAL_PORT + #if defined(STM32F4) && LCD_SERIAL_PORT == 0 + #error "LCD_SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration." + #elif LCD_SERIAL_PORT == -1 + #define LCD_SERIAL SerialUSB + #elif WITHIN(LCD_SERIAL_PORT, 0, 6) + #define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT) #else - #error "DGUS_SERIAL_PORT must be from -1 to 6. Please update your configuration." + #error "LCD_SERIAL_PORT must be from -1 to 6. Please update your configuration." #endif #endif diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 73e034d05f2f..d3f608e0a476 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -422,3 +422,37 @@ #if ANY(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_LINEAR, Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) #define NEED_LSF 1 #endif + +// Flag the indexed serial ports that are in use +#define ANY_SERIAL_IS(N) (defined(SERIAL_PORT) && SERIAL_PORT == (N)) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == (N)) || (defined(LCD_SERIAL_PORT) && LCD_SERIAL_PORT == (N)) +#if ANY_SERIAL_IS(-1) + #define USING_SERIAL_DEFAULT +#endif +#if ANY_SERIAL_IS(0) + #define USING_SERIAL_0 1 +#endif +#if ANY_SERIAL_IS(1) + #define USING_SERIAL_1 1 +#endif +#if ANY_SERIAL_IS(2) + #define USING_SERIAL_2 1 +#endif +#if ANY_SERIAL_IS(3) + #define USING_SERIAL_3 1 +#endif +#if ANY_SERIAL_IS(4) + #define USING_SERIAL_4 1 +#endif +#if ANY_SERIAL_IS(5) + #define USING_SERIAL_5 1 +#endif +#if ANY_SERIAL_IS(6) + #define USING_SERIAL_6 1 +#endif +#if ANY_SERIAL_IS(7) + #define USING_SERIAL_7 1 +#endif +#if ANY_SERIAL_IS(8) + #define USING_SERIAL_8 1 +#endif +#undef ANY_SERIAL_IS diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 4c0b68e8aec0..27bafe00485e 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -477,6 +477,10 @@ #error "HOME_USING_SPREADCYCLE is now obsolete. Please remove it from Configuration_adv.h." #elif defined(DGUS_LCD) #error "DGUS_LCD is now DGUS_LCD_UI_(ORIGIN|FYSETC|HIPRECY). Please update your configuration." +#elif defined(DGUS_SERIAL_PORT) + #error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration." +#elif defined(DGUS_BAUDRATE) + #error "DGUS_BAUDRATE is now LCD_BAUDRATE. Please update your configuration." #elif defined(X_DUAL_ENDSTOPS_ADJUSTMENT) #error "X_DUAL_ENDSTOPS_ADJUSTMENT is now X2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h." #elif defined(Y_DUAL_ENDSTOPS_ADJUSTMENT) @@ -2281,31 +2285,20 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal /** * Serial displays require a dedicated serial port */ -#if HAS_DGUS_LCD - #ifndef DGUS_SERIAL_PORT - #error "The DGUS LCD requires DGUS_SERIAL_PORT to be defined in Configuration.h" - #elif DGUS_SERIAL_PORT == SERIAL_PORT - #error "DGUS_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2 - #error "DGUS_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." - #endif -#elif ENABLED(MALYAN_LCD) - #ifndef LCD_SERIAL_PORT - #error "MALYAN_LCD requires LCD_SERIAL_PORT to be defined in Configuration.h" - #elif LCD_SERIAL_PORT == SERIAL_PORT +#ifdef LCD_SERIAL_PORT + #if LCD_SERIAL_PORT == SERIAL_PORT #error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." #elif defined(SERIAL_PORT_2) && LCD_SERIAL_PORT == SERIAL_PORT_2 #error "LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." #endif -#elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) - #ifndef ANYCUBIC_LCD_SERIAL_PORT - #error "The ANYCUBIC LCD requires ANYCUBIC_LCD_SERIAL_PORT to be defined in Configuration.h" - #elif ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT - #error "ANYCUBIC_LCD_SERIAL_PORT cannot be the same as SERIAL_PORT. Please update your configuration." - #elif defined(SERIAL_PORT_2) && ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT_2 - #error "ANYCUBIC_LCD_SERIAL_PORT cannot be the same as SERIAL_PORT_2. Please update your configuration." +#else + #if HAS_DGUS_LCD + #error "The DGUS LCD requires LCD_SERIAL_PORT to be defined in Configuration.h" + #elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) + #error "The ANYCUBIC LCD requires LCD_SERIAL_PORT to be defined in Configuration.h" + #elif ENABLED(MALYAN_LCD) + #error "MALYAN_LCD requires LCD_SERIAL_PORT to be defined in Configuration.h" #endif - #define ANYCUBIC_LCD_SERIAL anycubicLcdSerial #endif /** diff --git a/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp index 889a25b85950..4a8095b6e993 100644 --- a/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp +++ b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp @@ -53,12 +53,12 @@ static bool is_printing_from_sd = false; static bool is_out_of_filament = false; static void sendNewLine(void) { - ANYCUBIC_LCD_SERIAL.write('\r'); - ANYCUBIC_LCD_SERIAL.write('\n'); + LCD_SERIAL.write('\r'); + LCD_SERIAL.write('\n'); } static void send(const char *str) { - ANYCUBIC_LCD_SERIAL.print(str); + LCD_SERIAL.print(str); } static void sendLine(const char *str) { @@ -68,7 +68,7 @@ static void sendLine(const char *str) { static void send_P(PGM_P str) { while (const char c = pgm_read_byte(str++)) - ANYCUBIC_LCD_SERIAL.write(c); + LCD_SERIAL.write(c); } static void sendLine_P(PGM_P str) { @@ -78,23 +78,23 @@ static void sendLine_P(PGM_P str) { static void sendValue_P(PGM_P prefix, int value) { send_P(prefix); - ANYCUBIC_LCD_SERIAL.print(value); + LCD_SERIAL.print(value); } static void sendValue_P(PGM_P prefix, float value) { send_P(prefix); - ANYCUBIC_LCD_SERIAL.print(value); + LCD_SERIAL.print(value); } static void sendValueLine_P(PGM_P prefix, int value) { send_P(prefix); - ANYCUBIC_LCD_SERIAL.print(value); + LCD_SERIAL.print(value); sendNewLine(); } static void sendValueLine_P(PGM_P prefix, float value) { send_P(prefix); - ANYCUBIC_LCD_SERIAL.print(value); + LCD_SERIAL.print(value); sendNewLine(); } @@ -426,8 +426,8 @@ namespace ExtUI { static char rxBuffer[RX_LEN_MAX+1]; static uint8_t rxLen = 0; - while (ANYCUBIC_LCD_SERIAL.available()) { - const char c = ANYCUBIC_LCD_SERIAL.read(); + while (LCD_SERIAL.available()) { + const char c = LCD_SERIAL.read(); switch (c) { case '\r': case '\n': if (rxLen > 0 && rxLen <= RX_LEN_MAX) { @@ -466,7 +466,10 @@ namespace ExtUI { } void onStartup() { - ANYCUBIC_LCD_SERIAL.begin(115200); + #ifndef LCD_BAUDRATE + #define LCD_BAUDRATE 115200 + #endif + LCD_SERIAL.begin(LCD_BAUDRATE); sendNewLine(); SENDLINE_PGM("J17"); // Reset delay_ms(10); diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index 486f2627783d..c69fb8351a74 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -59,12 +59,12 @@ char *itostr2(const uint8_t &x) { } static void sendNewLine(void) { - ANYCUBIC_LCD_SERIAL.write('\r'); - ANYCUBIC_LCD_SERIAL.write('\n'); + LCD_SERIAL.write('\r'); + LCD_SERIAL.write('\n'); } static void send(const char *str) { - ANYCUBIC_LCD_SERIAL.print(str); + LCD_SERIAL.print(str); } static void sendLine(const char *str) { @@ -74,7 +74,7 @@ static void sendLine(const char *str) { static void send_P(PGM_P str) { while (const char c = pgm_read_byte(str++)) - ANYCUBIC_LCD_SERIAL.write(c); + LCD_SERIAL.write(c); } static void sendLine_P(PGM_P str) { @@ -576,8 +576,8 @@ void AnycubicTFTClass::OnPrintTimerStopped() { void AnycubicTFTClass::GetCommandFromTFT() { char *starpos = NULL; - while (ANYCUBIC_LCD_SERIAL.available() > 0 && TFTbuflen < TFTBUFSIZE) { - serial3_char = ANYCUBIC_LCD_SERIAL.read(); + while (LCD_SERIAL.available() > 0 && TFTbuflen < TFTBUFSIZE) { + serial3_char = LCD_SERIAL.read(); if (serial3_char == '\n' || serial3_char == '\r' || serial3_char == ':' || @@ -639,11 +639,11 @@ void AnycubicTFTClass::GetCommandFromTFT() { float yPostition = ExtUI::getAxisPosition_mm(ExtUI::Y); float zPostition = ExtUI::getAxisPosition_mm(ExtUI::Z); SEND_PGM("A5V X: "); - ANYCUBIC_LCD_SERIAL.print(xPostition); + LCD_SERIAL.print(xPostition); SEND_PGM(" Y: "); - ANYCUBIC_LCD_SERIAL.print(yPostition); + LCD_SERIAL.print(yPostition); SEND_PGM(" Z: "); - ANYCUBIC_LCD_SERIAL.print(zPostition); + LCD_SERIAL.print(zPostition); SENDLINE_PGM(""); } break; diff --git a/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp b/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp index b788587c9412..5181ba7cc454 100644 --- a/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp +++ b/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp @@ -59,23 +59,13 @@ constexpr uint8_t DGUS_CMD_READVAR = 0x83; bool dguslcd_local_debug; // = false; #endif -#define dgusserial DGUS_SERIAL - void DGUSDisplay::InitDisplay() { - dgusserial.begin(DGUS_BAUDRATE); - - if (true - #if ENABLED(POWER_LOSS_RECOVERY) - && !recovery.valid() - #endif - ) - RequestScreen( - #if ENABLED(SHOW_BOOTSCREEN) - DGUSLCD_SCREEN_BOOT - #else - DGUSLCD_SCREEN_MAIN - #endif - ); + #ifndef LCD_BAUDRATE + #define LCD_BAUDRATE 115200 + #endif + LCD_SERIAL.begin(LCD_BAUDRATE); + if (TERN1(POWER_LOSS_RECOVERY, !recovery.valid())) + RequestScreen(TERN(SHOW_BOOTSCREEN, DGUSLCD_SCREEN_BOOT, DGUSLCD_SCREEN_MAIN)); } void DGUSDisplay::WriteVariable(uint16_t adr, const void* values, uint8_t valueslen, bool isstr) { @@ -89,7 +79,7 @@ void DGUSDisplay::WriteVariable(uint16_t adr, const void* values, uint8_t values strend = true; x = ' '; } - dgusserial.write(x); + LCD_SERIAL.write(x); } } @@ -133,41 +123,41 @@ void DGUSDisplay::WriteVariablePGM(uint16_t adr, const void* values, uint8_t val strend = true; x = ' '; } - dgusserial.write(x); + LCD_SERIAL.write(x); } } void DGUSDisplay::ProcessRx() { #if ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS) - if (!dgusserial.available() && dgusserial.buffer_overruns()) { + if (!LCD_SERIAL.available() && LCD_SERIAL.buffer_overruns()) { // Overrun, but reset the flag only when the buffer is empty // We want to extract as many as valid datagrams possible... DEBUG_ECHOPGM("OVFL"); rx_datagram_state = DGUS_IDLE; - //dgusserial.reset_rx_overun(); - dgusserial.flush(); + //LCD_SERIAL.reset_rx_overun(); + LCD_SERIAL.flush(); } #endif uint8_t receivedbyte; - while (dgusserial.available()) { + while (LCD_SERIAL.available()) { switch (rx_datagram_state) { case DGUS_IDLE: // Waiting for the first header byte - receivedbyte = dgusserial.read(); + receivedbyte = LCD_SERIAL.read(); //DEBUG_ECHOPAIR("< ",x); if (DGUS_HEADER1 == receivedbyte) rx_datagram_state = DGUS_HEADER1_SEEN; break; case DGUS_HEADER1_SEEN: // Waiting for the second header byte - receivedbyte = dgusserial.read(); + receivedbyte = LCD_SERIAL.read(); //DEBUG_ECHOPAIR(" ",x); rx_datagram_state = (DGUS_HEADER2 == receivedbyte) ? DGUS_HEADER2_SEEN : DGUS_IDLE; break; case DGUS_HEADER2_SEEN: // Waiting for the length byte - rx_datagram_len = dgusserial.read(); + rx_datagram_len = LCD_SERIAL.read(); DEBUG_ECHOPAIR(" (", rx_datagram_len, ") "); // Telegram min len is 3 (command and one word of payload) @@ -175,10 +165,10 @@ void DGUSDisplay::ProcessRx() { break; case DGUS_WAIT_TELEGRAM: // wait for complete datagram to arrive. - if (dgusserial.available() < rx_datagram_len) return; + if (LCD_SERIAL.available() < rx_datagram_len) return; Initialized = true; // We've talked to it, so we defined it as initialized. - uint8_t command = dgusserial.read(); + uint8_t command = LCD_SERIAL.read(); DEBUG_ECHOPAIR("# ", command); @@ -186,7 +176,7 @@ void DGUSDisplay::ProcessRx() { unsigned char tmp[rx_datagram_len - 1]; unsigned char *ptmp = tmp; while (readlen--) { - receivedbyte = dgusserial.read(); + receivedbyte = LCD_SERIAL.read(); DEBUG_ECHOPAIR(" ", receivedbyte); *ptmp++ = receivedbyte; } @@ -229,19 +219,19 @@ void DGUSDisplay::ProcessRx() { } } -size_t DGUSDisplay::GetFreeTxBuffer() { return DGUS_SERIAL_GET_TX_BUFFER_FREE(); } +size_t DGUSDisplay::GetFreeTxBuffer() { return SERIAL_GET_TX_BUFFER_FREE(); } void DGUSDisplay::WriteHeader(uint16_t adr, uint8_t cmd, uint8_t payloadlen) { - dgusserial.write(DGUS_HEADER1); - dgusserial.write(DGUS_HEADER2); - dgusserial.write(payloadlen + 3); - dgusserial.write(cmd); - dgusserial.write(adr >> 8); - dgusserial.write(adr & 0xFF); + LCD_SERIAL.write(DGUS_HEADER1); + LCD_SERIAL.write(DGUS_HEADER2); + LCD_SERIAL.write(payloadlen + 3); + LCD_SERIAL.write(cmd); + LCD_SERIAL.write(adr >> 8); + LCD_SERIAL.write(adr & 0xFF); } void DGUSDisplay::WritePGM(const char str[], uint8_t len) { - while (len--) dgusserial.write(pgm_read_byte(str++)); + while (len--) LCD_SERIAL.write(pgm_read_byte(str++)); } void DGUSDisplay::loop() { diff --git a/buildroot/tests/mks_robin_pro-tests b/buildroot/tests/mks_robin_pro-tests index cfd36832fdef..7ae4670fedac 100644 --- a/buildroot/tests/mks_robin_pro-tests +++ b/buildroot/tests/mks_robin_pro-tests @@ -7,6 +7,7 @@ set -e use_example_configs Mks/Robin_Pro +opt_enable EMERGENCY_PARSER opt_set SDCARD_CONNECTION LCD opt_set X_DRIVER_TYPE TMC2209 opt_set Y_DRIVER_TYPE TMC2130 From 23faf902ab09019c90b626824e1ede652ded344d Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 24 Sep 2020 19:19:04 -0700 Subject: [PATCH 134/277] BigTreeTech SKR E3 Turbo (#19500) --- Marlin/src/MarlinCore.cpp | 53 ++++ Marlin/src/core/boards.h | 1 + .../src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h | 266 ++++++++++++++++++ Marlin/src/pins/pins.h | 2 + 4 files changed, 322 insertions(+) create mode 100644 Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index e11439861bd4..c6c6ef9b0db5 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -867,6 +867,57 @@ void stop() { } } +inline void tmc_standby_setup() { + #if PIN_EXISTS(X_STDBY) + SET_INPUT_PULLDOWN(X_STDBY_PIN); + #endif + #if PIN_EXISTS(X2_STDBY) + SET_INPUT_PULLDOWN(X2_STDBY_PIN); + #endif + #if PIN_EXISTS(Y_STDBY) + SET_INPUT_PULLDOWN(Y_STDBY_PIN); + #endif + #if PIN_EXISTS(Y2_STDBY) + SET_INPUT_PULLDOWN(Y2_STDBY_PIN); + #endif + #if PIN_EXISTS(Z_STDBY) + SET_INPUT_PULLDOWN(Z_STDBY_PIN); + #endif + #if PIN_EXISTS(Z2_STDBY) + SET_INPUT_PULLDOWN(Z2_STDBY_PIN); + #endif + #if PIN_EXISTS(Z3_STDBY) + SET_INPUT_PULLDOWN(Z3_STDBY_PIN); + #endif + #if PIN_EXISTS(Z4_STDBY) + SET_INPUT_PULLDOWN(Z4_STDBY_PIN); + #endif + #if PIN_EXISTS(E0_STDBY) + SET_INPUT_PULLDOWN(E0_STDBY_PIN); + #endif + #if PIN_EXISTS(E1_STDBY) + SET_INPUT_PULLDOWN(E1_STDBY_PIN); + #endif + #if PIN_EXISTS(E2_STDBY) + SET_INPUT_PULLDOWN(E2_STDBY_PIN); + #endif + #if PIN_EXISTS(E3_STDBY) + SET_INPUT_PULLDOWN(E3_STDBY_PIN); + #endif + #if PIN_EXISTS(E4_STDBY) + SET_INPUT_PULLDOWN(E4_STDBY_PIN); + #endif + #if PIN_EXISTS(E5_STDBY) + SET_INPUT_PULLDOWN(E5_STDBY_PIN); + #endif + #if PIN_EXISTS(E6_STDBY) + SET_INPUT_PULLDOWN(E6_STDBY_PIN); + #endif + #if PIN_EXISTS(E7_STDBY) + SET_INPUT_PULLDOWN(E7_STDBY_PIN); + #endif +} + /** * Marlin entry-point: Set up before the program loop * - Set up the kill pin, filament runout, power hold @@ -888,6 +939,8 @@ void stop() { */ void setup() { + tmc_standby_setup(); // TMC Low Power Standby pins must be set early or they're not usable + #if ENABLED(MARLIN_DEV_MODE) auto log_current_ms = [&](PGM_P const msg) { SERIAL_ECHO_START(); diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index e27448b0220b..9e0451486e63 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -223,6 +223,7 @@ #define BOARD_BTT_SKR_V1_1 2012 // BigTreeTech SKR v1.1 (Power outputs: Hotend0, Hotend1, Fan, Bed) #define BOARD_BTT_SKR_V1_3 2013 // BigTreeTech SKR v1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed) #define BOARD_BTT_SKR_V1_4 2014 // BigTreeTech SKR v1.4 (Power outputs: Hotend0, Hotend1, Fan, Bed) +#define BOARD_BTT_SKR_E3_TURBO 2015 // BigTreeTech SKR E3 Turbo (Power outputs: Hotend0, Hotend1, Fan, Bed) // // LPC1769 ARM Cortex M3 diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h new file mode 100644 index 000000000000..143504f0e338 --- /dev/null +++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h @@ -0,0 +1,266 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifndef BOARD_INFO_NAME + #define BOARD_INFO_NAME "BTT SKR E3 Turbo" +#endif + +// Onboard I2C EEPROM +#define I2C_EEPROM +#define MARLIN_EEPROM_SIZE 0x1000 // 4KB (AT24C32) + +// +// Servos +// +#define SERVO0_PIN P1_23 + +// +// TMC StallGuard DIAG pins +// +#define X_DIAG_PIN P1_29 // X-STOP +#define Y_DIAG_PIN P1_28 // Y-STOP +#define Z_DIAG_PIN P1_27 // Z-STOP +#define E0_DIAG_PIN P1_26 // E0DET +#define E1_DIAG_PIN P1_25 // E1DET + +// +// Limit Switches +#define X_STOP_PIN X_DIAG_PIN +#define Y_STOP_PIN Y_DIAG_PIN +#define Z_STOP_PIN Z_DIAG_PIN + +// +// Z Probe +// +#ifndef Z_MIN_PROBE_PIN + #define Z_MIN_PROBE_PIN P1_22 +#endif + +// +// Filament Runout Sensor +// +#define FIL_RUNOUT_PIN P1_26 // E0DET +#define FIL_RUNOUT2_PIN P1_25 // E1DET + +// +// Power Supply Control +// +#ifndef PS_ON_PIN + #define PS_ON_PIN P1_21 +#endif + +// LED driving pin +#define NEOPIXEL_PIN P1_24 + +// +// Power Loss Detection +// +#ifndef POWER_LOSS_PIN + #define POWER_LOSS_PIN P1_20 // PWRDET +#endif + +// +// Steppers +// +#define X_STEP_PIN P1_04 +#define X_DIR_PIN P1_08 +#define X_ENABLE_PIN P1_00 +#ifndef X_CS_PIN + #define X_CS_PIN P1_01 +#endif + +#define Y_STEP_PIN P1_14 +#define Y_DIR_PIN P1_15 +#define Y_ENABLE_PIN P1_09 +#ifndef Y_CS_PIN + #define Y_CS_PIN P1_10 +#endif + +#define Z_STEP_PIN P4_29 +#define Z_DIR_PIN P4_28 +#define Z_ENABLE_PIN P1_16 +#ifndef Z_CS_PIN + #define Z_CS_PIN P1_17 +#endif + +#define E0_STEP_PIN P2_06 +#define E0_DIR_PIN P2_07 +#define E0_ENABLE_PIN P0_04 +#ifndef E0_CS_PIN + #define E0_CS_PIN P0_05 +#endif + +#define E1_STEP_PIN P2_11 +#define E1_DIR_PIN P2_12 +#define E1_ENABLE_PIN P0_21 +#ifndef E1_CS_PIN + #define E1_CS_PIN P0_22 +#endif + +#if HAS_TMC_UART + /** + * TMC2208/TMC2209 stepper drivers + * + * Hardware serial communication ports. + * If undefined software serial is used according to the pins below + */ + + // + // Software serial + // + #define X_SERIAL_TX_PIN P1_01 + #define X_SERIAL_RX_PIN P1_01 + + #define Y_SERIAL_TX_PIN P1_10 + #define Y_SERIAL_RX_PIN P1_10 + + #define Z_SERIAL_TX_PIN P1_17 + #define Z_SERIAL_RX_PIN P1_17 + + #define E0_SERIAL_TX_PIN P0_05 + #define E0_SERIAL_RX_PIN P0_05 + + #define E1_SERIAL_TX_PIN P0_22 + #define E1_SERIAL_RX_PIN P0_22 + + // Reduce baud rate to improve software serial reliability + #define TMC_BAUD_RATE 19200 +#endif + +// +// TMC Low Power Standby pins +// +#define X_STDBY_PIN P3_26 +#define Y_STDBY_PIN P3_25 +#define Z_STDBY_PIN P1_18 +#define E0_STDBY_PIN P1_19 +#define E1_STDBY_PIN P2_13 + +// +// Temperature Sensors +// +#define TEMP_0_PIN P0_24 +#define TEMP_1_PIN P0_23 +//#define TEMP_2_PIN P1_30 // Onboard thermistor +#define TEMP_BED_PIN P0_25 + +// +// Heaters / Fans +// +#define HEATER_0_PIN P2_03 // EXTRUDER 0 +#define HEATER_1_PIN P2_04 // EXTRUDER 1 +#define HEATER_BED_PIN P2_05 // BED +#define FAN_PIN P2_01 +#define FAN1_PIN P2_02 + +// +// USB connect control +// +//#define USB_CONNECT_PIN P0_29 +//#define USB_CONNECT_INVERTING false + +/** + * _____ + * 5V | 1 2 | GND + * (LCD_EN) P0_18 | 3 4 | P0_17 (LCD_RS) + * (LCD_D4) P0_15 | 5 6 P0_20 (BTN_EN2) + * RESET | 7 8 | P0_19 (BTN_EN1) + * (BTN_ENC) P0_16 | 9 10| P2_08 (BEEPER) + * ----- + * EXP + */ + +#define EXPA1_03_PIN P0_18 +#define EXPA1_04_PIN P0_17 +#define EXPA1_05_PIN P0_15 +#define EXPA1_06_PIN P0_20 +#define EXPA1_07_PIN -1 +#define EXPA1_08_PIN P0_19 +#define EXPA1_09_PIN P0_16 +#define EXPA1_10_PIN P2_08 + +#if HAS_SPI_LCD + + #if ENABLED(CR10_STOCKDISPLAY) + + #define BEEPER_PIN EXPA1_10_PIN + + #define BTN_EN1 EXPA1_08_PIN + #define BTN_EN2 EXPA1_06_PIN + #define BTN_ENC EXPA1_09_PIN + + #define LCD_PINS_RS EXPA1_04_PIN + #define LCD_PINS_ENABLE EXPA1_03_PIN + #define LCD_PINS_D4 EXPA1_05_PIN + + #elif ENABLED(ZONESTAR_LCD) // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD! + + #error "CAUTION! ZONESTAR_LCD requires wiring modifications. See 'pins_BTT_SKR_E3_TURBO.h' for details. Comment out this line to continue." + + #define LCD_PINS_RS EXPA1_05_PIN + #define LCD_PINS_ENABLE EXPA1_09_PIN + #define LCD_PINS_D4 EXPA1_04_PIN + #define LCD_PINS_D5 EXPA1_06_PIN + #define LCD_PINS_D6 EXPA1_08_PIN + #define LCD_PINS_D7 EXPA1_10_PIN + #define ADC_KEYPAD_PIN P1_23 // Repurpose servo pin for ADC - CONNECTING TO 5V WILL DAMAGE THE BOARD! + + #elif EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY) + + #define BTN_EN1 EXPA1_08_PIN + #define BTN_EN2 EXPA1_06_PIN + #define BTN_ENC EXPA1_09_PIN + + #define DOGLCD_CS EXPA1_04_PIN + #define DOGLCD_A0 EXPA1_05_PIN + #define DOGLCD_SCK EXPA1_10_PIN + #define DOGLCD_MOSI EXPA1_03_PIN + #define FORCE_SOFT_SPI + #define LCD_BACKLIGHT_PIN -1 + + #else + + #error "Only ZONESTAR_LCD, MKS_MINI_12864, ENDER2_STOCKDISPLAY, and CR10_STOCKDISPLAY are currently supported on the BTT_SKR_E3_TURBO." + + #endif + +#endif // HAS_SPI_LCD + +// +// SD Support +// +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif + +#if SD_CONNECTION_IS(ONBOARD) + #define SD_DETECT_PIN P2_00 + #define SCK_PIN P0_07 + #define MISO_PIN P0_08 + #define MOSI_PIN P0_09 + #define SS_PIN P0_06 +#elif SD_CONNECTION_IS(CUSTOM_CABLE) + #error "SD CUSTOM_CABLE is not compatible with SKR E3 Turbo." +#endif + +#define ON_BOARD_SPI_DEVICE 1 // SPI1 diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index bf95c8731239..0ccdadadde4c 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -421,6 +421,8 @@ #include "lpc1769/pins_BTT_SKR_V1_4_TURBO.h" // LPC1769 env:LPC1769 #elif MB(MKS_SGEN_L_V2) #include "lpc1769/pins_MKS_SGEN_L_V2.h" // LPC1769 env:LPC1769 +#elif MB(BTT_SKR_E3_TURBO) + #include "lpc1769/pins_BTT_SKR_E3_TURBO.h" // LPC1769 env:LPC1769 // // Due (ATSAM) boards From 7ce91c5ffe978ac9aa7b3d2d7c7670c480085bb1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 24 Sep 2020 21:46:13 -0500 Subject: [PATCH 135/277] Sanity check old serial names --- Marlin/Configuration_adv.h | 2 +- Marlin/src/HAL/AVR/MarlinSerial.h | 2 +- Marlin/src/inc/SanityCheck.h | 8 ++++++++ Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a8c9205538ad..c5f56f18d054 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1409,7 +1409,7 @@ #define DGUS_RX_BUFFER_SIZE 128 #define DGUS_TX_BUFFER_SIZE 48 - //#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR) + //#define SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR) #define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates diff --git a/Marlin/src/HAL/AVR/MarlinSerial.h b/Marlin/src/HAL/AVR/MarlinSerial.h index cb906e2b6572..8a0423d143d8 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.h +++ b/Marlin/src/HAL/AVR/MarlinSerial.h @@ -310,7 +310,7 @@ #if HAS_DGUS_LCD static constexpr unsigned int RX_SIZE = DGUS_RX_BUFFER_SIZE; static constexpr unsigned int TX_SIZE = DGUS_TX_BUFFER_SIZE; - static constexpr bool RX_OVERRUNS = ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS); + static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS); #elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) static constexpr unsigned int RX_SIZE = 64; static constexpr unsigned int TX_SIZE = 128; diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 27bafe00485e..1cb8bcd7e902 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -481,6 +481,14 @@ #error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration." #elif defined(DGUS_BAUDRATE) #error "DGUS_BAUDRATE is now LCD_BAUDRATE. Please update your configuration." +#elif defined(DGUS_STATS_RX_BUFFER_OVERRUNS) + #error "DGUS_STATS_RX_BUFFER_OVERRUNS is now STATS_RX_BUFFER_OVERRUNS. Please update your configuration." +#elif defined(DGUS_SERIAL_PORT) + #error "DGUS_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration." +#elif defined(ANYCUBIC_LCD_SERIAL_PORT) + #error "ANYCUBIC_LCD_SERIAL_PORT is now LCD_SERIAL_PORT. Please update your configuration." +#elif defined(INTERNAL_SERIAL_PORT) + #error "INTERNAL_SERIAL_PORT is now MMU2_SERIAL_PORT. Please update your configuration." #elif defined(X_DUAL_ENDSTOPS_ADJUSTMENT) #error "X_DUAL_ENDSTOPS_ADJUSTMENT is now X2_ENDSTOP_ADJUSTMENT. Please update Configuration_adv.h." #elif defined(Y_DUAL_ENDSTOPS_ADJUSTMENT) diff --git a/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp b/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp index 5181ba7cc454..8577b76ce61f 100644 --- a/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp +++ b/Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp @@ -129,7 +129,7 @@ void DGUSDisplay::WriteVariablePGM(uint16_t adr, const void* values, uint8_t val void DGUSDisplay::ProcessRx() { - #if ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS) + #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) if (!LCD_SERIAL.available() && LCD_SERIAL.buffer_overruns()) { // Overrun, but reset the flag only when the buffer is empty // We want to extract as many as valid datagrams possible... From 178a1da165162f59a8a4a98d038ac4d2eef6c674 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Fri, 25 Sep 2020 16:58:28 -0300 Subject: [PATCH 136/277] TFT: No timeout on Move Screen (#19426) --- Marlin/src/lcd/tft/ui_480x320.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index b5b332910bd6..ffc619e8dcaf 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -956,24 +956,17 @@ static void drawBtn(int x, int y, const char* label, int32_t data, MarlinImage i uint16_t width = Images[imgBtn52Rounded].width; uint16_t height = Images[imgBtn52Rounded].height; - tft.queue.sync(); //need sync to change font - if (!enabled) bgColor = COLOR_CONTROL_DISABLED; tft.canvas(x, y, width, height); tft.set_background(COLOR_BACKGROUND); tft.add_image(0, 0, imgBtn52Rounded, bgColor, COLOR_BACKGROUND, COLOR_DARKGREY); + // TODO: Make an add_text() taking a font arg if (label != NULL) { - tft.set_font(Helvetica12Bold); - tft_string.set_font(Helvetica12Bold); tft_string.set(label); tft_string.trim(); tft.add_text(tft_string.center(width), height / 2 - tft_string.font_height() / 2, bgColor, tft_string); - - tft.queue.sync(); - tft_string.set_font(Helvetica18); - tft.set_font(Helvetica18); } else { tft.add_image(0, 0, img, bgColor, COLOR_BACKGROUND, COLOR_DARKGREY); @@ -984,6 +977,7 @@ static void drawBtn(int x, int y, const char* label, int32_t data, MarlinImage i void MarlinUI::move_axis_screen() { // Reset + defer_status_screen(true); motionAxisState.blocked = false; touch.enable(); From f902e208a39da65f0f5447e1dc669ccf06260080 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 26 Sep 2020 00:13:15 +0000 Subject: [PATCH 137/277] [cron] Bump distribution date (2020-09-26) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 95ac6d405143..c0b1912b0af8 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-25" + #define STRING_DISTRIBUTION_DATE "2020-09-26" #endif /** From 61d96ce1c99cff048674126e1d75d607edfee6be Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Fri, 25 Sep 2020 21:45:01 -0300 Subject: [PATCH 138/277] Escape the M33 string arg (#19515) --- Marlin/src/gcode/parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index 91a24d1dd0eb..b3172e7f6b42 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -247,7 +247,7 @@ void GCodeParser::parse(char *p) { #if ENABLED(EXPECTED_PRINTER_CHECK) case 16: #endif - case 23: case 28: case 30: case 117: case 118: case 928: + case 23: case 28: case 30: case 33: case 117: case 118: case 928: string_arg = unescape_string(p); return; default: break; From 7efd740950f16a22d3023f17d33b1996c1b0b7b6 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 26 Sep 2020 12:47:22 +1200 Subject: [PATCH 139/277] Fix MKS Robin undefined pins error (#19507) --- Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index 48da17adc5a9..26a0c9260e03 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -126,12 +126,7 @@ #endif #define LED_PIN PB2 -#ifdef HAS_GRAPHICAL_TFT - #define TFT_RESET_PIN PF6 - #define TFT_BACKLIGHT_PIN PG11 - #define TFT_CS_PIN PG12 // NE4 - #define TFT_RS_PIN PF0 // A0 -#else +#if HAS_FSMC_TFT /** * Note: MKS Robin TFT screens use various TFT controllers * Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240) @@ -148,10 +143,17 @@ #define LCD_BACKLIGHT_PIN PG11 #define FSMC_CS_PIN PG12 // NE4 #define FSMC_RS_PIN PF0 // A0 + #define TFT_CS_PIN FSMC_CS_PIN + #define TFT_RS_PIN FSMC_RS_PIN #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 +#elif HAS_GRAPHICAL_TFT + #define TFT_RESET_PIN PF6 + #define TFT_BACKLIGHT_PIN PG11 + #define TFT_CS_PIN PG12 // NE4 + #define TFT_RS_PIN PF0 // A0 #endif #if NEED_TOUCH_PINS From 97e0d55073b0c240a2b2b0d0d7bf6401d96ff339 Mon Sep 17 00:00:00 2001 From: Luke Harrison Date: Sat, 26 Sep 2020 02:48:24 +0200 Subject: [PATCH 140/277] Fix SKR 1.4 thermistor pin comments (#19510) --- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 1846b16e4698..fb383ff5fff5 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -153,8 +153,8 @@ #define E1_CS_PIN P1_01 #endif -#define TEMP_1_PIN P0_23_A0 // A2 (T2) - (69) - TEMP_1_PIN -#define TEMP_BED_PIN P0_25_A2 // A0 (T0) - (67) - TEMP_BED_PIN +#define TEMP_1_PIN P0_23_A0 // A0 (T0) - (67) - TEMP_1_PIN +#define TEMP_BED_PIN P0_25_A2 // A2 (T2) - (69) - TEMP_BED_PIN // // Software SPI pins for TMC2130 stepper drivers From ec4a0a3e0d999702222dbe914ec08a50fde3a706 Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Fri, 25 Sep 2020 17:49:36 -0700 Subject: [PATCH 141/277] SKR E3 Turbo followup (#19513) --- Marlin/src/core/boards.h | 2 +- Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 9e0451486e63..beb348845dd2 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -223,7 +223,6 @@ #define BOARD_BTT_SKR_V1_1 2012 // BigTreeTech SKR v1.1 (Power outputs: Hotend0, Hotend1, Fan, Bed) #define BOARD_BTT_SKR_V1_3 2013 // BigTreeTech SKR v1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed) #define BOARD_BTT_SKR_V1_4 2014 // BigTreeTech SKR v1.4 (Power outputs: Hotend0, Hotend1, Fan, Bed) -#define BOARD_BTT_SKR_E3_TURBO 2015 // BigTreeTech SKR E3 Turbo (Power outputs: Hotend0, Hotend1, Fan, Bed) // // LPC1769 ARM Cortex M3 @@ -239,6 +238,7 @@ #define BOARD_TH3D_EZBOARD 2507 // TH3D EZBoard v1.0 #define BOARD_BTT_SKR_V1_4_TURBO 2508 // BigTreeTech SKR v1.4 TURBO (Power outputs: Hotend0, Hotend1, Fan, Bed) #define BOARD_MKS_SGEN_L_V2 2509 // MKS SGEN_L V2 (Power outputs: Hotend0, Hotend1, Bed, Fan) +#define BOARD_BTT_SKR_E3_TURBO 2510 // BigTreeTech SKR E3 Turbo (Power outputs: Hotend0, Hotend1, Bed, Fan0, Fan1) // // SAM3X8E ARM Cortex M3 diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h index 143504f0e338..de987f95d2e4 100644 --- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h +++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h @@ -173,12 +173,6 @@ #define FAN_PIN P2_01 #define FAN1_PIN P2_02 -// -// USB connect control -// -//#define USB_CONNECT_PIN P0_29 -//#define USB_CONNECT_INVERTING false - /** * _____ * 5V | 1 2 | GND From a7f5d38da7d6e57d5cfac9358eb13e57fac61db1 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Fri, 25 Sep 2020 21:58:45 -0300 Subject: [PATCH 142/277] Fix MBL "Click to continue" on Color UI touchscreen (#19514) --- Marlin/src/lcd/menu/menu_bed_leveling.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp index 6841561c1bf8..e19b04ccb517 100644 --- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp +++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp @@ -36,6 +36,11 @@ #include "../../module/probe.h" #endif +#if HAS_GRAPHICAL_TFT + #include "../tft/touch.h" + #include "../tft/tft.h" +#endif + #if EITHER(PROBE_MANUALLY, MESH_BED_LEVELING) #include "../../module/motion.h" @@ -159,7 +164,11 @@ // Move to the first probe position // void _lcd_level_bed_homing_done() { - if (ui.should_draw()) MenuItem_static::draw(1, GET_TEXT(MSG_LEVEL_BED_WAITING)); + if (ui.should_draw()) { + MenuItem_static::draw(1, GET_TEXT(MSG_LEVEL_BED_WAITING)); + // Color UI needs a control to detect a touch + TERN_(HAS_GRAPHICAL_TFT, touch.add_control(CLICK, 0, 0, TFT_WIDTH, TFT_HEIGHT)); + } if (ui.use_click()) { manual_probe_index = 0; _lcd_level_goto_next_point(); From 5cf2cf2be9dda751191d1d056d6807980857a060 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Fri, 25 Sep 2020 22:05:23 -0300 Subject: [PATCH 143/277] Allow ColorUI color customization (#19484) --- Marlin/src/lcd/tft/tft_color.h | 122 +++++++++++++++++++++++++-------- 1 file changed, 92 insertions(+), 30 deletions(-) diff --git a/Marlin/src/lcd/tft/tft_color.h b/Marlin/src/lcd/tft/tft_color.h index 14906a1bcf66..8e380b366b97 100644 --- a/Marlin/src/lcd/tft/tft_color.h +++ b/Marlin/src/lcd/tft/tft_color.h @@ -21,6 +21,8 @@ */ #pragma once +#include "../../inc/MarlinConfigPre.h" + #define RED(color) ((color >> 8) & 0xF8) #define GREEN(color) ((color >> 3) & 0xFC) #define BLUE(color) ((color << 3) & 0xF8) @@ -70,45 +72,105 @@ #ifndef COLOR_BACKGROUND #define COLOR_BACKGROUND 0x20AC // #1E156E #endif -#define COLOR_SELECTION_BG 0x9930 // #992380 -#define COLOR_WEBSITE_URL 0x03B7 +#ifndef COLOR_SELECTION_BG + #define COLOR_SELECTION_BG 0x9930 // #992380 +#endif +#ifndef COLOR_WEBSITE_URL + #define COLOR_WEBSITE_URL 0x03B7 +#endif -#define COLOR_INACTIVE COLOR_GREY -#define COLOR_COLD COLOR_AQUA -#define COLOR_HOTEND COLOR_SCARLET -#define COLOR_HEATED_BED COLOR_DARK_ORANGE -#define COLOR_CHAMBER COLOR_DARK_ORANGE -#define COLOR_FAN COLOR_AQUA +#ifndef COLOR_INACTIVE + #define COLOR_INACTIVE COLOR_GREY +#endif +#ifndef COLOR_COLD + #define COLOR_COLD COLOR_AQUA +#endif +#ifndef COLOR_HOTEND + #define COLOR_HOTEND COLOR_SCARLET +#endif +#ifndef COLOR_HEATED_BED + #define COLOR_HEATED_BED COLOR_DARK_ORANGE +#endif +#ifndef COLOR_CHAMBER + #define COLOR_CHAMBER COLOR_DARK_ORANGE +#endif +#ifndef COLOR_FAN + #define COLOR_FAN COLOR_AQUA +#endif -#define COLOR_AXIS_HOMED COLOR_WHITE -#define COLOR_AXIS_NOT_HOMED COLOR_YELLOW +#ifndef COLOR_AXIS_HOMED + #define COLOR_AXIS_HOMED COLOR_WHITE +#endif +#ifndef COLOR_AXIS_NOT_HOMED + #define COLOR_AXIS_NOT_HOMED COLOR_YELLOW +#endif -#define COLOR_RATE_100 COLOR_VIVID_GREEN -#define COLOR_RATE_ALTERED COLOR_YELLOW +#ifndef COLOR_RATE_100 + #define COLOR_RATE_100 COLOR_VIVID_GREEN +#endif +#ifndef COLOR_RATE_ALTERED + #define COLOR_RATE_ALTERED COLOR_YELLOW +#endif -#define COLOR_PRINT_TIME COLOR_AQUA +#ifndef COLOR_PRINT_TIME + #define COLOR_PRINT_TIME COLOR_AQUA +#endif -#define COLOR_PROGRESS_FRAME COLOR_WHITE -#define COLOR_PROGRESS_BAR COLOR_BLUE -#define COLOR_PROGRESS_BG COLOR_BLACK +#ifndef COLOR_PROGRESS_FRAME + #define COLOR_PROGRESS_FRAME COLOR_WHITE +#endif +#ifndef COLOR_PROGRESS_BAR + #define COLOR_PROGRESS_BAR COLOR_BLUE +#endif +#ifndef COLOR_PROGRESS_BG + #define COLOR_PROGRESS_BG COLOR_BLACK +#endif -#define COLOR_STATUS_MESSAGE COLOR_YELLOW +#ifndef COLOR_STATUS_MESSAGE + #define COLOR_STATUS_MESSAGE COLOR_YELLOW +#endif -#define COLOR_CONTROL_ENABLED COLOR_WHITE -#define COLOR_CONTROL_DISABLED COLOR_GREY -#define COLOR_CONTROL_CANCEL COLOR_SCARLET -#define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN -#define COLOR_BUSY COLOR_SILVER +#ifndef COLOR_CONTROL_ENABLED + #define COLOR_CONTROL_ENABLED COLOR_WHITE +#endif +#ifndef COLOR_CONTROL_DISABLED + #define COLOR_CONTROL_DISABLED COLOR_GREY +#endif +#ifndef COLOR_CONTROL_CANCEL + #define COLOR_CONTROL_CANCEL COLOR_SCARLET +#endif +#ifndef COLOR_CONTROL_CONFIRM + #define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN +#endif +#ifndef COLOR_BUSY + #define COLOR_BUSY COLOR_SILVER +#endif -#define COLOR_MENU_TEXT COLOR_YELLOW -#define COLOR_MENU_VALUE COLOR_WHITE +#ifndef COLOR_MENU_TEXT + #define COLOR_MENU_TEXT COLOR_YELLOW +#endif +#ifndef COLOR_MENU_VALUE + #define COLOR_MENU_VALUE COLOR_WHITE +#endif -#define COLOR_SLIDER COLOR_WHITE -#define COLOR_SLIDER_INACTIVE COLOR_GREY +#ifndef COLOR_SLIDER + #define COLOR_SLIDER COLOR_WHITE +#endif +#ifndef COLOR_SLIDER_INACTIVE + #define COLOR_SLIDER_INACTIVE COLOR_GREY +#endif -#define COLOR_UBL COLOR_WHITE +#ifndef COLOR_UBL + #define COLOR_UBL COLOR_WHITE +#endif -#define COLOR_TOUCH_CALIBRATION COLOR_WHITE +#ifndef COLOR_TOUCH_CALIBRATION + #define COLOR_TOUCH_CALIBRATION COLOR_WHITE +#endif -#define COLOR_KILL_SCREEN_BG COLOR_MAROON -#define COLOR_KILL_SCREEN_TEXT COLOR_WHITE +#ifndef COLOR_KILL_SCREEN_BG + #define COLOR_KILL_SCREEN_BG COLOR_MAROON +#endif +#ifndef COLOR_KILL_SCREEN_TEXT + #define COLOR_KILL_SCREEN_TEXT COLOR_WHITE +#endif From 88d7f4d7be744ecfecdb531cb48ae42a02403cef Mon Sep 17 00:00:00 2001 From: Trocololo Date: Sat, 26 Sep 2020 03:28:01 +0200 Subject: [PATCH 144/277] MMU2 S Mode spins the BMG gears during C0 (#19429) --- Marlin/src/feature/mmu2/mmu2.cpp | 67 +++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/Marlin/src/feature/mmu2/mmu2.cpp b/Marlin/src/feature/mmu2/mmu2.cpp index 35f2db45a907..31b179a3e5e9 100644 --- a/Marlin/src/feature/mmu2/mmu2.cpp +++ b/Marlin/src/feature/mmu2/mmu2.cpp @@ -54,6 +54,8 @@ MMU2 mmu2; #define MMU_CMD_TIMEOUT 45000UL // 45s timeout for mmu commands (except P0) #define MMU_P0_TIMEOUT 3000UL // Timeout for P0 command: 3seconds +#define MMU2_COMMAND(S) tx_str_P(PSTR(S "\n")) + #if ENABLED(MMU_EXTRUDER_SENSOR) uint8_t mmu_idl_sens = 0; static bool mmu_loading_flag = false; @@ -152,7 +154,7 @@ void MMU2::reset() { safe_delay(20); WRITE(MMU2_RST_PIN, HIGH); #else - tx_str_P(PSTR("X0\n")); // Send soft reset + MMU2_COMMAND("X0"); // Send soft reset #endif } @@ -175,9 +177,7 @@ void MMU2::mmu_loop() { DEBUG_ECHOLNPGM("MMU => 'start'"); DEBUG_ECHOLNPGM("MMU <= 'S1'"); - // send "read version" request - tx_str_P(PSTR("S1\n")); - + MMU2_COMMAND("S1"); // Read Version state = -2; } else if (millis() > 3000000) { @@ -192,7 +192,7 @@ void MMU2::mmu_loop() { DEBUG_ECHOLNPAIR("MMU => ", version, "\nMMU <= 'S2'"); - tx_str_P(PSTR("S2\n")); // read build number + MMU2_COMMAND("S2"); // Read Build Number state = -3; } break; @@ -208,13 +208,13 @@ void MMU2::mmu_loop() { #if ENABLED(MMU2_MODE_12V) DEBUG_ECHOLNPGM("MMU <= 'M1'"); - tx_str_P(PSTR("M1\n")); // switch to stealth mode + MMU2_COMMAND("M1"); // Stealth Mode state = -5; #else DEBUG_ECHOLNPGM("MMU <= 'P0'"); - tx_str_P(PSTR("P0\n")); // read finda + MMU2_COMMAND("P0"); // Read FINDA state = -4; #endif } @@ -228,7 +228,7 @@ void MMU2::mmu_loop() { DEBUG_ECHOLNPGM("MMU <= 'P0'"); - tx_str_P(PSTR("P0\n")); // read finda + MMU2_COMMAND("P0"); // Read FINDA state = -4; } break; @@ -266,14 +266,14 @@ void MMU2::mmu_loop() { else if (cmd == MMU_CMD_C0) { // continue loading DEBUG_ECHOLNPGM("MMU <= 'C0'"); - tx_str_P(PSTR("C0\n")); + MMU2_COMMAND("C0"); state = 3; // wait for response } else if (cmd == MMU_CMD_U0) { // unload current DEBUG_ECHOLNPGM("MMU <= 'U0'"); - tx_str_P(PSTR("U0\n")); + MMU2_COMMAND("U0"); state = 3; // wait for response } else if (WITHIN(cmd, MMU_CMD_E0, MMU_CMD_E4)) { @@ -286,7 +286,7 @@ void MMU2::mmu_loop() { else if (cmd == MMU_CMD_R0) { // recover after eject DEBUG_ECHOLNPGM("MMU <= 'R0'"); - tx_str_P(PSTR("R0\n")); + MMU2_COMMAND("R0"); state = 3; // wait for response } else if (WITHIN(cmd, MMU_CMD_F0, MMU_CMD_F4)) { @@ -303,8 +303,7 @@ void MMU2::mmu_loop() { cmd = MMU_CMD_NONE; } else if (ELAPSED(millis(), prev_P0_request + 300)) { - // read FINDA - tx_str_P(PSTR("P0\n")); + MMU2_COMMAND("P0"); // Read FINDA state = 2; // wait for response } @@ -332,19 +331,32 @@ void MMU2::mmu_loop() { #if ENABLED(MMU_EXTRUDER_SENSOR) if (mmu_idl_sens) { if (FILAMENT_PRESENT() && mmu_loading_flag) { - DEBUG_ECHOLNPGM("MMU <= 'A'\n"); - tx_str_P(PSTR("A\n")); // send 'abort' request + DEBUG_ECHOLNPGM("MMU <= 'A'"); + MMU2_COMMAND("A"); // send 'abort' request mmu_idl_sens = 0; - DEBUG_ECHOLNPGM("MMU IDLER_SENSOR = 0 - ABORT\n"); + DEBUG_ECHOLNPGM("MMU IDLER_SENSOR = 0 - ABORT"); } } #endif if (rx_ok()) { - DEBUG_ECHOLNPGM("MMU => 'ok'"); - ready = true; - state = 1; - last_cmd = MMU_CMD_NONE; + // response to C0 mmu command in PRUSA_MMU2_S_MODE + bool can_reset = true; + if (ENABLED(PRUSA_MMU2_S_MODE) && last_cmd == MMU_CMD_C0) { + if (!mmu2s_triggered) { + can_reset = false; + // MMU ok received but filament sensor not triggered, retrying... + DEBUG_ECHOLNPGM("MMU => 'ok' (filament not present in gears)"); + DEBUG_ECHOLNPGM("MMU <= 'C0' (keep trying)"); + MMU2_COMMAND("C0"); + } + } + if (can_reset) { + DEBUG_ECHOLNPGM("MMU => 'ok'"); + ready = true; + state = 1; + last_cmd = MMU_CMD_NONE; + } } else if (ELAPSED(millis(), prev_request + MMU_CMD_TIMEOUT)) { // resend request after timeout @@ -862,9 +874,18 @@ void MMU2::filament_runout() { void MMU2::check_filament() { const bool present = FILAMENT_PRESENT(); - if (present && !mmu2s_triggered) { - DEBUG_ECHOLNPGM("MMU <= 'A'"); - tx_str_P(PSTR("A\n")); + if (cmd == MMU_CMD_NONE && last_cmd == MMU_CMD_C0) { + if (present && !mmu2s_triggered) { + DEBUG_ECHOLNPGM("MMU <= 'A'"); + tx_str_P(PSTR("A\n")); + } + // Slowly spin the extruder during C0 + else { + while (planner.movesplanned() < 3) { + current_position.e += 0.25; + line_to_current_position(MMM_TO_MMS(120)); + } + } } mmu2s_triggered = present; } From 82e602c847e248bebc3357405f068fff27fe4537 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 27 Sep 2020 00:14:12 +0000 Subject: [PATCH 145/277] [cron] Bump distribution date (2020-09-27) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index c0b1912b0af8..a06ea4fe5a5f 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-26" + #define STRING_DISTRIBUTION_DATE "2020-09-27" #endif /** From 4975e93350ee46aad323aa985f5c53e735aa26cf Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 02:01:56 -0500 Subject: [PATCH 146/277] Tweak MMU beeps, misc. cleanup --- Marlin/src/feature/mmu2/mmu2.cpp | 6 ++---- Marlin/src/gcode/config/M302.cpp | 2 +- Marlin/src/gcode/sd/M24_M25.cpp | 4 +++- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 4 ++-- Marlin/src/sd/cardreader.cpp | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Marlin/src/feature/mmu2/mmu2.cpp b/Marlin/src/feature/mmu2/mmu2.cpp index 31b179a3e5e9..31fa529d56b1 100644 --- a/Marlin/src/feature/mmu2/mmu2.cpp +++ b/Marlin/src/feature/mmu2/mmu2.cpp @@ -838,8 +838,7 @@ void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { if (move_axes && all_axes_homed()) { LCD_MESSAGEPGM(MSG_MMU2_RESUMING); - BUZZ(200, 404); - BUZZ(200, 404); + BUZZ(198, 404); BUZZ(4, 0); BUZZ(198, 404); // Move XY to starting position, then Z do_blocking_move_to_xy(resume_position, feedRate_t(NOZZLE_PARK_XY_FEEDRATE)); @@ -848,8 +847,7 @@ void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { do_blocking_move_to_z(resume_position.z, feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); } else { - BUZZ(200, 404); - BUZZ(200, 404); + BUZZ(198, 404); BUZZ(4, 0); BUZZ(198, 404); LCD_MESSAGEPGM(MSG_MMU2_RESUMING); } } diff --git a/Marlin/src/gcode/config/M302.cpp b/Marlin/src/gcode/config/M302.cpp index 14fbd9f57202..afdc6c9e8506 100644 --- a/Marlin/src/gcode/config/M302.cpp +++ b/Marlin/src/gcode/config/M302.cpp @@ -37,7 +37,7 @@ * * M302 ; report current cold extrusion state * M302 P0 ; enable cold extrusion checking - * M302 P1 ; disables cold extrusion checking + * M302 P1 ; disable cold extrusion checking * M302 S0 ; always allow extrusion (disables checking) * M302 S170 ; only allow extrusion above 170 * M302 S170 P1 ; set min extrude temp to 170 but leave disabled diff --git a/Marlin/src/gcode/sd/M24_M25.cpp b/Marlin/src/gcode/sd/M24_M25.cpp index c27e03862cbf..bdb37f605cbf 100644 --- a/Marlin/src/gcode/sd/M24_M25.cpp +++ b/Marlin/src/gcode/sd/M24_M25.cpp @@ -98,7 +98,9 @@ void GcodeSuite::M25() { print_job_timer.pause(); - TERN(DWIN_CREALITY_LCD,,ui.reset_status()); + #if DISABLED(DWIN_CREALITY_LCD) + ui.reset_status(); + #endif #if ENABLED(HOST_ACTION_COMMANDS) TERN_(HOST_PROMPT_SUPPORT, host_prompt_open(PROMPT_PAUSE_RESUME, PSTR("Pause SD"), PSTR("Resume"))); diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 131c96bef1e1..faf9720fa785 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -1099,7 +1099,7 @@ void Goto_PrintProcess() { // Copy into filebuf string before entry char * const name = card.longest_filename(); - const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2; + const int8_t npos = _MAX(0U, DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2; DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, npos, 60, name); DWIN_ICON_Show(ICON, ICON_PrintTime, 17, 193); @@ -1787,7 +1787,7 @@ inline void Draw_SDItem(const uint16_t item, int16_t row=-1) { inline void Draw_SDItem_Shifted(int8_t &shift) { // Limit to the number of chars past the cutoff const size_t len = strlen(shift_name); - NOMORE(shift, _MAX((signed)len - MENU_CHAR_LIMIT, 0)); + NOMORE(shift, _MAX(len - MENU_CHAR_LIMIT, 0U)); // Shorten to the available space const size_t lastchar = _MIN((signed)len, shift + MENU_CHAR_LIMIT); diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index 538fca3c881f..5210c6ed92ba 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -53,7 +53,7 @@ #include "../feature/pause.h" #endif -#define DEBUG_OUT ENABLED(DEBUG_CARDREADER) +#define DEBUG_OUT EITHER(DEBUG_CARDREADER, MARLIN_DEV_MODE) #include "../core/debug_out.h" // public: @@ -716,7 +716,7 @@ void CardReader::beginautostart() { cdroot(); } -void CardReader::closefile(const bool store_location) { +void CardReader::closefile(const bool store_location/*=false*/) { file.sync(); file.close(); flag.saving = flag.logging = false; From dd118e2f36d99395c33f3ca4325f35bcfa48dfab Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 25 Sep 2020 16:47:14 -0500 Subject: [PATCH 147/277] Drop extra Bed PID --- Marlin/Configuration.h | 10 ++-------- Marlin/Configuration_adv.h | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 93e2a0229a71..507b01b95abb 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -532,18 +532,12 @@ //#define MIN_BED_POWER 0 //#define PID_BED_DEBUG // Sends debug data to the serial port. - //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) - //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + // 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) + // from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) #define DEFAULT_bedKp 10.00 #define DEFAULT_bedKi .023 #define DEFAULT_bedKd 305.4 - //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) - //from pidautotune - //#define DEFAULT_bedKp 97.1 - //#define DEFAULT_bedKi 1.41 - //#define DEFAULT_bedKd 1675.16 - // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index c5f56f18d054..e35f50fe6258 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3473,7 +3473,7 @@ */ //#define MMU_EXTRUDER_SENSOR #if ENABLED(MMU_EXTRUDER_SENSOR) - #define MMU_LOADING_ATTEMPTS_NR 5 //max. number of attempts to load filament if first load fail + #define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail #endif /** From d2741c8680ebc4730fefe3050026f88cd76cc241 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 16:51:59 -0500 Subject: [PATCH 148/277] Allow M524 between M23 and M24 --- Marlin/src/gcode/sd/M524.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Marlin/src/gcode/sd/M524.cpp b/Marlin/src/gcode/sd/M524.cpp index b27814cc38be..089d2e2f0c41 100644 --- a/Marlin/src/gcode/sd/M524.cpp +++ b/Marlin/src/gcode/sd/M524.cpp @@ -34,6 +34,8 @@ void GcodeSuite::M524() { if (IS_SD_PRINTING()) card.flag.abort_sd_printing = true; + else if (card.isMounted()) + card.closefile(); } From 37cf156223058d7c2d576dbffc39e7b2987254ef Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 16:46:26 -0500 Subject: [PATCH 149/277] E3 DWIN: General cleanup --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 128 +++++++++--------------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 4 +- 2 files changed, 38 insertions(+), 94 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index faf9720fa785..1bd49d4dd29c 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -494,6 +494,16 @@ inline void Draw_Back_First(const bool is_sel=true) { if (is_sel) Draw_Menu_Cursor(0); } +inline bool Apply_Encoder(const ENCODER_DiffState &encoder_diffState, auto &valref) { + if (encoder_diffState == ENCODER_DIFF_CW) + valref += EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_CCW) + valref -= EncoderRate.encoderMoveValue; + else if (encoder_diffState == ENCODER_DIFF_ENTER) + return true; + return false; +} + // // Draw Menus // @@ -1146,13 +1156,7 @@ inline ENCODER_DiffState get_encoder_state() { void HMI_Move_X() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Move_X_scale += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Move_X_scale -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Move_X_scale)) { checkkey = AxisMove; EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale); @@ -1175,13 +1179,7 @@ void HMI_Move_X() { void HMI_Move_Y() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Move_Y_scale += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Move_Y_scale -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Move_Y_scale)) { checkkey = AxisMove; EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale); @@ -1204,13 +1202,7 @@ void HMI_Move_Y() { void HMI_Move_Z() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Move_Z_scale += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Move_Z_scale -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Move_Z_scale)) { checkkey = AxisMove; EncoderRate.enabled = false; DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale); @@ -1236,13 +1228,7 @@ void HMI_Move_Z() { static float last_E_scale = 0; ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Move_E_scale += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Move_E_scale -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Move_E_scale)) { checkkey = AxisMove; EncoderRate.enabled = false; last_E_scale = HMI_ValueStruct.Move_E_scale; @@ -1278,11 +1264,7 @@ void HMI_Move_Z() { case -4: zoff_line = PREPARE_CASE_ZOFF + MROWS - index_prepare; break; default: zoff_line = TUNE_CASE_ZOFF + MROWS - index_tune; } - if (encoder_diffState == ENCODER_DIFF_CW) - HMI_ValueStruct.offset_value += EncoderRate.encoderMoveValue; - else if (encoder_diffState == ENCODER_DIFF_CCW) - HMI_ValueStruct.offset_value -= EncoderRate.encoderMoveValue; - else if (encoder_diffState == ENCODER_DIFF_ENTER) { + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.offset_value)) { EncoderRate.enabled = false; #if HAS_BED_PROBE probe.offset.z = dwin_zoffset; @@ -1326,13 +1308,7 @@ void HMI_Move_Z() { case -3: temp_line = PREHEAT_CASE_TEMP; break; default: temp_line = TUNE_CASE_TEMP + MROWS - index_tune; } - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.E_Temp += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.E_Temp -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.E_Temp)) { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { // temperature checkkey = TemperatureID; @@ -1379,13 +1355,7 @@ void HMI_Move_Z() { case -3: bed_line = PREHEAT_CASE_BED; break; default: bed_line = TUNE_CASE_BED + MROWS - index_tune; } - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Bed_Temp += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Bed_Temp -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Bed_Temp)) { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; @@ -1433,13 +1403,7 @@ void HMI_Move_Z() { default: fan_line = TUNE_CASE_FAN + MROWS - index_tune; } - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Fan_speed += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Fan_speed -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Fan_speed)) { EncoderRate.enabled = false; if (HMI_ValueStruct.show_mode == -1) { checkkey = TemperatureID; @@ -1477,13 +1441,7 @@ void HMI_Move_Z() { void HMI_PrintSpeed() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.print_speed += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.print_speed -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.print_speed)) { checkkey = Tune; EncoderRate.enabled = false; feedrate_percentage = HMI_ValueStruct.print_speed; @@ -1501,13 +1459,7 @@ void HMI_PrintSpeed() { void HMI_MaxFeedspeedXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Max_Feedspeed += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Max_Feedspeed -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Feedspeed)) { checkkey = MaxSpeed; EncoderRate.enabled = false; if (WITHIN(HMI_flag.feedspeed_axis, X_AXIS, E_AXIS)) @@ -1527,9 +1479,7 @@ void HMI_MaxFeedspeedXYZE() { void HMI_MaxAccelerationXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { HMI_ValueStruct.Max_Acceleration += EncoderRate.encoderMoveValue;} - else if (encoder_diffState == ENCODER_DIFF_CCW) { HMI_ValueStruct.Max_Acceleration -= EncoderRate.encoderMoveValue;} - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Acceleration)) { checkkey = MaxAcceleration; EncoderRate.enabled = false; if (HMI_flag.acc_axis == X_AXIS) planner.set_max_acceleration(X_AXIS, HMI_ValueStruct.Max_Acceleration); @@ -1555,11 +1505,7 @@ void HMI_MaxAccelerationXYZE() { void HMI_MaxJerkXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) - HMI_ValueStruct.Max_Jerk += EncoderRate.encoderMoveValue; - else if (encoder_diffState == ENCODER_DIFF_CCW) - HMI_ValueStruct.Max_Jerk -= EncoderRate.encoderMoveValue; - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Jerk)) { checkkey = MaxJerk; EncoderRate.enabled = false; if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) @@ -1581,13 +1527,7 @@ void HMI_MaxAccelerationXYZE() { void HMI_StepXYZE() { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Max_Step += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Max_Step -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { // return + if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Step)) { checkkey = Step; EncoderRate.enabled = false; if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS)) @@ -1842,7 +1782,7 @@ void HMI_SDCardUpdate() { if (DWIN_lcd_sd_status != card.isMounted()) { DWIN_lcd_sd_status = card.isMounted(); // SERIAL_ECHOLNPAIR("HMI_SDCardUpdate: ", int(DWIN_lcd_sd_status)); - if (card.isMounted()) { + if (DWIN_lcd_sd_status) { if (checkkey == SelectFile) Redraw_SD_List(); } @@ -1863,10 +1803,11 @@ void HMI_SDCardUpdate() { } } -/* Start Frame */ - -void HMI_StartFrame(const bool with_update) { - Goto_MainMenu(); +// +// The status area is always on-screen, except during +// full-screen modal dialogs. (TODO: Keep alive during dialogs) +// +void Draw_Status_Area(const bool with_update) { // Clear the bottom area of the screen DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, STATUS_Y, DWIN_WIDTH, DWIN_HEIGHT - 1); @@ -1906,6 +1847,11 @@ void HMI_StartFrame(const bool with_update) { } } +void HMI_StartFrame(const bool with_update) { + Goto_MainMenu(); + Draw_Status_Area(with_update); +} + inline void Draw_Info_Menu() { Clear_Main_Window(); @@ -2233,12 +2179,10 @@ void HMI_PauseOrStop() { ENCODER_DiffState encoder_diffState = get_encoder_state(); if (encoder_diffState == ENCODER_DIFF_NO) return; - if (encoder_diffState == ENCODER_DIFF_CW) { + if (encoder_diffState == ENCODER_DIFF_CW) Draw_Select_Highlight(false); - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { + else if (encoder_diffState == ENCODER_DIFF_CCW) Draw_Select_Highlight(true); - } else if (encoder_diffState == ENCODER_DIFF_ENTER) { if (select_print.now == 1) { // pause window if (HMI_flag.select_flag) { diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index 7b759d9cbfea..8a1726691eb8 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -335,8 +335,8 @@ void Icon_temperature(bool value); void Icon_leveling(bool value); // Other -bool Pause_HeatStatus(); -void HMI_StartFrame(const bool with_update); // Startup screen +void Draw_Status_Area(const bool with_update); // Status Area +void HMI_StartFrame(const bool with_update); // Prepare the menu view void HMI_MainMenu(); // Main process screen void HMI_SelectFile(); // File page void HMI_Printing(); // Print page From 3245a5fdf65df729f5b8bace87cc8684532a9ab1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 16:48:03 -0500 Subject: [PATCH 150/277] E3 DWIN: "No Media" message --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 14 ++++++++++---- Marlin/src/lcd/dwin/e3v2/dwin.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 1bd49d4dd29c..c0096d379de6 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -1753,11 +1753,17 @@ inline void Redraw_SD_List() { Draw_Back_First(); - // As many files as will fit - LOOP_L_N(i, _MIN(nr_sd_menu_items(), MROWS)) - Draw_SDItem(i, i + 1); + if (card.isMounted()) { + // As many files as will fit + LOOP_L_N(i, _MIN(nr_sd_menu_items(), MROWS)) + Draw_SDItem(i, i + 1); - TERN_(SCROLL_LONG_FILENAMES, Init_SDItem_Shift()); + TERN_(SCROLL_LONG_FILENAMES, Init_SDItem_Shift()); + } + else { + DWIN_Draw_Rectangle(1, Color_Bg_Red, 10, MBASE(3) - 10, DWIN_WIDTH - 10, MBASE(4)); + DWIN_Draw_String(false, false, font16x32, Color_Yellow, Color_Bg_Red, ((DWIN_WIDTH) - 8 * 16) / 2, MBASE(3), F("No Media")); + } } bool DWIN_lcd_sd_status = false; diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index 8a1726691eb8..1b2cb273e3f8 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -215,9 +215,11 @@ enum processID : uint8_t { // Color #define Color_White 0xFFFF +#define Color_Yellow 0xFF0F #define Color_Bg_Window 0x31E8 // Popup background color #define Color_Bg_Blue 0x1125 // Dark blue background color #define Color_Bg_Black 0x0841 // Black background color +#define Color_Bg_Red 0xF00F // Red background color #define Popup_Text_Color 0xD6BA // Popup font background color #define Line_Color 0x3A6A // Split line color #define Rectangle_Color 0xEE2F // Blue square cursor color From cd5735130d09370a298b27a5faf6e1a33d768ca6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 16:50:53 -0500 Subject: [PATCH 151/277] CardReader cleanup --- Marlin/src/sd/cardreader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index 5210c6ed92ba..37af4a368846 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -810,7 +810,7 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const // Open curDir if (!sub->open(curDir, dosSubdirname, O_READ)) { - SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, dosSubdirname, "."); + openFailed(dosSubdirname); return nullptr; } From d9d920e0b34e8d6c67103832843dc70663031655 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 28 Sep 2020 00:13:59 +0000 Subject: [PATCH 152/277] [cron] Bump distribution date (2020-09-28) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index a06ea4fe5a5f..4431dadce09c 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-27" + #define STRING_DISTRIBUTION_DATE "2020-09-28" #endif /** From 6572d7131f61811d3507d0dfb1b76a38c770e95f Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sun, 27 Sep 2020 23:22:08 -0300 Subject: [PATCH 153/277] LVGL followup fixing "C", etc. (#19517) --- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h | 8 ++++---- Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h | 2 +- .../src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h index 09e39d8412eb..ddc9ea62714a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h @@ -21,10 +21,6 @@ */ #pragma once -#ifdef __cplusplus - extern "C" { /* C-declarations for C++ */ -#endif - #include #include @@ -168,6 +164,10 @@ #endif // ifdef TFT35 +#ifdef __cplusplus + extern "C" { /* C-declarations for C++ */ +#endif + extern char public_buf_m[100]; extern char public_buf_l[30]; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index b1bd88a60d0c..5d5227c2a480 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -21,7 +21,7 @@ */ #pragma once -#include "../../../../inc/MarlinConfigPre.h" +#include "../../../../inc/MarlinConfig.h" #include "../../../../libs/W25Qxx.h" diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index af292db7d599..c2ff2c436264 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -408,7 +408,7 @@ void SysTick_Callback() { OUT_WRITE(LCD_BACKLIGHT_PIN, LOW); LCD_Clear(0x0000); - lcd_draw_logo(); + TERN_(HAS_LOGO_IN_FLASH, lcd_draw_logo()); OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH); delay(2000); @@ -724,6 +724,7 @@ lv_fs_res_t sd_open_cb (lv_fs_drv_t * drv, void * file_p, const char * path, lv_ if (temp) { strcpy(temp,".GCO"); } sd_read_base_addr = lv_open_gcode_file((char *)name_buf); sd_read_addr_offset = sd_read_base_addr; + if (sd_read_addr_offset == 0) return LV_FS_RES_NOT_EX; return LV_FS_RES_OK; } From 7415e4e66d84022d19afbd89218addaa80b9e1be Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Mon, 28 Sep 2020 04:25:35 +0200 Subject: [PATCH 154/277] Fix Allen Key Probe pin test (#19520) --- Marlin/src/module/probe.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 12b617ec439e..dd6bd70d2c64 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -270,7 +270,13 @@ FORCE_INLINE void probe_specific_action(const bool deploy) { #if ENABLED(PAUSE_BEFORE_DEPLOY_STOW) do { #if ENABLED(PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED) - if (deploy == (READ(Z_MIN_PROBE_PIN) == Z_MIN_PROBE_ENDSTOP_INVERTING)) break; + if (deploy == ( + #if HAS_CUSTOM_PROBE_PIN + READ(Z_MIN_PROBE_PIN) == Z_MIN_PROBE_ENDSTOP_INVERTING + #else + READ(Z_MIN_PIN) == Z_MIN_ENDSTOP_INVERTING + #endif + )) break; #endif BUZZ(100, 659); From f3de0f6c5376c345d555a65092d832dda45866f4 Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Mon, 28 Sep 2020 04:28:48 +0200 Subject: [PATCH 155/277] Working LCD_USE_DMA_FSMC (#19522) --- Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp | 10 ++++++++++ Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp index 069be7ad54e3..008301d9bc0c 100644 --- a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp @@ -89,6 +89,16 @@ void TFT_FSMC::Init() { uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN; uint32_t controllerAddress; + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); + #endif + + #if ENABLED(LCD_USE_DMA_FSMC) + dma_init(FSMC_DMA_DEV); + dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); + dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); + #endif + #if PIN_EXISTS(TFT_RESET) OUT_WRITE(TFT_RESET_PIN, HIGH); delay(100); diff --git a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h index 799477ac1023..47d7118b53d1 100644 --- a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h +++ b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h @@ -124,7 +124,7 @@ #define FSMC_CS_PIN PD7 // pin 88 = FSMC_NE1 #define FSMC_RS_PIN PD11 // pin 58 A16 Register. Only one address needed -//#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT (broken) +#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 From 00c09e95aca7fbc4c9ec29a1c1a99d024a59013d Mon Sep 17 00:00:00 2001 From: Emperor Date: Mon, 28 Sep 2020 04:38:30 +0200 Subject: [PATCH 156/277] Thermistor: Kis3d Silicone heater + precision cast plate (#19528) --- Marlin/Configuration.h | 1 + Marlin/src/lcd/thermistornames.h | 2 + Marlin/src/module/thermistor/thermistor_30.h | 66 ++++++++++++++++++++ Marlin/src/module/thermistor/thermistors.h | 3 + 4 files changed, 72 insertions(+) create mode 100644 Marlin/src/module/thermistor/thermistor_30.h diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 507b01b95abb..35b45e7321ee 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -390,6 +390,7 @@ * 21 : Pt100 with circuit in the Ultimainboard V2.x with 3.3v excitation (STM32 \ LPC176x....) * 22 : 100k (hotend) with 4.7k pullup to 3.3V and 220R to analog input (as in GTM32 Pro vB) * 23 : 100k (bed) with 4.7k pullup to 3.3v and 220R to analog input (as in GTM32 Pro vB) + * 30 : Kis3d Silicone heating mat 200W/300W with 6mm precision cast plate (EN AW 5083) NTC100K / B3950 (4.7k pullup) * 201 : Pt100 with circuit in Overlord, similar to Ultimainboard V2.x * 60 : 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 * 61 : 100k Formbot / Vivedino 3950 350C thermistor 4.7k pullup diff --git a/Marlin/src/lcd/thermistornames.h b/Marlin/src/lcd/thermistornames.h index bd0ca0e554e5..37f285d483cd 100644 --- a/Marlin/src/lcd/thermistornames.h +++ b/Marlin/src/lcd/thermistornames.h @@ -108,6 +108,8 @@ #define THERMISTOR_NAME "100k with 10k pull-up" // Modified thermistors +#elif THERMISTOR_ID == 30 + #define THERMISTOR_NAME "Kis3d EN AW NTC100K/3950" #elif THERMISTOR_ID == 51 #define THERMISTOR_NAME "EPCOS 1K" #elif THERMISTOR_ID == 52 diff --git a/Marlin/src/module/thermistor/thermistor_30.h b/Marlin/src/module/thermistor/thermistor_30.h new file mode 100644 index 000000000000..63cde610a4c4 --- /dev/null +++ b/Marlin/src/module/thermistor/thermistor_30.h @@ -0,0 +1,66 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +// R25 = 100 kOhm, beta25 = 3950 K, 4.7 kOhm pull-up +// Resistance 100k Ohms at 25deg. C +// Resistance Tolerance + / -1% +// B Value 3950K at 25/50 deg. C +// B Value Tolerance + / - 1% +// Kis3d Silicone Heater 24V 200W/300W with 6mm Precision cast plate (EN AW 5083) +// Temperature setting time 10 min to determine the 12Bit ADC value on the surface. (le3tspeak) +const temp_entry_t temptable_30[] PROGMEM = { + { OV( 1), 938 }, + { OV( 298), 125 }, // 1193 - 125° + { OV( 321), 121 }, // 1285 - 121° + { OV( 348), 117 }, // 1392 - 117° + { OV( 387), 113 }, // 1550 - 113° + { OV( 411), 110 }, // 1644 - 110° + { OV( 445), 106 }, // 1780 - 106° + { OV( 480), 101 }, // 1920 - 101° + { OV( 516), 97 }, // 2064 - 97° + { OV( 553), 92 }, // 2212 - 92° + { OV( 591), 88 }, // 2364 - 88° + { OV( 628), 84 }, // 2512 - 84° + { OV( 665), 79 }, // 2660 - 79° + { OV( 702), 75 }, // 2808 - 75° + { OV( 736), 71 }, // 2945 - 71° + { OV( 770), 67 }, // 3080 - 67° + { OV( 801), 63 }, // 3204 - 63° + { OV( 830), 59 }, // 3320 - 59° + { OV( 857), 55 }, // 3428 - 55° + { OV( 881), 51 }, // 3524 - 51° + { OV( 902), 47 }, // 3611 - 47° + { OV( 922), 42 }, // 3688 - 42° + { OV( 938), 38 }, // 3754 - 38° + { OV( 952), 34 }, // 3811 - 34° + { OV( 964), 29 }, // 3857 - 29° + { OV( 975), 25 }, // 3900 - 25° + { OV( 980), 23 }, // 3920 - 23° + { OV( 991), 17 }, // 3964 - 17° + { OV(1001), 9 }, // Calculated + { OV(1004), 5 }, // Calculated + { OV(1008), 0 }, // Calculated + { OV(1012), -5 }, // Calculated + { OV(1016), -10 }, // Calculated + { OV(1020), -15 } // Calculated +}; diff --git a/Marlin/src/module/thermistor/thermistors.h b/Marlin/src/module/thermistor/thermistors.h index 56921c6d186e..0b0419c52034 100644 --- a/Marlin/src/module/thermistor/thermistors.h +++ b/Marlin/src/module/thermistor/thermistors.h @@ -120,6 +120,9 @@ typedef struct { int16_t value, celsius; } temp_entry_t; #if ANY_THERMISTOR_IS(23) // By AluOne #12622. Formerly 22 above. May need calibration/checking. #include "thermistor_23.h" #endif +#if ANY_THERMISTOR_IS(30) // Kis3d Silicone mat 24V 200W/300W with 6mm Precision cast plate (EN AW 5083) + #include "thermistor_30.h" +#endif #if ANY_THERMISTOR_IS(51) // beta25 = 4092 K, R25 = 100 kOhm, Pull-up = 1 kOhm, "EPCOS" #include "thermistor_51.h" #endif From 303d871ca78d7256b7ee0a493aed57f3b9d4974e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 01:01:52 -0500 Subject: [PATCH 157/277] Update AnyCubic deps --- buildroot/share/PlatformIO/scripts/common-dependencies.h | 4 ---- platformio.ini | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index 344dce9f13ab..bc745733d123 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -77,10 +77,6 @@ #define USES_LIQUIDCRYSTAL #endif -#if BOTH(ANYCUBIC_LCD_I3MEGA, EXTENSIBLE_UI) - #define HAS_ANYCUBIC_TFT_EXTUI -#endif - #if SAVED_POSITIONS #define HAS_SAVED_POSITIONS #endif diff --git a/platformio.ini b/platformio.ini index f8ec029de3eb..bb4c74b7c6ab 100644 --- a/platformio.ini +++ b/platformio.ini @@ -53,8 +53,8 @@ default_src_filter = + - - + - - - - - - - + - - + - - - - @@ -240,10 +240,10 @@ HAS_MENU_TEMPERATURE = src_filter=+ HAS_MENU_TMC = src_filter=+ HAS_MENU_TOUCH_SCREEN = src_filter=+ HAS_MENU_UBL = src_filter=+ -ANYCUBIC_LCD_I3MEGA = src_filter=+ +ANYCUBIC_LCD_CHIRON = src_filter=+ +ANYCUBIC_LCD_I3MEGA = src_filter=+ + HAS_DGUS_LCD = src_filter=+ + TOUCH_UI_FTDI_EVE = src_filter=+ -HAS_ANYCUBIC_TFT_EXTUI = src_filter=+ EXTUI_EXAMPLE = src_filter=+ MALYAN_LCD = src_filter=+ HAS_SPI_LCD = src_filter=+ From 3a91ab4706d9fb7177bd24ce3e87f852161768d1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 01:01:35 -0500 Subject: [PATCH 158/277] Menu tweak --- Marlin/src/lcd/menu/menu.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 64923547e8ad..474f40cecaed 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -343,8 +343,10 @@ void scroll_screen(const uint8_t limit, const bool is_menu) { #endif // BABYSTEP_ZPROBE_OFFSET void _lcd_draw_homing() { - constexpr uint8_t line = (LCD_HEIGHT - 1) / 2; - if (ui.should_draw()) MenuItem_static::draw(line, GET_TEXT(MSG_LEVEL_BED_HOMING)); + if (ui.should_draw()) { + constexpr uint8_t line = (LCD_HEIGHT - 1) / 2; + MenuItem_static::draw(line, GET_TEXT(MSG_LEVEL_BED_HOMING)); + } } #if ENABLED(LCD_BED_LEVELING) || (HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)) From 1c372df449d18546b45860aa14a394ee2a3e900f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 01:10:36 -0500 Subject: [PATCH 159/277] Prettier INI --- platformio.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index bb4c74b7c6ab..75c64504ca0c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -53,8 +53,8 @@ default_src_filter = + - - + - - - - - - - - + - + - - - - - From c2c6a679ea4bdf48ce1800a8831fcec36c09ce53 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 01:13:27 -0500 Subject: [PATCH 160/277] Rename LCD conditionals (#19533) --- Marlin/Configuration_adv.h | 10 ++-- Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp | 4 +- .../dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp | 4 +- .../HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp | 4 +- .../dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp | 4 +- Marlin/src/HAL/LINUX/spi_pins.h | 2 +- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 2 +- Marlin/src/HAL/LPC1768/spi_pins.h | 2 +- .../u8g/u8g_com_HAL_LPC1768_hw_spi.cpp | 4 +- .../u8g/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp | 4 +- .../u8g/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp | 4 +- .../u8g/u8g_com_HAL_LPC1768_sw_spi.cpp | 4 +- .../STM32F1/dogm/u8g_com_stm32duino_swspi.cpp | 4 +- Marlin/src/HAL/shared/HAL_ST7920.h | 2 +- Marlin/src/MarlinCore.cpp | 2 +- Marlin/src/core/language.h | 2 +- Marlin/src/feature/power_monitor.cpp | 4 +- Marlin/src/feature/power_monitor.h | 4 +- Marlin/src/gcode/bedlevel/G26.cpp | 8 ++-- Marlin/src/gcode/calibrate/M48.cpp | 4 +- .../src/gcode/feature/power_monitor/M430.cpp | 2 +- Marlin/src/inc/Conditionals_LCD.h | 8 ++-- Marlin/src/inc/Conditionals_post.h | 12 ++--- Marlin/src/inc/SanityCheck.h | 20 ++++---- Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp | 4 +- Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp | 4 +- Marlin/src/lcd/dogm/lcdprint_u8g.cpp | 4 +- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 4 +- .../u8g_dev_ssd1306_sh1106_128x64_I2C.cpp | 4 +- .../lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp | 4 +- .../lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp | 4 +- ...8g_dev_tft_320x240_upscale_from_128x64.cpp | 4 +- .../lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp | 4 +- Marlin/src/lcd/dogm/u8g_fontutf8.cpp | 4 +- Marlin/src/lcd/dogm/ultralcd_DOGM.cpp | 4 +- Marlin/src/lcd/fontutils.cpp | 2 +- Marlin/src/lcd/lcdprint.cpp | 4 +- Marlin/src/lcd/lcdprint.h | 2 +- Marlin/src/lcd/menu/menu.cpp | 4 +- Marlin/src/lcd/menu/menu.h | 4 +- Marlin/src/lcd/menu/menu_configuration.cpp | 8 +++- Marlin/src/lcd/menu/menu_media.cpp | 4 +- Marlin/src/lcd/menu/menu_motion.cpp | 2 +- Marlin/src/lcd/menu/menu_tune.cpp | 8 ++-- Marlin/src/lcd/touch/touch_buttons.cpp | 2 +- Marlin/src/lcd/ultralcd.cpp | 28 +++++------ Marlin/src/lcd/ultralcd.h | 22 ++++----- Marlin/src/module/endstops.cpp | 4 +- Marlin/src/module/planner.cpp | 16 +++---- Marlin/src/module/planner.h | 6 +-- Marlin/src/pins/esp32/pins_MRR_ESPE.h | 4 +- Marlin/src/pins/linux/pins_RAMPS_LINUX.h | 4 +- Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h | 6 +-- Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h | 6 +-- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h | 2 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h | 4 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 6 +-- Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h | 2 +- Marlin/src/pins/lpc1768/pins_MKS_SBASE.h | 2 +- Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h | 5 +- Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h | 9 ++-- Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h | 4 +- .../src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h | 4 +- .../src/pins/lpc1769/pins_COHESION3D_MINI.h | 4 +- .../src/pins/lpc1769/pins_COHESION3D_REMIX.h | 4 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 5 +- Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h | 2 +- Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h | 2 +- Marlin/src/pins/mega/pins_GT2560_REV_A.h | 4 +- Marlin/src/pins/mega/pins_HJC2560C_REV2.h | 4 +- Marlin/src/pins/mega/pins_INTAMSYS40.h | 2 +- Marlin/src/pins/mega/pins_MEGATRONICS_2.h | 4 +- Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h | 4 +- Marlin/src/pins/mega/pins_OVERLORD.h | 2 +- Marlin/src/pins/mega/pins_PICA.h | 2 +- Marlin/src/pins/mega/pins_SILVER_GATE.h | 2 +- Marlin/src/pins/pins.h | 4 +- Marlin/src/pins/rambo/pins_EINSY_RAMBO.h | 4 +- Marlin/src/pins/rambo/pins_EINSY_RETRO.h | 4 +- Marlin/src/pins/rambo/pins_MINIRAMBO.h | 4 +- Marlin/src/pins/rambo/pins_RAMBO.h | 4 +- Marlin/src/pins/ramps/pins_3DRAG.h | 2 +- .../src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h | 2 +- .../src/pins/ramps/pins_FORMBOT_TREX2PLUS.h | 2 +- Marlin/src/pins/ramps/pins_FYSETC_F6_13.h | 2 +- Marlin/src/pins/ramps/pins_K8800.h | 4 +- Marlin/src/pins/ramps/pins_RAMPS.h | 4 +- Marlin/src/pins/ramps/pins_TRIGORILLA_14.h | 4 +- Marlin/src/pins/ramps/pins_TT_OSCAR.h | 2 +- Marlin/src/pins/ramps/pins_ULTIMAKER.h | 4 +- Marlin/src/pins/sam/pins_ARCHIM1.h | 4 +- Marlin/src/pins/sam/pins_ARCHIM2.h | 2 +- Marlin/src/pins/sam/pins_DUE3DOM.h | 4 +- Marlin/src/pins/sam/pins_DUE3DOM_MINI.h | 4 +- Marlin/src/pins/sam/pins_RADDS.h | 4 +- Marlin/src/pins/sam/pins_RAMPS_DUO.h | 4 +- Marlin/src/pins/sam/pins_RAMPS_FD_V1.h | 4 +- Marlin/src/pins/sam/pins_RURAMPS4D_11.h | 4 +- Marlin/src/pins/sam/pins_RURAMPS4D_13.h | 4 +- Marlin/src/pins/samd/pins_RAMPS_144.h | 4 +- Marlin/src/pins/sanguino/pins_ANET_10.h | 2 +- .../src/pins/sanguino/pins_MELZI_CREALITY.h | 2 +- Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h | 2 +- Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h | 2 +- Marlin/src/pins/sanguino/pins_MELZI_V2.h | 2 +- .../src/pins/sanguino/pins_SANGUINOLOLU_11.h | 6 +-- Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 4 +- .../stm32f1/pins_BTT_SKR_MINI_E3_common.h | 6 +-- .../src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h | 6 +-- .../src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h | 2 +- Marlin/src/pins/stm32f1/pins_CHITU3D.h | 4 +- Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h | 4 +- Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h | 4 +- Marlin/src/pins/stm32f1/pins_GTM32_MINI.h | 6 +-- Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h | 6 +-- Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h | 6 +-- Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h | 6 +-- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h | 4 +- .../pins/stm32f1/pins_MKS_ROBIN_E3_common.h | 4 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h | 6 +-- .../src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h | 4 +- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 11 +++-- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 2 +- Marlin/src/pins/stm32f1/pins_STM32F1R.h | 4 +- Marlin/src/pins/stm32f1/pins_STM3R_MINI.h | 4 +- Marlin/src/pins/stm32f4/pins_BEAST.h | 4 +- .../src/pins/stm32f4/pins_BTT_BTT002_V1_0.h | 15 +++--- Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h | 16 ++++--- .../pins/stm32f4/pins_BTT_SKR_PRO_common.h | 47 +++++++++++-------- Marlin/src/pins/stm32f4/pins_FYSETC_S6.h | 6 +-- .../src/pins/stm32f4/pins_GENERIC_STM32F4.h | 2 +- Marlin/src/pins/stm32f4/pins_RUMBA32_common.h | 4 +- Marlin/src/pins/stm32f4/pins_VAKE403D.h | 2 +- .../src/pins/teensy2/pins_PRINTRBOARD_REVF.h | 2 +- Marlin/src/pins/teensy3/pins_TEENSY31_32.h | 2 +- Marlin/src/pins/teensy3/pins_TEENSY35_36.h | 2 +- .../PlatformIO/scripts/common-dependencies.h | 2 +- platformio.ini | 10 ++-- 138 files changed, 353 insertions(+), 333 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index e35f50fe6258..915714039fc3 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1106,18 +1106,18 @@ #define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s) #endif -#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && (HAS_GRAPHICAL_LCD || HAS_CHARACTER_LCD) +#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && (HAS_MARLINUI_U8GLIB || HAS_MARLINUI_HD44780) //#define SHOW_REMAINING_TIME // Display estimated time to completion #if ENABLED(SHOW_REMAINING_TIME) //#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation //#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits #endif - #if HAS_CHARACTER_LCD + #if HAS_MARLINUI_HD44780 //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing #if ENABLED(LCD_PROGRESS_BAR) #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar @@ -1328,7 +1328,7 @@ * controller events, as there is a trade-off between reliable * printing performance versus fast display updates. */ -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB // Show SD percentage next to the progress bar //#define DOGM_SD_PERCENT @@ -1398,7 +1398,7 @@ //#define MARLIN_SNAKE //#define GAMES_EASTER_EGG // Add extra blank lines above the "Games" sub-menu -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB // // Additional options for DGUS / DWIN displays diff --git a/Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp b/Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp index c29b19557899..cb95a48cccec 100644 --- a/Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp +++ b/Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp @@ -57,7 +57,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "../shared/Marduino.h" #include "../shared/Delay.h" @@ -189,5 +189,5 @@ uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp index 28e82d70d454..3e7f6199973d 100644 --- a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp +++ b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp @@ -59,7 +59,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include @@ -145,6 +145,6 @@ uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // __SAM3X8E__ diff --git a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp index 54c244d4f615..ea7204fa366b 100644 --- a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp +++ b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp @@ -57,7 +57,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD && DISABLED(U8GLIB_ST7920) +#if HAS_MARLINUI_U8GLIB && DISABLED(U8GLIB_ST7920) #undef SPI_SPEED #define SPI_SPEED 2 // About 2 MHz @@ -144,5 +144,5 @@ uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void return 1; } -#endif // HAS_GRAPHICAL_LCD && !U8GLIB_ST7920 +#endif // HAS_MARLINUI_U8GLIB && !U8GLIB_ST7920 #endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp index 960df1bd864b..615a386c3542 100644 --- a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp +++ b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp @@ -57,7 +57,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "../../shared/Delay.h" @@ -108,5 +108,5 @@ void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz } } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/LINUX/spi_pins.h b/Marlin/src/HAL/LINUX/spi_pins.h index a444196f04bb..01ba28e5b604 100644 --- a/Marlin/src/HAL/LINUX/spi_pins.h +++ b/Marlin/src/HAL/LINUX/spi_pins.h @@ -24,7 +24,7 @@ #include "../../core/macros.h" #include "../../inc/MarlinConfigPre.h" -#if BOTH(HAS_GRAPHICAL_LCD, SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN || LCD_PINS_ENABLE == MOSI_PIN || DOGLCD_SCK == SCK_PIN || DOGLCD_MOSI == MOSI_PIN) +#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN || LCD_PINS_ENABLE == MOSI_PIN || DOGLCD_SCK == SCK_PIN || DOGLCD_MOSI == MOSI_PIN) #define LPC_SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently // needed due to the speed and mode required for communicating with each device being different. // This requirement can be removed if the SPI access to these devices is updated to use diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index b6491368cd2a..fd82e2884ae9 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -113,7 +113,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #define _IS_RX1_1 IS_RX1 #if IS_TX1(TMC_SW_SCK) #error "Serial port pins (1) conflict with other pins!" - #elif HAS_SPI_LCD + #elif HAS_WIRED_LCD #if IS_TX1(BTN_EN2) || IS_RX1(BTN_EN1) #error "Serial port pins (1) conflict with Encoder Buttons!" #elif ANY_TX(1, SCK_PIN, LCD_PINS_D4, DOGLCD_SCK, LCD_RESET_PIN, LCD_PINS_RS, SHIFT_CLK) \ diff --git a/Marlin/src/HAL/LPC1768/spi_pins.h b/Marlin/src/HAL/LPC1768/spi_pins.h index 2e6749bf5752..b4da5d4df234 100644 --- a/Marlin/src/HAL/LPC1768/spi_pins.h +++ b/Marlin/src/HAL/LPC1768/spi_pins.h @@ -23,7 +23,7 @@ #include "../../core/macros.h" -#if BOTH(SDSUPPORT, HAS_GRAPHICAL_LCD) && (LCD_PINS_D4 == SCK_PIN || LCD_PINS_ENABLE == MOSI_PIN || DOGLCD_SCK == SCK_PIN || DOGLCD_MOSI == MOSI_PIN) +#if BOTH(SDSUPPORT, HAS_MARLINUI_U8GLIB) && (LCD_PINS_D4 == SCK_PIN || LCD_PINS_ENABLE == MOSI_PIN || DOGLCD_SCK == SCK_PIN || DOGLCD_MOSI == MOSI_PIN) #define LPC_SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently // needed due to the speed and mode required for communicating with each device being different. // This requirement can be removed if the SPI access to these devices is updated to use diff --git a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_hw_spi.cpp b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_hw_spi.cpp index befc348fab49..057e10e0f545 100644 --- a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_hw_spi.cpp +++ b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_hw_spi.cpp @@ -57,7 +57,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include #include "../../shared/HAL_SPI.h" @@ -124,6 +124,6 @@ uint8_t u8g_com_HAL_LPC1768_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp index f03be9ab34dc..6f7efba4ae20 100644 --- a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp +++ b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_ssd_hw_i2c.cpp @@ -77,7 +77,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include @@ -193,6 +193,6 @@ uint8_t u8g_com_HAL_LPC1768_ssd_hw_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_v return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp index 1500c22a0d52..592e27f6c006 100644 --- a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp +++ b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp @@ -57,7 +57,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include #include "../../shared/HAL_SPI.h" @@ -133,6 +133,6 @@ uint8_t u8g_com_HAL_LPC1768_ST7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t ar return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_sw_spi.cpp b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_sw_spi.cpp index 4f52f7dd0129..ca9d6ecfbe25 100644 --- a/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_sw_spi.cpp +++ b/Marlin/src/HAL/LPC1768/u8g/u8g_com_HAL_LPC1768_sw_spi.cpp @@ -57,7 +57,7 @@ #include "../../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD && DISABLED(U8GLIB_ST7920) +#if HAS_MARLINUI_U8GLIB && DISABLED(U8GLIB_ST7920) #include @@ -203,5 +203,5 @@ uint8_t u8g_com_HAL_LPC1768_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } -#endif // HAS_GRAPHICAL_LCD && !U8GLIB_ST7920 +#endif // HAS_MARLINUI_U8GLIB && !U8GLIB_ST7920 #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp b/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp index 894abb882a64..f88fa8850788 100644 --- a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp +++ b/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp @@ -20,7 +20,7 @@ #include "../../../inc/MarlinConfig.h" -#if BOTH(HAS_GRAPHICAL_LCD, FORCE_SOFT_SPI) +#if BOTH(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI) #include "../HAL.h" #include @@ -161,5 +161,5 @@ uint8_t u8g_com_HAL_STM32F1_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // STM32F1 diff --git a/Marlin/src/HAL/shared/HAL_ST7920.h b/Marlin/src/HAL/shared/HAL_ST7920.h index 05e8a1f2c558..4e362f96ba55 100644 --- a/Marlin/src/HAL/shared/HAL_ST7920.h +++ b/Marlin/src/HAL/shared/HAL_ST7920.h @@ -27,7 +27,7 @@ * (bypassing U8G), it will allow the LIGHTWEIGHT_UI to operate. */ -#if BOTH(HAS_GRAPHICAL_LCD, LIGHTWEIGHT_UI) +#if BOTH(HAS_MARLINUI_U8GLIB, LIGHTWEIGHT_UI) void ST7920_cs(); void ST7920_ncs(); void ST7920_set_cmd(); diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index c6c6ef9b0db5..8a425510c059 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -1072,7 +1072,7 @@ void setup() { DWIN_UpdateLCD(); // Show bootscreen (first image) #else SETUP_RUN(ui.init()); - #if HAS_SPI_LCD && ENABLED(SHOW_BOOTSCREEN) + #if HAS_WIRED_LCD && ENABLED(SHOW_BOOTSCREEN) SETUP_RUN(ui.show_bootscreen()); #endif SETUP_RUN(ui.reset_status()); // Load welcome message early. (Retained if no errors exist.) diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index 0bcf799ac31d..ed97e52f891d 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -303,7 +303,7 @@ #define LCD_STR_C STR_C #define LCD_STR_E STR_E -#if HAS_CHARACTER_LCD +#if HAS_MARLINUI_HD44780 // Custom characters defined in the first 8 characters of the LCD #define LCD_STR_BEDTEMP "\x00" // Print only as a char. This will have 'unexpected' results when used in a string! diff --git a/Marlin/src/feature/power_monitor.cpp b/Marlin/src/feature/power_monitor.cpp index bf5ac748a86e..af31d156fc84 100644 --- a/Marlin/src/feature/power_monitor.cpp +++ b/Marlin/src/feature/power_monitor.cpp @@ -44,7 +44,7 @@ uint8_t PowerMonitor::display_item; PowerMonitor power_monitor; // Single instance - this calls the constructor -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #if ENABLED(POWER_MONITOR_CURRENT) void PowerMonitor::draw_current() { @@ -70,6 +70,6 @@ PowerMonitor power_monitor; // Single instance - this calls the constructor } #endif -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB #endif // HAS_POWER_MONITOR diff --git a/Marlin/src/feature/power_monitor.h b/Marlin/src/feature/power_monitor.h index a86bd07ec4d1..a0eaf353f4c7 100644 --- a/Marlin/src/feature/power_monitor.h +++ b/Marlin/src/feature/power_monitor.h @@ -88,8 +88,8 @@ class PowerMonitor { FORCE_INLINE static float getPower() { return getAmps() * getVolts(); } #endif - #if HAS_SPI_LCD - #if HAS_GRAPHICAL_LCD && DISABLED(LIGHTWEIGHT_UI) + #if HAS_WIRED_LCD + #if HAS_MARLINUI_U8GLIB && DISABLED(LIGHTWEIGHT_UI) FORCE_INLINE static bool display_enabled() { return flags != 0x00; } #endif #if ENABLED(POWER_MONITOR_CURRENT) diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index cd0dbb13cdcb..c66d4a7d4974 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -359,7 +359,7 @@ inline bool turn_on_heaters() { #if HAS_HEATED_BED if (g26_bed_temp > 25) { - #if HAS_SPI_LCD + #if HAS_WIRED_LCD ui.set_status_P(GET_TEXT(MSG_G26_HEATING_BED), 99); ui.quick_feedback(); TERN_(HAS_LCD_MENU, ui.capture()); @@ -378,7 +378,7 @@ inline bool turn_on_heaters() { #endif // HAS_HEATED_BED // Start heating the active nozzle - #if HAS_SPI_LCD + #if HAS_WIRED_LCD ui.set_status_P(GET_TEXT(MSG_G26_HEATING_NOZZLE), 99); ui.quick_feedback(); #endif @@ -391,7 +391,7 @@ inline bool turn_on_heaters() { #endif )) return G26_ERR; - #if HAS_SPI_LCD + #if HAS_WIRED_LCD ui.reset_status(); ui.quick_feedback(); #endif @@ -446,7 +446,7 @@ inline bool prime_nozzle() { else #endif { - #if HAS_SPI_LCD + #if HAS_WIRED_LCD ui.set_status_P(GET_TEXT(MSG_G26_FIXED_LENGTH), 99); ui.quick_feedback(); #endif diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index 88273b46e46e..8640dfa39166 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -144,7 +144,7 @@ void GcodeSuite::M48() { float sample_sum = 0.0; LOOP_L_N(n, n_samples) { - #if HAS_SPI_LCD + #if HAS_WIRED_LCD // Display M48 progress in the status bar ui.status_printf_P(0, PSTR(S_FMT ": %d/%d"), GET_TEXT(MSG_M48_POINT), int(n + 1), int(n_samples)); #endif @@ -258,7 +258,7 @@ void GcodeSuite::M48() { SERIAL_ECHOLNPGM("Finished!"); dev_report(verbose_level > 0, mean, sigma, min, max, true); - #if HAS_SPI_LCD + #if HAS_WIRED_LCD // Display M48 results in the status bar char sigma_str[8]; ui.status_printf_P(0, PSTR(S_FMT ": %s"), GET_TEXT(MSG_M48_DEVIATION), dtostrf(sigma, 2, 6, sigma_str)); diff --git a/Marlin/src/gcode/feature/power_monitor/M430.cpp b/Marlin/src/gcode/feature/power_monitor/M430.cpp index a669f0a76b42..7639ea962d9b 100644 --- a/Marlin/src/gcode/feature/power_monitor/M430.cpp +++ b/Marlin/src/gcode/feature/power_monitor/M430.cpp @@ -38,7 +38,7 @@ */ void GcodeSuite::M430() { bool do_report = true; - #if HAS_SPI_LCD + #if HAS_WIRED_LCD #if ENABLED(POWER_MONITOR_CURRENT) if (parser.seen('I')) { power_monitor.set_current_display(parser.value_bool()); do_report = false; } #endif diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 95c93beb9ec1..af8ef73817dd 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -456,11 +456,11 @@ #endif #if ENABLED(ULTRA_LCD) - #define HAS_SPI_LCD 1 + #define HAS_WIRED_LCD 1 #if ENABLED(DOGLCD) - #define HAS_GRAPHICAL_LCD 1 + #define HAS_MARLINUI_U8GLIB 1 #elif DISABLED(HAS_GRAPHICAL_TFT) - #define HAS_CHARACTER_LCD 1 + #define HAS_MARLINUI_HD44780 1 #endif #endif @@ -471,7 +471,7 @@ #define HAS_ADC_BUTTONS 1 #endif -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef LCD_PIXEL_WIDTH #define LCD_PIXEL_WIDTH 128 #endif diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index c9a29b351cbb..bf297b633f8e 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -313,7 +313,7 @@ #elif ENABLED(MAKRPANEL) #define _LCD_CONTRAST_INIT 17 #elif ENABLED(MINIPANEL) - #define _LCD_CONTRAST_INIT 150 + #define _LCD_CONTRAST_INIT 150 #elif ENABLED(ZONESTAR_12864OLED) #define _LCD_CONTRAST_MIN 64 #define _LCD_CONTRAST_INIT 128 @@ -2455,7 +2455,7 @@ */ #if PIN_EXISTS(BEEPER) || EITHER(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) #define HAS_BUZZER 1 - #if NONE(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) + #if PIN_EXISTS(BEEPER) #define USE_BEEPER 1 #endif #endif @@ -2483,7 +2483,7 @@ /** * Make sure DOGLCD_SCK and DOGLCD_MOSI are defined. */ -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef DOGLCD_SCK #define DOGLCD_SCK SCK_PIN #endif @@ -2604,17 +2604,17 @@ #define HAS_FOLDER_SORTING 1 #endif -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // Get LCD character width/height, which may be overridden by pins, configs, etc. #ifndef LCD_WIDTH - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #define LCD_WIDTH 21 #else #define LCD_WIDTH TERN(ULTIPANEL, 20, 16) #endif #endif #ifndef LCD_HEIGHT - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #define LCD_HEIGHT 5 #else #define LCD_HEIGHT TERN(ULTIPANEL, 4, 2) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 1cb8bcd7e902..7093d252196b 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -680,7 +680,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * LCD Info Screen Style */ #if LCD_INFO_SCREEN_STYLE > 0 - #if HAS_GRAPHICAL_LCD || LCD_WIDTH < 20 || LCD_HEIGHT < 4 + #if HAS_MARLINUI_U8GLIB || LCD_WIDTH < 20 || LCD_HEIGHT < 4 #error "Alternative LCD_INFO_SCREEN_STYLE requires 20x4 Character LCD." #elif LCD_INFO_SCREEN_STYLE > 1 #error "LCD_INFO_SCREEN_STYLE only has options 0 and 1 at this time." @@ -693,16 +693,16 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #if ENABLED(LCD_PROGRESS_BAR) #if NONE(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) #error "LCD_PROGRESS_BAR requires SDSUPPORT or LCD_SET_PROGRESS_MANUALLY." - #elif !HAS_CHARACTER_LCD + #elif !HAS_MARLINUI_HD44780 #error "LCD_PROGRESS_BAR requires a character LCD." - #elif HAS_GRAPHICAL_LCD + #elif HAS_MARLINUI_U8GLIB #error "LCD_PROGRESS_BAR does not apply to graphical displays." #elif ENABLED(FILAMENT_LCD_DISPLAY) #error "LCD_PROGRESS_BAR and FILAMENT_LCD_DISPLAY are not fully compatible. Comment out this line to use both." #elif PROGRESS_MSG_EXPIRE < 0 #error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0." #endif -#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, HAS_GRAPHICAL_TFT, HAS_CHARACTER_LCD, EXTENSIBLE_UI) +#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI) #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI." #endif @@ -713,9 +713,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Custom Boot and Status screens */ -#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) && NONE(HAS_GRAPHICAL_LCD, TOUCH_UI_FTDI_EVE) +#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) && NONE(HAS_MARLINUI_U8GLIB, TOUCH_UI_FTDI_EVE) #error "SHOW_CUSTOM_BOOTSCREEN requires Graphical LCD or TOUCH_UI_FTDI_EVE." -#elif ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) && !HAS_GRAPHICAL_LCD +#elif ENABLED(CUSTOM_STATUS_SCREEN_IMAGE) && !HAS_MARLINUI_U8GLIB #error "CUSTOM_STATUS_SCREEN_IMAGE requires a Graphical LCD." #endif @@ -782,7 +782,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET is not a valid combination" #elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE #error "BABYSTEP_ZPROBE_OFFSET requires a probe." - #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !HAS_GRAPHICAL_LCD + #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !HAS_MARLINUI_U8GLIB #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a Graphical LCD." #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && DISABLED(BABYSTEP_ZPROBE_OFFSET) #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a BABYSTEP_ZPROBE_OFFSET." @@ -1143,7 +1143,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS /** * Required LCD language */ -#if HAS_CHARACTER_LCD && !defined(DISPLAY_CHARSET_HD44780) +#if HAS_MARLINUI_HD44780 && !defined(DISPLAY_CHARSET_HD44780) #error "You must set DISPLAY_CHARSET_HD44780 to JAPANESE, WESTERN or CYRILLIC for your LCD controller." #endif @@ -1465,7 +1465,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #endif #endif -#if ENABLED(MESH_EDIT_GFX_OVERLAY) && !BOTH(AUTO_BED_LEVELING_UBL, HAS_GRAPHICAL_LCD) +#if ENABLED(MESH_EDIT_GFX_OVERLAY) && !BOTH(AUTO_BED_LEVELING_UBL, HAS_MARLINUI_U8GLIB) #error "MESH_EDIT_GFX_OVERLAY requires AUTO_BED_LEVELING_UBL and a Graphical LCD." #endif @@ -3081,7 +3081,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #undef _PIN_CONFLICT #endif -#if !HAS_GRAPHICAL_LCD +#if !HAS_MARLINUI_U8GLIB #if ENABLED(PRINT_PROGRESS_SHOW_DECIMALS) #error "PRINT_PROGRESS_SHOW_DECIMALS currently requires a Graphical LCD." #endif diff --git a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp index 9fe69d442832..aa3c3c04a123 100644 --- a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp +++ b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp @@ -14,7 +14,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_CHARACTER_LCD +#if HAS_MARLINUI_HD44780 #include "../ultralcd.h" #include "../../MarlinCore.h" @@ -1119,4 +1119,4 @@ int lcd_put_u8str_max_P(PGM_P utf8_str_P, pixel_len_t max_length) { #endif // DEBUG_LCDPRINT -#endif // HAS_CHARACTER_LCD +#endif // HAS_MARLINUI_HD44780 diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index 3dc0925b432f..e6cc22746571 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -22,7 +22,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_CHARACTER_LCD +#if HAS_MARLINUI_HD44780 /** * ultralcd_HD44780.cpp @@ -1517,4 +1517,4 @@ void MarlinUI::draw_status_screen() { #endif // HAS_LCD_MENU -#endif // HAS_CHARACTER_LCD +#endif // HAS_MARLINUI_HD44780 diff --git a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp index c9a55a16e3b4..a6bdb373dd70 100644 --- a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp +++ b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp @@ -9,7 +9,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "ultralcd_DOGM.h" @@ -53,4 +53,4 @@ int lcd_put_u8str_max_P(PGM_P utf8_str_P, pixel_len_t max_length) { return ret; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 4b51c2949b23..82b6e768c6ad 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -27,7 +27,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD && DISABLED(LIGHTWEIGHT_UI) +#if HAS_MARLINUI_U8GLIB && DISABLED(LIGHTWEIGHT_UI) #include "dogm_Statusscreen.h" #include "ultralcd_DOGM.h" @@ -913,4 +913,4 @@ void MarlinUI::draw_status_message(const bool blink) { #endif } -#endif // HAS_GRAPHICAL_LCD && !LIGHTWEIGHT_UI +#endif // HAS_MARLINUI_U8GLIB && !LIGHTWEIGHT_UI diff --git a/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp b/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp index 70cb7c66d793..f97a323350ee 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_ssd1306_sh1106_128x64_I2C.cpp @@ -67,7 +67,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "HAL_LCD_com_defines.h" @@ -300,4 +300,4 @@ uint8_t u8g_WriteEscSeqP_2_wire(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_s return 1; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp index e70b3671b541..84c10dbb4d2e 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp @@ -55,7 +55,7 @@ #include "../../inc/MarlinConfig.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include #include "HAL_LCD_com_defines.h" @@ -233,4 +233,4 @@ u8g_dev_t u8g_dev_st7565_64128n_HAL_2x_sw_spi = { u8g_dev_st7565_64128n_HAL_2x_f U8G_PB_DEV(u8g_dev_st7565_64128n_HAL_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_HAL_fn, U8G_COM_HAL_HW_SPI_FN); u8g_dev_t u8g_dev_st7565_64128n_HAL_2x_hw_spi = { u8g_dev_st7565_64128n_HAL_2x_fn, &u8g_dev_st7565_64128n_HAL_2x_pb, U8G_COM_HAL_HW_SPI_FN }; -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp index 838bee0ffc4c..740436d93c07 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_st7920_128x64_HAL.cpp @@ -55,7 +55,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "HAL_LCD_com_defines.h" @@ -205,4 +205,4 @@ u8g_dev_t u8g_dev_st7920_128x64_HAL_4x_hw_spi = { u8g_dev_st7920_128x64_HAL_4x_f u8g_dev_t u8g_dev_st7920_128x64_rrd_sw_spi = { u8g_dev_st7920_128x64_HAL_4x_fn, &u8g_dev_st7920_128x64_HAL_4x_pb, U8G_COM_ST7920_HAL_SW_SPI }; #endif -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index 39c294defe5b..eb9b5315e575 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -56,7 +56,7 @@ #include "../../inc/MarlinConfig.h" -#if HAS_GRAPHICAL_LCD && (PIN_EXISTS(FSMC_CS) || ENABLED(SPI_GRAPHICAL_TFT)) +#if HAS_MARLINUI_U8GLIB && (PIN_EXISTS(FSMC_CS) || ENABLED(SPI_GRAPHICAL_TFT)) #include "HAL_LCD_com_defines.h" #include "ultralcd_DOGM.h" @@ -813,4 +813,4 @@ uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_p U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_TFT_FN); -#endif // HAS_GRAPHICAL_LCD && FSMC_CS +#endif // HAS_MARLINUI_U8GLIB && FSMC_CS diff --git a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp index e4e387c1907f..172afbd76647 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp @@ -55,7 +55,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "HAL_LCD_com_defines.h" @@ -210,4 +210,4 @@ u8g_pb_t u8g_dev_uc1701_mini12864_HAL_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u u8g_dev_t u8g_dev_uc1701_mini12864_HAL_2x_sw_spi = { u8g_dev_uc1701_mini12864_HAL_2x_fn, &u8g_dev_uc1701_mini12864_HAL_2x_pb, U8G_COM_HAL_SW_SPI_FN }; u8g_dev_t u8g_dev_uc1701_mini12864_HAL_2x_hw_spi = { u8g_dev_uc1701_mini12864_HAL_2x_fn, &u8g_dev_uc1701_mini12864_HAL_2x_pb, U8G_COM_HAL_HW_SPI_FN }; -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/u8g_fontutf8.cpp b/Marlin/src/lcd/dogm/u8g_fontutf8.cpp index 370b177470ec..89bdb09e1be2 100644 --- a/Marlin/src/lcd/dogm/u8g_fontutf8.cpp +++ b/Marlin/src/lcd/dogm/u8g_fontutf8.cpp @@ -9,7 +9,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include #include "../fontutils.h" @@ -312,4 +312,4 @@ int uxg_GetUtf8StrPixelWidthP(u8g_t *pu8g, PGM_P utf8_msg) { return data.adv; } -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp index b4f32d3343a1..c48abac81016 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp @@ -37,7 +37,7 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "ultralcd_DOGM.h" #include "u8g_fontutf8.h" @@ -687,4 +687,4 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop #endif // HAS_LCD_MENU -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB diff --git a/Marlin/src/lcd/fontutils.cpp b/Marlin/src/lcd/fontutils.cpp index 8b046af9a7a2..5bf07e1bd458 100644 --- a/Marlin/src/lcd/fontutils.cpp +++ b/Marlin/src/lcd/fontutils.cpp @@ -9,7 +9,7 @@ #include "../inc/MarlinConfig.h" -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #include "ultralcd.h" #include "../MarlinCore.h" #endif diff --git a/Marlin/src/lcd/lcdprint.cpp b/Marlin/src/lcd/lcdprint.cpp index 1355dbbf2ddb..e381c590f578 100644 --- a/Marlin/src/lcd/lcdprint.cpp +++ b/Marlin/src/lcd/lcdprint.cpp @@ -26,7 +26,7 @@ #include "../inc/MarlinConfigPre.h" -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #include "lcdprint.h" @@ -73,4 +73,4 @@ lcd_uint_t lcd_put_u8str_ind_P(PGM_P const pstr, const int8_t ind, PGM_P const i return n; } -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h index 031d467bf947..14df5309d7d0 100644 --- a/Marlin/src/lcd/lcdprint.h +++ b/Marlin/src/lcd/lcdprint.h @@ -34,7 +34,7 @@ #include "../inc/MarlinConfig.h" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "dogm/u8g_fontutf8.h" typedef u8g_uint_t lcd_uint_t; diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 474f40cecaed..5d67410351f6 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -213,14 +213,14 @@ void MarlinUI::goto_screen(screenFunc_t screen, const uint16_t encoder/*=0*/, co clear_lcd(); // Re-initialize custom characters that may be re-used - #if HAS_CHARACTER_LCD + #if HAS_MARLINUI_HD44780 if (TERN1(AUTO_BED_LEVELING_UBL, !ubl.lcd_map_control)) set_custom_characters(on_status_screen() ? CHARSET_INFO : CHARSET_MENU); #endif refresh(LCDVIEW_CALL_REDRAW_NEXT); screen_changed = true; - TERN_(HAS_GRAPHICAL_LCD, drawing_screen = false); + TERN_(HAS_MARLINUI_U8GLIB, drawing_screen = false); TERN_(HAS_LCD_MENU, encoder_direction_normal()); diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h index d69214446481..5248662823a7 100644 --- a/Marlin/src/lcd/menu/menu.h +++ b/Marlin/src/lcd/menu/menu.h @@ -39,7 +39,7 @@ typedef void (*selectFunc_t)(); #define SS_INVERT 0x02 #define SS_DEFAULT SS_CENTER -#if HAS_GRAPHICAL_LCD && EITHER(BABYSTEP_ZPROBE_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY) +#if HAS_MARLINUI_U8GLIB && EITHER(BABYSTEP_ZPROBE_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY) void _lcd_zoffset_overlay_gfx(const float zvalue); #endif @@ -215,7 +215,7 @@ void _lcd_draw_homing(); void line_to_z(const float &z); #endif -#if HAS_GRAPHICAL_LCD && EITHER(BABYSTEP_ZPROBE_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY) +#if HAS_MARLINUI_U8GLIB && EITHER(BABYSTEP_ZPROBE_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY) void _lcd_zoffset_overlay_gfx(const float zvalue); #endif diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index 2953b3b46454..22947ee5149a 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -60,7 +60,9 @@ void menu_advanced_settings(); static int8_t bar_percent = 0; if (ui.use_click()) { ui.goto_previous_screen(); - ui.set_custom_characters(CHARSET_MENU); + #if HAS_MARLINUI_HD44780 + ui.set_custom_characters(CHARSET_MENU); + #endif return; } bar_percent += (int8_t)ui.encoderPosition; @@ -73,7 +75,9 @@ void menu_advanced_settings(); void _progress_bar_test() { ui.goto_screen(progress_bar_test); - ui.set_custom_characters(CHARSET_INFO); + #if HAS_MARLINUI_HD44780 + ui.set_custom_characters(CHARSET_INFO); + #endif } #endif // LCD_PROGRESS_BAR_TEST diff --git a/Marlin/src/lcd/menu/menu_media.cpp b/Marlin/src/lcd/menu/menu_media.cpp index 3c0c6532f034..93ecc49d9859 100644 --- a/Marlin/src/lcd/menu/menu_media.cpp +++ b/Marlin/src/lcd/menu/menu_media.cpp @@ -99,7 +99,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase { encoderTopLine = 0; ui.encoderPosition = 2 * (ENCODER_STEPS_PER_MENU_ITEM); ui.screen_changed = true; - TERN_(HAS_GRAPHICAL_LCD, ui.drawing_screen = false); + TERN_(HAS_MARLINUI_U8GLIB, ui.drawing_screen = false); ui.refresh(); } }; @@ -107,7 +107,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase { void menu_media() { ui.encoder_direction_menus(); - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB static uint16_t fileCnt; if (ui.first_page) fileCnt = card.get_num_Files(); #else diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 9fea0597db5c..4e356b3e0c56 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -205,7 +205,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int #if DISABLED(HAS_GRAPHICAL_TFT) extern const char NUL_STR[]; SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); - MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD)); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); lcd_put_u8str(tmp); MENU_ITEM_ADDON_END(); #else diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index 758d75c8e915..b84cb8cbd777 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -46,7 +46,7 @@ #include "../../feature/babystep.h" #include "../lcdprint.h" - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #include "../dogm/ultralcd_DOGM.h" #endif @@ -68,10 +68,10 @@ const float spm = planner.steps_to_mm[axis]; MenuEditItemBase::draw_edit_screen(msg, BABYSTEP_TO_STR(spm * babystep.accum)); #if ENABLED(BABYSTEP_DISPLAY_TOTAL) - const bool in_view = TERN1(HAS_GRAPHICAL_LCD, PAGE_CONTAINS(LCD_PIXEL_HEIGHT - MENU_FONT_HEIGHT, LCD_PIXEL_HEIGHT - 1)); + const bool in_view = TERN1(HAS_MARLINUI_U8GLIB, PAGE_CONTAINS(LCD_PIXEL_HEIGHT - MENU_FONT_HEIGHT, LCD_PIXEL_HEIGHT - 1)); if (in_view) { - TERN_(HAS_GRAPHICAL_LCD, ui.set_font(FONT_MENU)); - lcd_moveto(0, TERN(HAS_GRAPHICAL_LCD, LCD_PIXEL_HEIGHT - MENU_FONT_DESCENT, LCD_HEIGHT - 1)); + TERN_(HAS_MARLINUI_U8GLIB, ui.set_font(FONT_MENU)); + lcd_moveto(0, TERN(HAS_MARLINUI_U8GLIB, LCD_PIXEL_HEIGHT - MENU_FONT_DESCENT, LCD_HEIGHT - 1)); lcd_put_u8str_P(GET_TEXT(MSG_BABYSTEP_TOTAL)); lcd_put_wchar(':'); lcd_put_u8str(BABYSTEP_TO_STR(spm * babystep.axis_total[BS_TOTAL_IND(axis)])); diff --git a/Marlin/src/lcd/touch/touch_buttons.cpp b/Marlin/src/lcd/touch/touch_buttons.cpp index 8eae73df1194..c97018c379c0 100644 --- a/Marlin/src/lcd/touch/touch_buttons.cpp +++ b/Marlin/src/lcd/touch/touch_buttons.cpp @@ -74,7 +74,7 @@ TouchButtons touch; void TouchButtons::init() { touchIO.Init(); } uint8_t TouchButtons::read_buttons() { - #ifdef HAS_SPI_LCD + #ifdef HAS_WIRED_LCD int16_t x, y; if (!touchIO.getRawPoint(&x, &y)) return 0; diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index fc55c3c2f6c9..89dc0adaf327 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -51,7 +51,7 @@ MarlinUI ui; constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(STATUS_MESSAGE_SCROLLING) uint8_t MarlinUI::status_scroll_offset; // = 0 constexpr uint8_t MAX_MESSAGE_LENGTH = _MAX(LONG_FILENAME_LENGTH, MAX_LANG_CHARSIZE * 2 * (LCD_WIDTH)); @@ -62,7 +62,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; constexpr uint8_t MAX_MESSAGE_LENGTH = 63; #endif -#if EITHER(HAS_SPI_LCD, EXTENSIBLE_UI) +#if EITHER(HAS_WIRED_LCD, EXTENSIBLE_UI) uint8_t MarlinUI::alert_level; // = 0 char MarlinUI::status_message[MAX_MESSAGE_LENGTH + 1]; #endif @@ -114,9 +114,9 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; } #endif -#if HAS_SPI_LCD +#if HAS_WIRED_LCD -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #include "dogm/ultralcd_DOGM.h" #endif @@ -167,7 +167,7 @@ uint8_t MarlinUI::lcd_status_update_delay = 1; // First update one loop delayed millis_t MarlinUI::next_button_update_ms; // = 0 -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB bool MarlinUI::drawing_screen, MarlinUI::first_page; // = false #endif @@ -372,7 +372,7 @@ void MarlinUI::init() { #endif // HAS_SHIFT_ENCODER - #if HAS_ENCODER_ACTION && HAS_SLOW_BUTTONS + #if BOTH(HAS_ENCODER_ACTION, HAS_SLOW_BUTTONS) slow_buttons = 0; #endif @@ -873,7 +873,7 @@ void MarlinUI::update() { #endif // HAS_LCD_MENU - if (ELAPSED(ms, next_lcd_update_ms) || TERN0(HAS_GRAPHICAL_LCD, drawing_screen)) { + if (ELAPSED(ms, next_lcd_update_ms) || TERN0(HAS_MARLINUI_U8GLIB, drawing_screen)) { next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL; @@ -971,7 +971,7 @@ void MarlinUI::update() { // This runs every ~100ms when idling often enough. // Instead of tracking changes just redraw the Status Screen once per second. if (on_status_screen() && !lcd_status_update_delay--) { - lcd_status_update_delay = TERN(HAS_GRAPHICAL_LCD, 12, 9); + lcd_status_update_delay = TERN(HAS_MARLINUI_U8GLIB, 12, 9); if (max_display_update_time) max_display_update_time--; // Be sure never go to a very big number refresh(LCDVIEW_REDRAW_NOW); } @@ -1010,7 +1010,7 @@ void MarlinUI::update() { TERN_(HAS_ADC_BUTTONS, keypad_buttons = 0); - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #if ENABLED(LIGHTWEIGHT_UI) const bool in_status = on_status_screen(), @@ -1294,7 +1294,7 @@ void MarlinUI::update() { #endif // HAS_ENCODER_ACTION -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if HAS_DISPLAY @@ -1342,7 +1342,7 @@ void MarlinUI::update() { next_filament_display = ms + 5000UL; // Show status message for 5s #endif - #if BOTH(HAS_SPI_LCD, STATUS_MESSAGE_SCROLLING) + #if BOTH(HAS_WIRED_LCD, STATUS_MESSAGE_SCROLLING) status_scroll_offset = 0; #endif @@ -1501,7 +1501,7 @@ void MarlinUI::update() { set_status_P(print_paused); #if ENABLED(PARK_HEAD_ON_PAUSE) - TERN_(HAS_SPI_LCD, lcd_pause_show_message(PAUSE_MESSAGE_PARKING, PAUSE_MODE_PAUSE_PRINT)); // Show message immediately to let user know about pause in progress + TERN_(HAS_WIRED_LCD, lcd_pause_show_message(PAUSE_MESSAGE_PARKING, PAUSE_MODE_PAUSE_PRINT)); // Show message immediately to let user know about pause in progress queue.inject_P(PSTR("M25 P\nM24")); #elif ENABLED(SDSUPPORT) queue.inject_P(PSTR("M25")); @@ -1610,11 +1610,11 @@ void MarlinUI::update() { refresh(); - #if HAS_SPI_LCD || defined(LED_BACKLIGHT_TIMEOUT) + #if HAS_WIRED_LCD || defined(LED_BACKLIGHT_TIMEOUT) const millis_t ms = millis(); #endif - TERN_(HAS_SPI_LCD, next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL); // Delay LCD update for SD activity + TERN_(HAS_WIRED_LCD, next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL); // Delay LCD update for SD activity #ifdef LED_BACKLIGHT_TIMEOUT leds.reset_timeout(ms); diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index 59e7cbe7d1ce..c23dc5d84e4e 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -40,7 +40,7 @@ #if HAS_ENCODER_WHEEL || ANY_BUTTON(ENC, BACK, UP, DWN, LFT, RT) #define HAS_DIGITAL_BUTTONS 1 #endif -#if !HAS_ADC_BUTTONS && (ENABLED(REPRAPWORLD_KEYPAD) || (HAS_SPI_LCD && DISABLED(NEWPANEL))) +#if !HAS_ADC_BUTTONS && (ENABLED(REPRAPWORLD_KEYPAD) || (HAS_WIRED_LCD && DISABLED(NEWPANEL))) #define HAS_SHIFT_ENCODER 1 #endif @@ -53,7 +53,7 @@ #define MULTI_MANUAL 1 #endif -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #include "../MarlinCore.h" @@ -104,7 +104,7 @@ #endif // HAS_LCD_MENU -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // REPRAPWORLD_KEYPAD (and ADC_KEYPAD) #if ENABLED(REPRAPWORLD_KEYPAD) @@ -231,7 +231,7 @@ #endif #endif -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB enum MarlinFont : uint8_t { FONT_STATUSMENU = 1, FONT_EDIT, @@ -316,11 +316,11 @@ class MarlinUI { static void refresh(); #else FORCE_INLINE static void refresh() { - TERN_(HAS_SPI_LCD, refresh(LCDVIEW_CLEAR_CALL_REDRAW)); + TERN_(HAS_WIRED_LCD, refresh(LCDVIEW_CLEAR_CALL_REDRAW)); } #endif - #if HAS_SPI_LCD + #if HAS_WIRED_LCD static bool detected(); static void init_lcd(); #else @@ -381,7 +381,7 @@ class MarlinUI { static void pause_print(); static void resume_print(); - #if HAS_SPI_LCD + #if HAS_WIRED_LCD static millis_t next_button_update_ms; @@ -403,7 +403,7 @@ class MarlinUI { static void show_bootscreen(); #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB static void set_font(const MarlinFont font_nr); @@ -458,7 +458,7 @@ class MarlinUI { #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB static bool drawing_screen, first_page; #else static constexpr bool drawing_screen = false, first_page = true; @@ -577,7 +577,7 @@ class MarlinUI { static void draw_select_screen_prompt(PGM_P const pref, const char * const string=nullptr, PGM_P const suff=nullptr); - #elif HAS_SPI_LCD + #elif HAS_WIRED_LCD static constexpr bool lcd_clicked = false; static constexpr bool on_status_screen() { return true; } @@ -692,7 +692,7 @@ class MarlinUI { static void finish_status(const bool persist); #endif - #if HAS_SPI_LCD + #if HAS_WIRED_LCD #if HAS_LCD_MENU && LCD_TIMEOUT_TO_STATUS > 0 static bool defer_return_to_status; #else diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index a3a89736e5aa..712182a0ea40 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -351,7 +351,7 @@ void Endstops::event_handler() { if (hit_state == prev_hit_state) return; prev_hit_state = hit_state; if (hit_state) { - #if HAS_SPI_LCD + #if HAS_WIRED_LCD char chrX = ' ', chrY = ' ', chrZ = ' ', chrP = ' '; #define _SET_STOP_CHAR(A,C) (chr## A = C) #else @@ -382,7 +382,7 @@ void Endstops::event_handler() { #endif SERIAL_EOL(); - TERN_(HAS_SPI_LCD, ui.status_printf_P(0, PSTR(S_FMT " %c %c %c %c"), GET_TEXT(MSG_LCD_ENDSTOPS), chrX, chrY, chrZ, chrP)); + TERN_(HAS_WIRED_LCD, ui.status_printf_P(0, PSTR(S_FMT " %c %c %c %c"), GET_TEXT(MSG_LCD_ENDSTOPS), chrX, chrY, chrZ, chrP)); #if BOTH(SD_ABORT_ON_ENDSTOP_HIT, SDSUPPORT) if (planner.abort_on_endstop_hit) { diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 30e1ffb0cafb..2ef00f795953 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -234,7 +234,7 @@ float Planner::previous_nominal_speed_sqr; xyze_pos_t Planner::position_cart; #endif -#if HAS_SPI_LCD +#if HAS_WIRED_LCD volatile uint32_t Planner::block_buffer_runtime_us = 0; #endif @@ -747,7 +747,7 @@ block_t* Planner::get_current_block() { if (TEST(block->flag, BLOCK_BIT_RECALCULATE)) return nullptr; // We can't be sure how long an active block will take, so don't count it. - TERN_(HAS_SPI_LCD, block_buffer_runtime_us -= block->segment_time_us); + TERN_(HAS_WIRED_LCD, block_buffer_runtime_us -= block->segment_time_us); // As this block is busy, advance the nonbusy block pointer block_buffer_nonbusy = next_block_index(block_buffer_tail); @@ -761,7 +761,7 @@ block_t* Planner::get_current_block() { } // The queue became empty - TERN_(HAS_SPI_LCD, clear_block_buffer_runtime()); // paranoia. Buffer is empty now - so reset accumulated time to zero. + TERN_(HAS_WIRED_LCD, clear_block_buffer_runtime()); // paranoia. Buffer is empty now - so reset accumulated time to zero. return nullptr; } @@ -1578,7 +1578,7 @@ void Planner::quick_stop() { // forced to empty, there's no risk the ISR will touch this. delay_before_delivering = BLOCK_DELAY_FOR_1ST_MOVE; - #if HAS_SPI_LCD + #if HAS_WIRED_LCD // Clear the accumulated runtime clear_block_buffer_runtime(); #endif @@ -2081,7 +2081,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move, const uint8_t moves_queued = nonbusy_movesplanned(); // Slow down when the buffer starts to empty, rather than wait at the corner for a buffer refill - #if EITHER(SLOWDOWN, HAS_SPI_LCD) || defined(XY_FREQUENCY_LIMIT) + #if EITHER(SLOWDOWN, HAS_WIRED_LCD) || defined(XY_FREQUENCY_LIMIT) // Segment time im micro seconds int32_t segment_time_us = LROUND(1000000.0f / inverse_secs); #endif @@ -2096,14 +2096,14 @@ bool Planner::_populate_block(block_t * const block, bool split_move, // Buffer is draining so add extra time. The amount of time added increases if the buffer is still emptied more. const int32_t nst = segment_time_us + LROUND(2 * time_diff / moves_queued); inverse_secs = 1000000.0f / nst; - #if defined(XY_FREQUENCY_LIMIT) || HAS_SPI_LCD + #if defined(XY_FREQUENCY_LIMIT) || HAS_WIRED_LCD segment_time_us = nst; #endif } } #endif - #if HAS_SPI_LCD + #if HAS_WIRED_LCD // Protect the access to the position. const bool was_enabled = stepper.suspend(); @@ -3029,7 +3029,7 @@ void Planner::set_max_jerk(const AxisEnum axis, float targetValue) { #endif } -#if HAS_SPI_LCD +#if HAS_WIRED_LCD uint16_t Planner::block_buffer_runtime() { #ifdef __AVR__ diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index 660d9ad5aa1e..c4e11490b161 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -218,7 +218,7 @@ typedef struct block_t { uint8_t valve_pressure, e_to_p_pressure; #endif - #if HAS_SPI_LCD + #if HAS_WIRED_LCD uint32_t segment_time_us; #endif @@ -438,7 +438,7 @@ class Planner { static uint8_t g_uc_extruder_last_move[EXTRUDERS]; #endif - #if HAS_SPI_LCD + #if HAS_WIRED_LCD volatile static uint32_t block_buffer_runtime_us; // Theoretical block buffer runtime in µs #endif @@ -871,7 +871,7 @@ class Planner { block_buffer_tail = next_block_index(block_buffer_tail); } - #if HAS_SPI_LCD + #if HAS_WIRED_LCD static uint16_t block_buffer_runtime(); static void clear_block_buffer_runtime(); #endif diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPE.h b/Marlin/src/pins/esp32/pins_MRR_ESPE.h index 459d00e3e7e2..95f761f26ad9 100644 --- a/Marlin/src/pins/esp32/pins_MRR_ESPE.h +++ b/Marlin/src/pins/esp32/pins_MRR_ESPE.h @@ -124,7 +124,7 @@ // LCDs and Controllers // ////////////////////////// -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #define LCD_PINS_RS 13 #define LCD_PINS_ENABLE 17 @@ -152,7 +152,7 @@ #define BTN_EN2 12 #define BTN_ENC 14 -#endif // HAS_GRAPHICAL_LCD +#endif // HAS_MARLINUI_U8GLIB // Hardware serial pins // Add the following to Configuration.h or Configuration_adv.h to assign diff --git a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h index 2b7909221ec9..002d2ebd9c62 100644 --- a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h +++ b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h @@ -389,7 +389,7 @@ // LCDs and Controllers // ////////////////////////// -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // // LCD Display output pins @@ -632,4 +632,4 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h index 13e30b961c1e..c59c90ad1d59 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h @@ -126,7 +126,7 @@ * for the onboard SD card, and a chip select signal is not provided for the remote * SD card. */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P1_31 // EXP1-1 @@ -139,7 +139,7 @@ #define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3 #define LCD_PINS_D4 P0_15 // (SCK) EXP1-5 - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && HAS_CHARACTER_LCD + #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER) #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU B300 v1.0" #endif @@ -147,7 +147,7 @@ #error "SDSUPPORT is not supported by the BIQU B300 v1.0 when an LCD controller is used" #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD /** * SD Card Reader diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h index ed5fd530e04a..335e3a588d88 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h @@ -97,7 +97,7 @@ * for the onboard SD card, and a chip select signal is not provided for the remote * SD card. */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P1_31 // EXP1-1 @@ -110,7 +110,7 @@ #define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3 #define LCD_PINS_D4 P0_15 // (SCK) EXP1-5 - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && HAS_CHARACTER_LCD + #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER) #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU BQ111-A4" #endif @@ -118,7 +118,7 @@ #error "SDSUPPORT is not supported by the BIQU BQ111-A4 when an LCD controller is used" #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD /** * SD Card Reader diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h index d5e256066259..4165bb350381 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h @@ -65,7 +65,7 @@ * by redrawing the screen after SD card accesses. */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BTN_EN1 P3_26 #define BTN_EN2 P3_25 #define BTN_ENC P2_11 diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h index a38be0bef765..e8983c7f5429 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h @@ -214,7 +214,7 @@ #define EXPA2_09_PIN P0_15 #define EXPA2_10_PIN P0_17 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(ANET_FULL_GRAPHICS_LCD) @@ -350,7 +350,7 @@ #endif // !CR10_STOCKDISPLAY -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Support diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index fb383ff5fff5..3bdd3061b757 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -232,7 +232,7 @@ * ----- ----- * EXP2 EXP1 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(ANET_FULL_GRAPHICS_LCD) #define LCD_PINS_RS P1_23 @@ -371,9 +371,9 @@ #endif // !FYSETC_MINI_12864 - #endif // HAS_GRAPHICAL_LCD + #endif // HAS_MARLINUI_U8GLIB -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if HAS_ADC_BUTTONS #error "ADC BUTTONS do not work unmodifed on SKR 1.4, The ADC ports cannot take more than 3.3v." diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h index 9fade582e978..fd902afda42f 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h @@ -92,7 +92,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P1_30 // (37) not 5V tolerant #endif diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 7d0745aa2d1a..1cb6774a41fe 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -217,7 +217,7 @@ * that the garbage/lines are erased immediately after the SD card accesses are completed. */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P1_31 // EXP1.1 #define BTN_ENC P1_30 // EXP1.2 #define BTN_EN1 P3_26 // EXP2.5 diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index c57c987a7560..02fdaafd306a 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -235,7 +235,8 @@ * ----- ----- * EXP1 EXP2 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD + #define BEEPER_PIN P1_31 #define BTN_ENC P1_30 @@ -321,7 +322,7 @@ #endif // !CR10_STOCKDISPLAY -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #ifndef SDCARD_CONNECTION #define SDCARD_CONNECTION ONBOARD diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 7b87c95f84a8..097f8be22acd 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -326,7 +326,7 @@ #define LCD_PINS_ENABLE P0_18 // J3-10 & AUX-3 (SID, MOSI) #define LCD_PINS_D4 P2_06 // J3-8 & AUX-3 (SCK, CLK) -#elif HAS_SPI_LCD +#elif HAS_WIRED_LCD //#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3 //#define MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3 @@ -370,8 +370,9 @@ #define DOGLCD_SCK SCK_PIN #define DOGLCD_MOSI MOSI_PIN - #define STAT_LED_BLUE_PIN P0_26 //(63) may change if cable changes + #define STAT_LED_BLUE_PIN P0_26 // (63) may change if cable changes #define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes + #else #if ENABLED(FYSETC_MINI_12864) @@ -420,9 +421,9 @@ //#define LCD_SCREEN_ROT_90 //#define LCD_SCREEN_ROT_180 //#define LCD_SCREEN_ROT_270 - #endif + #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // Ethernet pins diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h index d798e3873584..6331d6aa7c0a 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h @@ -109,7 +109,7 @@ // // Display // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(CR10_STOCKDISPLAY) @@ -185,7 +185,7 @@ #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Support diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h index de987f95d2e4..0916d0d65b38 100644 --- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h +++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h @@ -193,7 +193,7 @@ #define EXPA1_09_PIN P0_16 #define EXPA1_10_PIN P2_08 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(CR10_STOCKDISPLAY) @@ -238,7 +238,7 @@ #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Support diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h index 0314c5049f82..d66ffbe4e5d3 100644 --- a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h @@ -141,7 +141,7 @@ // connector are shared with the onboard SD card, and Marlin does not support reading // G-code files from the onboard SD card. // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P0_27 // EXP2-7 - open drain @@ -160,7 +160,7 @@ #error "SDSUPPORT is not currently supported by the Cohesion3D boards" #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // Ethernet pins diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h index 9dc870a35396..66604ef6359f 100644 --- a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h +++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h @@ -206,7 +206,7 @@ #define NEOPIXEL_PIN P1_16 // EXP1-6 => Ethernet pin 6 (top row, 3 from left) #endif -#elif HAS_SPI_LCD +#elif HAS_WIRED_LCD #define BEEPER_PIN P1_31 // EXP1-1 //#define SD_DETECT_PIN P0_27 // EXP2-7 @@ -222,7 +222,7 @@ #define KILL_PIN P2_11 // EXP2-10 -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Support diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index 3df10a41d769..a073a6fe3029 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -241,11 +241,12 @@ * ----- ----- * EXP1 EXP2 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN P1_31 #define BTN_ENC P1_30 #if ENABLED(CR10_STOCKDISPLAY) + #define LCD_PINS_RS P1_00 #define BTN_EN1 P0_18 @@ -327,7 +328,7 @@ #endif // !CR10_STOCKDISPLAY -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #ifndef SDCARD_CONNECTION #define SDCARD_CONNECTION ONBOARD diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h index 696270b417ae..33975df8ee1d 100644 --- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h @@ -109,7 +109,7 @@ #define STAT_LED_RED_PIN P1_19 #define STAT_LED_BLUE_PIN P1_20 -#elif HAS_SPI_LCD +#elif HAS_WIRED_LCD /* The Smoothieboard supports the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with either diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h index 75c899fe01d1..50e7eb1914f1 100644 --- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h @@ -178,6 +178,6 @@ #define LCD_PINS_ENABLE P0_18 #define LCD_PINS_D4 P0_15 #define KILL_PIN P2_11 -#elif HAS_SPI_LCD +#elif HAS_WIRED_LCD #error "Only the CR10_STOCKDISPLAY is supported with TH3D EZBoard." #endif diff --git a/Marlin/src/pins/mega/pins_GT2560_REV_A.h b/Marlin/src/pins/mega/pins_GT2560_REV_A.h index 2fb112f5afca..2fe9a43ba136 100644 --- a/Marlin/src/pins/mega/pins_GT2560_REV_A.h +++ b/Marlin/src/pins/mega/pins_GT2560_REV_A.h @@ -105,7 +105,7 @@ #define SUICIDE_PIN 54 // Must be enabled at startup to keep power flowing #define KILL_PIN -1 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN 18 @@ -148,4 +148,4 @@ #endif // !NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h index d21cd22e53bd..e30a65b90e1b 100644 --- a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h +++ b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h @@ -123,7 +123,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN 18 @@ -170,4 +170,4 @@ #endif // !NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/mega/pins_INTAMSYS40.h b/Marlin/src/pins/mega/pins_INTAMSYS40.h index 3dc9c9a6bed3..3c4f3c719a99 100644 --- a/Marlin/src/pins/mega/pins_INTAMSYS40.h +++ b/Marlin/src/pins/mega/pins_INTAMSYS40.h @@ -122,7 +122,7 @@ #define BEEPER_PIN 18 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 20 #define LCD_PINS_ENABLE 30 #define LCD_PINS_D4 14 diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h index 9005ac2acfa1..ff7cf1571465 100644 --- a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h +++ b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h @@ -130,7 +130,7 @@ // #define BEEPER_PIN 64 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 14 #define LCD_PINS_ENABLE 15 @@ -152,4 +152,4 @@ #define SHIFT_EN 17 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h index 74a45eac017f..963911ec5d70 100644 --- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h @@ -212,7 +212,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) @@ -260,7 +260,7 @@ #define BTN_CENTER 15 // J0 #define BTN_ENC BTN_CENTER -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Card diff --git a/Marlin/src/pins/mega/pins_OVERLORD.h b/Marlin/src/pins/mega/pins_OVERLORD.h index 9589fa585189..045c1bc0fa6c 100644 --- a/Marlin/src/pins/mega/pins_OVERLORD.h +++ b/Marlin/src/pins/mega/pins_OVERLORD.h @@ -119,7 +119,7 @@ // // LCD / Controller // -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB // OVERLORD OLED pins #define LCD_PINS_RS 20 #define LCD_PINS_D5 21 diff --git a/Marlin/src/pins/mega/pins_PICA.h b/Marlin/src/pins/mega/pins_PICA.h index acaeefe17861..ff4d3e834d05 100644 --- a/Marlin/src/pins/mega/pins_PICA.h +++ b/Marlin/src/pins/mega/pins_PICA.h @@ -137,7 +137,7 @@ // #define BEEPER_PIN 29 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 33 #define LCD_PINS_ENABLE 30 #define LCD_PINS_D4 35 diff --git a/Marlin/src/pins/mega/pins_SILVER_GATE.h b/Marlin/src/pins/mega/pins_SILVER_GATE.h index e339b0472ac4..41cbe5e0e078 100644 --- a/Marlin/src/pins/mega/pins_SILVER_GATE.h +++ b/Marlin/src/pins/mega/pins_SILVER_GATE.h @@ -72,7 +72,7 @@ #define HEATER_BED_PIN 8 #define TEMP_BED_PIN 6 -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #if ENABLED(U8GLIB_ST7920) // SPI GLCD 12864 ST7920 #define LCD_PINS_RS 30 #define LCD_PINS_ENABLE 20 diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 0ccdadadde4c..3ec4e1a34b9b 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -1227,7 +1227,7 @@ #define LCD_PINS_D4 -1 #endif -#if HAS_CHARACTER_LCD || TOUCH_UI_ULTIPANEL +#if HAS_MARLINUI_HD44780 || TOUCH_UI_ULTIPANEL #ifndef LCD_PINS_D5 #define LCD_PINS_D5 -1 #endif @@ -1597,7 +1597,7 @@ #define Z4_MS3_PIN -1 #endif -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #if !defined(ST7920_DELAY_1) && defined(BOARD_ST7920_DELAY_1) #define ST7920_DELAY_1 BOARD_ST7920_DELAY_1 #endif diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h index 21e43bb3618b..2ea15c97d332 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h @@ -160,7 +160,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL +#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL #define KILL_PIN 32 @@ -188,4 +188,4 @@ #define SD_DETECT_PIN 15 #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h index 39ba3ddf04c5..4a1bf70b6eaa 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h @@ -166,7 +166,7 @@ // // LCD / Controller // -#if ANY(HAS_SPI_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) +#if ANY(HAS_WIRED_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) #define KILL_PIN 32 @@ -196,4 +196,4 @@ #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE -#endif // HAS_SPI_LCD || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE +#endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE diff --git a/Marlin/src/pins/rambo/pins_MINIRAMBO.h b/Marlin/src/pins/rambo/pins_MINIRAMBO.h index c41a6ac17966..6314bc07b8c0 100644 --- a/Marlin/src/pins/rambo/pins_MINIRAMBO.h +++ b/Marlin/src/pins/rambo/pins_MINIRAMBO.h @@ -141,7 +141,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL +#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL #if !MB(MINIRAMBO_10A) #define KILL_PIN 32 @@ -189,4 +189,4 @@ #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL -#endif // HAS_SPI_LCD || TOUCH_UI_ULTIPANEL +#endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL diff --git a/Marlin/src/pins/rambo/pins_RAMBO.h b/Marlin/src/pins/rambo/pins_RAMBO.h index 2109eb615b2e..735852b2ff79 100644 --- a/Marlin/src/pins/rambo/pins_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_RAMBO.h @@ -183,7 +183,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL +#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL #define KILL_PIN 80 @@ -249,4 +249,4 @@ #endif // !NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/ramps/pins_3DRAG.h b/Marlin/src/pins/ramps/pins_3DRAG.h index 1989a1657fdb..f0057e1fc980 100644 --- a/Marlin/src/pins/ramps/pins_3DRAG.h +++ b/Marlin/src/pins/ramps/pins_3DRAG.h @@ -106,7 +106,7 @@ #define BEEPER_PIN 33 -#endif // HAS_SPI_LCD && NEWPANEL +#endif // ULTRA_LCD && NEWPANEL /** * M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h index 3fa738e32215..87d24890c99c 100644 --- a/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h +++ b/Marlin/src/pins/ramps/pins_DUPLICATOR_I3_PLUS.h @@ -87,7 +87,7 @@ // // LCDs and Controllers // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(ZONESTAR_LCD) #define LCD_PINS_RS 2 #define LCD_PINS_ENABLE 36 diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h index 362ff7ae438a..75a219c177de 100644 --- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h +++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h @@ -197,7 +197,7 @@ #define LCD_PINS_D7 29 #endif -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(200) #endif diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h index 3f7575497cb3..3fa3cc9e8c9c 100644 --- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h +++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h @@ -261,7 +261,7 @@ #define NEOPIXEL_PIN 25 #endif - #elif HAS_GRAPHICAL_LCD + #elif HAS_MARLINUI_U8GLIB #define LCD_PINS_RS 16 #define LCD_PINS_ENABLE 17 diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h index f526b9b2269f..7e8c245a4158 100644 --- a/Marlin/src/pins/ramps/pins_K8800.h +++ b/Marlin/src/pins/ramps/pins_K8800.h @@ -95,7 +95,7 @@ // #define BEEPER_PIN 6 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_SDSS 53 @@ -119,4 +119,4 @@ #define BTN_ENC 23 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h index b2d394e61d2c..aa73aabbc1d7 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS.h @@ -430,7 +430,7 @@ // LCDs and Controllers // ////////////////////////// -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // // LCD Display output pins @@ -706,7 +706,7 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(ADC_KEYPAD) #define SHIFT_OUT 40 diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h index 412aa2290223..1c2cb609579e 100644 --- a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h +++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h @@ -128,7 +128,7 @@ // AnyCubic made the following changes to 1.1.0-RC8 // If these are appropriate for your LCD let us know. // -#if 0 && HAS_SPI_LCD +#if 0 && HAS_WIRED_LCD // LCD Display output pins #if BOTH(NEWPANEL, PANEL_ONE) @@ -154,4 +154,4 @@ #define DOGLCD_A0 42 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h index 33b2a60d641e..1568288e69bc 100644 --- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h +++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h @@ -271,7 +271,7 @@ // LCDs and Controllers // ////////////////////////// -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // // LCD Display output pins diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h index 2dfde42bac69..597a37bdbc8b 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h @@ -119,7 +119,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN 18 @@ -158,7 +158,7 @@ #endif // !NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/sam/pins_ARCHIM1.h b/Marlin/src/pins/sam/pins_ARCHIM1.h index 8c54cad3b6b8..6e3768c663bc 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM1.h +++ b/Marlin/src/pins/sam/pins_ARCHIM1.h @@ -181,7 +181,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN 23 // D24 PA15_CTS1 #define LCD_PINS_RS 17 // D17 PA12_RXD1 #define LCD_PINS_ENABLE 24 // D23 PA14_RTS1 @@ -198,4 +198,4 @@ #define BTN_EN2 13 // D13 PB27_TIOB0 #define BTN_ENC 16 // D16 PA13_TXD1 #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_ARCHIM2.h b/Marlin/src/pins/sam/pins_ARCHIM2.h index 3223ac7a0ef4..5a3fe0e4d5c7 100644 --- a/Marlin/src/pins/sam/pins_ARCHIM2.h +++ b/Marlin/src/pins/sam/pins_ARCHIM2.h @@ -237,7 +237,7 @@ // // LCD / Controller // -#if ANY(HAS_SPI_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) +#if ANY(HAS_WIRED_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE) #define BEEPER_PIN 23 // D24 PA15_CTS1 #define LCD_PINS_RS 17 // D17 PA12_RXD1 #define LCD_PINS_ENABLE 24 // D23 PA14_RTS1 diff --git a/Marlin/src/pins/sam/pins_DUE3DOM.h b/Marlin/src/pins/sam/pins_DUE3DOM.h index b7c01f843ae3..cd4033aa6f1f 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM.h @@ -113,7 +113,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 42 #define LCD_PINS_ENABLE 43 @@ -168,4 +168,4 @@ #define BEEPER_PIN -1 #endif // SPARK_FULL_GRAPHICS -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h index 7f559f11903f..5f9ad48a08c4 100644 --- a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h +++ b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h @@ -105,7 +105,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 42 #define LCD_PINS_ENABLE 43 @@ -171,4 +171,4 @@ #define DOGLCD_CS 45 #endif // SPARK_FULL_GRAPHICS -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h index c82c7e9c5399..60fe3512378e 100644 --- a/Marlin/src/pins/sam/pins_RADDS.h +++ b/Marlin/src/pins/sam/pins_RADDS.h @@ -226,7 +226,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(RADDS_DISPLAY) @@ -287,7 +287,7 @@ #endif // SPARK_FULL_GRAPHICS -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #ifndef SDSS #define SDSS 4 diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h index 94f1b50776a9..bfc3968ffac2 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h +++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h @@ -76,7 +76,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if BOTH(NEWPANEL, PANEL_ONE) #undef LCD_PINS_D4 @@ -129,4 +129,4 @@ #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h index 5662590e269f..ee525eefaa56 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h +++ b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h @@ -139,7 +139,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // ramps-fd lcd adaptor #define BEEPER_PIN 37 @@ -203,7 +203,7 @@ #define DOGLCD_MISO 74 // MISO_PIN #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if HAS_TMC_UART /** diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h index 524c14d198f8..b9e61fb27c53 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h @@ -200,7 +200,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define BEEPER_PIN 62 @@ -271,4 +271,4 @@ #define BTN_ENC 40 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h index 187473b3dd43..dc0c1279954b 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h @@ -186,7 +186,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define BEEPER_PIN 62 @@ -253,4 +253,4 @@ #define BTN_ENC 40 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h index 388ac1a3312e..6076be07e9d4 100644 --- a/Marlin/src/pins/samd/pins_RAMPS_144.h +++ b/Marlin/src/pins/samd/pins_RAMPS_144.h @@ -287,7 +287,7 @@ // LCDs and Controllers // ////////////////////////// -#if HAS_SPI_LCD +#if HAS_WIRED_LCD // // LCD Display output pins @@ -594,7 +594,7 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Support diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h index 3978198eef86..f33cdc83acef 100644 --- a/Marlin/src/pins/sanguino/pins_ANET_10.h +++ b/Marlin/src/pins/sanguino/pins_ANET_10.h @@ -152,7 +152,7 @@ * REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_SDSS 28 #if ENABLED(ADC_KEYPAD) #define SERVO0_PIN 27 // free for BLTouch/3D-Touch diff --git a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h index 4817ce804349..9f406c1f7856 100644 --- a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h +++ b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h @@ -36,7 +36,7 @@ #define BOARD_INFO_NAME "Melzi (Creality)" // Alter timing for graphical display -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(125) #endif diff --git a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h index 8128fb86e664..5014620c6b81 100644 --- a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h +++ b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h @@ -28,7 +28,7 @@ #define BOARD_INFO_NAME "Melzi (Malyan)" // Alter timing for graphical display -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(125) #endif diff --git a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h index 9e433f19c424..f87894103771 100644 --- a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h +++ b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h @@ -27,7 +27,7 @@ #define BOARD_INFO_NAME "Melzi (Tronxy)" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(0) #endif diff --git a/Marlin/src/pins/sanguino/pins_MELZI_V2.h b/Marlin/src/pins/sanguino/pins_MELZI_V2.h index 1cdf51117fed..275498d55813 100644 --- a/Marlin/src/pins/sanguino/pins_MELZI_V2.h +++ b/Marlin/src/pins/sanguino/pins_MELZI_V2.h @@ -24,7 +24,7 @@ #define BOARD_INFO_NAME "Melzi V2" -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(0) #endif diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h index 4b4fb1d70ed7..121e1db6f211 100644 --- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h +++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h @@ -154,11 +154,11 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define SD_DETECT_PIN -1 - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #if ENABLED(LCD_FOR_MELZI) @@ -290,7 +290,7 @@ #define BTN_EN2 10 #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // M3/M4/M5 - Spindle/Laser Control diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index a3cb987fff0b..fd741d296d33 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -171,7 +171,7 @@ * EXP1 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(CR10_STOCKDISPLAY) @@ -225,7 +225,7 @@ #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, MKS_MINI_12864, and MKS_LCD12864 are currently supported on the BIGTREE_SKR_E3_DIP." #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index 4f03d3bbd717..30d057d90078 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -129,7 +129,7 @@ #define EXP1_3 PB7 #endif -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(CR10_STOCKDISPLAY) @@ -173,7 +173,7 @@ #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, and MKS_MINI_12864 are currently supported on the BIGTREE_SKR_MINI_E3." #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) @@ -185,7 +185,7 @@ * _____ _____ * 5V | 1 2 | GND (SPI1-MISO) MISO | 1 2 | SCK (SPI1-SCK) * (FREE) PB7 | 3 4 | PB8 (LCD_CS) (PA9) MOD_RESET | 3 4 | SD_CS (PA10) - * (FREE) PB9 | 5 6 PA10 (SD_CS) (PB8) LCD_CS | 5 6 MOSI (SPI1-MOSI) + * (FREE) PB9 | 5 6 | PA10 (SD_CS) (PB8) LCD_CS | 5 6 | MOSI (SPI1-MOSI) * RESET | 7 8 | PA9 (MOD_RESET) (PB5) SD_DET | 7 8 | RESET * (BEEPER) PB6 | 9 10| PB5 (SD_DET) GND | 9 10| 5V * ----- ----- diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index aaecc054421a..3397c34f33ab 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -110,7 +110,7 @@ * EXP2 EXP1 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC10 #define BTN_ENC PC11 @@ -172,7 +172,7 @@ #endif // !FYSETC_MINI_12864 - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(125) #endif @@ -186,7 +186,7 @@ #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Card diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h index e67a6d3b1bc5..66930a2ea5a6 100644 --- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h +++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h @@ -142,7 +142,7 @@ #endif // Alter timing for graphical display -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(125) #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h index 2521359e53dd..3a872db0253e 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h @@ -120,7 +120,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define LCD_PINS_RS PD1 // 49 // CS chip select /SS chip slave select @@ -281,4 +281,4 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h index a04d6d261f8c..ebe5964d0588 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h @@ -139,11 +139,11 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC9 - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #define DOGLCD_A0 PA15 #ifdef pins_v2_20190128 diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h index 24aa83d9482f..de5ea45d44e8 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h @@ -130,10 +130,10 @@ * Note: Pin 4 on the Cheetah board is assigned to an I/O, it is assigned to RESET on the Ender-3 board. */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC9 - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #define DOGLCD_A0 PB14 #define DOGLCD_CS PB12 #define DOGLCD_SCK PB13 diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h index b6520d563c38..ca25c45a7bba 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h @@ -135,7 +135,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) // @@ -158,7 +158,7 @@ //#define LCD_UART_RX PD9 #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -170,7 +170,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) // diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h index 7dbee215a0d6..02fd3bcae721 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h @@ -135,7 +135,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) // @@ -166,7 +166,7 @@ //#define LCD_UART_RX PD9 #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -178,7 +178,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // Beeper diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h index b6520d563c38..ca25c45a7bba 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h @@ -135,7 +135,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) // @@ -158,7 +158,7 @@ //#define LCD_UART_RX PD9 #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -170,7 +170,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) // diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h index 7731ffb5e734..fc18263fddf6 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h @@ -135,7 +135,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) @@ -168,7 +168,7 @@ //#define LCD_UART_RX PD9 #endif - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -180,7 +180,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // Beeper diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h index 19f3c3efdac8..a530c89d2cbc 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -320,7 +320,7 @@ #endif -#if HAS_SPI_LCD && !HAS_SPI_TFT +#if HAS_WIRED_LCD && !HAS_SPI_TFT // NON TFT Displays @@ -361,7 +361,7 @@ #endif // !MKS_MINI_12864 -#endif // HAS_SPI_LCD && !HAS_SPI_TFT +#endif // HAS_WIRED_LCD && !HAS_SPI_TFT #define HAS_SPI_FLASH 1 #define SPI_FLASH_SIZE 0x1000000 // 16MB diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h index bbacbf5585d3..015e29bdbe60 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h @@ -132,7 +132,7 @@ * ----- ----- ----- * EXP1 EXP2 EXP3 */ -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC1 #define BTN_ENC PC3 @@ -162,7 +162,7 @@ #endif // !MKS_MINI_12864 -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Card diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h index 2bd417951f0a..aa1ccedb3550 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h @@ -81,7 +81,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PD2 #define BTN_ENC PB3 #define LCD_PINS_RS PC3 @@ -111,7 +111,7 @@ #endif // !MKS_MINI_12864 - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(125) #endif @@ -123,7 +123,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // Motor current PWM pins #define MOTOR_CURRENT_PWM_XY_PIN PB0 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h index bcb731df71a6..5cdeda3a8353 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h @@ -96,7 +96,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC1 #define BTN_ENC PC3 @@ -126,7 +126,7 @@ #endif // !MKS_MINI_12864 -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // SD Card diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index be3b130c858f..caa5e2b8fc94 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -233,9 +233,6 @@ // // LCD / Controller // -#ifndef BEEPER_PIN - #define BEEPER_PIN PC5 -#endif /** * Note: MKS Robin TFT screens use various TFT controllers. @@ -343,7 +340,7 @@ #endif -#if HAS_SPI_LCD && !HAS_SPI_TFT +#if HAS_WIRED_LCD && !HAS_SPI_TFT // NON TFT Displays @@ -380,7 +377,7 @@ #endif // !MKS_MINI_12864 -#endif // HAS_SPI_LCD && !HAS_SPI_TFT +#endif // HAS_WIRED_LCD && !HAS_SPI_TFT #define HAS_SPI_FLASH 1 #define SPI_FLASH_SIZE 0x1000000 // 16MB @@ -391,6 +388,10 @@ #define W25QXX_SCK_PIN PB13 #endif +#ifndef BEEPER_PIN + #define BEEPER_PIN PC5 +#endif + #if ENABLED(SPEAKER) && BEEPER_PIN == PC5 #error "MKS Robin nano default BEEPER_PIN is not a SPEAKER." #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index e445b8169bb5..93f0de33daef 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -225,7 +225,7 @@ #define BTN_EN2 PG4 #endif -#elif HAS_SPI_LCD +#elif HAS_WIRED_LCD #define BEEPER_PIN PC5 #define BTN_ENC PG2 diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h index 79f53f02c2f8..cf2ba2c5fa74 100644 --- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h +++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h @@ -97,7 +97,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define LCD_PINS_RS 49 // CS chip select /SS chip slave select @@ -258,4 +258,4 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h index 468ee5394aae..e74698f89eff 100644 --- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h @@ -112,7 +112,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define LCD_PINS_RS 49 // CS chip select /SS chip slave select @@ -282,4 +282,4 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f4/pins_BEAST.h b/Marlin/src/pins/stm32f4/pins_BEAST.h index d23442ccedbf..268b7b59cd45 100644 --- a/Marlin/src/pins/stm32f4/pins_BEAST.h +++ b/Marlin/src/pins/stm32f4/pins_BEAST.h @@ -120,7 +120,7 @@ // // LCD Pins // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define LCD_PINS_RS 49 // CS chip select /SS chip slave select @@ -282,4 +282,4 @@ #endif #endif // NEWPANEL -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h index 7843572e13a2..c37f6cce0445 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h @@ -187,21 +187,22 @@ #define SDSS PA4 /** - * -------------------------------------BTT002 V1.0----------------------------------------------- - * _____ _____ | + * -------------------------------------BTT002 V1.0-------------------------------------------- + * ----- ----- | * PA3 | · · | GND 5V | · · | GND | * NRESET | · · | PC4(SD_DET) (LCD_D7) PE13 | · · | PE12 (LCD_D6) | * (MOSI)PA7 | · · | PB0(BTN_EN2) (LCD_D5) PE11 | · · | PE10 (LCD_D4) | * (SD_SS)PA4 | · · | PC5(BTN_EN1) (LCD_RS) PE8 | · · | PE9 (LCD_EN) | * (SCK)PA5 | · · | PA6(MISO) (BTN_ENC) PB1 | · · | PE7 (BEEPER) | - *  ̄ ̄  ̄ ̄ | + * ----- ----- | * EXP2 EXP1 | - * --------------------------------------------------------------------------------------------- + * -------------------------------------------------------------------------------------------- */ + // // LCDs and Controllers // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PE7 #define BTN_ENC PB1 @@ -236,7 +237,7 @@ #endif // Alter timing for graphical display - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -248,7 +249,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD // // RGB LEDs diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h index ddca719e5322..dc8ce9f2d1b2 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h @@ -290,9 +290,12 @@ // overriding pins to access. // #if SD_CONNECTION_IS(LCD) + #define SD_DETECT_PIN PB10 #define SDSS PB12 + #elif SD_CONNECTION_IS(ONBOARD) + // Instruct the STM32 HAL to override the default SPI pins from the variant.h file #define CUSTOM_SPI_PINS #define SDSS PA4 @@ -301,25 +304,26 @@ #define MISO_PIN PA6 #define MOSI_PIN PA7 #define SD_DETECT_PIN PC4 + #elif SD_CONNECTION_IS(CUSTOM_CABLE) - #define "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" + #error "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" #endif /** - * _____ _____ + * ----- ----- * NC | · · | GND 5V | · · | GND * RESET | · · | PB10(SD_DETECT) (LCD_D7) PG5 | · · | PG6 (LCD_D6) * (MOSI)PB15 | · · | PH10(BTN_EN2) (LCD_D5) PG7 | · · | PG8 (LCD_D4) * (SD_SS)PB12 | · · | PD10(BTN_EN1) (LCD_RS) PA8 | · · | PC10 (LCD_EN) * (SCK)PB13 | · · | PB14(MISO) (BTN_ENC) PA15 | · · | PC11 (BEEPER) - *  ̄ ̄  ̄ ̄ + * ----- ----- * EXP2 EXP1 */ // // LCDs and Controllers // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC11 #define BTN_ENC PA15 @@ -390,7 +394,7 @@ #endif // Alter timing for graphical display - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -402,6 +406,6 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #undef TP diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index e9abd66795c0..839727614475 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -251,9 +251,12 @@ // Must use soft SPI because Marlin's default hardware SPI is tied to LCD's EXP2 // #if SD_CONNECTION_IS(LCD) + #define SD_DETECT_PIN PF12 #define SDSS PB12 + #elif SD_CONNECTION_IS(ONBOARD) + // The SKR Pro's ONBOARD SD interface is on SPI1. // Due to a pull resistor on the clock line, it needs to use SPI Data Mode 3 to // function with Hardware SPI. This is not currently configurable in the HAL, @@ -264,29 +267,31 @@ #define MISO_PIN PA6 #define MOSI_PIN PB5 #define SD_DETECT_PIN PB11 + #elif SD_CONNECTION_IS(CUSTOM_CABLE) - #define "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" + #error "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" #endif /** - * _____ _____ + * ----- ----- * NC | · · | GND 5V | · · | GND * RESET | · · | PF12(SD_DETECT) (LCD_D7) PG7 | · · | PG6 (LCD_D6) * (MOSI)PB15 | · · | PF11(BTN_EN2) (LCD_D5) PG3 | · · | PG2 (LCD_D4) * (SD_SS)PB12 | · · | PG10(BTN_EN1) (LCD_RS) PD10 | · · | PD11 (LCD_EN) * (SCK)PB13 | · · | PB14(MISO) (BTN_ENC) PA8 | · · | PG4 (BEEPER) - *  ̄ ̄  ̄ ̄ + * ----- ----- * EXP2 EXP1 */ // // LCDs and Controllers // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PG4 #define BTN_ENC PA8 #if ENABLED(CR10_STOCKDISPLAY) + #define LCD_PINS_RS PG6 #define BTN_EN1 PD11 @@ -301,10 +306,12 @@ #undef BOARD_ST7920_DELAY_3 #elif ENABLED(MKS_MINI_12864) + #define DOGLCD_A0 PG6 #define DOGLCD_CS PG3 #define BTN_EN1 PG10 #define BTN_EN2 PF11 + #else #define LCD_PINS_RS PD10 @@ -343,32 +350,32 @@ #endif - // Alter timing for graphical display - #if HAS_GRAPHICAL_LCD - #ifndef BOARD_ST7920_DELAY_1 - #define BOARD_ST7920_DELAY_1 DELAY_NS(96) - #endif - #ifndef BOARD_ST7920_DELAY_2 - #define BOARD_ST7920_DELAY_2 DELAY_NS(48) - #endif - #ifndef BOARD_ST7920_DELAY_3 - #define BOARD_ST7920_DELAY_3 DELAY_NS(600) - #endif - #endif +#endif // HAS_WIRED_LCD -#endif // HAS_SPI_LCD +// Alter timing for graphical display +#if HAS_MARLINUI_U8GLIB + #ifndef BOARD_ST7920_DELAY_1 + #define BOARD_ST7920_DELAY_1 DELAY_NS(96) + #endif + #ifndef BOARD_ST7920_DELAY_2 + #define BOARD_ST7920_DELAY_2 DELAY_NS(48) + #endif + #ifndef BOARD_ST7920_DELAY_3 + #define BOARD_ST7920_DELAY_3 DELAY_NS(600) + #endif +#endif // // WIFI // /** - * _____ + * ----- * TX | 1 2 | GND Enable PG1 // Must be high for module to run * Enable | 3 4 | GPIO2 Reset PG0 // active low, probably OK to leave floating * Reset | 5 6 | GPIO0 GPIO2 PF15 // must be high (ESP3D software configures this with a pullup so OK to leave as floating) - * 3.3V| 7 8 | RX GPIO0 PF14 // Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating) - *  ̄ ̄ + * 3.3V | 7 8 | RX GPIO0 PF14 // Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating) + * ----- * W1 */ #define ESP_WIFI_MODULE_COM 6 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h index a6d7f8a495ad..151f6c3bc06e 100644 --- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h @@ -199,7 +199,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BEEPER_PIN PC9 #define BTN_ENC PA8 @@ -261,7 +261,7 @@ #endif // Alter timing for graphical display - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif @@ -273,7 +273,7 @@ #endif #endif -#endif // HAS_SPI_LCD +#endif // HAS_WIRED_LCD #ifndef RGB_LED_R_PIN #define RGB_LED_R_PIN PB6 diff --git a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h index ae469365a996..4acfd743b756 100644 --- a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h +++ b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h @@ -184,7 +184,7 @@ // // ST7920 Delays // -#if HAS_GRAPHICAL_LCD +#if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h index 338fda1e53a1..f386b7690b52 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h @@ -147,7 +147,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define BTN_EN1 PB2 #define BTN_EN2 PB1 @@ -169,7 +169,7 @@ #endif // Alter timing for graphical display - #if HAS_GRAPHICAL_LCD + #if HAS_MARLINUI_U8GLIB #ifndef BOARD_ST7920_DELAY_1 #define BOARD_ST7920_DELAY_1 DELAY_NS(96) #endif diff --git a/Marlin/src/pins/stm32f4/pins_VAKE403D.h b/Marlin/src/pins/stm32f4/pins_VAKE403D.h index 6c826b068d24..e2463fd47e6f 100644 --- a/Marlin/src/pins/stm32f4/pins_VAKE403D.h +++ b/Marlin/src/pins/stm32f4/pins_VAKE403D.h @@ -165,7 +165,7 @@ // // LCD / Controller // -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #if ENABLED(SDSUPPORT) #define SDSS PB6 // CS for SD card in LCD #endif diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h index 3fb8c7f2593b..6ffd35dff273 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h @@ -201,7 +201,7 @@ // //#define USE_INTERNAL_SD -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 9 // E1 JP11-11 #define LCD_PINS_ENABLE 8 // E0 JP11-10 #define LCD_PINS_D4 7 // D7 JP11-8 diff --git a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h index b98c78fde1d3..45d1231f8e74 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h @@ -98,7 +98,7 @@ // /* -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 40 #define LCD_PINS_ENABLE 41 #define LCD_PINS_D4 42 diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h index 961dc0cff03f..b1cd3d161213 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h @@ -130,7 +130,7 @@ // #define SDSS 39 // 8 -#if HAS_SPI_LCD +#if HAS_WIRED_LCD #define LCD_PINS_RS 40 #define LCD_PINS_ENABLE 41 #define LCD_PINS_D4 42 diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index bc745733d123..02a4502e3fae 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -73,7 +73,7 @@ // Feature checks for SR_LCD_3W_NL #elif EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) #define USES_LIQUIDTWI2 -#elif ANY(HAS_CHARACTER_LCD, LCD_I2C_TYPE_PCF8575, LCD_I2C_TYPE_PCA8574, SR_LCD_2W_NL, LCM1602) +#elif ANY(HAS_MARLINUI_HD44780, LCD_I2C_TYPE_PCF8575, LCD_I2C_TYPE_PCA8574, SR_LCD_2W_NL, LCM1602) #define USES_LIQUIDCRYSTAL #endif diff --git a/platformio.ini b/platformio.ini index 75c64504ca0c..ff3c0fb810aa 100644 --- a/platformio.ini +++ b/platformio.ini @@ -208,13 +208,14 @@ HAS_L64XX = Arduino-L6470@0.8.0 NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 src_filter=+ MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 -HAS_GRAPHICAL_LCD = U8glib-HAL@~0.4.1 - src_filter=+ USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 -DWIN_CREALITY_LCD = src_filter=+ -HAS_CHARACTER_LCD = src_filter=+ +HAS_WIRED_LCD = src_filter=+ +HAS_MARLINUI_HD44780 = src_filter=+ +HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 + src_filter=+ HAS_GRAPHICAL_TFT = src_filter=+ +DWIN_CREALITY_LCD = src_filter=+ HAS_LCD_MENU = src_filter=+ HAS_GAMES = src_filter=+ MARLIN_BRICKOUT = src_filter=+ @@ -246,7 +247,6 @@ HAS_DGUS_LCD = src_filter=+ + EXTUI_EXAMPLE = src_filter=+ MALYAN_LCD = src_filter=+ -HAS_SPI_LCD = src_filter=+ USB_FLASH_DRIVE_SUPPORT = src_filter=+ AUTO_BED_LEVELING_BILINEAR = src_filter=+ AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+ From 27bdf4b24e8da06ea7923b6382f38b5fb6292914 Mon Sep 17 00:00:00 2001 From: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Date: Mon, 28 Sep 2020 09:52:38 +0300 Subject: [PATCH 161/277] MarlinUI for SPI/I2C TFT-GLCD character-based display bridge (#19375) --- Marlin/Configuration.h | 8 + Marlin/Configuration_adv.h | 4 +- Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp | 4 + Marlin/src/inc/Conditionals_LCD.h | 24 + Marlin/src/inc/Conditionals_post.h | 6 +- Marlin/src/inc/SanityCheck.h | 8 +- Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp | 1142 +++++++++++++++++ Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp | 1018 +++++++++++++++ Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h | 74 ++ Marlin/src/lcd/menu/menu_ubl.cpp | 8 +- Marlin/src/lcd/ultralcd.cpp | 14 +- Marlin/src/lcd/ultralcd.h | 6 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h | 16 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h | 8 + Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 8 + Marlin/src/pins/lpc1768/pins_MKS_SBASE.h | 15 +- Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h | 9 + Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h | 9 + Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 11 +- Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h | 59 +- Marlin/src/pins/pinsDebug_list.h | 3 + Marlin/src/pins/ramps/pins_RAMPS.h | 8 + Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 4 +- .../stm32f1/pins_BTT_SKR_MINI_E3_common.h | 46 +- .../src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h | 11 + .../src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h | 6 + .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 13 + Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 7 + .../pins/stm32f4/pins_BTT_SKR_PRO_common.h | 9 +- buildroot/tests/LPC1769-tests | 14 + platformio.ini | 3 +- 31 files changed, 2519 insertions(+), 56 deletions(-) create mode 100644 Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp create mode 100644 Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp create mode 100644 Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 35b45e7321ee..bb724672b03b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1957,6 +1957,14 @@ // //#define FF_INTERFACEBOARD +// +// TFT GLCD Panel with Marlin UI +// Panel connected to main board by SPI or I2C interface. +// See https://github.com/Serhiy-K/TFTGLCDAdapter +// +//#define TFTGLCD_PANEL_SPI +//#define TFTGLCD_PANEL_I2C + //============================================================================= //======================= LCD / Controller Selection ======================= //========================= (Graphical LCDs) ======================== diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 915714039fc3..0435b6f97c9e 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1106,7 +1106,7 @@ #define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s) #endif -#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && (HAS_MARLINUI_U8GLIB || HAS_MARLINUI_HD44780) +#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL) //#define SHOW_REMAINING_TIME // Display estimated time to completion #if ENABLED(SHOW_REMAINING_TIME) //#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation @@ -1117,7 +1117,7 @@ //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits #endif - #if HAS_MARLINUI_HD44780 + #if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL) //#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing #if ENABLED(LCD_PROGRESS_BAR) #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index 9fc9ec099e8b..dc91b7d6b185 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -997,6 +997,10 @@ if (do_ubl_mesh_map) display_map(g29_map_type); // Display the current point + #if IS_TFTGLCD_PANEL + ui.ubl_plot(lpos.x, lpos.y); // update plot screen + #endif + ui.refresh(); float new_z = z_values[lpos.x][lpos.y]; diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index af8ef73817dd..fa65991c2f67 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -217,6 +217,28 @@ #define LCD_WIDTH 16 #define LCD_HEIGHT 2 +#elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) + + #define IS_TFTGLCD_PANEL 1 + #define IS_ULTIPANEL // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD + + #if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR) + #define LCD_PROGRESS_BAR + #endif + #if ENABLED(TFTGLCD_PANEL_I2C) + #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD for I2C and SPI buses (LiquidTWI2 not required) + #define LCD_I2C_ADDRESS 0x27 // Must be equal to panel's I2C slave addres + #endif + #define STD_ENCODER_PULSES_PER_STEP 2 + #define STD_ENCODER_STEPS_PER_MENU_ITEM 1 + #define LCD_WIDTH 20 // 20 or 24 chars in line + #define LCD_HEIGHT 10 // Character lines + #define LCD_CONTRAST_MIN 127 + #define LCD_CONTRAST_MAX 255 + #define DEFAULT_LCD_CONTRAST 250 + #define CONVERT_TO_EXT_ASCII // Use extended 128-255 symbols from ASCII table. + // At this time present conversion only for cyrillic - bg, ru and uk languages. + // First 7 ASCII symbols in panel font must be replaced with Marlin's special symbols. #endif #if ENABLED(IS_RRD_FG_SC) @@ -459,6 +481,8 @@ #define HAS_WIRED_LCD 1 #if ENABLED(DOGLCD) #define HAS_MARLINUI_U8GLIB 1 + #elif IS_TFTGLCD_PANEL + // Neither DOGM nor HD44780. Fully customized interface. #elif DISABLED(HAS_GRAPHICAL_TFT) #define HAS_MARLINUI_HD44780 1 #endif diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index bf297b633f8e..80c42955e92d 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -318,6 +318,10 @@ #define _LCD_CONTRAST_MIN 64 #define _LCD_CONTRAST_INIT 128 #define _LCD_CONTRAST_MAX 255 +#elif IS_TFTGLCD_PANEL + #define _LCD_CONTRAST_MIN 0 + #define _LCD_CONTRAST_INIT 250 + #define _LCD_CONTRAST_MAX 255 #endif #ifdef _LCD_CONTRAST_INIT @@ -2453,7 +2457,7 @@ /** * Buzzer/Speaker */ -#if PIN_EXISTS(BEEPER) || EITHER(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) +#if PIN_EXISTS(BEEPER) || ANY(LCD_USE_I2C_BUZZER, PCA9632_BUZZER, IS_TFTGLCD_PANEL) #define HAS_BUZZER 1 #if PIN_EXISTS(BEEPER) #define USE_BEEPER 1 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 7093d252196b..5bd6ef7c7860 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -693,8 +693,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #if ENABLED(LCD_PROGRESS_BAR) #if NONE(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) #error "LCD_PROGRESS_BAR requires SDSUPPORT or LCD_SET_PROGRESS_MANUALLY." - #elif !HAS_MARLINUI_HD44780 - #error "LCD_PROGRESS_BAR requires a character LCD." + #elif NONE(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL) + #error "LCD_PROGRESS_BAR only applies to HD44780 character LCD and TFTGLCD_PANEL_(SPI|I2C)." #elif HAS_MARLINUI_U8GLIB #error "LCD_PROGRESS_BAR does not apply to graphical displays." #elif ENABLED(FILAMENT_LCD_DISPLAY) @@ -2274,7 +2274,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal + ENABLED(TFT_LVGL_UI_FSMC) \ + ENABLED(TFT_LVGL_UI_SPI) \ + ENABLED(ANYCUBIC_LCD_I3MEGA) \ - + ENABLED(ANYCUBIC_LCD_CHIRON) + + ENABLED(ANYCUBIC_LCD_CHIRON) \ + + ENABLED(TFTGLCD_PANEL_SPI) \ + + ENABLED(TFTGLCD_PANEL_I2C) #error "Please select only one LCD controller option." #endif diff --git a/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp new file mode 100644 index 000000000000..6cf660a6a99d --- /dev/null +++ b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp @@ -0,0 +1,1142 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * @file lcdprint_TFTGLCD.cpp + * @brief LCD print API for TFT-GLCD interface + * @author Yunhui Fu (yhfudev@gmail.com) + * @version 1.0 + * @date 2016-08-19 + * @copyright GPL/BSD + */ + +/** + * The TFTGLCD only supports ??? languages. + */ + +#include "../../inc/MarlinConfigPre.h" + +#if IS_TFTGLCD_PANEL + +#include "../ultralcd.h" +#include "../../MarlinCore.h" +#include "../../libs/numtostr.h" + +#include "ultralcd_TFTGLCD.h" + +#include + +int lcd_glyph_height(void) { return 1; } + +typedef struct _TFTGLCD_charmap_t { + wchar_t uchar; // the unicode char + uint8_t idx; // the glyph of the char in the ROM + uint8_t idx2; // the char used to be combined with the idx to simulate a single char +} TFTGLCD_charmap_t; + +#ifdef __AVR__ + #define IV(a) U##a +#else + #define IV(a) L##a +#endif + +static const TFTGLCD_charmap_t g_TFTGLCD_charmap_device[] PROGMEM = { + // sorted by uchar: + #if DISPLAY_CHARSET_HD44780 == JAPANESE + + {IV('¢'), 0xEC, 0}, // A2 + {IV('°'), 0xDF, 0}, // B0, Marlin special: '°' LCD_STR_DEGREE (0x09) + {IV('ä'), 0xE1, 0}, // E4 + {IV('ö'), 0xEF, 0}, // F6 + {IV('÷'), 0xFD, 0}, // 00F7 + {IV('ü'), 0xF5, 0}, // 00FC + {IV('ˣ'), 0xEB, 0}, // 02E3 + + {IV('·'), 0xA5, 0}, // 0387 + {IV('Ώ'), 0xF4, 0}, // 038F + {IV('Θ'), 0xF2, 0}, // 0398, Theta + {IV('Ξ'), 0xE3, 0}, // 039E, Xi + {IV('Σ'), 0xF6, 0}, // 03A3, Sigma + {IV('Ω'), 0xF4, 0}, // 03A9, Omega + {IV('ά'), 0xE0, 0}, // 03AC + {IV('έ'), 0xE3, 0}, // 03AD + {IV('α'), 0xE0, 0}, // 03B1, alpha + {IV('β'), 0xE2, 0}, // 03B2, beta + {IV('ε'), 0xE3, 0}, // 03B5, epsilon + {IV('θ'), 0xF2, 0}, // 03B8, theta + {IV('μ'), 0xE4, 0}, // 03BC, mu + {IV('ξ'), 0xE3, 0}, // 03BE, xi + {IV('π'), 0xF7, 0}, // 03C0, pi + {IV('ρ'), 0xE6, 0}, // 03C1, rho + {IV('σ'), 0xE5, 0}, // 03C3, sigma + + {IV('←'), 0x7F, 0}, // 2190 + {IV('→'), 0x7E, 0}, // 2192, Marlin special: '⮈⮉⮊⮋➤→' LCD_STR_ARROW_RIGHT (0x03) + {IV('√'), 0xE8, 0}, // 221A + {IV('∞'), 0xF3, 0}, // 221E + {IV('█'), 0xFF, 0}, // 2588 + + //{IV(''), 0xA0, 0}, + {IV('。'), 0xA1, 0}, + {IV('「'), 0xA2, 0}, + {IV('」'), 0xA3, 0}, + {IV('゛'), 0xDE, 0}, // ‶ + {IV('゜'), 0xDF, 0}, // '〫' + {IV('゠'), '=', 0}, + {IV('ァ'), 0xA7, 0}, + {IV('ア'), 0xB1, 0}, + {IV('ィ'), 0xA8, 0}, + {IV('イ'), 0xB2, 0}, + {IV('ゥ'), 0xA9, 0}, + {IV('ウ'), 0xB3, 0}, + {IV('ェ'), 0xAA, 0}, + {IV('エ'), 0xB4, 0}, + {IV('ォ'), 0xAB, 0}, + + {IV('オ'), 0xB5, 0}, + {IV('カ'), 0xB6, 0}, + {IV('ガ'), 0xB6, 0xDE}, + {IV('キ'), 0xB7, 0}, + {IV('ギ'), 0xB7, 0xDE}, // + {IV('ク'), 0xB8, 0}, + {IV('グ'), 0xB8, 0xDE}, + {IV('ケ'), 0xB9, 0}, + {IV('ゲ'), 0xB9, 0xDE}, + {IV('コ'), 0xBA, 0}, + {IV('ゴ'), 0xBA, 0xDE}, + {IV('サ'), 0xBB, 0}, + {IV('ザ'), 0xBB, 0xDE}, + {IV('シ'), 0xBC, 0}, + {IV('ジ'), 0xBC, 0xDE}, + {IV('ス'), 0xBD, 0}, + {IV('ズ'), 0xBD, 0xDE}, + {IV('セ'), 0xBE, 0}, + {IV('ゼ'), 0xBE, 0xDE}, + {IV('ソ'), 0xBF, 0}, + {IV('ゾ'), 0xBF, 0xDE}, + + {IV('タ'), 0xC0, 0}, + {IV('ダ'), 0xC0, 0xDE}, + {IV('チ'), 0xC1, 0}, + {IV('ヂ'), 0xC1, 0xDE}, + {IV('ッ'), 0xAF, 0}, + {IV('ツ'), 0xC2, 0}, + {IV('ヅ'), 0xC2, 0xDE}, + {IV('テ'), 0xC3, 0}, + {IV('デ'), 0xC3, 0xDE}, + {IV('ト'), 0xC4, 0}, + {IV('ド'), 0xC4, 0xDE}, + {IV('ナ'), 0xC5, 0}, + {IV('ニ'), 0xC6, 0}, + {IV('ヌ'), 0xC7, 0}, + {IV('ネ'), 0xC8, 0}, + {IV('ノ'), 0xC9, 0}, + {IV('ハ'), 0xCA, 0}, + {IV('バ'), 0xCA, 0xDE}, + {IV('パ'), 0xCA, 0xDF}, + {IV('ヒ'), 0xCB, 0}, + {IV('ビ'), 0xCB, 0xDE}, + {IV('ピ'), 0xCB, 0xDF}, + {IV('フ'), 0xCC, 0}, + {IV('ブ'), 0xCC, 0xDE}, + {IV('プ'), 0xCC, 0xDF}, + {IV('ヘ'), 0xCD, 0}, + {IV('ベ'), 0xCD, 0xDE}, + {IV('ペ'), 0xCD, 0xDF}, + {IV('ホ'), 0xCE, 0}, + {IV('ボ'), 0xCE, 0xDE}, + {IV('ポ'), 0xCE, 0xDF}, + {IV('マ'), 0xCF, 0}, + + {IV('ミ'), 0xD0, 0}, + {IV('ム'), 0xD1, 0}, + {IV('メ'), 0xD2, 0}, + {IV('モ'), 0xD3, 0}, + {IV('ャ'), 0xAC, 0}, + {IV('ヤ'), 0xD4, 0}, + {IV('ュ'), 0xAD, 0}, + {IV('ユ'), 0xD5, 0}, + {IV('ョ'), 0xAE, 0}, + {IV('ヨ'), 0xD6, 0}, + {IV('ラ'), 0xD7, 0}, + {IV('リ'), 0xD8, 0}, + {IV('ル'), 0xD9, 0}, + {IV('レ'), 0xDA, 0}, + {IV('ロ'), 0xDB, 0}, + {IV('ワ'), 0xDC, 0}, + {IV('ヲ'), 0xA6, 0}, + {IV('ン'), 0xDD, 0}, + {IV('ヴ'), 0xB3, 0xDE}, + {IV('ヷ'), 0xDC, 0xDE}, + {IV('ヺ'), 0xA6, 0xDE}, + {IV('・'), 0xA5, 0}, + {IV('ー'), 0xB0, 0}, + {IV('ヽ'), 0xA4, 0}, + + //{IV('g'), 0xE7, 0}, // error + //{IV(''), 0xE9, 0}, + //{IV('j'), 0xEA, 0}, // error + //{IV(''), 0xED, 0}, + //{IV(''), 0xEE, 0}, + + //{IV('p'), 0xF0, 0}, // error + //{IV('q'), 0xF1, 0}, // error + //{IV(''), 0xF8, 0}, + //{IV('y'), 0xF9, 0}, // error + {IV('万'), 0xFB, 0}, + {IV('円'), 0xFC, 0}, + {IV('千'), 0xFA, 0}, + //{IV(''), 0xFE, 0}, + + //、・ヲァィゥェォャュョッー + {IV('、'), 0xA4, 0}, //ヽ + {IV('・'), 0xA5, 0}, //・ + {IV('ヲ'), 0xA6, 0}, //ヲ + {IV('ァ'), 0xA7, 0}, //ァ + {IV('ィ'), 0xA8, 0}, //ィ + {IV('ゥ'), 0xA9, 0}, //ゥ + {IV('ェ'), 0xAA, 0}, //ェ + {IV('ォ'), 0xAB, 0}, //ォ + {IV('ャ'), 0xAC, 0}, //ャ + {IV('ュ'), 0xAD, 0}, //ュ + {IV('ョ'), 0xAE, 0}, //ョ + {IV('ッ'), 0xAF, 0}, //ッ + {IV('ー'), 0xB0, 0}, //ー + + //アイウエオカキクケコサシスセ + {IV('ア'), 0xB1, 0}, //ア + {IV('イ'), 0xB2, 0}, //イ + {IV('ウ'), 0xB3, 0}, //ウ + {IV('エ'), 0xB4, 0}, //エ + {IV('オ'), 0xB5, 0}, //オ + {IV('カ'), 0xB6, 0}, //カ + {IV('キ'), 0xB7, 0}, //キ + {IV('ク'), 0xB8, 0}, //ク + {IV('ケ'), 0xB9, 0}, //ケ + {IV('コ'), 0xBA, 0}, //コ + {IV('サ'), 0xBB, 0}, //サ + {IV('シ'), 0xBC, 0}, //シ + {IV('ス'), 0xBD, 0}, //ス + {IV('セ'), 0xBE, 0}, //セ + + //ソタチツテトナニヌネノハヒフ + {IV('ソ'), 0xBF, 0}, //ソ + {IV('タ'), 0xC0, 0}, //タ + {IV('チ'), 0xC1, 0}, //チ + {IV('ツ'), 0xC2, 0}, //ツ + {IV('テ'), 0xC3, 0}, //テ + {IV('ト'), 0xC4, 0}, //ト + {IV('ナ'), 0xC5, 0}, //ナ + {IV('ニ'), 0xC6, 0}, //ニ + {IV('ヌ'), 0xC7, 0}, //ヌ + {IV('ネ'), 0xC8, 0}, //ネ + {IV('ノ'), 0xC9, 0}, //ノ + {IV('ハ'), 0xCA, 0}, //ハ + {IV('ヒ'), 0xCB, 0}, //ヒ + {IV('フ'), 0xCC, 0}, //フ + + //ヘホマミムメモヤユヨラリルレロワン゙゚ + {IV('ヘ'), 0xCD, 0}, //ヘ + {IV('ホ'), 0xCE, 0}, //ホ + {IV('マ'), 0xCF, 0}, //マ + {IV('ミ'), 0xD0, 0}, //ミ + {IV('ム'), 0xD1, 0}, //ム + {IV('メ'), 0xD2, 0}, //メ + {IV('モ'), 0xD3, 0}, //モ + {IV('ヤ'), 0xD4, 0}, //ヤ + {IV('ユ'), 0xD5, 0}, //ユ + {IV('ヨ'), 0xD6, 0}, //ヨ + {IV('ラ'), 0xD7, 0}, //ラ + {IV('リ'), 0xD8, 0}, //リ + {IV('ル'), 0xD9, 0}, //ル + {IV('レ'), 0xDA, 0}, //レ + {IV('ロ'), 0xDB, 0}, //ロ + {IV('ワ'), 0xDC, 0}, //ワ + {IV('ン'), 0xDD, 0}, //ン + {IV('゙'), 0xDE, 0}, // ゛ + {IV('゚'), 0xDF, 0}, // ゜ + + {IV('¥'), 0x5C, 0}, + + #elif DISPLAY_CHARSET_HD44780 == WESTERN + // 0x10 -- 0x1F (except 0x1C) + // 0x80 -- 0xFF (except 0xA7,0xB0,0xB1,0xB3,0xB4,0xBF,0xD1,0xF8,0xFA,0xFC-0xFF) + + {IV('¡'), 0xA9, 0}, + {IV('¢'), 0xA4, 0}, + {IV('£'), 0xA5, 0}, + {IV('¥'), 0xA6, 0}, + {IV('§'), 0xD2, 0}, // section sign + {IV('©'), 0xCF, 0}, + + {IV('ª'), 0x9D, 0}, + {IV('«'), 0xBB, 0}, + {IV('®'), 0xCE, 0}, + + {IV('°'), 0xB2, 0}, // Marlin special: '°' LCD_STR_DEGREE (0x09) + //{IV(''), 0xD1, 0}, + {IV('±'), 0x10, 0}, //∓± + //{'='), 0x1C, 0}, // error + {IV('²'), 0x1E, 0}, + {IV('³'), 0x1F, 0}, + {IV('¶'), 0xD3, 0}, // pilcrow sign + {IV('º'), 0x9E, 0}, + {IV('»'), 0xBC, 0}, // 00BB + //{IV(''), 0xB3, 0}, // error + //{IV(''), 0xB4, 0}, // error + {IV('¼'), 0xB6, 0}, // 00BC + {IV('½'), 0xB5, 0}, // 00BD + //{IV('¾'), '3', 0}, // 00BE + {IV('¿'), 0x9F, 0}, // 00BF + + {IV('Â'), 0x8F, 0}, + {IV('Ã'), 0xAA, 0}, + {IV('Ä'), 0x8E, 0}, + {IV('Æ'), 0x92, 0}, + {IV('Ç'), 0x80, 0}, + {IV('É'), 0x90, 0}, + {IV('Ñ'), 0x9C, 0}, + {IV('Õ'), 0xAC, 0}, + {IV('Ö'), 0x99, 0}, + {IV('×'), 0xB7, 0}, + {IV('Ø'), 0xAE, 0}, + {IV('Ü'), 0x9A, 0}, + {IV('à'), 0x85, 0}, + {IV('á'), 0xA0, 0}, + {IV('â'), 0x83, 0}, + {IV('ã'), 0xAB, 0}, + {IV('ä'), 0x84, 0}, + {IV('å'), 0x86, 0}, + {IV('æ'), 0x91, 0}, + {IV('ç'), 0x87, 0}, + {IV('è'), 0x8A, 0}, + {IV('é'), 0x82, 0}, + {IV('ê'), 0x88, 0}, + {IV('ë'), 0x89, 0}, + {IV('ì'), 0x8D, 0}, + {IV('í'), 0xA1, 0}, + {IV('î'), 0x8C, 0}, + {IV('ï'), 0x8B, 0}, + + {IV('ñ'), 0x9B, 0}, + {IV('ò'), 0x95, 0}, + {IV('ó'), 0xA2, 0}, + {IV('ô'), 0x93, 0}, + {IV('õ'), 0xAD, 0}, + {IV('ö'), 0x94, 0}, + {IV('÷'), 0xB8, 0}, + {IV('ø'), 0xAF, 0}, + {IV('ù'), 0x97, 0}, + {IV('ú'), 0xA3, 0}, + {IV('û'), 0x96, 0}, + {IV('ü'), 0x81, 0}, + {IV('ÿ'), 0x98, 0}, + + //{IV(''), 0xB0, 0}, // error + //{IV(''), 0xB1, 0}, // error + {IV('ƒ'), 0xA8, 0}, // 0192 + + {IV('Ύ'), 0xDB, 0}, // 038E + {IV('Ώ'), 0xDE, 0}, // 038F + {IV('ΐ'), 0xE7, 0}, // 0390 + + {IV('Γ'), 0xD4, 0}, // 0393, Gamma + {IV('Δ'), 0xD5, 0}, // 0394, Delta, ◿ + {IV('Θ'), 0xD6, 0}, // 0398, Theta + {IV('Λ'), 0xD7, 0}, // 039B, Lambda + {IV('Ξ'), 0xD8, 0}, // 039E, Xi + {IV('Π'), 0xD9, 0}, // Pi + {IV('Σ'), 0xDA, 0}, // Sigma + {IV('Υ'), 0xDB, 0}, // Upsilon + {IV('Φ'), 0xDC, 0}, // Phi + {IV('Ψ'), 0xDD, 0}, // Psi + {IV('Ω'), 0xDE, 0}, // Omega + + {IV('ά'), 0xDF, 0}, // 03AC + {IV('έ'), 0xE3, 0}, // 03AD + {IV('ή'), 0xE5, 0}, // 03AE + {IV('ί'), 0xE7, 0}, // 03AF + {IV('ΰ'), 0xF1, 0}, // 03B0 + + {IV('α'), 0xDF, 0}, // alpha + {IV('β'), 0xE0, 0}, // beta + {IV('γ'), 0xE1, 0}, // gamma + {IV('δ'), 0xE2, 0}, // delta + {IV('ε'), 0xE3, 0}, // epsilon + {IV('ζ'), 0xE4, 0}, // zeta + {IV('η'), 0xE5, 0}, // eta + {IV('θ'), 0xE6, 0}, // theta + {IV('ι'), 0xE7, 0}, // lota + {IV('κ'), 0xE8, 0}, // kappa + {IV('λ'), 0xE9, 0}, // lambda + {IV('μ'), 0xEA, 0}, // mu + {IV('ν'), 0xEB, 0}, // nu + {IV('ξ'), 0xEC, 0}, // xi + {IV('π'), 0xED, 0}, // pi + {IV('ρ'), 0xEE, 0}, // rho + {IV('σ'), 0xEF, 0}, // sigma + + {IV('τ'), 0xF0, 0}, // tau + {IV('υ'), 0xF1, 0}, // upsilon + {IV('χ'), 0xF2, 0}, // chi + {IV('ψ'), 0xF3, 0}, // psi + {IV('ω'), 0xF4, 0}, // 03C9, omega + {IV('ϊ'), 0xE7, 0}, // 03CA + {IV('ϋ'), 0xF1, 0}, // 03CB + {IV('ύ'), 0xF1, 0}, // 03CD + {IV('ώ'), 0xF4, 0}, // 03CE + + {IV('•'), 0xCD, 0}, // · + {IV('℞'), 0xA7, 0}, // ℞ Pt ASCII 158 + {IV('™'), 0xD0, 0}, + {IV('↤'), 0xF9, 0}, // ⟻ + {IV('↵'), 0xC4, 0}, + {IV('↻'), 0x04, 0}, // Marlin special: '↻↺⟳⟲' LCD_STR_REFRESH (0x01) + {IV('⇥'), 0xFB, 0}, + {IV('√'), 0xBE, 0}, // √ + {IV('∞'), 0xC2, 0}, // infinity + {IV('∫'), 0x1B, 0}, + {IV('∼'), 0x1D, 0}, + {IV('≈'), 0x1A, 0}, + {IV('≠'), 0xBD, 0}, + {IV('≡'), 0x11, 0}, + {IV('≤'), 0xB9, 0},// ≤≥ ⩽⩾ + {IV('≥'), 0xBA, 0}, + //{IV(''), 0xBF, 0}, // error + + {IV('⌠'), 0xC0, 0}, + {IV('⌡'), 0xC1, 0}, + + {IV('⎧'), 0x14, 0}, + {IV('⎩'), 0x15, 0}, + {IV('⎫'), 0x16, 0}, + {IV('⎭'), 0x17, 0}, + {IV('⎰'), 0x18, 0}, + {IV('⎱'), 0x19, 0}, + {IV('⎲'), 0x12, 0}, + {IV('⎳'), 0x13, 0}, + + {IV('⏱'), 0x07, 0}, // Marlin special: '🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧 ⌚⌛⏰⏱⏳⧖⧗' LCD_STR_CLOCK (0x05) + {IV('┌'), 0xC9, 0}, + {IV('┐'), 0xCA, 0}, + {IV('└'), 0xCB, 0}, + {IV('┘'), 0xCC, 0}, + {IV('◸'), 0xC3, 0}, // ◿ + {IV('⭠'), 0xC8, 0}, + {IV('⭡'), 0xC5, 0}, + {IV('⭢'), 0xC7, 0}, + {IV('⭣'), 0xC6, 0}, + + + {IV('⯆'), 0xF5, 0}, + {IV('⯇'), 0xF7, 0}, // ⯅ + {IV('⯈'), 0xF6, 0}, + //{IV(''), 0xF8, 0}, // error + //{IV(''), 0xFA, 0}, // error + //{IV(''), 0xFC, 0}, // error + //{IV(''), 0xFD, 0}, // error + //{IV(''), 0xFE, 0}, // error + //{IV(''), 0xFF, 0}, // error + + #elif DISPLAY_CHARSET_HD44780 == CYRILLIC + + #ifdef CONVERT_TO_EXT_ASCII + {IV('°'), 0x01, 0}, // 00B0, Marlin special: '°' LCD_STR_DEGREE (0x09) + {IV('²'), 0x0e, 0}, // 0x32 if no special symbol in panel font + {IV('³'), 0x0f, 0}, // 0x33 if no special symbol in panel font + + // translate to cp866 codepage + //first ASCII symbols in panel font must be replaced with Marlin special symbols + {IV('Ё'), 0xF0, 0}, // 0401 + {IV('Є'), 0xF2, 0}, // 0404 + {IV('І'), 'I', 0}, // 0406 + {IV('Ї'), 0xF4, 0}, // 0407 + {IV('Ў'), 0xF6, 0}, // 040E + {IV('А'), 0x80, 0}, // 0410 + {IV('Б'), 0x81, 0}, + {IV('В'), 0x82, 0}, + {IV('Г'), 0x83, 0}, + {IV('Д'), 0x84, 0}, + {IV('Е'), 0x85, 0}, + {IV('Ж'), 0x86, 0}, + {IV('З'), 0x87, 0}, + {IV('И'), 0x88, 0}, + {IV('Й'), 0x89, 0}, + {IV('К'), 0x8A, 0}, + {IV('Л'), 0x8B, 0}, + {IV('М'), 0x8C, 0}, + {IV('Н'), 0x8D, 0}, + {IV('О'), 0x8E, 0}, + {IV('П'), 0x8F, 0}, + {IV('Р'), 0x90, 0}, + {IV('С'), 0x91, 0}, + {IV('Т'), 0x92, 0}, + {IV('У'), 0x93, 0}, + {IV('Ф'), 0x94, 0}, + {IV('Х'), 0x95, 0}, + {IV('Ц'), 0x96, 0}, + {IV('Ч'), 0x97, 0}, + {IV('Ш'), 0x98, 0}, + {IV('Щ'), 0x99, 0}, + {IV('Ъ'), 0x9A, 0}, + {IV('Ы'), 0x9B, 0}, + {IV('Ь'), 0x9C, 0}, + {IV('Э'), 0x9D, 0}, + {IV('Ю'), 0x9E, 0}, + {IV('Я'), 0x9F, 0}, + + {IV('а'), 0xA0, 0}, + {IV('б'), 0xA1, 0}, + {IV('в'), 0xA2, 0}, + {IV('г'), 0xA3, 0}, + {IV('д'), 0xA4, 0}, + {IV('е'), 0xA5, 0}, + {IV('ж'), 0xA6, 0}, + {IV('з'), 0xA7, 0}, + {IV('и'), 0xA8, 0}, + {IV('й'), 0xA9, 0}, + {IV('к'), 0xAA, 0}, + {IV('л'), 0xAB, 0}, + {IV('м'), 0xAC, 0}, + {IV('н'), 0xAD, 0}, + {IV('о'), 0xAE, 0}, + {IV('п'), 0xAF, 0}, + {IV('р'), 0xE0, 0}, + {IV('с'), 0xE1, 0}, + {IV('т'), 0xE2, 0}, + {IV('у'), 0xE3, 0}, + {IV('ф'), 0xE4, 0}, + {IV('х'), 0xE5, 0}, + {IV('ц'), 0xE6, 0}, + {IV('ч'), 0xE7, 0}, + {IV('ш'), 0xE8, 0}, + {IV('щ'), 0xE9, 0}, + {IV('ъ'), 0xEA, 0}, + {IV('ы'), 0xEB, 0}, + {IV('ь'), 0xEC, 0}, + {IV('э'), 0xED, 0}, + {IV('ю'), 0xEE, 0}, + {IV('я'), 0xEF, 0}, // 044F + {IV('ё'), 0xF1, 0}, // 0451 + {IV('є'), 0xF3, 0}, // 0454 + {IV('і'), 'i', 0}, // 0456 + {IV('ї'), 0xF5, 0}, // 0457 + {IV('ў'), 0xF7, 0}, // 045E + + #else + + {IV('¢'), 0x5C, 0}, // 00A2 + {IV('£'), 0xCF, 0}, // 00A3 + {IV('°'), 0x01, 0}, // 00B0, Marlin special: '°' LCD_STR_DEGREE (0x09) + + //{IV(''), 0x80, 0}, + //{IV(''), 0x81, 0}, + //{IV(''), 0x82, 0}, + //{IV(''), 0x83, 0}, + //{IV(''), 0x84, 0}, + //{IV(''), 0x85, 0}, + //{IV(''), 0x86, 0}, + //{IV(''), 0x87, 0}, + //{IV(''), 0x88, 0}, + //{IV(''), 0x89, 0}, + //{IV(''), 0x8A, 0}, + //{IV(''), 0x8B, 0}, + //{IV(''), 0x8C, 0}, + //{IV(''), 0x8D, 0}, + //{IV(''), 0x8E, 0}, + //{IV(''), 0x8F, 0}, + + //{IV(''), 0x90, 0}, + //{IV(''), 0x91, 0}, + //{IV(''), 0x92, 0}, + //{IV(''), 0x93, 0}, + //{IV(''), 0x94, 0}, + //{IV(''), 0x95, 0}, + //{IV(''), 0x96, 0}, + //{IV(''), 0x97, 0}, + //{IV(''), 0x98, 0}, + //{IV(''), 0x99, 0}, + //{IV(''), 0x9A, 0}, + //{IV(''), 0x9B, 0}, + //{IV(''), 0x9C, 0}, + //{IV(''), 0x9D, 0}, + //{IV(''), 0x9E, 0}, + //{IV(''), 0x9F, 0}, + + {IV('¼'), 0xF0, 0}, // 00BC + {IV('⅓'), 0xF1, 0}, + {IV('½'), 0xF2, 0}, // 00BD + {IV('¾'), 0xF3, 0}, // 00BE + {IV('¿'), 0xCD, 0}, // 00BF + + {IV('Ё'), 0xA2, 0}, // 0401 + {IV('А'), 'A', 0}, // 0410 + {IV('Б'), 0xA0, 0}, + {IV('В'), 'B', 0}, + {IV('Г'), 0xA1, 0}, + {IV('Д'), 0xE0, 0}, + {IV('Е'), 'E', 0}, + {IV('Ж'), 0xA3, 0}, + {IV('З'), 0xA4, 0}, + {IV('И'), 0xA5, 0}, + {IV('Й'), 0xA6, 0}, + {IV('К'), 'K', 0}, + {IV('Л'), 0xA7, 0}, + {IV('М'), 'M', 0}, + {IV('Н'), 'H', 0}, + {IV('О'), 'O', 0}, + {IV('П'), 0xA8, 0}, + {IV('Р'), 'P', 0}, + {IV('С'), 'C', 0}, + {IV('Т'), 'T', 0}, + {IV('У'), 0xA9, 0}, + {IV('Ф'), 0xAA, 0}, + {IV('Х'), 'X', 0}, + {IV('Ц'), 0xE1, 0}, + {IV('Ч'), 0xAB, 0}, + {IV('Ш'), 0xAC, 0}, + {IV('Щ'), 0xE2, 0}, + {IV('Ъ'), 0xAD, 0}, + {IV('Ы'), 0xAE, 0}, + {IV('Ь'), 'b', 0}, + {IV('Э'), 0xAF, 0}, + {IV('Ю'), 0xB0, 0}, + {IV('Я'), 0xB1, 0}, + {IV('а'), 'a', 0}, + + {IV('б'), 0xB2, 0}, + {IV('в'), 0xB3, 0}, + {IV('г'), 0xB4, 0}, + {IV('д'), 0xE3, 0}, + {IV('е'), 'e', 0}, + {IV('ж'), 0xB6, 0}, + {IV('з'), 0xB7, 0}, + {IV('и'), 0xB8, 0}, + {IV('й'), 0xB9, 0}, + {IV('к'), 0xBA, 0}, + {IV('л'), 0xBB, 0}, + {IV('м'), 0xBC, 0}, + {IV('н'), 0xBD, 0}, + {IV('о'), 'o', 0}, + {IV('п'), 0xBE, 0}, + {IV('р'), 'p', 0}, + {IV('с'), 'c', 0}, + {IV('т'), 0xBF, 0}, + + {IV('у'), 'y', 0}, + {IV('ф'), 0xE4, 0}, + {IV('х'), 'x', 0}, + {IV('ц'), 0xE5, 0}, + {IV('ч'), 0xC0, 0}, + {IV('ш'), 0xC1, 0}, + {IV('щ'), 0xE6, 0}, + {IV('ъ'), 0xC2, 0}, + {IV('ы'), 0xC3, 0}, + {IV('ь'), 0xC4, 0}, + {IV('э'), 0xC5, 0}, + {IV('ю'), 0xC6, 0}, + {IV('я'), 0xC7, 0}, // 044F + {IV('ё'), 0xB5, 0}, // 0451 + //{IV(''), 0xC8, 0}, + //{IV(''), 0xC9, 0}, + //{IV(''), 0xCA, 0}, + //{IV(''), 0xCB, 0}, + //{IV(''), 0xCC, 0}, + //{IV(''), 0xCD, 0}, + //{IV(''), 0xCE, 0}, + + //{IV(''), 0xD0, 0}, + //{IV(''), 0xD1, 0}, + //{IV(''), 0xD2, 0}, + //{IV(''), 0xD3, 0}, + //{IV(''), 0xD4, 0}, + //{IV(''), 0xD5, 0}, + //{IV(''), 0xD6, 0}, + //{IV(''), 0xD7, 0}, + //{IV(''), 0xD8, 0}, + //{IV(''), 0xDB, 0}, + //{IV(''), 0xDC, 0}, + //{IV(''), 0xDD, 0}, + //{IV(''), 0xDE, 0}, + //{IV(''), 0xDF, 0}, + + //{IV(''), 0xE7, 0}, + //{IV(''), 0xE8, 0}, + //{IV(''), 0xE9, 0}, + //{IV(''), 0xEA, 0}, + //{IV(''), 0xEB, 0}, + //{IV(''), 0xEC, 0}, + //{IV(''), 0xED, 0}, + //{IV(''), 0xEE, 0}, + //{IV(''), 0xEF, 0}, + + //{IV(''), 0xF4, 0}, + //{IV(''), 0xF5, 0}, + //{IV(''), 0xF6, 0}, + //{IV(''), 0xF7, 0}, + //{IV(''), 0xF8, 0}, + //{IV(''), 0xF9, 0}, + //{IV(''), 0xFA, 0}, + //{IV(''), 0xFB, 0}, + //{IV(''), 0xFC, 0}, + //{IV(''), 0xFD, 0}, + //{IV(''), 0xFE, 0}, + //{IV(''), 0xFF, 0}, + + {IV('↑'), 0xD9, 0}, // 2191 ←↑→↓ + {IV('↓'), 0xDA, 0}, // 2193 + + #endif + + #endif +}; + +// the plain ASCII replacement for various char +static const TFTGLCD_charmap_t g_TFTGLCD_charmap_common[] PROGMEM = { + {IV('¡'), 'i', 0}, // A1 + {IV('¢'), 'c', 0}, // A2 + {IV('°'), 0x09, 0}, // B0 Marlin special: '°' LCD_STR_DEGREE (0x09) + + #ifndef CONVERT_TO_EXT_ASCII //this time CONVERT_TO_EXT_ASCII works only with en, ru and uk languages + + // map WESTERN code to the plain ASCII + {IV('Á'), 'A', 0}, // C1 + {IV('Â'), 'A', 0}, // C2 + {IV('Ã'), 'A', 0}, // C3 + {IV('Ä'), 'A', 0}, // C4 + {IV('Å'), 'A', 0}, // C5 + {IV('Æ'), 'A', 'E'}, // C6 + {IV('Ç'), 'C', 0}, // C7 + {IV('È'), 'E', 0}, // C8 + {IV('É'), 'E', 0}, // C9 + {IV('Í'), 'I', 0}, // CD + {IV('Ñ'), 'N', 0}, // D1 + {IV('Õ'), 'O', 0}, // D5 + {IV('Ö'), 'O', 0}, // D6 + {IV('×'), 'x', 0}, // D7 + {IV('Ü'), 'U', 0}, // DC + {IV('Ý'), 'Y', 0}, // DD + {IV('à'), 'a', 0}, // E0 + {IV('á'), 'a', 0}, + {IV('â'), 'a', 0}, + {IV('ã'), 'a', 0}, + {IV('ä'), 'a', 0}, + {IV('å'), 'a', 0}, + {IV('æ'), 'a', 'e'}, + {IV('ç'), 'c', 0}, + {IV('è'), 'e', 0}, // 00E8 + {IV('é'), 'e', 0}, + {IV('ê'), 'e', 0}, + {IV('ë'), 'e', 0}, + {IV('ì'), 'i', 0}, // 00EC + {IV('í'), 'i', 0}, + {IV('î'), 'i', 0}, + {IV('ï'), 'i', 0}, // 00EF + + {IV('ñ'), 'n', 0}, // 00F1 + {IV('ò'), 'o', 0}, + {IV('ó'), 'o', 0}, + {IV('ô'), 'o', 0}, + {IV('õ'), 'o', 0}, + {IV('ö'), 'o', 0}, + //{IV('÷'), 0xB8, 0}, + {IV('ø'), 'o', 0}, + {IV('ù'), 'u', 0}, + {IV('ú'), 'u', 0}, + {IV('û'), 'u', 0}, + {IV('ü'), 'u', 0}, // FC + {IV('ý'), 'y', 0}, // FD + {IV('ÿ'), 'y', 0}, // FF + + {IV('Ą'), 'A', 0}, // 0104 + {IV('ą'), 'a', 0}, // 0105 + {IV('Ć'), 'C', 0}, // 0106 + {IV('ć'), 'c', 0}, // 0107 + {IV('Č'), 'C', 0}, // 010C + {IV('č'), 'c', 0}, // 010D + {IV('Ď'), 'D', 0}, // 010E + {IV('ď'), 'd', 0}, // 010F + {IV('đ'), 'd', 0}, // 0111 + {IV('ę'), 'e', 0}, // 0119 + {IV('ğ'), 'g', 0}, // 011F + {IV('İ'), 'I', 0}, // 0130 + {IV('ı'), 'i', 0}, // 0131 + + {IV('Ł'), 'L', 0}, // 0141 + {IV('ł'), 'l', 0}, // 0142 + {IV('Ń'), 'N', 0}, // 0143 + {IV('ń'), 'n', 0}, // 0144 + {IV('ň'), 'n', 0}, // 0148 + + {IV('ř'), 'r', 0}, // 0159 + {IV('Ś'), 'S', 0}, // 015A + {IV('ś'), 's', 0}, // 015B + {IV('ş'), 's', 0}, // 015F + {IV('Š'), 'S', 0}, // 0160 + {IV('š'), 's', 0}, // 0161 + {IV('ť'), 't', 0}, // 0165 + {IV('ů'), 'u', 0}, // 016F + {IV('ż'), 'z', 0}, // 017C + {IV('Ž'), 'Z', 0}, // 017D + {IV('ž'), 'z', 0}, // 017E + {IV('ƒ'), 'f', 0}, // 0192 + + {IV('ˣ'), 'x', 0}, // 02E3 + + {IV('΄'), '\'', 0}, // 0384 + {IV('΅'), '\'', 0}, // 0385 + {IV('Ά'), 'A', 0}, // 0386 + {IV('·'), '.', 0}, // 0387 + {IV('Έ'), 'E', 0}, // 0388 + {IV('Ή'), 'H', 0}, // 0389 + {IV('Ί'), 'I', 0}, // 038A + {IV('Ό'), 'O', 0}, // 038C + {IV('Ύ'), 'Y', 0}, // 038E + {IV('Ώ'), 'O', 0}, // 038F + {IV('ΐ'), 'i', 0}, // 0390 + {IV('Α'), 'A', 0}, // 0391 + {IV('Β'), 'B', 0}, // 0392 + {IV('Γ'), 'T', 0}, // 0393, Gamma + {IV('Δ'), '4', 0}, // 0394, Delta, ◿ + {IV('Ε'), 'E', 0}, // 0395 + {IV('Ζ'), 'Z', 0}, // 0396 + {IV('Η'), 'H', 0}, // 0397 + {IV('Θ'), '0', 0}, // 0398, Theta + {IV('Ι'), 'I', 0}, // 0399 + {IV('Κ'), 'K', 0}, // 039A + {IV('Λ'), '^', 0}, // 039B, Lambda + {IV('Μ'), 'M', 0}, // 039C + {IV('Ν'), 'N', 0}, // 039D + {IV('Ξ'), '3', 0}, // 039E, Xi + {IV('Ο'), 'O', 0}, // 039F + {IV('Π'), 'n', 0}, // 03A0, Pi + {IV('Ρ'), 'P', 0}, // 03A1 + {IV('Σ'), 'E', 0}, // 03A3, Sigma + {IV('Τ'), 'T', 0}, // 03A4 + {IV('Υ'), 'Y', 0}, // 03A5, Upsilon + {IV('Φ'), 'p', 0}, // 03A6, Phi + {IV('Χ'), 'X', 0}, // 03A7 + {IV('Ψ'), 'P', 0}, // 03A8, Psi + {IV('Ω'), 'O', 0}, // 03A9, Omega + {IV('Ϊ'), 'I', 0}, // 03AA + {IV('Ϋ'), 'Y', 0}, // 03AB + {IV('ά'), 'a', 0}, // 03AC + {IV('έ'), 'e', 0}, // 03AD + {IV('ή'), 'n', 0}, // 03AE + {IV('ί'), 'i', 0}, // 03AF + {IV('ΰ'), 'v', 0}, // 03B0 + {IV('α'), 'a', 0}, // 03B1, alpha + {IV('β'), 'B', 0}, // 03B2, beta + {IV('γ'), 'v', 0}, // 03B3, gamma + {IV('δ'), 'd', 0}, // 03B4, delta + {IV('ε'), 'e', 0}, // 03B5, epsilon + {IV('ζ'), 'Z', 0}, // 03B6, zeta + {IV('η'), 'n', 0}, // 03B7, eta + {IV('θ'), '0', 0}, // 03B8, theta + {IV('ι'), 'i', 0}, // 03B9, lota + {IV('κ'), 'k', 0}, // 03BA, kappa + {IV('λ'), 'L', 0}, // 03BB, lambda + {IV('μ'), 'u', 0}, // 03BC, mu + {IV('ν'), 'v', 0}, // 03BD, nu + {IV('ξ'), 'e', 0}, // 03BE, xi + {IV('ο'), 'o', 0}, // 03BF + {IV('π'), 'n', 0}, // 03C0, pi + {IV('ρ'), 'p', 0}, // 03C1, rho + {IV('ς'), 'c', 0}, // 03C2 + {IV('σ'), 'o', 0}, // 03C3, sigma + {IV('τ'), 't', 0}, // 03C4, tau + {IV('υ'), 'v', 0}, // 03C5, upsilon + {IV('φ'), 'p', 0}, // 03C6 + {IV('χ'), 'X', 0}, // 03C7, chi + {IV('ψ'), 'W', 0}, // 03C8, psi + {IV('ω'), 'w', 0}, // 03C9, omega + {IV('ϊ'), 'i', 0}, // 03CA + {IV('ϋ'), 'v', 0}, // 03CB + {IV('ό'), 'o', 0}, // 03CC + {IV('ύ'), 'v', 0}, // 03CD + {IV('ώ'), 'w', 0}, // 03CE + + // map CYRILLIC code to the plain ASCII + {IV('А'), 'A', 0}, // 0410 + {IV('Б'), 'b', 0}, // 0411 + {IV('В'), 'B', 0}, // 0412 + {IV('Г'), 'T', 0}, // 0413 + {IV('Д'), 'Q', 0}, // 0414 + {IV('Е'), 'E', 0}, // 0415 + {IV('Ж'), '*', 0}, // 0416 + {IV('З'), 'E', 0}, // 0417 + {IV('И'), 'N', 0}, // 0418 + {IV('Й'), 'N', 0}, // 0419 + {IV('К'), 'K', 0}, // 041A + {IV('Л'), 'T', 0}, // 041B + {IV('М'), 'M', 0}, // 041C + {IV('Н'), 'H', 0}, // 041D + {IV('О'), 'O', 0}, // 041E + {IV('П'), 'n', 0}, // 041F + {IV('Р'), 'P', 0}, // 0420 + {IV('С'), 'C', 0}, // 0421 + {IV('Т'), 'T', 0}, // 0422 + {IV('У'), 'Y', 0}, + {IV('Ф'), 'o', 0}, + {IV('Х'), 'X', 0}, + {IV('Ц'), 'U', 0}, + {IV('Ч'), 'y', 0}, + {IV('Ш'), 'W', 0}, + {IV('Щ'), 'W', 0}, + {IV('Ъ'), 'b', 0}, + {IV('Ы'), 'b', '|'}, + {IV('Ь'), 'b'}, + {IV('Э'), 'e'}, + {IV('Ю'), '|', 'O'}, + {IV('Я'), '9', '|'}, // 042F + + {IV('а'), 'a', 0}, // 0430 + {IV('б'), '6', 0}, // 0431 + {IV('в'), 'B', 0}, // 0432, + {IV('г'), 'r', 0}, // 0433 + {IV('д'), 'a', 0}, // 0434, + {IV('е'), 'e', 0}, // 0435 + {IV('ж'), '*', 0}, // 0436 + {IV('з'), 'e', 0}, // 0437, + {IV('и'), 'u', 0}, // 0438 + {IV('й'), 'u', 0}, // 0439, + {IV('к'), 'k', 0}, // 043A + {IV('л'), 'n', 0}, + {IV('м'), 'm', 0}, + {IV('н'), 'H', 0}, + {IV('о'), 'o', 0}, + {IV('п'), 'n', 0}, + {IV('р'), 'p', 0}, + {IV('с'), 'c', 0}, + {IV('т'), 't', 0}, + {IV('у'), 'y', 0}, + {IV('ф'), 'q', 'p'}, + {IV('х'), 'x', 0}, + {IV('ц'), 'u', 0}, + {IV('ч'), 'y', 0}, + {IV('ш'), 'w', 0}, + {IV('щ'), 'w', 0}, + {IV('ъ'), 'b', 0}, + {IV('ы'), 'b', '|'}, + {IV('ь'), 'b', 0}, + {IV('э'), 'e', 0}, + {IV('ю'), '|', 'o'}, + {IV('я'), 'g', 0}, // 044F + + #endif + + {IV('•'), '.', 0}, // 2022 · + {IV('℞'), 'P', 'x'}, // 211E ℞ Pt ASCII 158 + {IV('™'), 'T', 'M'}, // 2122 + {IV('←'), '<', '-'}, // 2190 + {IV('→'), '-', '>'}, // 2192, Marlin special: '⮈⮉⮊⮋➤→⏵➟➠➡' LCD_STR_ARROW_RIGHT (0x03) + //{IV('↰'), '<', 0}, // 21B0, Marlin special: '⮥⮭⮉⇧↑↰⤴' LCD_STR_UPLEVEL (0x04) + {IV('↰'), 0x03, 0}, // 21B0, Marlin special: '⮥⮭⮉⇧↑↰⤴' LCD_STR_UPLEVEL (0x04) + {IV('↻'), 0x04, 0}, // 21BB Marlin special: '↻↺⟳⟲' LCD_STR_REFRESH (0x01) + {IV('∼'), '~', 0}, // 223C + {IV('≈'), '~', '='}, // 2248 + {IV('≠'), '!', '='}, // 2260 + {IV('≡'), '=', 0}, // 2261 + {IV('≤'), '<', '='},// 2264, ≤≥ ⩽⩾ + {IV('≥'), '>', '='}, // 2265 + {IV('⏱'), 0x07, 0}, // 23F1, Marlin special: '🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧 ⌚⌛⏰⏱⏳⧖⧗' LCD_STR_CLOCK (0x05) + + {IV('゠'), '=', 0}, // 30A0 + + // ⏰⏱⏲⏳◴◵◶◷ + // ⏻⏼♁♂ + //{IV(''), 0x00, 0}, // Marlin special: '' LCD_STR_BEDTEMP (0x07) + {IV('🌡'), 0x02, 0}, // D83CDF21 Marlin special: '🌡' LCD_STR_THERMOMETER (0x08) + {IV('📂'), 0x05, 0}, // D83DDCC2 Marlin special: '📁📂' LCD_STR_FOLDER (0x02) + //{IV(''), 0x06, 0}, // Marlin special: '' LCD_STR_FEEDRATE (0x06) +}; + +/* return v1 - v2 */ +static int TFTGLCD_charmap_compare(TFTGLCD_charmap_t * v1, TFTGLCD_charmap_t * v2) { + return (v1->uchar < v2->uchar) ? -1 : (v1->uchar > v2->uchar) ? 1 : 0; +} + +static int pf_bsearch_cb_comp_hd4map_pgm(void *userdata, size_t idx, void * data_pin) { + TFTGLCD_charmap_t localval; + TFTGLCD_charmap_t *p_TFTGLCD_charmap = (TFTGLCD_charmap_t *)userdata; + memcpy_P(&localval, p_TFTGLCD_charmap + idx, sizeof(localval)); + return TFTGLCD_charmap_compare(&localval, (TFTGLCD_charmap_t *)data_pin); +} + +void lcd_moveto(const lcd_uint_t col, const lcd_uint_t row) { lcd.setCursor(col, row); } + +void lcd_put_int(const int i) { + const char* str = i16tostr3left(i); + while (*str) lcd.write(*str++); +} + +// return < 0 on error +// return the advanced cols +int lcd_put_wchar_max(wchar_t c, pixel_len_t max_length) { + + // find the HD44780 internal ROM first + int ret; + size_t idx = 0; + TFTGLCD_charmap_t pinval; + TFTGLCD_charmap_t *copy_address = nullptr; + pinval.uchar = c; + pinval.idx = -1; + + if (max_length < 1) return 0; + + if (c < 128) { + lcd.write((uint8_t)c); + return 1; + } + copy_address = nullptr; + ret = pf_bsearch_r((void *)g_TFTGLCD_charmap_device, COUNT(g_TFTGLCD_charmap_device), pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx); + if (ret >= 0) { + copy_address = (TFTGLCD_charmap_t *)(g_TFTGLCD_charmap_device + idx); + } + else { + ret = pf_bsearch_r((void *)g_TFTGLCD_charmap_common, COUNT(g_TFTGLCD_charmap_common), pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx); + if (ret >= 0) copy_address = (TFTGLCD_charmap_t *)(g_TFTGLCD_charmap_common + idx); + } + + if (ret >= 0) { + TFTGLCD_charmap_t localval; + // found + memcpy_P(&localval, copy_address, sizeof(localval)); + lcd.write(localval.idx); + if (max_length >= 2 && localval.idx2 > 0) { + lcd.write(localval.idx2); + return 2; + } + return 1; + } + + // Not found, print '?' instead + lcd.write((uint8_t)'?'); + return 1; +} + +/** + * @brief Draw a UTF-8 string + * + * @param utf8_str : the UTF-8 string + * @param cb_read_byte : the callback function to read one byte from the utf8_str (from RAM or ROM) + * @param max_length : the pixel length of the string allowed (or number of slots in HD44780) + * + * @return the number of pixels advanced + * + * Draw a UTF-8 string + */ +static int lcd_put_u8str_max_cb(const char * utf8_str, uint8_t (*cb_read_byte)(uint8_t * str), pixel_len_t max_length) { + pixel_len_t ret = 0; + uint8_t *p = (uint8_t *)utf8_str; + while (ret < max_length) { + wchar_t ch = 0; + p = get_utf8_value_cb(p, cb_read_byte, &ch); + if (!ch) break; + ret += lcd_put_wchar_max(ch, max_length - ret); + } + return (int)ret; +} + +int lcd_put_u8str_max(const char * utf8_str, pixel_len_t max_length) { + return lcd_put_u8str_max_cb(utf8_str, read_byte_ram, max_length); +} + +int lcd_put_u8str_max_P(PGM_P utf8_str_P, pixel_len_t max_length) { + return lcd_put_u8str_max_cb(utf8_str_P, read_byte_rom, max_length); +} + +#if ENABLED(DEBUG_LCDPRINT) + + int test_TFTGLCD_charmap(TFTGLCD_charmap_t *data, size_t size, char *name, char flg_show_contents) { + int ret; + size_t idx = 0; + TFTGLCD_charmap_t preval = {0, 0, 0}; + TFTGLCD_charmap_t pinval = {0, 0, 0}; + char flg_error = 0; + + int i; + + TRACE("Test %s\n", name); + + for (i = 0; i < size; i ++) { + memcpy_P(&pinval, &(data[i]), sizeof(pinval)); + + if (flg_show_contents) { + #if 1 + TRACE("[% 4d] % 6" PRIu32 "(0x%04" PRIX32 ") --> 0x%02X,0x%02X%s\n", i, pinval.uchar, pinval.uchar, (unsigned int)(pinval.idx), (unsigned int)(pinval.idx2), (preval.uchar < pinval.uchar?"":" <--- ERROR")); + #else + TRACE("[% 4d]", i); + TRACE("% 6" PRIu32 "(0x%04" PRIX32 "),", pinval.uchar, pinval.uchar); + TRACE("0x%02X,", (unsigned int)(pinval.idx)); + TRACE("0x%02X,", (unsigned int)(pinval.idx2)); + TRACE("%s", (preval.uchar < pinval.uchar?"":" <--- ERROR")); + #endif + } + if (preval.uchar >= pinval.uchar) { + flg_error = 1; + //TRACE("Error: out of order in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar); + //return -1; + } + memcpy(&preval, &pinval, sizeof(pinval)); + + ret = pf_bsearch_r((void *)data, size, pf_bsearch_cb_comp_hd4map_pgm, (void *)&pinval, &idx); + if (ret < 0) { + flg_error = 1; + TRACE("Error: not found item in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar); + //return -1; + } + if (idx != i) { + flg_error = 1; + TRACE("Error: wrong index found item in array %s: idx=%d, val=%d(0x%x)\n", name, i, pinval.uchar, pinval.uchar); + //return -1; + } + } + if (flg_error) { + TRACE("\nError: in array %s\n\n", name); + return -1; + } + TRACE("\nPASS array %s\n\n", name); + return 0; + } + + int test_TFTGLCD_charmap_all(void) { + int flg_error = 0; + if (test_TFTGLCD_charmap(g_TFTGLCD_charmap_device, COUNT(g_TFTGLCD_charmap_device), "g_TFTGLCD_charmap_device", 0) < 0) { + flg_error = 1; + test_TFTGLCD_charmap(g_TFTGLCD_charmap_device, COUNT(g_TFTGLCD_charmap_device), "g_TFTGLCD_charmap_device", 1); + } + if (test_TFTGLCD_charmap(g_TFTGLCD_charmap_common, COUNT(g_TFTGLCD_charmap_common), "g_TFTGLCD_charmap_common", 0) < 0) { + flg_error = 1; + test_TFTGLCD_charmap(g_TFTGLCD_charmap_common, COUNT(g_TFTGLCD_charmap_common), "g_TFTGLCD_charmap_common", 1); + } + if (flg_error) { + TRACE("\nFAILED in hd44780 tests!\n"); + return -1; + } + TRACE("\nPASS in hd44780 tests.\n"); + return 0; + } + +#endif // DEBUG_LCDPRINT + +#endif // IS_TFTGLCD_PANEL diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp new file mode 100644 index 000000000000..c9a5b2525ab2 --- /dev/null +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp @@ -0,0 +1,1018 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if IS_TFTGLCD_PANEL + +/** + * ultralcd_TFTGLCD.cpp + * + * Implementation of the LCD display routines for a TFT GLCD displays with external controller. + * This display looks as a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER but has good text font + * and supports color output. + */ + +#if NONE(__AVR__, MCU_LPC1768, __STM32F1__, STM32F4xx) + #warning "Selected platform not yet tested. Please contribute your good pin mappings." +#endif + +#if ENABLED(TFTGLCD_PANEL_SPI) + #include +#else + #include +#endif + +#include "ultralcd_TFTGLCD.h" +#include "../ultralcd.h" +#include "../../libs/numtostr.h" + +#include "../../sd/cardreader.h" +#include "../../module/temperature.h" +#include "../../module/printcounter.h" +#include "../../module/planner.h" +#include "../../module/motion.h" + +#if DISABLED(LCD_PROGRESS_BAR) && BOTH(FILAMENT_LCD_DISPLAY, SDSUPPORT) + #include "../../feature/filwidth.h" + #include "../../gcode/parser.h" +#endif + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #include "../../feature/bedlevel/bedlevel.h" +#endif + +TFTGLCD lcd; + +#define ICON_LOGO B00000001 +#define ICON_TEMP1 B00000010 //hotend 1 +#define ICON_TEMP2 B00000100 //hotend 2 +#define ICON_TEMP3 B00001000 //hotend 3 +#define ICON_BED B00010000 +#define ICON_FAN B00100000 +#define ICON_HOT B01000000 //when any T > 50deg +#define PIC_MASK 0x7f + +//LEDs not used, for compatibility with Smoothieware +#define LED_HOTEND_ON B00000001 +#define LED_BED_ON B00000010 +#define LED_FAN_ON B00000100 +#define LED_HOT B00001000 +#define LED_MASK 0x0f + +#define FBSIZE (LCD_WIDTH * LCD_HEIGHT + 2) + +//markers for change line color +#define COLOR_EDIT '#' +#define COLOR_ERROR '!' + +#ifdef CONVERT_TO_EXT_ASCII //use standart pseudographic symbols in ASCII table + #define LR 179 //vertical line + #define TRC 191 //top right corner + #define BLC 192 //bottom left corner + #define GL 196 //horizontal line + #define BRC 217 //bottom right corner, should be replaced to 12 for some languages + #define TLC 218 //top left corner, should be replaced to 13 for some languages +#else //next symbols must be present in panel font + #define LR 8 //equal to 179 + #define TRC 9 //equal to 191 + #define BLC 10 //equal to 192 + #define GL 11 //equal to 196 + #define BRC 12 //equal to 217 + #define TLC 13 //equal to 218 +#endif + +#define Marlin 0x01 + +enum Commands { // based on Smoothieware commands + GET_SPI_DATA = 0, + READ_BUTTONS, // read buttons + READ_ENCODER, // read encoder + LCD_WRITE, // write all screen to LCD + BUZZER, // beep buzzer + CONTRAST, // set contrast (brightnes) + // Other commands... 0xE0 thru 0xFF + GET_LCD_ROW = 0xE0, // for detect panel + GET_LCD_COL, // reserved for compatibility with Smoothieware, not used + LCD_PUT, // write one line to LCD + INIT_SCREEN = 0xFE, // clear panel buffer +}; + +static unsigned char framebuffer[FBSIZE]; +static unsigned char *fb; +static uint8_t cour_line; +static uint8_t picBits, ledBits, hotBits; +static uint8_t PanelDetected = 0; + +// Constructor +TFTGLCD::TFTGLCD() {} + +//clearing local buffer +void TFTGLCD::clear_buffer() { + memset(&framebuffer[0], ' ', FBSIZE - 2); + framebuffer[FBSIZE - 1] = framebuffer[FBSIZE - 2] = 0; + picBits = ledBits = 0; +} + +//set new text cursor position +void TFTGLCD::setCursor(uint8_t col, uint8_t row) { + fb = &framebuffer[0] + col + row * LCD_WIDTH; + cour_line = row; +} + +//send char to buffer +void TFTGLCD::write(char c) { + *fb++ = c; +} + +//send text line to buffer +void TFTGLCD::print(const char *line) { + while (*line) *fb++ = *line++; +} + +// For menu +void TFTGLCD::print_line() { + if (!PanelDetected) return; + #if ENABLED(TFTGLCD_PANEL_SPI) + WRITE(TFTGLCD_CS, LOW); + #ifdef __AVR__ + SPI.transfer(LCD_PUT); + SPI.transfer(cour_line); + SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH); + #elif EITHER(MCU_LPC1768, __STM32F1__) + SPI.transfer(LCD_PUT); + SPI.transfer(cour_line); + for (uint16_t i = 0; i < LCD_WIDTH; i++) SPI.transfer(framebuffer[cour_line * LCD_WIDTH + i]); + #elif defined(STM32F4xx) + SPI.transfer(LCD_PUT, SPI_CONTINUE); + SPI.transfer(cour_line, SPI_CONTINUE); + SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(LCD_PUT); + SPI.transfer(cour_line); + SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(LCD_PUT); + SPI.write(cour_line); + for (uint16_t i = 0; i < LCD_WIDTH; i++) SPI.write(framebuffer[cour_line * LCD_WIDTH + i]); + #endif + WRITE(TFTGLCD_CS, HIGH); + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); //set I2C device address + Wire.write(LCD_PUT); + Wire.write(cour_line); + Wire.write(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH); //transfer 1 line to txBuffer + Wire.endTransmission(); //transmit data + safe_delay(1); + #endif +} + +void TFTGLCD::print_screen(){ + if (!PanelDetected) return; + framebuffer[FBSIZE - 2] = picBits & PIC_MASK; + framebuffer[FBSIZE - 1] = ledBits; + #if ENABLED(TFTGLCD_PANEL_SPI) + // Send all framebuffer to panel + WRITE(TFTGLCD_CS, LOW); + #ifdef __AVR__ + SPI.transfer(LCD_WRITE); + SPI.transfer(&framebuffer[0], FBSIZE); + #elif EITHER(MCU_LPC1768, __STM32F1__) + SPI.transfer(LCD_WRITE); + for (uint16_t i = 0; i < FBSIZE; i++) SPI.transfer(framebuffer[i]); + #elif defined(STM32F4xx) + SPI.transfer(LCD_WRITE, SPI_CONTINUE); + SPI.transfer(&framebuffer[0], FBSIZE, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(LCD_WRITE); + SPI.transfer(&framebuffer[0], FBSIZE); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(LCD_WRITE); + for (uint16_t i = 0; i < FBSIZE; i++) SPI.write(framebuffer[i]); + #endif + WRITE(TFTGLCD_CS, HIGH); + #else + uint8_t r; + // Send framebuffer to panel by line + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + // First line + Wire.write(LCD_WRITE); + Wire.write(&framebuffer[0], LCD_WIDTH); + Wire.endTransmission(); + for (r = 1; r < (LCD_HEIGHT - 1); r++) { + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write(&framebuffer[r * LCD_WIDTH], LCD_WIDTH); + Wire.endTransmission(); + } + // Last line + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write(&framebuffer[r * LCD_WIDTH], LCD_WIDTH); + Wire.write(&framebuffer[FBSIZE - 2], 2); + Wire.endTransmission(); + #endif +} + +void TFTGLCD::setContrast(uint16_t contrast) { + if (!PanelDetected) return; + #if ENABLED(TFTGLCD_PANEL_SPI) + WRITE(TFTGLCD_CS, LOW); + #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) + SPI.transfer(CONTRAST); + SPI.transfer((uint8_t)contrast); + #elif defined(STM32F4xx) + SPI.transfer(CONTRAST, SPI_CONTINUE); + SPI.transfer((uint8_t)contrast, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(CONTRAST); + SPI.transfer((uint8_t)contrast); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(CONTRAST); + SPI.write((uint8_t)contrast); + #endif + WRITE(TFTGLCD_CS, HIGH); + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write(CONTRAST); + Wire.write((uint8_t)contrast); + Wire.endTransmission(); + #endif +} + +//reading buttons and encoder states +extern volatile int8_t encoderDiff; + +uint8_t MarlinUI::read_slow_buttons(void) { + if (!PanelDetected) return 0; + #if ENABLED(TFTGLCD_PANEL_SPI) + uint8_t b = 0; + WRITE(TFTGLCD_CS, LOW); + #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) + SPI.transfer(READ_ENCODER); + WRITE(TFTGLCD_CS, LOW); //for delay + encoderDiff += SPI.transfer(READ_BUTTONS); + WRITE(TFTGLCD_CS, LOW); //for delay + b = SPI.transfer(GET_SPI_DATA); + #elif defined(STM32F4xx) + SPI.transfer(READ_ENCODER, SPI_CONTINUE); + encoderDiff += SPI.transfer(READ_BUTTONS, SPI_CONTINUE); + b = SPI.transfer(GET_SPI_DATA, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(READ_ENCODER); + WRITE(TFTGLCD_CS, LOW); //for delay ???? + encoderDiff += SPI.transfer(READ_BUTTONS); + WRITE(TFTGLCD_CS, LOW); //for delay ???? + b = SPI.transfer(GET_SPI_DATA); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.transfer(READ_ENCODER); + WRITE(TFTGLCD_CS, LOW); //for delay ???? + encoderDiff += SPI.transfer(READ_BUTTONS); + WRITE(TFTGLCD_CS, LOW); //for delay ???? + b = SPI.transfer(GET_SPI_DATA); + #endif + WRITE(TFTGLCD_CS, HIGH); + return b; + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write(READ_ENCODER); + Wire.endTransmission(); + #ifdef __AVR__ + Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, 2, 0, 0, 1); + #elif defined(__STM32F1__) + Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, (uint8_t)2); + #elif EITHER(STM32F4xx, MCU_LPC1768) + Wire.requestFrom(LCD_I2C_ADDRESS, 2); + #endif + encoderDiff += Wire.read(); + return Wire.read(); //buttons + #endif +} + +// duration in ms, freq in Hz +void MarlinUI::buzz(const long duration, const uint16_t freq) { + if (!PanelDetected) return; + #if ENABLED(TFTGLCD_PANEL_SPI) + WRITE(TFTGLCD_CS, LOW); + #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) + SPI.transfer(BUZZER); + SPI.transfer16((uint16_t)duration); + SPI.transfer16(freq); + #elif defined(STM32F4xx) + SPI.transfer(BUZZER, SPI_CONTINUE); + SPI.transfer16((uint16_t)duration, SPI_CONTINUE); + SPI.transfer16(freq, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(BUZZER); + SPI.transfer16((uint16_t)duration); + SPI.transfer16(freq); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(BUZZER); + SPI.write16((uint16_t)duration); + SPI.write16(freq); + #endif + WRITE(TFTGLCD_CS, HIGH); + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write(BUZZER); + Wire.write((uint8_t)(duration >> 8)); + Wire.write((uint8_t)duration); + Wire.write((uint8_t)(freq >> 8)); + Wire.write((uint8_t)freq); + Wire.endTransmission(); + #endif +} + +void MarlinUI::init_lcd() { + uint8_t t; + lcd.clear_buffer(); + t = 0; + #if ENABLED(TFTGLCD_PANEL_SPI) + // SPI speed must be less 10MHz + OUT_WRITE(TFTGLCD_CS, HIGH); + spiInit(TERN(__STM32F1__, SPI_QUARTER_SPEED, SPI_FULL_SPEED)); + WRITE(TFTGLCD_CS, LOW); + #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) + SPI.transfer(GET_LCD_ROW); + t = SPI.transfer(GET_SPI_DATA); + #elif defined(STM32F4xx) + SPI.transfer(GET_LCD_ROW, SPI_CONTINUE); + t = SPI.transfer(GET_SPI_DATA, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(GET_LCD_ROW); + t = SPI.transfer(GET_SPI_DATA); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(GET_LCD_ROW); + t = SPI.transfer(GET_SPI_DATA); + #endif + #else + #ifdef MCU_LPC1768 + Wire.begin(); //init twi/I2C + #else + Wire.begin((uint8_t)LCD_I2C_ADDRESS); //init twi/I2C + #endif + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write((uint8_t)GET_LCD_ROW); // put command to buffer + Wire.endTransmission(); // send buffer + #ifdef __AVR__ + Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, 1, 0, 0, 1); + #elif ANY(__STM32F1__, STM32F4xx, MCU_LPC1768) + Wire.requestFrom(LCD_I2C_ADDRESS, 1); + #endif + t = (uint8_t)Wire.read(); + #endif + + if (t == LCD_HEIGHT) { + PanelDetected = 1; + #if ENABLED(TFTGLCD_PANEL_SPI) + PanelDetected = 1; + #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) + SPI.transfer(INIT_SCREEN); + SPI.transfer(Marlin); + #elif defined(STM32F4xx) + SPI.transfer(INIT_SCREEN, SPI_CONTINUE); + SPI.transfer(Marlin, SPI_CONTINUE); + #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + SPI.transfer(INIT_SCREEN); + SPI.transfer(Marlin); + #elif defined(ARDUINO_ARCH_ESP32) + SPI.write(INIT_SCREEN); + SPI.write(Marlin); + #endif + WRITE(TFTGLCD_CS, HIGH); + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); + Wire.write((uint8_t)INIT_SCREEN); + Wire.write(Marlin); + Wire.endTransmission(); + #endif + } + else + PanelDetected = 0; + safe_delay(100); +} + +bool MarlinUI::detected() { + return PanelDetected; +} + +void MarlinUI::clear_lcd() { + if (!PanelDetected) return; + lcd.clear_buffer(); + lcd.print_screen(); +} + +int16_t MarlinUI::contrast; // Initialized by settings.load() + +void MarlinUI::set_contrast(const int16_t value) { + contrast = constrain(value, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX); + lcd.setContrast(contrast); +} + +static void center_text_P(PGM_P pstart, uint8_t y) { + uint8_t len = utf8_strlen_P(pstart); + if (len < LCD_WIDTH) + lcd.setCursor((LCD_WIDTH - len) / 2, y); + else + lcd.setCursor(0, y); + lcd_put_u8str_P(pstart); +} + +#if ENABLED(SHOW_BOOTSCREEN) + + void MarlinUI::show_bootscreen() { + if (!PanelDetected) return; + // + // Show the Marlin logo, splash line1, and splash line 2 + // + uint8_t indent = (LCD_WIDTH - 8) / 2; + // symbols 217 (bottom right corner) and 218 (top left corner) are using for letters in some languages + // and they should be moved to begining ASCII table as spetial symbols + lcd.setCursor(indent, 0); lcd.write(TLC); lcd_put_u8str_P(PSTR("------")); lcd.write(TRC); + lcd.setCursor(indent, 1); lcd.write(LR); lcd_put_u8str_P(PSTR("Marlin")); lcd.write(LR); + lcd.setCursor(indent, 2); lcd.write(BLC); lcd_put_u8str_P(PSTR("------")); lcd.write(BRC); + center_text_P(PSTR(SHORT_BUILD_VERSION), 3); + center_text_P(PSTR(MARLIN_WEBSITE_URL), 4); + picBits = ICON_LOGO; + lcd.print_screen(); + safe_delay(1500); + } + +#endif // SHOW_BOOTSCREEN + +void MarlinUI::draw_kill_screen() { + if (!PanelDetected) return; + lcd.clear_buffer(); + lcd.setCursor(0, 3); lcd.write(COLOR_ERROR); + lcd.setCursor((LCD_WIDTH - utf8_strlen(status_message)) / 2 + 1, 3); + lcd_put_u8str(status_message); + center_text_P(GET_TEXT(MSG_HALTED), 5); + center_text_P(GET_TEXT(MSG_PLEASE_RESET), 6); + lcd.print_screen(); +} + +// +// Before homing, blink '123' <-> '???'. +// Homed but unknown... '123' <-> ' '. +// Homed and known, display constantly. +// +FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const bool blink) { + lcd.write('X' + uint8_t(axis)); + if (blink) + lcd.print(value); + else { + if (!TEST(axis_homed, axis)) + while (const char c = *value++) lcd.write(c <= '.' ? c : '?'); + else { + #if NONE(HOME_AFTER_DEACTIVATE, DISABLE_REDUCED_ACCURACY_WARNING) + if (!TEST(axis_known_position, axis)) + lcd_put_u8str_P(axis == Z_AXIS ? PSTR(" ") : PSTR(" ")); + else + #endif + lcd_put_u8str(value); + } + } +} + +FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char *prefix, const bool blink) { + uint8_t pic_hot_bits; + #if HAS_HEATED_BED + const bool isBed = heater_id < 0; + const float t1 = (isBed ? thermalManager.degBed() : thermalManager.degHotend(heater_id)); + const float t2 = (isBed ? thermalManager.degTargetBed() : thermalManager.degTargetHotend(heater_id)); + #else + const float t1 = thermalManager.degHotend(heater_id); + const float t2 = thermalManager.degTargetHotend(heater_id); + #endif + + #if HOTENDS < 2 + if (heater_id == H_E0) { + lcd.setCursor(2, 5); lcd.print(prefix); //HE + lcd.setCursor(1, 6); lcd.print(i16tostr3rj(t1 + 0.5)); + lcd.setCursor(1, 7); + } + else { + lcd.setCursor(6, 5); lcd.print(prefix); //BED + lcd.setCursor(6, 6); lcd.print(i16tostr3rj(t1 + 0.5)); + lcd.setCursor(6, 7); + } + #else + if (heater_id > H_BED) { + lcd.setCursor(heater_id * 4, 5); lcd.print(prefix); //HE1 or HE2 or HE3 + lcd.setCursor(heater_id * 4, 6); lcd.print(i16tostr3rj(t1 + 0.5)); + lcd.setCursor(heater_id * 4, 7); + } + else { + lcd.setCursor(13, 5); lcd.print(prefix); //BED + lcd.setCursor(13, 6); lcd.print(i16tostr3rj(t1 + 0.5)); + lcd.setCursor(13, 7); + } + #endif // HOTENDS <= 1 + + #if !HEATER_IDLE_HANDLER + UNUSED(blink); + #else + if (!blink && thermalManager.heater_idle[thermalManager.idle_index_for_id(heater_id)].timed_out) { + lcd.write(' '); + if (t2 >= 10) lcd.write(' '); + if (t2 >= 100) lcd.write(' '); + } + else + #endif // !HEATER_IDLE_HANDLER + lcd.print(i16tostr3rj(t2 + 0.5)); + + switch (heater_id) { + case H_BED: pic_hot_bits = ICON_BED; break; + case H_E0: pic_hot_bits = ICON_TEMP1; break; + case H_E1: pic_hot_bits = ICON_TEMP2; break; + case H_E2: pic_hot_bits = ICON_TEMP3; + default: break; + } + + if (t2) picBits |= pic_hot_bits; + else picBits &= ~pic_hot_bits; + + if (t1 > 50) hotBits |= pic_hot_bits; + else hotBits &= ~pic_hot_bits; + + if (hotBits) picBits |= ICON_HOT; + else picBits &= ~ICON_HOT; +} + +#if HAS_PRINT_PROGRESS + + FORCE_INLINE void _draw_print_progress() { + if (!PanelDetected) return; + const uint8_t progress = ui._get_progress(); + #if ENABLED(SDSUPPORT) + lcd_put_u8str_P(PSTR("SD")); + #elif ENABLED(LCD_SET_PROGRESS_MANUALLY) + lcd_put_u8str_P(PSTR("P:")); + #endif + if (progress) + lcd.print(ui8tostr3rj(progress)); + else + lcd_put_u8str_P(PSTR("---")); + lcd.write('%'); + } + +#endif // HAS_PRINT_PROGRESS + +#if ENABLED(LCD_PROGRESS_BAR) + + void MarlinUI::draw_progress_bar(const uint8_t percent) { + if (!PanelDetected) return; + if (fb == &framebuffer[0] + LCD_WIDTH * 2) { // For status screen + lcd.write('%'); lcd.write(percent); + } + else { // For progress bar test + lcd.setCursor(LCD_WIDTH / 2 - 2, LCD_HEIGHT / 2 - 2); + lcd.print(i16tostr3rj(percent)); lcd.write('%'); + lcd.print_line(); + lcd.setCursor(0, LCD_HEIGHT / 2 - 1); + lcd.write('%'); lcd.write(percent); + lcd.print_line(); + } + } + +#endif + +void MarlinUI::draw_status_message(const bool blink) { + if (!PanelDetected) return; + lcd.setCursor(0, 3); + #if BOTH(FILAMENT_LCD_DISPLAY, SDSUPPORT) + + // Alternate Status message and Filament display + if (ELAPSED(millis(), next_filament_display)) { + lcd_put_u8str_P(PSTR("Dia ")); + lcd.print(ftostr12ns(filament_width_meas)); + lcd_put_u8str_P(PSTR(" V")); + lcd.print(i16tostr3rj(100.0 * ( + parser.volumetric_enabled + ? planner.volumetric_area_nominal / planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] + : planner.volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] + ) + )); + lcd.write('%'); + return; + } + + #endif // FILAMENT_LCD_DISPLAY && SDSUPPORT + + // Get the UTF8 character count of the string + uint8_t slen = utf8_strlen(status_message); + + #if ENABLED(STATUS_MESSAGE_SCROLLING) + + static bool last_blink = false; + + // If the string fits into the LCD, just print it and do not scroll it + if (slen <= LCD_WIDTH) { + + // The string isn't scrolling and may not fill the screen + lcd_put_u8str(status_message); + + // Fill the rest with spaces + while (slen < LCD_WIDTH) { lcd.write(' '); ++slen; } + } + else { + // String is larger than the available space in screen. + + // Get a pointer to the next valid UTF8 character + // and the string remaining length + uint8_t rlen; + const char *stat = status_and_len(rlen); + lcd_put_u8str_max(stat, LCD_WIDTH); // The string leaves space + + // If the remaining string doesn't completely fill the screen + if (rlen < LCD_WIDTH) { + lcd.write('.'); // Always at 1+ spaces left, draw a dot + uint8_t chars = LCD_WIDTH - rlen; // Amount of space left in characters + if (--chars) { // Draw a second dot if there's space + lcd.write('.'); + if (--chars) + lcd_put_u8str_max(status_message, chars); // Print a second copy of the message + } + } + if (last_blink != blink) { + last_blink = blink; + advance_status_scroll(); + } + } + + #else + + UNUSED(blink); + + // Just print the string to the LCD + lcd_put_u8str_max(status_message, LCD_WIDTH); + + // Fill the rest with spaces if there are missing spaces + while (slen < LCD_WIDTH) { + lcd.write(' '); + ++slen; + } + + #endif +} + +/** +Possible status screens: + +Equal to 20x10 text LCD + +|X 000 Y 000 Z 000.00| +|FR100% SD100% C--:--| +| Progress bar line | +|Status message | +| | +| HE BED FAN | +| ttc ttc % | ttc - current temperature +| tts tts %%% | tts - setted temperature, %%% - percent for FAN +| ICO ICO ICO ICO | ICO - icon 48x48, placed in 2 text lines +| ICO ICO ICO ICO | ICO / + +or + +|X 000 Y 000 Z 000.00| +|FR100% SD100% C--:--| +| Progress bar line | +|Status message | +| | +|HE1 HE2 HE3 BED ICO| +|ttc ttc ttc ttc ICO| +|tts tts tts tts %%%| +|ICO ICO ICO ICO ICO| +|ICO ICO ICO ICO ICO| + +or + +Equal to 24x10 text LCD + +|X 000 Y 000 Z 000.00 | +|FR100% SD100% C--:--| +| Progress bar line | +|Status message | +| | +|HE1 HE2 HE3 BED FAN | +|ttc ttc ttc ttc % | +|tts tts tts tts %%% | +|ICO ICO ICO ICO ICO ICO| +|ICO ICO ICO ICO ICO ICO| +*/ + +void MarlinUI::draw_status_screen() { + if (!PanelDetected) return; + + const bool blink = get_blink(); + + lcd.clear_buffer(); + + // + // Line 1 - XYZ coordinates + // + + lcd.setCursor(0, 0); + _draw_axis_value(X_AXIS, ftostr4sign(LOGICAL_X_POSITION(current_position[X_AXIS])), blink); lcd.write(' '); + _draw_axis_value(Y_AXIS, ftostr4sign(LOGICAL_Y_POSITION(current_position[Y_AXIS])), blink); lcd.write(' '); + _draw_axis_value(Z_AXIS, ftostr52sp(LOGICAL_Z_POSITION(current_position[Z_AXIS])), blink); + + #if HAS_LEVELING && !HAS_HEATED_BED + lcd.write(planner.leveling_active || blink ? '_' : ' '); + #endif + + // + // Line 2 - feedrate, , time + // + + lcd.setCursor(0, 1); + lcd_put_u8str_P(PSTR("FR")); lcd.print(i16tostr3rj(feedrate_percentage)); lcd.write('%'); + + #if BOTH(SDSUPPORT, HAS_PRINT_PROGRESS) + lcd.setCursor(LCD_WIDTH / 2 - 3, 1); + _draw_print_progress(); + #endif + + char buffer[10]; + duration_t elapsed = print_job_timer.duration(); + uint8_t len = elapsed.toDigital(buffer); + + lcd.setCursor((LCD_WIDTH - 1) - len, 1); + lcd.write(0x07); lcd.print(buffer); // LCD_CLOCK_CHAR + + // + // Line 3 - progressbar + // + + lcd.setCursor(0, 2); + #if ENABLED(LCD_PROGRESS_BAR) + draw_progress_bar(_get_progress()); + #else + lcd.write('%'); lcd.write(0); + #endif + + // + // Line 4 - Status Message (which may be a Filament display) + // + + draw_status_message(blink); + + // + // Line 5 + // + + #if HOTENDS <= 1 || (HOTENDS <= 2 && !HAS_HEATED_BED) + #if DUAL_MIXING_EXTRUDER + lcd.setCursor(0, 4); + // Two-component mix / gradient instead of XY + char mixer_messages[12]; + const char *mix_label; + #if ENABLED(GRADIENT_MIX) + if (mixer.gradient.enabled) { + mixer.update_mix_from_gradient(); + mix_label = "Gr"; + } + else + #endif + { + mixer.update_mix_from_vtool(); + mix_label = "Mx"; + } + sprintf_P(mixer_messages, PSTR("%s %d;%d%% "), mix_label, int(mixer.mix[0]), int(mixer.mix[1])); + lcd_put_u8str(mixer_messages); + #endif + #endif + + // + // Line 6..8 Temperatures, FAN + // + + #if HOTENDS < 2 + _draw_heater_status(H_E0, "HE", blink); // Hotend Temperature + #else + _draw_heater_status(H_E0, "HE1", blink); // Hotend 1 Temperature + _draw_heater_status(H_E1, "HE2", blink); // Hotend 2 Temperature + #if HOTENDS > 2 + _draw_heater_status(H_E2, "HE3", blink); // Hotend 3 Temperature + #endif + #endif // HOTENDS <= 1 + + #if HAS_HEATED_BED + #if HAS_LEVELING + _draw_heater_status(H_BED, (planner.leveling_active && blink ? "___" : "BED"), blink); + #else + _draw_heater_status(H_BED, "BED", blink); + #endif + #endif // HAS_HEATED_BED + + #if FAN_COUNT > 0 + uint16_t spd = thermalManager.fan_speed[0]; + + #if ENABLED(ADAPTIVE_FAN_SLOWING) + if (!blink) spd = thermalManager.scaledFanSpeed(0, spd); + #endif + + uint16_t per = thermalManager.fanPercent(spd); + #if HOTENDS < 2 + #define FANX 11 + #else + #define FANX 17 + #endif + lcd.setCursor(FANX, 5); lcd_put_u8str_P(PSTR("FAN")); + lcd.setCursor(FANX + 1, 6); lcd.write('%'); + lcd.setCursor(FANX, 7); + lcd.print(i16tostr3rj(per)); + + if (TERN0(HAS_FAN0, thermalManager.fan_speed[0]) || TERN0(HAS_FAN1, thermalManager.fan_speed[1]) || TERN0(HAS_FAN2, thermalManager.fan_speed[2])) + picBits |= ICON_FAN; + else + picBits &= ~ICON_FAN; + + #endif // FAN_COUNT > 0 + + // + // Line 9, 10 - icons + // + lcd.print_screen(); +} + +#if HAS_LCD_MENU + + #include "../menu/menu.h" + + #if ENABLED(ADVANCED_PAUSE_FEATURE) + + void MarlinUI::draw_hotend_status(const uint8_t row, const uint8_t extruder) { + if (!PanelDetected) return; + lcd.setCursor((LCD_WIDTH - 14) / 2, row + 1); + lcd.write(0x02); lcd_put_u8str_P(" E"); lcd.write('1' + extruder); lcd.write(' '); + lcd.print(i16tostr3rj(thermalManager.degHotend(extruder))); lcd.write(0x01); lcd.write('/'); + lcd.print(i16tostr3rj(thermalManager.degTargetHotend(extruder))); lcd.write(0x01); + lcd.print_line(); + } + + #endif // ADVANCED_PAUSE_FEATURE + + // Draw a static item with no left-right margin required. Centered by default. + void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const valstr/*=nullptr*/) { + if (!PanelDetected) return; + uint8_t n = LCD_WIDTH; + lcd.setCursor(0, row); + if ((style & SS_CENTER) && !valstr) { + int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; + while (--pad >= 0) { lcd.write(' '); n--; } + } + n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, n); + if (valstr) n -= lcd_put_u8str_max(valstr, n); + for (; n; --n) lcd.write(' '); + lcd.print_line(); + } + + // Draw a generic menu item with pre_char (if selected) and post_char + void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char) { + if (!PanelDetected) return; + lcd.setCursor(0, row); + lcd.write(sel ? pre_char : ' '); + uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, LCD_WIDTH - 2); + for (; n; --n) lcd.write(' '); + lcd.write(post_char); + lcd.print_line(); + } + + // Draw a menu item with a (potentially) editable value + void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) { + if (!PanelDetected) return; + const uint8_t vlen = data ? (pgm ? utf8_strlen_P(data) : utf8_strlen(data)) : 0; + lcd.setCursor(0, row); + lcd.write(sel ? LCD_STR_ARROW_RIGHT[0] : ' '); + uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, LCD_WIDTH - 2 - vlen); + if (vlen) { + lcd.write(':'); + for (; n; --n) lcd.write(' '); + if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str(data); + } + lcd.print_line(); + } + + // Low-level draw_edit_screen can be used to draw an edit screen from anyplace + void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) { + if (!PanelDetected) return; + ui.encoder_direction_normal(); + lcd.setCursor(0, LCD_HEIGHT - 1); //last line is free most time + lcd.write(COLOR_EDIT); + lcd_put_u8str_P(pstr); + if (value != nullptr) { + lcd.write(':'); + lcd.setCursor((LCD_WIDTH - 1) - (utf8_strlen(value) + 1), LCD_HEIGHT - 1); // Right-justified, padded by spaces + lcd.write(' '); // Overwrite char if value gets shorter + lcd.print(value); + lcd.write(' '); + lcd.print_line(); + } + } + + // The Select Screen presents a prompt and two "buttons" + void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const bool yesno, PGM_P const pref, const char * const string, PGM_P const suff) { + if (!PanelDetected) return; + ui.draw_select_screen_prompt(pref, string, suff); + lcd.setCursor(0, LCD_HEIGHT - 1); + lcd.write(COLOR_EDIT); + lcd.write(yesno ? ' ' : '['); lcd_put_u8str_P(no); lcd.write(yesno ? ' ' : ']'); + lcd.setCursor(LCD_WIDTH - utf8_strlen_P(yes) - 3, LCD_HEIGHT - 1); + lcd.write(yesno ? '[' : ' '); lcd_put_u8str_P(yes); lcd.write(yesno ? ']' : ' '); + lcd.print_line(); + } + + #if ENABLED(SDSUPPORT) + + void MenuItem_sdbase::draw(const bool sel, const uint8_t row, PGM_P const, CardReader &theCard, const bool isDir) { + if (!PanelDetected) return; + lcd.setCursor(0, row); + lcd.write(sel ? LCD_STR_ARROW_RIGHT[0] : ' '); + constexpr uint8_t maxlen = LCD_WIDTH - 2; + uint8_t n = maxlen - lcd_put_u8str_max(ui.scrolled_filename(theCard, maxlen, row, sel), maxlen); + for (; n; --n) lcd.write(' '); + lcd.write(isDir ? LCD_STR_FOLDER[0] : ' '); + lcd.print_line(); + } + + #endif // SDSUPPORT + + #if ENABLED(LCD_HAS_STATUS_INDICATORS) + + void MarlinUI::update_indicators() {} + + #endif // LCD_HAS_STATUS_INDICATORS + + #if ENABLED(AUTO_BED_LEVELING_UBL) + /** + * Map screen: + * |/---------\ (00,00) | + * || . . . . | X:000.00| + * || . . . . | Y:000.00| + * || . . . . | Z:00.000| + * || . . . . | | + * || . . . . | | + * || . . . . | | + * |+---------/ | + * | | + * |____________________| + */ + void MarlinUI::ubl_plot(const uint8_t x_plot, const uint8_t y_plot) { + if (!PanelDetected) return; + + #define _LCD_W_POS 12 + + lcd.clear_buffer(); + + //print only top left corner. All frame with grid points will be printed by panel + lcd.setCursor(0, 0); + *fb++ = TLC; //top left corner - marker for plot parameters + *fb = (GRID_MAX_POINTS_X << 4) + GRID_MAX_POINTS_Y; //set mesh size + + // Print plot position + lcd.setCursor(_LCD_W_POS, 0); + *fb++ = '('; lcd.print(i16tostr3left(x_plot)); + *fb++ = ','; lcd.print(i16tostr3left(y_plot)); *fb = ')'; + + // Show all values + lcd.setCursor(_LCD_W_POS, 1); lcd_put_u8str_P(PSTR("X:")); + lcd.print(ftostr52(LOGICAL_X_POSITION(pgm_read_float(&ubl._mesh_index_to_xpos[x_plot])))); + lcd.setCursor(_LCD_W_POS, 2); lcd_put_u8str_P(PSTR("Y:")); + lcd.print(ftostr52(LOGICAL_Y_POSITION(pgm_read_float(&ubl._mesh_index_to_ypos[y_plot])))); + + // Show the location value + lcd.setCursor(_LCD_W_POS, 3); lcd_put_u8str_P(PSTR("Z:")); + + if (!isnan(ubl.z_values[x_plot][y_plot])) + lcd.print(ftostr43sign(ubl.z_values[x_plot][y_plot])); + else + lcd_put_u8str_P(PSTR(" -----")); + + center_text_P(GET_TEXT(MSG_UBL_FINE_TUNE_MESH), 8); + + lcd.print_screen(); + } + + #endif // AUTO_BED_LEVELING_UBL + +#endif // HAS_LCD_MENU + +#endif // IS_TFTGLCD_PANEL diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h new file mode 100644 index 000000000000..9f54730c3c89 --- /dev/null +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h @@ -0,0 +1,74 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * Implementation of the LCD display routines for a TFT GLCD displays with external controller. + */ + +#include "../../inc/MarlinConfig.h" + +#if IS_TFTGLCD_PANEL + +#include "../../libs/duration_t.h" + +//////////////////////////////////// +// Set up button and encode mappings for each panel (into 'buttons' variable) +// +// This is just to map common functions (across different panels) onto the same +// macro name. The mapping is independent of whether the button is directly connected or +// via a shift/i2c register. + +//////////////////////////////////// +// Create LCD class instance and chipset-specific information +class TFTGLCD { + private: + public: + TFTGLCD(); + void clear_buffer(); + void setCursor(uint8_t col, uint8_t row); + void write(char c); + void print(const char *line); + void print_line(); + void print_screen(); + void redraw_screen(); + void setContrast(uint16_t contrast); +}; + +extern TFTGLCD lcd; + +#include "../fontutils.h" +#include "../lcdprint.h" + +// Use panel encoder - free old encoder pins +#undef BTN_EN1 +#undef BTN_EN2 +#undef BTN_ENC +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 + +#ifndef EN_C + #define EN_C 4 //for click +#endif + +#endif // IS_TFTGLCD_PANEL diff --git a/Marlin/src/lcd/menu/menu_ubl.cpp b/Marlin/src/lcd/menu/menu_ubl.cpp index d034de095215..2cd300958f8b 100644 --- a/Marlin/src/lcd/menu/menu_ubl.cpp +++ b/Marlin/src/lcd/menu/menu_ubl.cpp @@ -59,10 +59,14 @@ inline float rounded_mesh_value() { static void _lcd_mesh_fine_tune(PGM_P const msg) { ui.defer_status_screen(); if (ubl.encoder_diff) { - mesh_edit_accumulator += ubl.encoder_diff > 0 ? 0.005f : -0.005f; + mesh_edit_accumulator += TERN(IS_TFTGLCD_PANEL, + ubl.encoder_diff * 0.005f / ENCODER_PULSES_PER_STEP, + ubl.encoder_diff > 0 ? 0.005f : -0.005f + ); ubl.encoder_diff = 0; - ui.refresh(LCDVIEW_CALL_REDRAW_NEXT); + TERN(IS_TFTGLCD_PANEL,,ui.refresh(LCDVIEW_CALL_REDRAW_NEXT)); } + TERN_(IS_TFTGLCD_PANEL, ui.refresh(LCDVIEW_CALL_REDRAW_NEXT)); if (ui.should_draw()) { const float rounded_f = rounded_mesh_value(); diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 89dc0adaf327..de534e40236b 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -506,7 +506,7 @@ bool MarlinUI::get_blink() { * This is very display-dependent, so the lcd implementation draws this. */ -#if ENABLED(LCD_PROGRESS_BAR) +#if ENABLED(LCD_PROGRESS_BAR) && !IS_TFTGLCD_PANEL millis_t MarlinUI::progress_bar_ms; // = 0 #if PROGRESS_MSG_EXPIRE > 0 millis_t MarlinUI::expire_status_ms; // = 0 @@ -517,7 +517,7 @@ void MarlinUI::status_screen() { TERN_(HAS_LCD_MENU, ENCODER_RATE_MULTIPLY(false)); - #if ENABLED(LCD_PROGRESS_BAR) + #if ENABLED(LCD_PROGRESS_BAR) && !IS_TFTGLCD_PANEL // // HD44780 implements the following message blinking and @@ -915,7 +915,7 @@ void MarlinUI::update() { const bool encoderPastThreshold = (abs_diff >= epps); if (encoderPastThreshold || lcd_clicked) { - if (encoderPastThreshold) { + if (encoderPastThreshold && TERN1(IS_TFTGLCD_PANEL, !external_control)) { #if BOTH(HAS_LCD_MENU, ENCODER_RATE_MULTIPLIER) @@ -1260,6 +1260,12 @@ void MarlinUI::update() { TERN(REPRAPWORLD_KEYPAD, keypad_buttons, buttons) = ~val; #endif + #if IS_TFTGLCD_PANEL + next_button_update_ms = now + (LCD_UPDATE_INTERVAL / 2); + buttons = slow_buttons; + TERN_(AUTO_BED_LEVELING_UBL, external_encoder()); + #endif + } // next_button_update_ms #if HAS_ENCODER_WHEEL @@ -1331,7 +1337,7 @@ void MarlinUI::update() { const millis_t ms = millis(); #endif - #if ENABLED(LCD_PROGRESS_BAR) + #if ENABLED(LCD_PROGRESS_BAR) && !IS_TFTGLCD_PANEL progress_bar_ms = ms; #if PROGRESS_MSG_EXPIRE > 0 expire_status_ms = persist ? 0 : ms + PROGRESS_MSG_EXPIRE; diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index c23dc5d84e4e..c7ef41596df5 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -34,7 +34,7 @@ #if EITHER(HAS_LCD_MENU, ULTIPANEL_FEEDMULTIPLY) #define HAS_ENCODER_ACTION 1 #endif -#if (!HAS_ADC_BUTTONS && ENABLED(NEWPANEL)) || BUTTONS_EXIST(EN1, EN2) +#if ((!HAS_ADC_BUTTONS && ENABLED(NEWPANEL)) || BUTTONS_EXIST(EN1, EN2)) && !IS_TFTGLCD_PANEL #define HAS_ENCODER_WHEEL 1 #endif #if HAS_ENCODER_WHEEL || ANY_BUTTON(ENC, BACK, UP, DWN, LFT, RT) @@ -45,7 +45,7 @@ #endif // I2C buttons must be read in the main thread -#if EITHER(LCD_I2C_VIKI, LCD_I2C_PANELOLU2) +#if ANY(LCD_I2C_VIKI, LCD_I2C_PANELOLU2, IS_TFTGLCD_PANEL) #define HAS_SLOW_BUTTONS 1 #endif @@ -215,7 +215,7 @@ #endif -#if BUTTON_EXISTS(BACK) || HAS_TOUCH_XPT2046 +#if BUTTON_EXISTS(BACK) || EITHER(HAS_TOUCH_XPT2046, IS_TFTGLCD_PANEL) #define BLEN_D 3 #define EN_D _BV(BLEN_D) #define LCD_BACK_CLICKED() (buttons & EN_D) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h index 4165bb350381..0701e45992eb 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h @@ -65,7 +65,16 @@ * by redrawing the screen after SD card accesses. */ -#if HAS_WIRED_LCD +#if IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_26 + #endif + + #define SD_DETECT_PIN P1_31 + +#elif HAS_WIRED_LCD + #define BTN_EN1 P3_26 #define BTN_EN2 P3_25 #define BTN_ENC P2_11 @@ -80,7 +89,8 @@ #define DOGLCD_CS P2_06 #define DOGLCD_A0 P0_16 #endif -#endif + +#endif // HAS_WIRED_LCD // // SD Support @@ -89,7 +99,7 @@ // requires jumpers on the SKR V1.1 board as documented here: // https://www.facebook.com/groups/505736576548648/permalink/630639874058317/ #ifndef SDCARD_CONNECTION - #if EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY) + #if ANY(MKS_MINI_12864, ENDER2_STOCKDISPLAY, IS_TFTGLCD_PANEL) #define SDCARD_CONNECTION LCD #else #define SDCARD_CONNECTION ONBOARD diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h index e8983c7f5429..31373fedff66 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h @@ -265,6 +265,14 @@ #error "ADC BUTTONS do not work unmodifed on SKR 1.3, The ADC ports cannot take more than 3.3v." + #elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS EXPA2_08_PIN + #endif + + #define SD_DETECT_PIN EXPA2_04_PIN + #else // !CR10_STOCKDISPLAY #define LCD_PINS_RS EXPA1_07_PIN diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 3bdd3061b757..6f9f4bcf6363 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -309,6 +309,14 @@ #define XPT2046_Y_OFFSET -285 #endif + #elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_26 + #endif + + #define SD_DETECT_PIN P1_31 + #else #define BTN_ENC P0_28 // (58) open-drain diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 1cb6774a41fe..1290200e55c3 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -217,7 +217,18 @@ * that the garbage/lines are erased immediately after the SD card accesses are completed. */ -#if HAS_WIRED_LCD +#if IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_25 // EXP2.3 + #endif + + #if SD_CONNECTION_IS(LCD) + #define SD_DETECT_PIN P0_28 // EXP2.4 + #endif + +#elif HAS_WIRED_LCD + #define BEEPER_PIN P1_31 // EXP1.1 #define BTN_ENC P1_30 // EXP1.2 #define BTN_EN1 P3_26 // EXP2.5 @@ -273,7 +284,7 @@ //#define LCD_SCREEN_ROT_270 #endif -#endif +#endif // HAS_WIRED_LCD /** * Example for trinamic drivers using the J8 connector on MKs Sbase. diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index 02fdaafd306a..d269ecbdc90d 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -249,6 +249,15 @@ #define LCD_PINS_ENABLE P1_22 #define LCD_PINS_D4 P0_17 + #elif IS_TFTGLCD_PANEL + + #undef BEEPER_PIN + #undef BTN_ENC + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_25 + #endif + #else #define BTN_EN1 P3_25 diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 097f8be22acd..41763fb33c3a 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -326,6 +326,15 @@ #define LCD_PINS_ENABLE P0_18 // J3-10 & AUX-3 (SID, MOSI) #define LCD_PINS_D4 P2_06 // J3-8 & AUX-3 (SCK, CLK) +#elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_26 // (31) J3-2 & AUX-4 + #endif + + #define SD_DETECT_PIN P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant) + #define KILL_PIN P1_22 // (41) J5-4 & AUX-4 + #elif HAS_WIRED_LCD //#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3 diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index a073a6fe3029..cbbe8a9416d4 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -241,7 +241,16 @@ * ----- ----- * EXP1 EXP2 */ -#if HAS_WIRED_LCD +#if IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_25 + #endif + + #define SD_DETECT_PIN P0_27 + +#elif HAS_WIRED_LCD + #define BEEPER_PIN P1_31 #define BTN_ENC P1_30 diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h index 33975df8ee1d..f2811b14abdc 100644 --- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h @@ -111,16 +111,33 @@ #elif HAS_WIRED_LCD - /* - The Smoothieboard supports the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with either - a custom cable with breakouts to the pins indicated below or the RRD GLCD Adapter board - found at http://smoothieware.org/rrdglcdadapter - - Other links to information about setting up a display panel with Smoothieboard - http://chibidibidiwah.wdfiles.com/local--files/panel/smoothieboard2sd.jpg - http://smoothieware.org/panel - */ - + /** + * SD Support + * + * For the RRD GLCD it CANNOT share the same SPI as the LCD so it must be + * hooked up to the onboard SDCard SPI and use a spare pin for the SDCS. + * Also note that an external SDCard sharing the SPI port with the + * onboard/internal SDCard must be ejected before rebooting as the bootloader + * does not like the external card. NOTE Smoothie will not boot if the external + * sdcard is inserted in the RRD LCD sdcard slot at boot time, it must be + * inserted after it has booted. + */ + #define SD_DETECT_PIN P0_27 // EXP2 Pin 7 (SD_CD, SD_DET) + + #define MISO_PIN P0_08 // EXP2 Pin 1 (PB3, SD_MISO) + #define SCK_PIN P0_07 // EXP2 Pin 2 (SD_SCK) + #define SS_PIN P0_28 // EXP2 Pin 4 (SD_CSEL, SD_CS) + #define MOSI_PIN P0_09 // EXP2 Pin 6 (PB2, SD_MOSI) + + /** + * The Smoothieboard supports the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with either + * a custom cable with breakouts to the pins indicated below or the RRD GLCD Adapter board + * found at http://smoothieware.org/rrdglcdadapter + * + * Other links to information about setting up a display panel with Smoothieboard + * http://chibidibidiwah.wdfiles.com/local--files/panel/smoothieboard2sd.jpg + * http://smoothieware.org/panel + */ #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) // EXP1 Pins #define BEEPER_PIN P1_31 // EXP1 Pin 1 @@ -132,24 +149,14 @@ #define BTN_EN2 P3_26 // EXP2 Pin 3 #define BTN_EN1 P3_25 // EXP2 Pin 5 - /* - SD Support - - For the RRD GLCD it CANNOT share the same SPI as the LCD so it must be - hooked up to the onboard SDCard SPI and use a spare pin for the SDCS. - Also note that an external SDCard sharing the SPI port with the - onboard/internal SDCard must be ejected before rebooting as the bootloader - does not like the external card. NOTE Smoothie will not boot if the external - sdcard is inserted in the RRD LCD sdcard slot at boot time, it must be - inserted after it has booted. - */ - - #define MISO_PIN P0_08 // EXP2 Pin 1 (PB3, SD_MISO) - #define SCK_PIN P0_07 // EXP2 Pin 2 (SD_SCK) - #define SS_PIN P0_28 // EXP2 Pin 4 (SD_CSEL, SD_CS) - #define MOSI_PIN P0_09 // EXP2 Pin 6 (PB2, SD_MOSI) + #elif IS_TFTGLCD_PANEL + #define SD_DETECT_PIN P0_27 // EXP2 Pin 7 (SD_CD, SD_DET) + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS P3_26 // EXP2 Pin 3 + #endif + #else #error "Marlin's Smoothieboard support cannot drive your LCD." #endif diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h index ac15a3c9bae2..704f2a487fb1 100644 --- a/Marlin/src/pins/pinsDebug_list.h +++ b/Marlin/src/pins/pinsDebug_list.h @@ -261,6 +261,9 @@ #if defined(TMC_SW_SCK) && TMC_SW_SCK >= 0 REPORT_NAME_DIGITAL(__LINE__, TMC_SW_SCK) #endif +#if defined(TFTGLCD_CS) && TFTGLCD_CS >= 0 + REPORT_NAME_DIGITAL(__LINE__, TFTGLCD_CS) +#endif #if PIN_EXISTS(E_MUX0) REPORT_NAME_DIGITAL(__LINE__, E_MUX0_PIN) #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h index aa73aabbc1d7..de56d2b59d9b 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS.h @@ -450,6 +450,10 @@ #define LCD_PINS_D6 44 #define LCD_PINS_D7 64 + #elif ENABLED(TFTGLCD_PANEL_SPI) + + #define TFTGLCD_CS 33 + #else #if ENABLED(CR10_STOCKDISPLAY) @@ -682,6 +686,10 @@ // Pins only defined for RAMPS_SMART currently + #elif IS_TFTGLCD_PANEL + + #define SD_DETECT_PIN 49 + #else // Beeper on AUX-4 diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index fd741d296d33..2bc94c45c5e7 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -279,9 +279,7 @@ #if SD_CONNECTION_IS(ONBOARD) #define SD_DETECT_PIN PC4 -#endif - -#if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) && SD_CONNECTION_IS(LCD) +#elif SD_CONNECTION_IS(LCD) && BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) #define SD_DETECT_PIN PA15 #define SS_PIN PA10 #elif SD_CONNECTION_IS(CUSTOM_CABLE) diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index 30d057d90078..09e47875ed67 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -169,8 +169,48 @@ #define FORCE_SOFT_SPI #define LCD_BACKLIGHT_PIN -1 + #elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + + #error "CAUTION! TFTGLCD_PANEL_SPI requires wiring modifications. See 'pins_BTT_SKR_MINI_E3_common.h' for details. Comment out this line to continue." + + /** + * TFTGLCD_PANEL_SPI display pinout + * + * Board Display + * _____ _____ + * 5V | 1 2 | GND (SPI1-MISO) MISO | 1 2 | SCK (SPI1-SCK) + * (FREE) PB7 | 3 4 | PB8 (LCD_CS) (PA9) GLCD_CS | 3 4 | SD_CS (PA10) + * (FREE) PB9 | 5 6 | PA10 (SD_CS) (FREE) | 5 6 | MOSI (SPI1-MOSI) + * RESET | 7 8 | PA9 (MOD_RESET) (PB5) SD_DET | 7 8 | (FREE) + * (BEEPER) PB6 | 9 10| PB5 (SD_DET) GND | 9 10| 5V + * ----- ----- + * EXP1 EXP1 + * + * Needs custom cable: + * + * Board Adapter Display + * _________ + * EXP1-1 ----------- EXP1-10 + * EXP1-2 ----------- EXP1-9 + * SPI1-4 ----------- EXP1-6 + * EXP1-4 ----------- FREE + * SPI1-3 ----------- EXP1-2 + * EXP1-6 ----------- EXP1-4 + * EXP1-7 ----------- FREE + * EXP1-8 ----------- EXP1-3 + * SPI1-1 ----------- EXP1-1 + * EXP1-10 ----------- EXP1-7 + * + */ + + #define TFTGLCD_CS PA9 + + #endif + #else - #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, and MKS_MINI_12864 are currently supported on the BIGTREE_SKR_MINI_E3." + #error "Only CR10_STOCKDISPLAY, ZONESTAR_LCD, ENDER2_STOCKDISPLAY, MKS_MINI_12864, and TFTGLCD_PANEL_(SPI|I2C) are currently supported on the BIGTREE_SKR_MINI_E3." #endif #endif // HAS_WIRED_LCD @@ -227,9 +267,7 @@ #if SD_CONNECTION_IS(ONBOARD) #define SD_DETECT_PIN PC4 -#endif - -#if BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) && SD_CONNECTION_IS(LCD) +#elif SD_CONNECTION_IS(LCD) && (BOTH(TOUCH_UI_FTDI_EVE, LCD_FYSETC_TFT81050) || IS_TFTGLCD_PANEL) #define SD_DETECT_PIN PB5 #define SS_PIN PA10 #elif SD_CONNECTION_IS(CUSTOM_CABLE) diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index 3397c34f33ab..47fff4467c72 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -123,6 +123,17 @@ #define LCD_PINS_ENABLE PC14 #define LCD_PINS_D4 PB7 + #elif IS_TFTGLCD_PANEL + + #undef BEEPER_PIN + #undef BTN_ENC + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS PD2 + #endif + + #define SD_DETECT_PIN PB9 + #else #define LCD_PINS_RS PC12 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h index 5cdeda3a8353..d5318b8e8787 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h @@ -115,6 +115,12 @@ #define DOGLCD_SCK PB13 #define DOGLCD_MOSI PB15 + #elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS PB11 + #endif + #else // !MKS_MINI_12864 #define LCD_PINS_D4 PA6 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index caa5e2b8fc94..4e782649d3f0 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -356,6 +356,19 @@ #define DOGLCD_SCK PA5 #define DOGLCD_MOSI PA7 + #elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define PIN_SPI_SCK PA5 + #define PIN_TFT_MISO PA6 + #define PIN_TFT_MOSI PA7 + #define TFTGLCD_CS PE8 + #endif + + #ifndef BEEPER_PIN + #define BEEPER_PIN -1 + #endif + #else // !MKS_MINI_12864 #define LCD_PINS_D4 PE14 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 93f0de33daef..12c40b31b374 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -225,6 +225,12 @@ #define BTN_EN2 PG4 #endif +#elif IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS PG5 + #endif + #elif HAS_WIRED_LCD #define BEEPER_PIN PC5 @@ -254,6 +260,7 @@ #endif #endif // !MKS_MINI_12864 && !ENDER2_STOCKDISPLAY + #endif #ifndef BOARD_ST7920_DELAY_1 diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index 839727614475..1cd7e9dd89a2 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -286,7 +286,14 @@ // // LCDs and Controllers // -#if HAS_WIRED_LCD +#if IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS PG10 + #endif + +#elif HAS_WIRED_LCD + #define BEEPER_PIN PG4 #define BTN_ENC PA8 diff --git a/buildroot/tests/LPC1769-tests b/buildroot/tests/LPC1769-tests index 9c7a1ba10e83..a7a6456d026d 100755 --- a/buildroot/tests/LPC1769-tests +++ b/buildroot/tests/LPC1769-tests @@ -26,6 +26,20 @@ opt_enable VIKI2 SDSUPPORT ADAPTIVE_FAN_SLOWING NO_FAN_SLOWING_IN_PID_TUNING \ opt_set GRID_MAX_POINTS_X 16 exec_test $1 $2 "Smoothieboard with many features" +restore_configs +opt_set MOTHERBOARD BOARD_SMOOTHIEBOARD +opt_set EXTRUDERS 2 +opt_set TEMP_SENSOR_1 -1 +opt_set TEMP_SENSOR_BED 5 +opt_enable TFTGLCD_PANEL_SPI SDSUPPORT ADAPTIVE_FAN_SLOWING NO_FAN_SLOWING_IN_PID_TUNING \ + FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR G29_RETRY_AND_RECOVER Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \ + BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET \ + PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE SLOW_PWM_HEATERS PIDTEMPBED EEPROM_SETTINGS INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT \ + Z_SAFE_HOMING ADVANCED_PAUSE_FEATURE PARK_HEAD_ON_PAUSE \ + LCD_INFO_MENU ARC_SUPPORT BEZIER_CURVE_SUPPORT EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES SDCARD_SORT_ALPHA EMERGENCY_PARSER +opt_set GRID_MAX_POINTS_X 16 +exec_test $1 $2 "Smoothieboard with TFTGLCD_PANEL_SPI" + #restore_configs #opt_set MOTHERBOARD BOARD_AZTEEG_X5_MINI_WIFI #opt_enable COREYX USE_XMAX_PLUG DAC_MOTOR_CURRENT_DEFAULT \ diff --git a/platformio.ini b/platformio.ini index ff3c0fb810aa..c426c5223b3b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -26,7 +26,7 @@ include_dir = Marlin # [common] default_src_filter = + - - + - - - - - + - - - - - - - - - - - @@ -216,6 +216,7 @@ HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 src_filter=+ HAS_GRAPHICAL_TFT = src_filter=+ DWIN_CREALITY_LCD = src_filter=+ +IS_TFTGLCD_PANEL = src_filter=+ HAS_LCD_MENU = src_filter=+ HAS_GAMES = src_filter=+ MARLIN_BRICKOUT = src_filter=+ From 4584a52ba580544de8e5efc611c72a05d99e3104 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 03:55:04 -0500 Subject: [PATCH 162/277] Update configs to 020007 --- Marlin/Configuration.h | 2 +- Marlin/Configuration_adv.h | 2 +- Marlin/src/inc/Version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index bb724672b03b..7fb3482afeb9 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -36,7 +36,7 @@ * Advanced settings can be found in Configuration_adv.h * */ -#define CONFIGURATION_H_VERSION 020006 +#define CONFIGURATION_H_VERSION 020007 //=========================================================================== //============================= Getting Started ============================= diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 0435b6f97c9e..7d2d78e9dd4d 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -31,7 +31,7 @@ * Basic settings can be found in Configuration.h * */ -#define CONFIGURATION_ADV_H_VERSION 020006 +#define CONFIGURATION_ADV_H_VERSION 020007 // @section temperature diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 4431dadce09c..a78cea1eced0 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -52,7 +52,7 @@ * to alert users to major changes. */ -#define MARLIN_HEX_VERSION 020006 +#define MARLIN_HEX_VERSION 020007 #ifndef REQUIRED_CONFIGURATION_H_VERSION #define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION #endif From d4a5b101337c509382c672b979427fd42dff4eee Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 03:57:09 -0500 Subject: [PATCH 163/277] Tweaks to git helpers --- buildroot/share/git/mfinfo | 3 ++- buildroot/share/git/mfrb | 7 ++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/buildroot/share/git/mfinfo b/buildroot/share/git/mfinfo index c7bf04fb1471..e17138e45626 100755 --- a/buildroot/share/git/mfinfo +++ b/buildroot/share/git/mfinfo @@ -49,7 +49,8 @@ while [[ $# -gt 0 ]]; do done case "$REPO" in - Marlin ) TARG=bugfix-1.1.x ; [[ $INDEX == 2 ]] && TARG=bugfix-2.0.x ; [[ $INDEX == 3 ]] && TARG=dev-2.1.x ;; + Marlin ) TARG=bugfix-2.0.x ; [[ $INDEX == 1 ]] && TARG=bugfix-1.1.x ; [[ $INDEX == 3 ]] && TARG=dev-2.1.x ;; + Configurations ) TARG=import-2.0.x ;; MarlinDocumentation ) TARG=master ;; esac diff --git a/buildroot/share/git/mfrb b/buildroot/share/git/mfrb index 1edc99bbe928..071b0b3d5989 100755 --- a/buildroot/share/git/mfrb +++ b/buildroot/share/git/mfrb @@ -23,8 +23,5 @@ done [[ $USAGE == 1 ]] && { echo "usage: `basename $0` [1|2|3]" 1>&2 ; exit 1 ; } -# If the branch isn't currently the PR target -if [[ $TARG != $CURR ]]; then - [[ $QUICK ]] || git fetch upstream - git rebase upstream/$TARG && git rebase -i upstream/$TARG -fi +[[ $QUICK ]] || git fetch upstream +git rebase upstream/$TARG && git rebase -i upstream/$TARG From be7bbadabeb49c5e57d61fb2367cc5c994a5a6db Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 04:39:29 -0500 Subject: [PATCH 164/277] Default E3 V2 to English --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 120 +++++++++++++++--------------- Marlin/src/lcd/dwin/e3v2/dwin.h | 9 ++- 2 files changed, 66 insertions(+), 63 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index c0096d379de6..2aaf66854ccc 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -151,7 +151,7 @@ constexpr uint16_t TROWS = 6, MROWS = TROWS - 1, // Total rows, and other /* Value Init */ HMI_value_t HMI_ValueStruct; -HMI_Flag HMI_flag{0}; +HMI_Flag_t HMI_flag{0}; millis_t dwin_heat_time = 0; @@ -173,7 +173,6 @@ select_t select_page{0}, select_file{0}, select_print{0}, select_prepare{0} , select_acc{0} , select_jerk{0} , select_step{0} - // , select_leveling{0} ; uint8_t index_file = MROWS, @@ -208,22 +207,24 @@ uint16_t remain_time = 0; #define DWIN_LANGUAGE_EEPROM_ADDRESS 0x01 // Between 0x01 and 0x63 (EEPROM_OFFSET-1) // BL24CXX::check() uses 0x00 +inline bool HMI_IsChinese() { return HMI_flag.language == DWIN_CHINESE; } + void HMI_SetLanguageCache() { - DWIN_JPG_CacheTo1(HMI_flag.language_chinese ? Language_Chinese : Language_English); + DWIN_JPG_CacheTo1(HMI_IsChinese() ? Language_Chinese : Language_English); } void HMI_SetLanguage() { #if ENABLED(EEPROM_SETTINGS) - BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language)); #endif HMI_SetLanguageCache(); } void HMI_ToggleLanguage() { - HMI_flag.language_chinese ^= true; + HMI_flag.language = HMI_IsChinese() ? DWIN_ENGLISH : DWIN_CHINESE; HMI_SetLanguageCache(); #if ENABLED(EEPROM_SETTINGS) - BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language, sizeof(HMI_flag.language)); #endif } @@ -242,14 +243,14 @@ void ICON_Print() { if (select_page.now == 0) { DWIN_ICON_Show(ICON, ICON_Print_1, 17, 130); DWIN_Draw_Rectangle(0, Color_White, 17, 130, 126, 229); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 58, 201); else DWIN_Frame_AreaCopy(1, 1, 451, 31, 463, 57, 201); } else { DWIN_ICON_Show(ICON, ICON_Print_0, 17, 130); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 1, 405, 28, 420, 58, 201); else DWIN_Frame_AreaCopy(1, 1, 423, 31, 435, 57, 201); @@ -260,14 +261,14 @@ void ICON_Prepare() { if (select_page.now == 1) { DWIN_ICON_Show(ICON, ICON_Prepare_1, 145, 130); DWIN_Draw_Rectangle(0, Color_White, 145, 130, 254, 229); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 31, 447, 58, 460, 186, 201); else DWIN_Frame_AreaCopy(1, 33, 451, 82, 466, 175, 201); } else { DWIN_ICON_Show(ICON, ICON_Prepare_0, 145, 130); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 31, 405, 58, 420, 186, 201); else DWIN_Frame_AreaCopy(1, 33, 423, 82, 438, 175, 201); @@ -278,14 +279,14 @@ void ICON_Control() { if (select_page.now == 2) { DWIN_ICON_Show(ICON, ICON_Control_1, 17, 246); DWIN_Draw_Rectangle(0, Color_White, 17, 246, 126, 345); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 61, 447, 88, 460, 58, 318); else DWIN_Frame_AreaCopy(1, 85, 451, 132, 463, 48, 318); } else { DWIN_ICON_Show(ICON, ICON_Control_0, 17, 246); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 61, 405, 88, 420, 58, 318); else DWIN_Frame_AreaCopy(1, 85, 423, 132, 434, 48, 318); @@ -296,14 +297,14 @@ void ICON_StartInfo(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Info_1, 145, 246); DWIN_Draw_Rectangle(0, Color_White, 145, 246, 254, 345); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 91, 447, 118, 460, 186, 318); else DWIN_Frame_AreaCopy(1, 132, 451, 159, 466, 186, 318); } else { DWIN_ICON_Show(ICON, ICON_Info_0, 145, 246); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 91, 405, 118, 420, 186, 318); else DWIN_Frame_AreaCopy(1, 132, 423, 159, 435, 186, 318); @@ -314,14 +315,14 @@ void ICON_Leveling(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Leveling_1, 145, 246); DWIN_Draw_Rectangle(0, Color_White, 145, 246, 254, 345); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 211, 447, 238, 460, 186, 318); else DWIN_Frame_AreaCopy(1, 84, 437, 120, 449, 182, 318); } else { DWIN_ICON_Show(ICON, ICON_Leveling_0, 145, 246); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 211, 405, 238, 420, 186, 318); else DWIN_Frame_AreaCopy(1, 84, 465, 120, 478, 182, 318); @@ -332,14 +333,14 @@ void ICON_Tune() { if (select_print.now == 0) { DWIN_ICON_Show(ICON, ICON_Setup_1, 8, 252); DWIN_Draw_Rectangle(0, Color_White, 8, 252, 87, 351); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 121, 447, 148, 458, 34, 325); else DWIN_Frame_AreaCopy(1, 0, 466, 34, 476, 31, 325); } else { DWIN_ICON_Show(ICON, ICON_Setup_0, 8, 252); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 121, 405, 148, 420, 34, 325); else DWIN_Frame_AreaCopy(1, 0, 438, 32, 448, 31, 325); @@ -350,14 +351,14 @@ void ICON_Pause() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Pause_1, 96, 252); DWIN_Draw_Rectangle(0, Color_White, 96, 252, 175, 351); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 181, 447, 208, 459, 124, 325); else DWIN_Frame_AreaCopy(1, 177, 451, 216, 462, 116, 325); } else { DWIN_ICON_Show(ICON, ICON_Pause_0, 96, 252); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 181, 405, 208, 420, 124, 325); else DWIN_Frame_AreaCopy(1, 177, 423, 215, 433, 116, 325); @@ -368,14 +369,14 @@ void ICON_Continue() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Continue_1, 96, 252); DWIN_Draw_Rectangle(0, Color_White, 96, 252, 175, 351); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 1, 447, 28, 460, 124, 325); else DWIN_Frame_AreaCopy(1, 1, 452, 32, 464, 121, 325); } else { DWIN_ICON_Show(ICON, ICON_Continue_0, 96, 252); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 1, 405, 28, 420, 124, 325); else DWIN_Frame_AreaCopy(1, 1, 424, 31, 434, 121, 325); @@ -386,14 +387,14 @@ void ICON_Stop() { if (select_print.now == 2) { DWIN_ICON_Show(ICON, ICON_Stop_1, 184, 252); DWIN_Draw_Rectangle(0, Color_White, 184, 252, 263, 351); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 151, 447, 178, 459, 210, 325); else DWIN_Frame_AreaCopy(1, 218, 452, 249, 466, 209, 325); } else { DWIN_ICON_Show(ICON, ICON_Stop_0, 184, 252); - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 151, 405, 178, 420, 210, 325); else DWIN_Frame_AreaCopy(1, 218, 423, 247, 436, 209, 325); @@ -481,7 +482,7 @@ inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char // The "Back" label is always on the first line inline void Draw_Back_Label() { - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 129, 72, 156, 84, LBLX, MBASE(0)); else DWIN_Frame_AreaCopy(1, 226, 179, 256, 189, LBLX, MBASE(0)); @@ -563,7 +564,7 @@ inline void draw_move_en(const uint16_t line) { inline void DWIN_Frame_TitleCopy(uint8_t id, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { DWIN_Frame_AreaCopy(id, x1, y1, x2, y2, 14, 8); } inline void Item_Prepare_Move(const uint8_t row) { - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 159, 70, 200, 84, LBLX, MBASE(row)); else draw_move_en(MBASE(row)); // "Move >" @@ -572,7 +573,7 @@ inline void Item_Prepare_Move(const uint8_t row) { } inline void Item_Prepare_Disable(const uint8_t row) { - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 204, 70, 259, 82, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 103, 59, 200, 74, LBLX, MBASE(row)); // "Disable Stepper" @@ -580,7 +581,7 @@ inline void Item_Prepare_Disable(const uint8_t row) { } inline void Item_Prepare_Home(const uint8_t row) { - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 0, 89, 41, 101, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 202, 61, 271, 71, LBLX, MBASE(row)); // "Auto Home" @@ -590,7 +591,7 @@ inline void Item_Prepare_Home(const uint8_t row) { #if HAS_ZOFFSET_ITEM inline void Item_Prepare_Offset(const uint8_t row) { - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 174, 164, 223, 177, LBLX, MBASE(row)); DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 2, 2, 202, MBASE(row), BABY_Z_VAR * 100); @@ -613,7 +614,7 @@ inline void Item_Prepare_Home(const uint8_t row) { #if HAS_HOTEND inline void Item_Prepare_PLA(const uint8_t row) { - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 100, 89, 151, 101, LBLX, MBASE(row)); } else { @@ -624,7 +625,7 @@ inline void Item_Prepare_Home(const uint8_t row) { } inline void Item_Prepare_ABS(const uint8_t row) { - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 180, 89, 233, 100, LBLX, MBASE(row)); } else { @@ -637,7 +638,7 @@ inline void Item_Prepare_Home(const uint8_t row) { #if HAS_PREHEAT inline void Item_Prepare_Cool(const uint8_t row) { - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 1, 104, 56, 117, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 200, 76, 264, 86, LBLX, MBASE(row)); // "Cooldown" @@ -646,7 +647,7 @@ inline void Item_Prepare_Home(const uint8_t row) { #endif inline void Item_Prepare_Lang(const uint8_t row) { - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 239, 134, 266, 146, LBLX, MBASE(row)); DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, 226, MBASE(row), F("CN")); } @@ -664,7 +665,7 @@ inline void Draw_Prepare_Menu() { #define PSCROL(L) (scroll + (L)) #define PVISI(L) WITHIN(PSCROL(L), 0, MROWS) - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 133, 1, 160, 13); // "Prepare" } else { @@ -708,7 +709,7 @@ inline void Draw_Control_Menu() { if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 103, 1, 130, 14); // "Control" DWIN_Frame_AreaCopy(1, 57, 104, 84, 116, LBLX, CLINE(CONTROL_CASE_TEMP)); // Temperature > @@ -775,7 +776,7 @@ inline void Draw_Control_Menu() { inline void Draw_Tune_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 73, 2, 100, 13, 14, 9); DWIN_Frame_AreaCopy(1, 116, 164, 171, 176, LBLX, MBASE(TUNE_CASE_SPEED)); #if HAS_HOTEND @@ -881,7 +882,7 @@ inline void say_e(const uint16_t inset, const uint16_t line) { inline void Draw_Motion_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Motion" DWIN_Frame_AreaCopy(1, 173, 133, 228, 147, LBLX, MBASE(MOTION_CASE_RATE)); // Max speed DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(MOTION_CASE_ACCEL)); // Max... @@ -936,7 +937,7 @@ inline void Draw_Motion_Menu() { Draw_Popup_Bkgd_105(); if (toohigh) { DWIN_ICON_Show(ICON, ICON_TempTooHigh, 102, 165); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 103, 371, 237, 386, 52, 285); DWIN_Frame_AreaCopy(1, 151, 389, 185, 402, 187, 285); DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); @@ -948,7 +949,7 @@ inline void Draw_Motion_Menu() { } else { DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 165); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 103, 371, 270, 386, 52, 285); DWIN_Frame_AreaCopy(1, 189, 389, 271, 402, 95, 310); } @@ -971,7 +972,7 @@ inline void Draw_Popup_Bkgd_60() { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 105); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 103, 371, 136, 386, 69, 240); DWIN_Frame_AreaCopy(1, 170, 371, 270, 386, 102, 240); DWIN_ICON_Show(ICON, ICON_Confirm_C, 86, 280); @@ -987,7 +988,7 @@ inline void Draw_Popup_Bkgd_60() { void Popup_Window_Resume() { Clear_Popup_Area(); Draw_Popup_Bkgd_105(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 160, 338, 235, 354, 98, 135); DWIN_Frame_AreaCopy(1, 103, 321, 271, 335, 52, 192); DWIN_ICON_Show(ICON, ICON_Continue_C, 26, 307); @@ -1006,7 +1007,7 @@ void Popup_Window_Home(const bool parking/*=false*/) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_BLTouch, 101, 105); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 0, 371, 33, 386, 85, 240); DWIN_Frame_AreaCopy(1, 203, 286, 271, 302, 118, 240); DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); @@ -1023,7 +1024,7 @@ void Popup_Window_Home(const bool parking/*=false*/) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_AutoLeveling, 101, 105); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 0, 371, 100, 386, 84, 240); DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } @@ -1048,7 +1049,7 @@ void Draw_Select_Highlight(const bool sel) { void Popup_window_PauseOrStop() { Clear_Main_Window(); Draw_Popup_Bkgd_60(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { if (select_print.now == 1) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150); else if (select_print.now == 2) DWIN_Frame_AreaCopy(1, 221, 320, 253, 336, 98, 150); DWIN_Frame_AreaCopy(1, 220, 304, 264, 319, 130, 150); @@ -1065,7 +1066,7 @@ void Popup_window_PauseOrStop() { } void Draw_Printing_Screen() { - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 30, 1, 71, 14, 14, 9); // Tune DWIN_Frame_AreaCopy(1, 0, 72, 63, 86, 41, 188); // Pause DWIN_Frame_AreaCopy(1, 65, 72, 128, 86, 176, 188); // Stop @@ -1125,7 +1126,7 @@ void Goto_MainMenu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 2, 2, 27, 14, 14, 9); // "Home" } else { @@ -1864,7 +1865,7 @@ inline void Draw_Info_Menu() { DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(MACHINE_SIZE) * MENU_CHR_W) / 2, 122, (char*)MACHINE_SIZE); DWIN_Draw_String(false, false, font8x16, Color_White, Color_Bg_Black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 30, 17, 57, 29); // "Info" DWIN_Frame_AreaCopy(1, 197, 149, 252, 161, 108, 102); @@ -1895,7 +1896,7 @@ inline void Draw_Info_Menu() { inline void Draw_Print_File_Menu() { Clear_Title_Bar(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 0, 31, 55, 44); // "Print file" } else { @@ -2226,9 +2227,8 @@ void HMI_PauseOrStop() { dwin_abort_flag = true; #endif } - else { + else Goto_PrintProcess(); // cancel stop - } } } DWIN_UpdateLCD(); @@ -2237,7 +2237,7 @@ void HMI_PauseOrStop() { inline void Draw_Move_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 192, 1, 233, 14); // "Move" DWIN_Frame_AreaCopy(1, 58, 118, 106, 132, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 109, 118, 157, 132, LBLX, MBASE(2)); @@ -2409,7 +2409,7 @@ void HMI_Prepare() { void Draw_Temperature_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 236, 2, 263, 13); // "Temperature" #if HAS_HOTEND DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX, MBASE(TEMP_CASE_TEMP)); @@ -2508,7 +2508,7 @@ void HMI_Control() { Draw_More_Icon(CONTROL_CASE_MOVE + MROWS - index_control); // Motion > if (index_control > MROWS) { Draw_More_Icon(CONTROL_CASE_INFO + MROWS - index_control); // Info > - if (HMI_flag.language_chinese) + if (HMI_IsChinese()) DWIN_Frame_AreaCopy(1, 231, 104, 258, 116, LBLX, MBASE(CONTROL_CASE_INFO - 1)); else DWIN_Frame_AreaCopy(1, 0, 104, 24, 114, LBLX, MBASE(CONTROL_CASE_INFO - 1)); @@ -2718,7 +2718,7 @@ void HMI_Temperature() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 59, 16, 139, 29); // "PLA Settings" DWIN_Frame_AreaCopy(1, 100, 89, 124, 101, LBLX, MBASE(PREHEAT_CASE_TEMP)); DWIN_Frame_AreaCopy(1, 1, 134, 56, 146, LBLX + 24, MBASE(PREHEAT_CASE_TEMP)); // PLA nozzle temp @@ -2792,7 +2792,7 @@ void HMI_Temperature() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 142, 16, 223, 29); // "ABS Settings" DWIN_Frame_AreaCopy(1, 180, 89, 204, 100, LBLX, MBASE(PREHEAT_CASE_TEMP)); @@ -2872,7 +2872,7 @@ void HMI_Temperature() { inline void Draw_Max_Speed_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Max Speed (mm/s)" auto say_max_speed = [](const uint16_t row) { @@ -2934,7 +2934,7 @@ inline void Draw_Max_Speed_Menu() { inline void Draw_Max_Accel_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Acceleration" DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX, MBASE(1)); @@ -2985,7 +2985,7 @@ inline void Draw_Max_Accel_Menu() { inline void Draw_Max_Jerk_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk" DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1)); @@ -3055,7 +3055,7 @@ inline void Draw_Max_Jerk_Menu() { inline void Draw_Steps_Menu() { Clear_Main_Window(); - if (HMI_flag.language_chinese) { + if (HMI_IsChinese()) { DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Steps per mm" DWIN_Frame_AreaCopy(1, 153, 148, 194, 161, LBLX, MBASE(1)); @@ -3528,7 +3528,7 @@ void EachMomentUpdate() { // show print done confirm DWIN_Draw_Rectangle(1, Color_Bg_Black, 0, 250, DWIN_WIDTH - 1, STATUS_Y); - DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 283); + DWIN_ICON_Show(ICON, HMI_IsChinese() ? ICON_Confirm_C : ICON_Confirm_E, 86, 283); } else if (HMI_flag.pause_flag != printingIsPaused()) { // print status update diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.h b/Marlin/src/lcd/dwin/e3v2/dwin.h index 1b2cb273e3f8..5bff2e9f7890 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.h +++ b/Marlin/src/lcd/dwin/e3v2/dwin.h @@ -252,8 +252,11 @@ typedef struct { char show_mode = 0; // -1: Temperature control 0: Printing temperature } HMI_value_t; +#define DWIN_CHINESE 123 +#define DWIN_ENGLISH 0 + typedef struct { - bool language_chinese; // 0: EN, 1: CN + uint8_t language; bool pause_flag:1; bool pause_action:1; bool print_finish:1; @@ -271,10 +274,10 @@ typedef struct { AxisEnum feedspeed_axis; #endif AxisEnum acc_axis, jerk_axis, step_axis; -} HMI_Flag; +} HMI_Flag_t; extern HMI_value_t HMI_ValueStruct; -extern HMI_Flag HMI_flag; +extern HMI_Flag_t HMI_flag; // Show ICO void ICON_Print(bool show); From 05517e20961e313c323844fa6b2ada85412ddbec Mon Sep 17 00:00:00 2001 From: Pavel Melnikov Date: Mon, 28 Sep 2020 16:55:46 +0700 Subject: [PATCH 165/277] Change "Fr" on LCD to ">>" (#18830) --- .../lcd/dogm/fontdata/fontdata_ISO10646_1.h | 486 +++++++++--------- Marlin/src/lcd/dogm/fontdata/langdata_ru.h | 57 +- Marlin/src/lcd/dogm/fontdata/langdata_uk.h | 106 ++-- Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h | 29 ++ buildroot/share/fonts/marlin-6x12-3.bdf | 17 +- 5 files changed, 355 insertions(+), 340 deletions(-) diff --git a/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h b/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h index 451383045b01..276cae522ae7 100644 --- a/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h +++ b/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h @@ -25,97 +25,97 @@ Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1 Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 5 h=10 x= 5 y= 5 dx= 6 dy= 0 ascent= 8 len=10 + Calculated Max Values w= 7 h=10 x= 5 y= 5 dx= 7 dy= 0 ascent= 8 len=10 Font Bounding box w=12 h=15 x= 0 y=-2 Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 Pure Font ascent = 7 descent=-2 X Font ascent = 8 descent=-2 Max Font ascent = 8 descent=-2 */ -const u8g_fntpgm_uint8_t ISO10646_1_5x7[1325] U8G_FONT_SECTION("ISO10646_1_5x7") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0x7f,0xfe,0x08,0xfe,0x08, +const u8g_fntpgm_uint8_t ISO10646_1_5x7[1324] U8G_FONT_SECTION("ISO10646_1_5x7") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x25,0x03,0xbb,0x01,0x7f,0xfe,0x08,0xfe,0x08, 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x05,0x06,0x06,0x06,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, - 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, - 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, - 0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, - 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, - 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, - 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, - 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, - 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, - 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, - 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, - 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, - 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, - 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, - 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, - 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, - 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, - 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, - 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, - 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, - 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, - 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, - 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, - 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, - 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, - 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, - 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, - 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, - 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, - 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, - 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, - 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, - 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, - 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, - 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, - 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, - 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, - 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, - 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, - 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, - 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff}; + 0xb8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xd8,0x6c,0x36,0x6c,0xd8, + 0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05, + 0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70,0x03, + 0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00, + 0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, + 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00,0x00, + 0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0, + 0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20,0x40, + 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68,0x01, + 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40, + 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, + 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70,0x20, + 0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03, + 0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02, + 0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, + 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70, + 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0,0xc0, + 0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05,0x06, + 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8, + 0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, + 0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0, + 0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, + 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88, + 0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8, + 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, + 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8,0x50, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, + 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, + 0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88, + 0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xe0, + 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01,0xfe, + 0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80, + 0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05,0x05, + 0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, + 0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05,0x06, + 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xa8, + 0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, + 0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40,0x80, + 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40,0x40, + 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff}; #else // extended (original) font (symbols 1 - 255) @@ -123,179 +123,179 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[1325] U8G_FONT_SECTION("ISO10646_1_5x7") Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1 Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 Capital A Height: 7, '1' Height: 7 - Calculated Max Values w= 6 h=10 x= 5 y= 7 dx= 6 dy= 0 ascent=10 len=10 + Calculated Max Values w= 7 h=10 x= 5 y= 7 dx= 7 dy= 0 ascent=10 len=10 Font Bounding box w=12 h=15 x= 0 y=-2 Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 Pure Font ascent = 7 descent=-2 X Font ascent = 8 descent=-2 Max Font ascent =10 descent=-2 */ -const u8g_fntpgm_uint8_t ISO10646_1_5x7[2648] U8G_FONT_SECTION("ISO10646_1_5x7") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0xff,0xfe,0x0a,0xfe,0x08, +const u8g_fntpgm_uint8_t ISO10646_1_5x7[2647] U8G_FONT_SECTION("ISO10646_1_5x7") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x25,0x03,0xbb,0x01,0xff,0xfe,0x0a,0xfe,0x08, 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x05,0x06,0x06,0x06,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, - 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, - 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, - 0x03,0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, - 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, - 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, - 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, - 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, - 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, - 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, - 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, - 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, - 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, - 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, - 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, - 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, - 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, - 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, - 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, - 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, - 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, - 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, - 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, - 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, - 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, - 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, - 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, - 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, - 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, - 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, - 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, - 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, - 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, - 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, - 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, - 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, - 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, - 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, - 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, - 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, - 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff,0xff,0xff,0xff, + 0xb8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xd8,0x6c,0x36,0x6c,0xd8, + 0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05, + 0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70,0x03, + 0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00, + 0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, + 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00,0x00, + 0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0, + 0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20,0x40, + 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68,0x01, + 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40, + 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, + 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70,0x20, + 0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03, + 0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02, + 0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, + 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70, + 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0,0xc0, + 0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05,0x06, + 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8, + 0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, + 0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0, + 0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, + 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88, + 0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8, + 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, + 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8,0x50, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, + 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, + 0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88, + 0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xe0, + 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01,0xfe, + 0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80, + 0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05,0x05, + 0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, + 0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05,0x06, + 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xa8, + 0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, + 0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40,0x80, + 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40,0x40, + 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00, - 0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80, - 0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,0x07,0x07, - 0x06,0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05,0x06,0x00,0x00, - 0xa8,0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xf8,0x20,0xf8, - 0x20,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x04, - 0x08,0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0,0x03,0x01,0x01, - 0x06,0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4,0xb4,0x84, - 0x78,0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05,0x05,0x05,0x06, - 0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x08,0x08, - 0x03,0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4, - 0xa4,0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04,0x04,0x06,0x01, - 0x05,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, - 0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xa0,0x20,0x40,0xe0,0x03,0x05,0x05, - 0x06,0x01,0x04,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x08, - 0x08,0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06, - 0x02,0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03,0x05,0x05,0x06, - 0x01,0x04,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x40, - 0x00,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10,0x05,0x07,0x07, - 0x06,0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x40,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x10,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x20,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x68,0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00, - 0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, - 0x50,0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78, - 0xa0,0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x80, - 0x80,0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,0x48,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xff, - 0x08,0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, - 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, - 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, - 0x50,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06, + 0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x05, + 0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05,0x06,0x00,0x00,0xa8, + 0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xf8,0x20,0xf8,0x20, + 0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x04,0x08, + 0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0,0x03,0x01,0x01,0x06, + 0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4,0xb4,0x84,0x78, + 0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05,0x05,0x05,0x06,0x00, + 0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x08,0x08,0x03, + 0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4, + 0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04,0x04,0x06,0x01,0x05, + 0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x00, + 0xf8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xa0,0x20,0x40,0xe0,0x03,0x05,0x05,0x06, + 0x01,0x04,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40,0x80, + 0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x08,0x08, + 0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06,0x02, + 0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03,0x05,0x05,0x06,0x01, + 0x04,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x40,0x00, + 0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38,0x05,0x0a,0x0a,0x06, + 0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10,0x05,0x07,0x07,0x06, + 0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, + 0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, + 0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, + 0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x68, + 0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x50, + 0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50, + 0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0xa0, + 0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x80,0x80, + 0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80,0xf0, + 0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00,0xe0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0x40, + 0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,0x48,0x70,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x05, + 0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xff,0x08, + 0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20, 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20, - 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xe0, - 0x90,0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xa0,0x90, - 0x88,0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78, - 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08, - 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06, - 0x00,0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, - 0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20, - 0x70,0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xa0,0x78, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08, - 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00, - 0x00,0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20, - 0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70, - 0x88,0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40, - 0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0, - 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03,0x07, - 0x07,0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09,0x09,0x06,0x00, - 0x00,0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00, - 0x68,0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, - 0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70, - 0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88, - 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98, - 0xa8,0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88, - 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x70,0x05, - 0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe, - 0x10,0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xfe, - 0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x50, - 0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80}; + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50, + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00, + 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00, + 0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xe0,0x90, + 0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xa0,0x90,0x88, + 0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05, + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08, + 0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00, + 0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x50, + 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x70, + 0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xa0,0x78,0x05, + 0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08,0x06, + 0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00, + 0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50, + 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88, + 0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40,0x40, + 0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03, + 0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07, + 0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09,0x09,0x06,0x00,0x00, + 0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68, + 0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88, + 0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06, + 0x00,0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98,0xa8, + 0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88,0x70, + 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x08, + 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x10, + 0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x80, + 0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x50,0x00, + 0x88,0x88,0x88,0x50,0x20,0x40,0x80}; #endif diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_ru.h b/Marlin/src/lcd/dogm/fontdata/langdata_ru.h index cd0efda12f6d..87e3d422a578 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_ru.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_ru.h @@ -5,8 +5,8 @@ */ #include -const u8g_fntpgm_uint8_t fontpage_8_144_152[135] U8G_FONT_SECTION("fontpage_8_144_152") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x98,0x00,0x07,0xff,0x00, +const u8g_fntpgm_uint8_t fontpage_8_144_168[348] U8G_FONT_SECTION("fontpage_8_144_168") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0xa8,0x00,0x0a,0xfe,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, @@ -14,29 +14,27 @@ const u8g_fntpgm_uint8_t fontpage_8_144_152[135] U8G_FONT_SECTION("fontpage_8_14 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x70,0xa8,0xa8,0x05,0x07,0x07, 0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88}; -const u8g_fntpgm_uint8_t fontpage_8_154_168[214] U8G_FONT_SECTION("fontpage_8_154_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa8,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88, - 0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, - 0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, - 0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x09,0x09, - 0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x07,0x07,0x06, - 0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8, - 0xa8,0xa8,0xa8,0xa8,0xa8,0xf8}; + 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88,0x70,0x00, + 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, + 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, + 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80, + 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20, + 0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, + 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8, + 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x05, + 0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8}; const u8g_fntpgm_uint8_t fontpage_8_171_173[56] U8G_FONT_SECTION("fontpage_8_171_173") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xad,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x04,0x07, 0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x08,0x78,0x08,0x88,0x70}; -const u8g_fntpgm_uint8_t fontpage_8_175_201[334] U8G_FONT_SECTION("fontpage_8_175_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x08,0xfe,0x00, +const u8g_fntpgm_uint8_t fontpage_8_175_207[400] U8G_FONT_SECTION("fontpage_8_175_207") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xcf,0x00,0x08,0xfe,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x70, 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, @@ -56,23 +54,20 @@ const u8g_fntpgm_uint8_t fontpage_8_175_201[334] U8G_FONT_SECTION("fontpage_8_17 0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, 0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, - 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; -const u8g_fntpgm_uint8_t fontpage_8_203_207[72] U8G_FONT_SECTION("fontpage_8_203_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0xc8,0x04,0x05,0x05,0x06, - 0x01,0x00,0x80,0x80,0xe0,0x90,0xe0,0x04,0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70, - 0x10,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05, - 0x06,0x01,0x00,0x70,0x90,0x70,0x50,0x90}; + 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x88,0xc8,0xa8,0xc8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0xe0,0x04, + 0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70,0x10,0xe0,0x05,0x05,0x05,0x06,0x00,0x00, + 0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70,0x50,0x90 + }; const u8g_fntpgm_uint8_t fontpage_8_209_209[30] U8G_FONT_SECTION("fontpage_8_209_209") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf0,0x80,0x70}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { - FONTDATA_ITEM(8, 144, 152, fontpage_8_144_152), // 'А' -- 'И' - FONTDATA_ITEM(8, 154, 168, fontpage_8_154_168), // 'К' -- 'Ш' + FONTDATA_ITEM(8, 144, 168, fontpage_8_144_168), // 'А' -- 'Ш' FONTDATA_ITEM(8, 171, 173, fontpage_8_171_173), // 'Ы' -- 'Э' - FONTDATA_ITEM(8, 175, 201, fontpage_8_175_201), // 'Я' -- 'щ' - FONTDATA_ITEM(8, 203, 207, fontpage_8_203_207), // 'ы' -- 'я' + FONTDATA_ITEM(8, 175, 207, fontpage_8_175_207), // 'Я' -- 'я' FONTDATA_ITEM(8, 209, 209, fontpage_8_209_209), // 'ё' -- 'ё' }; diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_uk.h b/Marlin/src/lcd/dogm/fontdata/langdata_uk.h index 5d34d1b994ef..e3800eb6bb85 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_uk.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_uk.h @@ -8,60 +8,55 @@ const u8g_fntpgm_uint8_t fontpage_8_134_134[30] U8G_FONT_SECTION("fontpage_8_134_134") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x07,0x00,0x00, 0x00,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0}; -const u8g_fntpgm_uint8_t fontpage_8_144_146[56] U8G_FONT_SECTION("fontpage_8_144_146") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x92,0x00,0x07,0x00,0x00, +const u8g_fntpgm_uint8_t fontpage_8_144_169[363] U8G_FONT_SECTION("fontpage_8_144_169") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0xa9,0x00,0x0a,0xfe,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0}; -const u8g_fntpgm_uint8_t fontpage_8_148_149[44] U8G_FONT_SECTION("fontpage_8_148_149") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x95,0x00,0x07,0xff,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50,0x50,0xf8,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8}; -const u8g_fntpgm_uint8_t fontpage_8_151_154[72] U8G_FONT_SECTION("fontpage_8_151_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x9a,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00, - 0x00,0x88,0x70,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88}; -const u8g_fntpgm_uint8_t fontpage_8_156_164[134] U8G_FONT_SECTION("fontpage_8_156_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0xa4,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, + 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, + 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x70,0xa8,0xa8,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88,0x70,0x00, + 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, + 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05, 0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, 0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20, - 0x70,0xa8,0xa8,0xa8,0x70,0x20}; -const u8g_fntpgm_uint8_t fontpage_8_166_166[32] U8G_FONT_SECTION("fontpage_8_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08 - }; -const u8g_fntpgm_uint8_t fontpage_8_168_168[30] U8G_FONT_SECTION("fontpage_8_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8}; -const u8g_fntpgm_uint8_t fontpage_8_176_201[321] U8G_FONT_SECTION("fontpage_8_176_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xc9,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0, - 0x88,0xf0,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05, - 0x06,0x06,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70, - 0xa8,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00, - 0x88,0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90, - 0x05,0x05,0x05,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00, - 0x00,0x88,0xd8,0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88, - 0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88, - 0x88,0xf0,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05, - 0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe, - 0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70, - 0xa8,0xa8,0xa8,0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50, - 0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05, - 0x05,0x06,0x00,0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8, - 0xa8,0xa8,0xa8,0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08, - 0x08}; + 0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, + 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8, + 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x05, + 0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x09,0x09,0x06, + 0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; +const u8g_fntpgm_uint8_t fontpage_8_172_172[30] U8G_FONT_SECTION("fontpage_8_172_172") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x07,0x00,0x00, + 0x00,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0}; +const u8g_fntpgm_uint8_t fontpage_8_175_201[334] U8G_FONT_SECTION("fontpage_8_175_201") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x08,0xfe,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, + 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, + 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8, + 0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, + 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, + 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8,0xa8,0xa8, + 0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, + 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; const u8g_fntpgm_uint8_t fontpage_8_204_204[28] U8G_FONT_SECTION("fontpage_8_204_204") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x05,0x00,0x00, 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0xe0}; @@ -72,22 +67,19 @@ const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206 const u8g_fntpgm_uint8_t fontpage_8_212_212[28] U8G_FONT_SECTION("fontpage_8_212_212") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x05,0x00,0x00, 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x80,0xe0,0x80,0x70}; -const u8g_fntpgm_uint8_t fontpage_8_214_214[29] U8G_FONT_SECTION("fontpage_8_214_214") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x06,0x00,0x00, - 0x00,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0}; +const u8g_fntpgm_uint8_t fontpage_8_214_215[41] U8G_FONT_SECTION("fontpage_8_214_215") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd7,0x00,0x06,0x00,0x00, + 0x00,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06, + 0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0xe0}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(8, 134, 134, fontpage_8_134_134), // 'І' -- 'І' - FONTDATA_ITEM(8, 144, 146, fontpage_8_144_146), // 'А' -- 'В' - FONTDATA_ITEM(8, 148, 149, fontpage_8_148_149), // 'Д' -- 'Е' - FONTDATA_ITEM(8, 151, 154, fontpage_8_151_154), // 'З' -- 'К' - FONTDATA_ITEM(8, 156, 164, fontpage_8_156_164), // 'М' -- 'Ф' - FONTDATA_ITEM(8, 166, 166, fontpage_8_166_166), // 'Ц' -- 'Ц' - FONTDATA_ITEM(8, 168, 168, fontpage_8_168_168), // 'Ш' -- 'Ш' - FONTDATA_ITEM(8, 176, 201, fontpage_8_176_201), // 'а' -- 'щ' + FONTDATA_ITEM(8, 144, 169, fontpage_8_144_169), // 'А' -- 'Щ' + FONTDATA_ITEM(8, 172, 172, fontpage_8_172_172), // 'Ь' -- 'Ь' + FONTDATA_ITEM(8, 175, 201, fontpage_8_175_201), // 'Я' -- 'щ' FONTDATA_ITEM(8, 204, 204, fontpage_8_204_204), // 'ь' -- 'ь' FONTDATA_ITEM(8, 206, 207, fontpage_8_206_207), // 'ю' -- 'я' FONTDATA_ITEM(8, 212, 212, fontpage_8_212_212), // 'є' -- 'є' - FONTDATA_ITEM(8, 214, 214, fontpage_8_214_214), // 'і' -- 'і' + FONTDATA_ITEM(8, 214, 215, fontpage_8_214_215), // 'і' -- 'ї' }; diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h index de697cbef46d..af39ce5c4815 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h @@ -5,6 +5,9 @@ */ #include +const u8g_fntpgm_uint8_t fontpage_64_157_157[26] U8G_FONT_SECTION("fontpage_64_157_157") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x07,0x00,0x00, + 0x00,0x05,0x03,0x03,0x06,0x00,0x04,0xd8,0x48,0x90}; const u8g_fntpgm_uint8_t fontpage_69_191_191[28] U8G_FONT_SECTION("fontpage_69_191_191") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x05,0x00,0x00, 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xf8}; @@ -381,6 +384,10 @@ const u8g_fntpgm_uint8_t fontpage_172_232_232[45] U8G_FONT_SECTION("fontpage_172 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7b,0xc0,0x04, 0x80,0xff,0xe0,0x11,0x00,0xfb,0xe0,0x4a,0x40,0x4a,0x40,0x7b,0xc0}; +const u8g_fntpgm_uint8_t fontpage_172_244_244[45] U8G_FONT_SECTION("fontpage_172_244_244") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, + 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4, + 0x40,0xa7,0xc0,0xe4,0x40,0x07,0xc0,0x04,0x40,0x07,0xc0,0x0c,0x60}; const u8g_fntpgm_uint8_t fontpage_173_222_222[45] U8G_FONT_SECTION("fontpage_173_222_222") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x80,0x40,0x9e,0x40,0x92, @@ -941,6 +948,10 @@ const u8g_fntpgm_uint8_t fontpage_221_209_209[45] U8G_FONT_SECTION("fontpage_221 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x07,0x40,0x85,0x40,0x5f, 0xe0,0x34,0x60,0x27,0xc0,0xc4,0x40,0x47,0xc0,0x44,0x40,0x44,0xc0}; +const u8g_fntpgm_uint8_t fontpage_222_143_143[45] U8G_FONT_SECTION("fontpage_222_143_143") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, + 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x20,0x0f,0xe0,0x98,0x00,0x5f, + 0xe0,0x29,0x00,0x2f,0xe0,0xcd,0xa0,0x4b,0x60,0x5d,0xa0,0x49,0x60}; const u8g_fntpgm_uint8_t fontpage_223_192_192[45] U8G_FONT_SECTION("fontpage_223_192_192") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x3e,0x80,0x12,0xe0,0x9e,0xa0,0x53, @@ -1145,6 +1156,10 @@ const u8g_fntpgm_uint8_t fontpage_259_234_234[34] U8G_FONT_SECTION("fontpage_259 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, 0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,0xfe,0x82,0x82,0xfe,0x82,0xfe,0x82,0x82, 0xfe,0x82}; +const u8g_fntpgm_uint8_t fontpage_259_243_243[45] U8G_FONT_SECTION("fontpage_259_243_243") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, + 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x08,0x00,0x11,0x00,0x20,0x80,0x7f, + 0xc0,0x04,0x00,0x04,0x00,0x3f,0x80,0x04,0x00,0x04,0x00,0xff,0xe0}; const u8g_fntpgm_uint8_t fontpage_263_220_220[45] U8G_FONT_SECTION("fontpage_263_220_220") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x01,0xc0,0x7e, @@ -1257,6 +1272,10 @@ const u8g_fntpgm_uint8_t fontpage_287_185_185[45] U8G_FONT_SECTION("fontpage_287 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x2f,0xe0,0x01,0x20,0xe1, 0x20,0x21,0x20,0x22,0x20,0x24,0x20,0x28,0xc0,0x50,0x00,0x8f,0xe0}; +const u8g_fntpgm_uint8_t fontpage_287_193_193[45] U8G_FONT_SECTION("fontpage_287_193_193") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc1,0x00,0x0a,0xff,0x00, + 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x21,0x00,0x01,0x00,0xef, + 0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x50,0x00,0x8f,0xe0}; const u8g_fntpgm_uint8_t fontpage_287_208_209[73] U8G_FONT_SECTION("fontpage_287_208_209") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd1,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x20,0x00,0x20,0x00,0x0f,0xe0,0xe2, @@ -1355,6 +1374,10 @@ const u8g_fntpgm_uint8_t fontpage_300_205_205[45] U8G_FONT_SECTION("fontpage_300 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf2,0x00,0x93,0xe0,0xa6,0x40,0xc1,0x80,0xa6, 0x60,0x91,0x00,0x97,0xe0,0xd5,0x00,0xaf,0xe0,0x81,0x00,0x81,0x00}; +const u8g_fntpgm_uint8_t fontpage_300_208_208[45] U8G_FONT_SECTION("fontpage_300_208_208") = { + 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, + 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf7,0xc0,0x94,0x40,0xa7,0xc0,0xc4,0x40,0xa7, + 0xc0,0x95,0x00,0x95,0x20,0xd5,0x40,0xa4,0x80,0x85,0x40,0x86,0x20}; const u8g_fntpgm_uint8_t fontpage_300_228_228[45] U8G_FONT_SECTION("fontpage_300_228_228") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xcb,0xa0,0xa1, @@ -1445,6 +1468,7 @@ const u8g_fntpgm_uint8_t fontpage_510_154_154[30] U8G_FONT_SECTION("fontpage_510 #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { + FONTDATA_ITEM(64, 157, 157, fontpage_64_157_157), // '”' -- '”' FONTDATA_ITEM(69, 191, 191, fontpage_69_191_191), // '⊿' -- '⊿' FONTDATA_ITEM(156, 128, 128, fontpage_156_128_128), // '一' -- '一' FONTDATA_ITEM(156, 137, 139, fontpage_156_137_139), // '三' -- '下' @@ -1533,6 +1557,7 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(171, 183, 183, fontpage_171_183_183), // '喷' -- '喷' FONTDATA_ITEM(172, 180, 180, fontpage_172_180_180), // '嘴' -- '嘴' FONTDATA_ITEM(172, 232, 232, fontpage_172_232_232), // '器' -- '器' + FONTDATA_ITEM(172, 244, 244, fontpage_172_244_244), // '噴' -- '噴' FONTDATA_ITEM(173, 222, 222, fontpage_173_222_222), // '回' -- '回' FONTDATA_ITEM(173, 224, 224, fontpage_173_224_224), // '因' -- '因' FONTDATA_ITEM(173, 250, 250, fontpage_173_250_250), // '固' -- '固' @@ -1671,6 +1696,7 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(221, 144, 144, fontpage_221_144_144), // '源' -- '源' FONTDATA_ITEM(221, 162, 162, fontpage_221_162_162), // '溢' -- '溢' FONTDATA_ITEM(221, 209, 209, fontpage_221_209_209), // '滑' -- '滑' + FONTDATA_ITEM(222, 143, 143, fontpage_222_143_143), // '漏' -- '漏' FONTDATA_ITEM(223, 192, 192, fontpage_223_192_192), // '激' -- '激' FONTDATA_ITEM(224, 239, 239, fontpage_224_239_239), // '灯' -- '灯' FONTDATA_ITEM(225, 185, 185, fontpage_225_185_185), // '点' -- '点' @@ -1722,6 +1748,7 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(256, 234, 234, fontpage_256_234_234), // '聪' -- '聪' FONTDATA_ITEM(257, 253, 253, fontpage_257_253_253), // '能' -- '能' FONTDATA_ITEM(259, 234, 234, fontpage_259_234_234), // '自' -- '自' + FONTDATA_ITEM(259, 243, 243, fontpage_259_243_243), // '至' -- '至' FONTDATA_ITEM(263, 220, 220, fontpage_263_220_220), // '菜' -- '菜' FONTDATA_ITEM(265, 221, 221, fontpage_265_221_221), // '蓝' -- '蓝' FONTDATA_ITEM(269, 199, 199, fontpage_269_199_199), // '蛇' -- '蛇' @@ -1750,6 +1777,7 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(287, 145, 145, fontpage_287_145_145), // '辑' -- '辑' FONTDATA_ITEM(287, 147, 147, fontpage_287_147_147), // '输' -- '输' FONTDATA_ITEM(287, 185, 185, fontpage_287_185_185), // '边' -- '边' + FONTDATA_ITEM(287, 193, 193, fontpage_287_193_193), // '迁' -- '迁' FONTDATA_ITEM(287, 208, 209, fontpage_287_208_209), // '运' -- '近' FONTDATA_ITEM(287, 212, 212, fontpage_287_212_212), // '返' -- '返' FONTDATA_ITEM(287, 216, 216, fontpage_287_216_216), // '还' -- '还' @@ -1774,6 +1802,7 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(299, 244, 244, fontpage_299_244_244), // '间' -- '间' FONTDATA_ITEM(300, 136, 136, fontpage_300_136_136), // '阈' -- '阈' FONTDATA_ITEM(300, 205, 205, fontpage_300_205_205), // '降' -- '降' + FONTDATA_ITEM(300, 208, 208, fontpage_300_208_208), // '限' -- '限' FONTDATA_ITEM(300, 228, 228, fontpage_300_228_228), // '除' -- '除' FONTDATA_ITEM(300, 233, 233, fontpage_300_233_233), // '险' -- '险' FONTDATA_ITEM(301, 246, 246, fontpage_301_246_246), // '零' -- '零' diff --git a/buildroot/share/fonts/marlin-6x12-3.bdf b/buildroot/share/fonts/marlin-6x12-3.bdf index ef90656eba1b..bc7a8827c037 100644 --- a/buildroot/share/fonts/marlin-6x12-3.bdf +++ b/buildroot/share/fonts/marlin-6x12-3.bdf @@ -106,16 +106,15 @@ B8 ENDCHAR STARTCHAR uni0006 ENCODING 6 -SWIDTH 545 0 -DWIDTH 6 0 -BBX 5 6 0 1 +SWIDTH 504 0 +DWIDTH 7 0 +BBX 8 5 0 1 BITMAP -E0 -8C -EA -8C -8A -0A +D8 +6C +36 +6C +D8 ENDCHAR STARTCHAR uni0007 ENCODING 7 From 4424645e04c9e75462d36de8f7a82e67cc9c262e Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Mon, 28 Sep 2020 21:53:50 +0200 Subject: [PATCH 166/277] Multi-line comments cleanup (#19535) --- Marlin/Configuration.h | 5 ----- Marlin/Configuration_adv.h | 3 --- Marlin/src/HAL/AVR/HAL.h | 1 + Marlin/src/HAL/AVR/Servo.cpp | 1 - Marlin/src/HAL/AVR/timers.h | 1 + Marlin/src/HAL/DUE/HAL_SPI.cpp | 1 - Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp | 1 - Marlin/src/HAL/DUE/eeprom_flash.cpp | 1 - Marlin/src/HAL/DUE/pinsDebug.h | 1 - Marlin/src/HAL/ESP32/HAL.h | 1 + Marlin/src/HAL/ESP32/ota.h | 1 + Marlin/src/HAL/LINUX/include/serial.h | 1 - Marlin/src/HAL/LINUX/servo_private.h | 1 - Marlin/src/HAL/LPC1768/Servo.h | 1 - Marlin/src/HAL/LPC1768/timers.h | 1 - Marlin/src/HAL/SAMD51/QSPIFlash.h | 1 - Marlin/src/HAL/SAMD51/pinsDebug.h | 1 - Marlin/src/HAL/STM32F1/onboard_sd.cpp | 1 - Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp | 2 -- Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.h | 1 - Marlin/src/HAL/TEENSY35_36/timers.h | 1 + Marlin/src/HAL/TEENSY40_41/timers.h | 1 + Marlin/src/HAL/shared/servo.cpp | 1 - Marlin/src/HAL/shared/servo.h | 1 - Marlin/src/core/language.h | 1 - Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp | 2 -- Marlin/src/feature/encoder_i2c.cpp | 4 ---- Marlin/src/feature/mmu2/mmu2.cpp | 4 ---- Marlin/src/feature/twibus.h | 1 - Marlin/src/gcode/bedlevel/abl/G29.cpp | 1 - Marlin/src/gcode/bedlevel/mbl/G29.cpp | 1 - Marlin/src/gcode/calibrate/G28.cpp | 1 - Marlin/src/gcode/control/M999.cpp | 1 - Marlin/src/gcode/feature/L6470/M906.cpp | 2 -- Marlin/src/gcode/feature/L6470/M916-918.cpp | 6 ------ Marlin/src/gcode/feature/i2c/M260_M261.cpp | 1 - Marlin/src/gcode/feature/pause/M603.cpp | 1 - Marlin/src/gcode/gcode.h | 1 - Marlin/src/gcode/sd/M32.cpp | 1 - Marlin/src/inc/Conditionals_LCD.h | 1 - Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp | 1 - Marlin/src/lcd/dogm/status_screen_lite_ST7920.h | 1 - .../lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp | 1 - Marlin/src/lcd/dwin/e3v2/dwin.cpp | 1 - .../lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp | 1 - .../lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h | 1 - .../ftdi_eve_touch_ui/ftdi_eve_lib/extended/event_loop.cpp | 1 - .../lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h | 1 - Marlin/src/lcd/extui/ui_api.h | 1 - Marlin/src/lcd/language/language_an.h | 1 - Marlin/src/lcd/language/language_bg.h | 1 - Marlin/src/lcd/language/language_ca.h | 1 - Marlin/src/lcd/language/language_cz.h | 1 - Marlin/src/lcd/language/language_da.h | 1 - Marlin/src/lcd/language/language_de.h | 1 - Marlin/src/lcd/language/language_el.h | 1 - Marlin/src/lcd/language/language_el_gr.h | 1 - Marlin/src/lcd/language/language_en.h | 1 - Marlin/src/lcd/language/language_es.h | 1 - Marlin/src/lcd/language/language_eu.h | 1 - Marlin/src/lcd/language/language_fi.h | 1 - Marlin/src/lcd/language/language_fr.h | 1 - Marlin/src/lcd/language/language_gl.h | 1 - Marlin/src/lcd/language/language_hr.h | 1 - Marlin/src/lcd/language/language_hu.h | 1 - Marlin/src/lcd/language/language_it.h | 1 - Marlin/src/lcd/language/language_jp_kana.h | 1 - Marlin/src/lcd/language/language_ko_KR.h | 1 - Marlin/src/lcd/language/language_nl.h | 1 - Marlin/src/lcd/language/language_pl.h | 1 - Marlin/src/lcd/language/language_pt.h | 1 - Marlin/src/lcd/language/language_pt_br.h | 1 - Marlin/src/lcd/language/language_ru.h | 1 - Marlin/src/lcd/language/language_sk.h | 1 - Marlin/src/lcd/language/language_test.h | 1 - Marlin/src/lcd/language/language_tr.h | 1 - Marlin/src/lcd/language/language_uk.h | 1 - Marlin/src/lcd/language/language_vi.h | 1 - Marlin/src/lcd/language/language_zh_CN.h | 1 - Marlin/src/lcd/language/language_zh_TW.h | 1 - Marlin/src/lcd/menu/menu_filament.cpp | 2 -- Marlin/src/libs/least_squares_fit.cpp | 1 - Marlin/src/libs/least_squares_fit.h | 1 - Marlin/src/module/planner.cpp | 2 -- Marlin/src/module/planner_bezier.cpp | 1 - Marlin/src/module/planner_bezier.h | 1 - Marlin/src/module/probe.cpp | 1 - Marlin/src/module/settings.cpp | 1 - Marlin/src/module/thermistor/thermistor_30.h | 6 +++--- Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h | 1 - Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h | 1 - Marlin/src/pins/lpc1768/pins_MKS_SBASE.h | 2 -- Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h | 1 - Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h | 2 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN.h | 1 - Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h | 1 - Marlin/src/pins/mega/pins_INTAMSYS40.h | 1 - Marlin/src/pins/mega/pins_MINITRONICS.h | 1 - Marlin/src/pins/pinsDebug.h | 1 - Marlin/src/pins/ramps/pins_RAMPS_13.h | 1 - Marlin/src/pins/ramps/pins_RAMPS_PLUS.h | 1 - Marlin/src/pins/sam/pins_ADSK.h | 1 - Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h | 1 - Marlin/src/pins/sanguino/pins_ANET_10.h | 3 --- Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h | 2 -- Marlin/src/pins/sanguino/pins_GEN3_PLUS.h | 2 -- Marlin/src/pins/sanguino/pins_GEN6.h | 2 -- Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h | 2 -- Marlin/src/pins/sanguino/pins_GEN7_12.h | 2 -- Marlin/src/pins/sanguino/pins_GEN7_13.h | 2 -- Marlin/src/pins/sanguino/pins_GEN7_14.h | 2 -- Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h | 2 -- Marlin/src/pins/sanguino/pins_OMCA.h | 2 -- Marlin/src/pins/sanguino/pins_OMCA_A.h | 3 --- Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h | 2 -- Marlin/src/pins/sanguino/pins_SETHI.h | 1 - Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h | 1 - Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h | 2 -- Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h | 2 +- Marlin/src/pins/stm32f4/pins_RUMBA32_common.h | 1 - Marlin/src/pins/teensy2/pins_TEENSYLU.h | 1 - Marlin/src/sd/SdBaseFile.cpp | 2 -- Marlin/src/sd/SdFatStructs.h | 2 -- Marlin/src/sd/SdFile.cpp | 1 - Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp | 1 - Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp | 2 -- .../UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h | 5 ----- .../sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h | 2 -- .../src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h | 3 --- .../src/sd/usb_flashdrive/lib-uhs3/UHS_host/macro_logic.h | 1 - Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h | 2 -- 131 files changed, 11 insertions(+), 176 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 7fb3482afeb9..dec1a81bee7e 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -34,7 +34,6 @@ * - Extra features * * Advanced settings can be found in Configuration_adv.h - * */ #define CONFIGURATION_H_VERSION 020007 @@ -855,7 +854,6 @@ * - For simple switches connect... * - normally-closed switches to GND and D32. * - normally-open switches to 5V and D32. - * */ //#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default @@ -1567,7 +1565,6 @@ * * Caveats: The ending Z should be the same as starting Z. * Attention: EXPERIMENTAL. G-code arguments may change. - * */ //#define NOZZLE_CLEAN_FEATURE @@ -1720,7 +1717,6 @@ * * SD Card support is disabled by default. If your controller has an SD slot, * you must uncomment the following option or it won't work. - * */ //#define SDSUPPORT @@ -2343,7 +2339,6 @@ * *** CAUTION *** * * LED Type. Enable only one of the following two options. - * */ //#define RGB_LED //#define RGBW_LED diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 7d2d78e9dd4d..a7b6245c2b33 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -29,7 +29,6 @@ * Some of these settings can damage your printer if improperly set! * * Basic settings can be found in Configuration.h - * */ #define CONFIGURATION_ADV_H_VERSION 020007 @@ -738,7 +737,6 @@ * | 4 3 | 1 4 | 2 1 | 3 2 | * | | | | | * | 1 2 | 2 3 | 3 4 | 4 1 | - * */ #ifndef Z_STEPPER_ALIGN_XY //#define Z_STEPPERS_ORIENTATION 0 @@ -1954,7 +1952,6 @@ * Be sure to turn off auto-retract during filament change. * * Note that M207 / M208 / M209 settings are saved to EEPROM. - * */ //#define FWRETRACT #if ENABLED(FWRETRACT) diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index 41f1acd32f68..b606d0c231b4 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/AVR/Servo.cpp b/Marlin/src/HAL/AVR/Servo.cpp index 66ed993c6f18..526352b77339 100644 --- a/Marlin/src/HAL/AVR/Servo.cpp +++ b/Marlin/src/HAL/AVR/Servo.cpp @@ -48,7 +48,6 @@ * readMicroseconds() - Get the last-written servo pulse width in microseconds. * attached() - Return true if a servo is attached. * detach() - Stop an attached servo from pulsing its i/o pin. - * */ #ifdef __AVR__ diff --git a/Marlin/src/HAL/AVR/timers.h b/Marlin/src/HAL/AVR/timers.h index 6c40d3220924..82eb8b14b161 100644 --- a/Marlin/src/HAL/AVR/timers.h +++ b/Marlin/src/HAL/AVR/timers.h @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/DUE/HAL_SPI.cpp b/Marlin/src/HAL/DUE/HAL_SPI.cpp index 97d69f0d726b..54ae8eceb10c 100644 --- a/Marlin/src/HAL/DUE/HAL_SPI.cpp +++ b/Marlin/src/HAL/DUE/HAL_SPI.cpp @@ -759,7 +759,6 @@ * * All of the above can be avoided by defining FORCE_SOFT_SPI to force the * display to use software SPI. - * */ void spiInit(uint8_t spiRate=6) { // Default to slowest rate if not specified) diff --git a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp index 3e7f6199973d..be4b49c0f992 100644 --- a/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp +++ b/Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp @@ -52,7 +52,6 @@ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #ifdef __SAM3X8E__ diff --git a/Marlin/src/HAL/DUE/eeprom_flash.cpp b/Marlin/src/HAL/DUE/eeprom_flash.cpp index d98f06039f51..67f1f9e40f46 100644 --- a/Marlin/src/HAL/DUE/eeprom_flash.cpp +++ b/Marlin/src/HAL/DUE/eeprom_flash.cpp @@ -53,7 +53,6 @@ * per page. We can't emulate EE endurance with FLASH for all * bytes, but we can emulate endurance for a given percent of * bytes. - * */ //#define EE_EMU_DEBUG diff --git a/Marlin/src/HAL/DUE/pinsDebug.h b/Marlin/src/HAL/DUE/pinsDebug.h index 28687ff267c4..a99ca8ecce90 100644 --- a/Marlin/src/HAL/DUE/pinsDebug.h +++ b/Marlin/src/HAL/DUE/pinsDebug.h @@ -179,5 +179,4 @@ void pwm_details(int32_t pin) { * ----------------+-------- * ID | PB11 * VBOF | PB10 - * */ diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index 5eb84fdc3021..f6fa46dd93a7 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/ESP32/ota.h b/Marlin/src/HAL/ESP32/ota.h index 7f9b237aa6e1..546ace82dbb8 100644 --- a/Marlin/src/HAL/ESP32/ota.h +++ b/Marlin/src/HAL/ESP32/ota.h @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/LINUX/include/serial.h b/Marlin/src/HAL/LINUX/include/serial.h index 94e0c758ee12..e91624938978 100644 --- a/Marlin/src/HAL/LINUX/include/serial.h +++ b/Marlin/src/HAL/LINUX/include/serial.h @@ -33,7 +33,6 @@ * Generic RingBuffer * T type of the buffer array * S size of the buffer (must be power of 2) - * */ template class RingBuffer { public: diff --git a/Marlin/src/HAL/LINUX/servo_private.h b/Marlin/src/HAL/LINUX/servo_private.h index 122cfef3ea21..bcc8d2037f90 100644 --- a/Marlin/src/HAL/LINUX/servo_private.h +++ b/Marlin/src/HAL/LINUX/servo_private.h @@ -45,7 +45,6 @@ * Version 2 Copyright (c) 2009 Michael Margolis. All right reserved. * * The only modification was to update/delete macros to match the LPC176x. - * */ #include diff --git a/Marlin/src/HAL/LPC1768/Servo.h b/Marlin/src/HAL/LPC1768/Servo.h index e953cb920475..eb12fd20f4d8 100644 --- a/Marlin/src/HAL/LPC1768/Servo.h +++ b/Marlin/src/HAL/LPC1768/Servo.h @@ -46,7 +46,6 @@ * Version 2 Copyright (c) 2009 Michael Margolis. All right reserved. * * The only modification was to update/delete macros to match the LPC176x. - * */ #include diff --git a/Marlin/src/HAL/LPC1768/timers.h b/Marlin/src/HAL/LPC1768/timers.h index 23dc20e2eb4e..e6744fb005bf 100644 --- a/Marlin/src/HAL/LPC1768/timers.h +++ b/Marlin/src/HAL/LPC1768/timers.h @@ -21,7 +21,6 @@ #pragma once /** - * * HAL For LPC1768 */ diff --git a/Marlin/src/HAL/SAMD51/QSPIFlash.h b/Marlin/src/HAL/SAMD51/QSPIFlash.h index b6f22769ff60..db4abec91caf 100644 --- a/Marlin/src/HAL/SAMD51/QSPIFlash.h +++ b/Marlin/src/HAL/SAMD51/QSPIFlash.h @@ -24,7 +24,6 @@ * THE SOFTWARE. * * Derived from Adafruit_SPIFlash class with no SdFat references - * */ #pragma once diff --git a/Marlin/src/HAL/SAMD51/pinsDebug.h b/Marlin/src/HAL/SAMD51/pinsDebug.h index c28937d6c6d6..81376db79add 100644 --- a/Marlin/src/HAL/SAMD51/pinsDebug.h +++ b/Marlin/src/HAL/SAMD51/pinsDebug.h @@ -150,5 +150,4 @@ void pwm_details(int32_t pin) { * 93 | PA10 | QSPI: IO2 * 94 | PA11 | QSPI: IO3 * 95 | PB31 | SD: DETECT - * */ diff --git a/Marlin/src/HAL/STM32F1/onboard_sd.cpp b/Marlin/src/HAL/STM32F1/onboard_sd.cpp index 0440db9438a4..da25271734ba 100644 --- a/Marlin/src/HAL/STM32F1/onboard_sd.cpp +++ b/Marlin/src/HAL/STM32F1/onboard_sd.cpp @@ -9,7 +9,6 @@ * No restriction on use. You can use, modify and redistribute it for * personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY. * Redistributions of source code must retain the above copyright notice. - * */ #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp index 4d116f440b8e..df3d40f159a7 100644 --- a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp +++ b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp @@ -22,7 +22,6 @@ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. - * */ #if defined(STM32GENERIC) && defined(STM32F7) @@ -662,7 +661,6 @@ boolean TMC26XStepper::isEnabled() { return !!(chopper_config_register & T_OFF_P /** * reads a value from the TMC26X status register. The value is not obtained directly but can then * be read by the various status routines. - * */ void TMC26XStepper::readStatus(char read_value) { uint32_t old_driver_configuration_register_value = driver_configuration_register_value; diff --git a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.h b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.h index f1d0133a3b14..208c3bc7e062 100644 --- a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.h +++ b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.h @@ -22,7 +22,6 @@ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. - * */ #pragma once diff --git a/Marlin/src/HAL/TEENSY35_36/timers.h b/Marlin/src/HAL/TEENSY35_36/timers.h index 68060d0e1c06..ad6629f40df6 100644 --- a/Marlin/src/HAL/TEENSY35_36/timers.h +++ b/Marlin/src/HAL/TEENSY35_36/timers.h @@ -16,6 +16,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/TEENSY40_41/timers.h b/Marlin/src/HAL/TEENSY40_41/timers.h index 9c4bf8c274cc..81891c366be6 100644 --- a/Marlin/src/HAL/TEENSY40_41/timers.h +++ b/Marlin/src/HAL/TEENSY40_41/timers.h @@ -16,6 +16,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #pragma once diff --git a/Marlin/src/HAL/shared/servo.cpp b/Marlin/src/HAL/shared/servo.cpp index d69cf2fe2c8f..cfec6f301737 100644 --- a/Marlin/src/HAL/shared/servo.cpp +++ b/Marlin/src/HAL/shared/servo.cpp @@ -48,7 +48,6 @@ * readMicroseconds() - Get the last-written servo pulse width in microseconds. * attached() - Return true if a servo is attached. * detach() - Stop an attached servo from pulsing its i/o pin. - * */ #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/HAL/shared/servo.h b/Marlin/src/HAL/shared/servo.h index ccaf1f0255df..6d850da851d2 100644 --- a/Marlin/src/HAL/shared/servo.h +++ b/Marlin/src/HAL/shared/servo.h @@ -41,7 +41,6 @@ */ /** - * * A servo is activated by creating an instance of the Servo class passing the desired pin to the attach() method. * The servos are pulsed in the background using the value most recently written using the write() method * diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index ed97e52f891d..a644ab2fc8be 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -348,7 +348,6 @@ * However, internal to Marlin E0/T0 is the first tool, and * most board silkscreens say "E0." Zero-based labels will * make these indexes consistent but this defies expectation. - * */ #if ENABLED(NUMBER_TOOLS_FROM_0) #define LCD_FIRST_TOOL 0 diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp index 63559e0bb88e..010b5951be5f 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp @@ -236,9 +236,7 @@ } /** - * * Generic case of a line crossing both X and Y Mesh lines. - * */ xy_int8_t cnt = (istart - iend).ABS(); diff --git a/Marlin/src/feature/encoder_i2c.cpp b/Marlin/src/feature/encoder_i2c.cpp index f67d50a6e038..8a3e959e0702 100644 --- a/Marlin/src/feature/encoder_i2c.cpp +++ b/Marlin/src/feature/encoder_i2c.cpp @@ -816,7 +816,6 @@ int8_t I2CPositionEncodersMgr::parse() { * Y Report on Y axis encoder, if present. * Z Report on Z axis encoder, if present. * E Report on E axis encoder, if present. - * */ void I2CPositionEncodersMgr::M860() { if (parse()) return; @@ -846,7 +845,6 @@ void I2CPositionEncodersMgr::M860() { * Y Report on Y axis encoder, if present. * Z Report on Z axis encoder, if present. * E Report on E axis encoder, if present. - * */ void I2CPositionEncodersMgr::M861() { if (parse()) return; @@ -875,7 +873,6 @@ void I2CPositionEncodersMgr::M861() { * Y Report on Y axis encoder, if present. * Z Report on Z axis encoder, if present. * E Report on E axis encoder, if present. - * */ void I2CPositionEncodersMgr::M862() { if (parse()) return; @@ -905,7 +902,6 @@ void I2CPositionEncodersMgr::M862() { * Y Report on Y axis encoder, if present. * Z Report on Z axis encoder, if present. * E Report on E axis encoder, if present. - * */ void I2CPositionEncodersMgr::M863() { if (parse()) return; diff --git a/Marlin/src/feature/mmu2/mmu2.cpp b/Marlin/src/feature/mmu2/mmu2.cpp index 31fa529d56b1..37a2404c332b 100644 --- a/Marlin/src/feature/mmu2/mmu2.cpp +++ b/Marlin/src/feature/mmu2/mmu2.cpp @@ -710,13 +710,11 @@ void MMU2::tool_change(const uint8_t index) { } /** - * * Handle special T?/Tx/Tc commands * * T? Gcode to extrude shouldn't have to follow, load to extruder wheels is done automatically * Tx Same as T?, except nozzle doesn't have to be preheated. Tc must be placed after extruder nozzle is preheated to finish filament load. * Tc Load to nozzle after filament was prepared by Tx and extruder nozzle is already heated. - * */ void MMU2::tool_change(const char* special) { if (!enabled) return; @@ -922,9 +920,7 @@ void MMU2::filament_runout() { } /** - * * Switch material and load to nozzle - * */ bool MMU2::load_filament_to_nozzle(const uint8_t index) { diff --git a/Marlin/src/feature/twibus.h b/Marlin/src/feature/twibus.h index 8bc8eb4e74d7..82aa9aa16a2a 100644 --- a/Marlin/src/feature/twibus.h +++ b/Marlin/src/feature/twibus.h @@ -48,7 +48,6 @@ typedef void (*twiRequestFunc_t)(); * For more information see * - https://marlinfw.org/docs/gcode/M260.html * - https://marlinfw.org/docs/gcode/M261.html - * */ class TWIBus { private: diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index 9bb1ebe23819..e9b6e0e3a6db 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -160,7 +160,6 @@ * E By default G29 will engage the Z probe, test the bed, then disengage. * Include "E" to engage/disengage the Z probe for each sample. * There's no extra effect if you have a fixed Z probe. - * */ G29_TYPE GcodeSuite::G29() { diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp index 68ac459ebb43..5da99386adc5 100644 --- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp @@ -57,7 +57,6 @@ inline void echo_not_entered(const char c) { SERIAL_CHAR(c); SERIAL_ECHOLNPGM(" * S3 In Jn Zn.nn Manually modify a single point * S4 Zn.nn Set z offset. Positive away from bed, negative closer to bed. * S5 Reset and disable mesh - * */ void GcodeSuite::G29() { diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index be222a7b1724..7bc40b2127c4 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -192,7 +192,6 @@ * X Home to the X endstop * Y Home to the Y endstop * Z Home to the Z endstop - * */ void GcodeSuite::G28() { DEBUG_SECTION(log_G28, "G28", DEBUGGING(LEVELING)); diff --git a/Marlin/src/gcode/control/M999.cpp b/Marlin/src/gcode/control/M999.cpp index 53d74322a39a..3bd908cad640 100644 --- a/Marlin/src/gcode/control/M999.cpp +++ b/Marlin/src/gcode/control/M999.cpp @@ -34,7 +34,6 @@ * * Sending "M999 S1" will resume printing without flushing the * existing command buffer. - * */ void GcodeSuite::M999() { marlin_state = MF_RUNNING; diff --git a/Marlin/src/gcode/feature/L6470/M906.cpp b/Marlin/src/gcode/feature/L6470/M906.cpp index cd7fc3dcb5d1..7bd446a1ab77 100644 --- a/Marlin/src/gcode/feature/L6470/M906.cpp +++ b/Marlin/src/gcode/feature/L6470/M906.cpp @@ -33,7 +33,6 @@ #include "../../../core/debug_out.h" /** - * * M906: report or set KVAL_HOLD which sets the maximum effective voltage provided by the * PWMs to the steppers * @@ -56,7 +55,6 @@ * * L6470 is used in the STEP-CLOCK mode. KVAL_HOLD is the only KVAL_xxx * that affects the effective voltage seen by the stepper. - * */ /** diff --git a/Marlin/src/gcode/feature/L6470/M916-918.cpp b/Marlin/src/gcode/feature/L6470/M916-918.cpp index 29efc06dd9c7..8165b71e4490 100644 --- a/Marlin/src/gcode/feature/L6470/M916-918.cpp +++ b/Marlin/src/gcode/feature/L6470/M916-918.cpp @@ -37,7 +37,6 @@ #include "../../../core/debug_out.h" /** - * * M916: increase KVAL_HOLD until get thermal warning * NOTE - on L6474 it is TVAL that is used * @@ -62,7 +61,6 @@ * * D - time (in seconds) to run each setting of KVAL_HOLD/TVAL * optional - defaults to zero (runs each setting once) - * */ /** @@ -187,7 +185,6 @@ void GcodeSuite::M916() { } /** - * * M917: Find minimum current thresholds * * Decrease OCD current until overcurrent error @@ -214,7 +211,6 @@ void GcodeSuite::M916() { * * K - value for KVAL_HOLD (0 - 255) (ignored for L6474) * optional - will report current value from driver if not specified - * */ void GcodeSuite::M917() { @@ -522,7 +518,6 @@ void GcodeSuite::M917() { } /** - * * M918: increase speed until error or max feedrate achieved (as shown in configuration.h)) * * J - select which driver(s) to monitor on multi-driver axis @@ -543,7 +538,6 @@ void GcodeSuite::M917() { * * M - value for microsteps (1 - 128) (optional) * optional - will report current value from driver if not specified - * */ void GcodeSuite::M918() { diff --git a/Marlin/src/gcode/feature/i2c/M260_M261.cpp b/Marlin/src/gcode/feature/i2c/M260_M261.cpp index 13c2cd1d10ed..526d9101e1c7 100644 --- a/Marlin/src/gcode/feature/i2c/M260_M261.cpp +++ b/Marlin/src/gcode/feature/i2c/M260_M261.cpp @@ -42,7 +42,6 @@ * * M260 S1 ; Send the buffered data and reset the buffer * M260 R1 ; Reset the buffer without sending data - * */ void GcodeSuite::M260() { // Set the target address diff --git a/Marlin/src/gcode/feature/pause/M603.cpp b/Marlin/src/gcode/feature/pause/M603.cpp index c40f3ae6e136..9c3b774bd2b2 100644 --- a/Marlin/src/gcode/feature/pause/M603.cpp +++ b/Marlin/src/gcode/feature/pause/M603.cpp @@ -39,7 +39,6 @@ * T[toolhead] - Select extruder to configure, active extruder if not specified * U[distance] - Retract distance for removal, for the specified extruder * L[distance] - Extrude distance for insertion, for the specified extruder - * */ void GcodeSuite::M603() { diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 085f6b361895..425a85736932 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -289,7 +289,6 @@ * "T" Codes * * T0-T3 - Select an extruder (tool) by index: "T F" - * */ #include "../inc/MarlinConfig.h" diff --git a/Marlin/src/gcode/sd/M32.cpp b/Marlin/src/gcode/sd/M32.cpp index a6f9fbcd8db1..55ec6ea49741 100644 --- a/Marlin/src/gcode/sd/M32.cpp +++ b/Marlin/src/gcode/sd/M32.cpp @@ -38,7 +38,6 @@ * M32 !PATH/TO/FILE.GCO# ; Start FILE.GCO * M32 P !PATH/TO/FILE.GCO# ; Start FILE.GCO as a procedure * M32 S60 !PATH/TO/FILE.GCO# ; Start FILE.GCO at byte 60 - * */ void GcodeSuite::M32() { if (IS_SD_PRINTING()) planner.synchronize(); diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index fa65991c2f67..d2c939b9b448 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -512,7 +512,6 @@ * HOTENDS - Number of hotends, whether connected or separate * E_STEPPERS - Number of actual E stepper motors * E_MANUAL - Number of E steppers for LCD move options - * */ #if EXTRUDERS == 0 diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp index 211acc86c6d4..806f370db327 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp @@ -11,7 +11,6 @@ * any later version. The code is distributed WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. - * */ /** diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h index 9f0815d099ce..b21724648484 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h @@ -11,7 +11,6 @@ * any later version. The code is distributed WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. - * */ #pragma once diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index eb9b5315e575..0f53e45a27b5 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -51,7 +51,6 @@ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 2aaf66854ccc..55fcd842de64 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -1632,7 +1632,6 @@ void update_variable() { * TODO: New code can follow the pattern of menu_media.cpp * and rely on Marlin caching for performance. No need to * cache files here. - * */ #ifndef strcasecmp_P diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp index 6a635b9ddb94..2c466ffd0449 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/archim2-flash/flash_storage.cpp @@ -42,7 +42,6 @@ constexpr uint32_t flash_eeprom_version = 1; * 0 16 DATA STORAGE AREA * 16 1 VERSIONING DATA * 17 inf MEDIA STORAGE AREA - * */ #define DATA_STORAGE_SIZE_64K diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h index dd4be7a79387..2429e30e79f7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h @@ -32,7 +32,6 @@ * Selecting an LCD Display * Version 2.1 * Issue Date: 2017-11-14 - * */ #define COMPUTE_REGS_FROM_DATASHEET \ constexpr uint16_t Hoffset = thfp + thb - 1; \ diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/event_loop.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/event_loop.cpp index 9c5599ebe8ea..3dd2b88b19f7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/event_loop.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/event_loop.cpp @@ -109,7 +109,6 @@ namespace FTDI { * - Handles auto-repetition by sending onTouchHeld to the active screen periodically. * - Plays touch feedback "click" sounds when appropriate. * - Performs debouncing to supress spurious touch events. - * */ void EventLoop::process_events() { // If the LCD is processing commands, don't check diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h index 450b9c4415e0..a501de20ba87 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extras/poly_ui.h @@ -49,7 +49,6 @@ * ... * } * } - * */ class PolyReader { diff --git a/Marlin/src/lcd/extui/ui_api.h b/Marlin/src/lcd/extui/ui_api.h index 02c4717d77f4..15122ec69e15 100644 --- a/Marlin/src/lcd/extui/ui_api.h +++ b/Marlin/src/lcd/extui/ui_api.h @@ -375,7 +375,6 @@ namespace ExtUI { * constexpr float increment = 10; * * UI_INCREMENT(TargetTemp_celsius, E0) - * */ #define UI_INCREMENT_BY(method, inc, ...) ExtUI::set ## method(ExtUI::get ## method (__VA_ARGS__) + inc, ##__VA_ARGS__) #define UI_DECREMENT_BY(method, inc, ...) ExtUI::set ## method(ExtUI::get ## method (__VA_ARGS__) - inc, ##__VA_ARGS__) diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h index 1cb64f985bcb..a5030fcd5636 100644 --- a/Marlin/src/lcd/language/language_an.h +++ b/Marlin/src/lcd/language/language_an.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h index 8917d98e681a..dcb06e31e703 100644 --- a/Marlin/src/lcd/language/language_bg.h +++ b/Marlin/src/lcd/language/language_bg.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_5 diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h index 1c4a029ff7dd..0657c4a75959 100644 --- a/Marlin/src/lcd/language/language_ca.h +++ b/Marlin/src/lcd/language/language_ca.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_ca { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index b11a3686cb46..716c0a092956 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -31,7 +31,6 @@ * Translated by Petr Zahradnik, Computer Laboratory * Blog and video blog Zahradnik se bavi * https://www.zahradniksebavi.cz - * */ #define DISPLAY_CHARSET_ISO10646_CZ diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index da282be0b40f..0e4fa75aa610 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 875444c0e7fe..5492cd5d5901 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_de { diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index 8fe888765331..fea2bf58180d 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_GREEK diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h index ad170a348721..344618b1375e 100644 --- a/Marlin/src/lcd/language/language_el_gr.h +++ b/Marlin/src/lcd/language/language_el_gr.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_GREEK diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 04c58fd22a1d..f377a5184cb6 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define en 1234 diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index 15fa35ac75f5..c77b12ee7749 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_es { diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index bee571bbde25..7e35c6ee41ec 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h index 77424df35359..af7dd22af9f7 100644 --- a/Marlin/src/lcd/language/language_fi.h +++ b/Marlin/src/lcd/language/language_fi.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 21f7757fa953..714feeee9976 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 53b0803518e5..2fd4bf69758a 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h index 4873f5c25492..1b2ae41fcedb 100644 --- a/Marlin/src/lcd/language/language_hr.h +++ b/Marlin/src/lcd/language/language_hr.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays. diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 76aff51d9cc3..f93e5ee4e267 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -29,7 +29,6 @@ * A Magyar fordítást készítette: AntoszHUN * * - * */ namespace Language_hu { diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index e22e58708f51..a70463956a73 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h index df6ad9b5d98f..f1289123a4e7 100644 --- a/Marlin/src/lcd/language/language_jp_kana.h +++ b/Marlin/src/lcd/language/language_jp_kana.h @@ -27,7 +27,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ //#define DISPLAY_CHARSET_ISO10646_KANA diff --git a/Marlin/src/lcd/language/language_ko_KR.h b/Marlin/src/lcd/language/language_ko_KR.h index 2ffcdf7b41e0..1ab03dcf57df 100644 --- a/Marlin/src/lcd/language/language_ko_KR.h +++ b/Marlin/src/lcd/language/language_ko_KR.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_ko_KR { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index c1a1a0605b31..7b6c16b3b3ac 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index f6a9e12c8ee5..770c872a4099 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_PL diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 8bd94d06e154..56426c032104 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -27,7 +27,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_1 diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index eb1e2f9bf32e..cf2f7a0ccef1 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -27,7 +27,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_pt_br { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index b8c146e515e8..0953bb8a71f8 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_5 diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index e936110d0768..8a59bfc673f0 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -30,7 +30,6 @@ * * Translated by Michal Holeš, Farma MaM * https://www.facebook.com/farmamam - * */ #define DISPLAY_CHARSET_ISO10646_SK diff --git a/Marlin/src/lcd/language/language_test.h b/Marlin/src/lcd/language/language_test.h index b15f20619e7d..16cafbebbe2e 100644 --- a/Marlin/src/lcd/language/language_test.h +++ b/Marlin/src/lcd/language/language_test.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ // Select ONE of the following Mappers. diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 95e4fb2a8bad..90208befe709 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -30,7 +30,6 @@ * Bu çeviri dosyasındaki sorunlar ve düzeltmeler için iletişim; * Contact for issues and corrections in this translation file; * Yücel Temel - (info@elektromanyetix.com) - https://elektromanyetix.com/ - * */ #define DISPLAY_CHARSET_ISO10646_TR diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 9041decbb251..54171e1ebc06 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ #define DISPLAY_CHARSET_ISO10646_5 diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index afd87d379838..fb60a5d82194 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_vi { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index d30ee789dd85..53dac64c0b87 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_zh_CN { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 6764af6d73ce..7f1fce649ea9 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -26,7 +26,6 @@ * * LCD Menu Messages * See also https://marlinfw.org/docs/development/lcd_language.html - * */ namespace Language_zh_TW { using namespace Language_en; // Inherit undefined strings from English diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp index 5d02d674aa84..d116a6a398c0 100644 --- a/Marlin/src/lcd/menu/menu_filament.cpp +++ b/Marlin/src/lcd/menu/menu_filament.cpp @@ -101,9 +101,7 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) { } /** - * * "Change Filament" submenu - * */ #if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES) diff --git a/Marlin/src/libs/least_squares_fit.cpp b/Marlin/src/libs/least_squares_fit.cpp index ef6ef9e90d80..c7593c049fc4 100644 --- a/Marlin/src/libs/least_squares_fit.cpp +++ b/Marlin/src/libs/least_squares_fit.cpp @@ -29,7 +29,6 @@ * it saves roughly 10K of program memory. It also does not require all of * coordinates to be present during the calculations. Each point can be * probed and then discarded. - * */ #include "../inc/MarlinConfig.h" diff --git a/Marlin/src/libs/least_squares_fit.h b/Marlin/src/libs/least_squares_fit.h index 5cd6a02514c5..44ca8afc76d8 100644 --- a/Marlin/src/libs/least_squares_fit.h +++ b/Marlin/src/libs/least_squares_fit.h @@ -30,7 +30,6 @@ * it saves roughly 10K of program memory. And even better... the data * fed into the algorithm does not need to all be present at the same time. * A point can be probed and its values fed into the algorithm and then discarded. - * */ #include "../inc/MarlinConfig.h" diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 2ef00f795953..4ad7c4ccf044 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -339,7 +339,6 @@ void Planner::init() { * const uint32_t r = _BV(24) - x * d; // Estimate remainder * if (r >= d) x++; // Check whether to adjust result * return uint32_t(x); // x holds the proper estimation - * */ static uint32_t get_period_inverse(uint32_t d) { @@ -2243,7 +2242,6 @@ bool Planner::_populate_block(block_t * const block, bool split_move, #define MAX_E_JERK(N) TERN(HAS_LINEAR_E_JERK, max_e_jerk[E_INDEX_N(N)], max_jerk.e) /** - * * Use LIN_ADVANCE for blocks if all these are true: * * esteps : This is a print move, because we checked for A, B, C steps before. diff --git a/Marlin/src/module/planner_bezier.cpp b/Marlin/src/module/planner_bezier.cpp index 4025b773ed5c..02d878d5f51a 100644 --- a/Marlin/src/module/planner_bezier.cpp +++ b/Marlin/src/module/planner_bezier.cpp @@ -24,7 +24,6 @@ * planner_bezier.cpp * * Compute and buffer movement commands for bezier curves - * */ #include "../inc/MarlinConfig.h" diff --git a/Marlin/src/module/planner_bezier.h b/Marlin/src/module/planner_bezier.h index 41a88b4058fd..72048c42739a 100644 --- a/Marlin/src/module/planner_bezier.h +++ b/Marlin/src/module/planner_bezier.h @@ -25,7 +25,6 @@ * planner_bezier.h * * Compute and buffer movement commands for Bézier curves - * */ #include "../core/types.h" diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index dd6bd70d2c64..defc22b1fe8e 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -729,7 +729,6 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise * when starting up the machine or rebooting the board. * There's no way to know where the nozzle is positioned until * homing has been done - no homing with z-probe without init! - * */ STOW_Z_SERVO(); } diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 0fc23099ccb8..3ccd8ffd9185 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -33,7 +33,6 @@ * ALSO: Variables in the Store and Retrieve sections must be in the same order. * If a feature is disabled, some data must still be written that, when read, * either sets a Sane Default, or results in No Change to the existing value. - * */ // Change EEPROM version if the structure changes diff --git a/Marlin/src/module/thermistor/thermistor_30.h b/Marlin/src/module/thermistor/thermistor_30.h index 63cde610a4c4..bc1781b1351c 100644 --- a/Marlin/src/module/thermistor/thermistor_30.h +++ b/Marlin/src/module/thermistor/thermistor_30.h @@ -26,11 +26,11 @@ // Resistance Tolerance + / -1% // B Value 3950K at 25/50 deg. C // B Value Tolerance + / - 1% -// Kis3d Silicone Heater 24V 200W/300W with 6mm Precision cast plate (EN AW 5083) +// Kis3d Silicone Heater 24V 200W/300W with 6mm Precision cast plate (EN AW 5083) // Temperature setting time 10 min to determine the 12Bit ADC value on the surface. (le3tspeak) const temp_entry_t temptable_30[] PROGMEM = { - { OV( 1), 938 }, - { OV( 298), 125 }, // 1193 - 125° + { OV( 1), 938 }, + { OV( 298), 125 }, // 1193 - 125° { OV( 321), 121 }, // 1285 - 121° { OV( 348), 117 }, // 1392 - 117° { OV( 387), 113 }, // 1550 - 113° diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h index c59c90ad1d59..df182049f994 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h @@ -27,7 +27,6 @@ * Applies to the following boards: * * BOARD_BIQU_BQ111_A4 (Hotend, Fan, Bed) - * */ #if NOT_TARGET(MCU_LPC1768) diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h index 335e3a588d88..bcff04eb85e8 100644 --- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h +++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h @@ -27,7 +27,6 @@ * Applies to the following boards: * * BOARD_BIQU_BQ111_A4 (Hotend, Fan, Bed) - * */ #if NOT_TARGET(MCU_LPC1768) diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 1290200e55c3..196503c822c5 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -372,7 +372,6 @@ * P1_31 - not 5V tolerant - EXP1 * P0_27 - open collector - EXP2 * P0_28 - open collector - EXP2 - * */ /** @@ -387,5 +386,4 @@ * P0_03 - AUX1 * P0_29 - Port -1 * P0_30 - USB - * */ diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 41763fb33c3a..c602af1c3028 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -31,7 +31,6 @@ * RAMPS_14_EFF (Hotend, Fan0, Fan1) * RAMPS_14_EEF (Hotend0, Hotend1, Fan) * RAMPS_14_SF (Spindle, Controller Fan) - * */ // Numbers in parentheses () are the corresponding mega2560 pin numbers diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h index 0916d0d65b38..76c54c3bba21 100644 --- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h +++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h @@ -16,7 +16,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * along with this program. If not, see . * */ #pragma once diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h index 19c2d5032050..d67549997be5 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h @@ -26,7 +26,6 @@ * * The pins diagram can be found and the following URL: * https://github.com/makerbase-mks/MKS-SGen/blob/master/Hardware/MKS%20SGEN%20V1.0_001/MKS%20SGEN%20V1.0_001%20PIN.pdf - * */ #if NOT_TARGET(MCU_LPC1769) diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h index 50e7eb1914f1..a0174f260298 100644 --- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h @@ -166,7 +166,6 @@ * * A remote SD card is currently not supported because the pins routed to the EXP2 * connector are shared with the onboard SD card. - * */ #if ENABLED(CR10_STOCKDISPLAY) diff --git a/Marlin/src/pins/mega/pins_INTAMSYS40.h b/Marlin/src/pins/mega/pins_INTAMSYS40.h index 3c4f3c719a99..be5f461dda38 100644 --- a/Marlin/src/pins/mega/pins_INTAMSYS40.h +++ b/Marlin/src/pins/mega/pins_INTAMSYS40.h @@ -137,7 +137,6 @@ ///////////////////// SPARE HEADERS ////////////// /** - * * J25 * 1 D54 * 2 D55 diff --git a/Marlin/src/pins/mega/pins_MINITRONICS.h b/Marlin/src/pins/mega/pins_MINITRONICS.h index 9cb4401da90c..bbe746461eca 100644 --- a/Marlin/src/pins/mega/pins_MINITRONICS.h +++ b/Marlin/src/pins/mega/pins_MINITRONICS.h @@ -29,7 +29,6 @@ * Rev B 2 JAN 2017 * * Added pin definitions for M3, M4 & M5 spindle control commands - * */ #if NOT_TARGET(__AVR_ATmega1281__) diff --git a/Marlin/src/pins/pinsDebug.h b/Marlin/src/pins/pinsDebug.h index 06a8144291ca..5f153cfa2b0f 100644 --- a/Marlin/src/pins/pinsDebug.h +++ b/Marlin/src/pins/pinsDebug.h @@ -31,7 +31,6 @@ * * Both passes use the same pin list. The list contains two macro names. The * actual macro definitions are changed depending on which pass is being done. - * */ // first pass - put the name strings into FLASH diff --git a/Marlin/src/pins/ramps/pins_RAMPS_13.h b/Marlin/src/pins/ramps/pins_RAMPS_13.h index 032dd79c234d..6e7c8cbab592 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_13.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_13.h @@ -31,7 +31,6 @@ * RAMPS_13_EFF (Extruder, Fan, Fan) * RAMPS_13_EEF (Extruder, Extruder, Fan) * RAMPS_13_SF (Spindle, Controller Fan) - * */ #ifndef BOARD_INFO_NAME diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h index 19209f1e2363..9908d9494f34 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h @@ -35,7 +35,6 @@ * RAMPS_PLUS_EFF (Extruder, Fan, Fan) * RAMPS_PLUS_EEF (Extruder, Extruder, Fan) * RAMPS_PLUS_SF (Spindle, Controller Fan) - * */ #if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) diff --git a/Marlin/src/pins/sam/pins_ADSK.h b/Marlin/src/pins/sam/pins_ADSK.h index c4d7c079407c..b0e171cf1716 100644 --- a/Marlin/src/pins/sam/pins_ADSK.h +++ b/Marlin/src/pins/sam/pins_ADSK.h @@ -204,5 +204,4 @@ A stepper for E0 extruder * * Standard ethernet pairs: 1&2, 3&6, 4&5, 7&8 * Use CAT7 cable to have all pairs shielded - * */ diff --git a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h index 2cfbecc08646..22edb7021302 100644 --- a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h +++ b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h @@ -170,5 +170,4 @@ * None of these are in the arduino_due_x variant so digitalWrite and digitalRead can't be used on them. * * They can be accessed via FASTIO functions WRITE, READ, OUT_WRITE, OUTPUT, ... - * */ diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h index f33cdc83acef..74692a21a390 100644 --- a/Marlin/src/pins/sanguino/pins_ANET_10.h +++ b/Marlin/src/pins/sanguino/pins_ANET_10.h @@ -30,7 +30,6 @@ * * 1) no longer uses Sanguino files to define some of the pins * 2) added pointers to useable Arduino IDE extensions - * */ /** @@ -48,7 +47,6 @@ * "Anet V1.0 (Optiboot)" frees up another 3K of FLASH. You'll need to burn * a new bootloader to the board to be able to automatically download a * compiled image. - * */ /** @@ -66,7 +64,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ /** diff --git a/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h index e927aac124db..29905c108954 100644 --- a/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h +++ b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h @@ -29,7 +29,6 @@ * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -47,7 +46,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__) diff --git a/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h index 1961446e2274..33fc233f7ab1 100644 --- a/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h +++ b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h @@ -29,7 +29,6 @@ * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -47,7 +46,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the SANGUINO board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_GEN6.h b/Marlin/src/pins/sanguino/pins_GEN6.h index 98eb616892e6..bfca8e90d9cc 100644 --- a/Marlin/src/pins/sanguino/pins_GEN6.h +++ b/Marlin/src/pins/sanguino/pins_GEN6.h @@ -31,7 +31,6 @@ * 1) added pointer to a current Arduino IDE extension * 2) added support for M3, M4 & M5 spindle control commands * 3) added case light pin definition - * */ /** @@ -49,7 +48,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h b/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h index a40c2ec15fde..9c635706202c 100644 --- a/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h +++ b/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h @@ -29,7 +29,6 @@ * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -47,7 +46,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the SANGUINO board and then select the CPU. - * */ diff --git a/Marlin/src/pins/sanguino/pins_GEN7_12.h b/Marlin/src/pins/sanguino/pins_GEN7_12.h index ed550624f789..9db7d7214a5b 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_12.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_12.h @@ -31,7 +31,6 @@ * 1) added pointer to a current Arduino IDE extension * 2) added support for M3, M4 & M5 spindle control commands * 3) added case light pin definition - * */ /** @@ -49,7 +48,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_GEN7_13.h b/Marlin/src/pins/sanguino/pins_GEN7_13.h index 6743c8cf75fc..55881aaff58e 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_13.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_13.h @@ -29,7 +29,6 @@ * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -47,7 +46,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #define BOARD_INFO_NAME "Gen7 v1.3" diff --git a/Marlin/src/pins/sanguino/pins_GEN7_14.h b/Marlin/src/pins/sanguino/pins_GEN7_14.h index 752fe3074f07..66dba533e988 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_14.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_14.h @@ -31,7 +31,6 @@ * 1) added pointer to a current Arduino IDE extension * 2) added support for M3, M4 & M5 spindle control commands * 3) added case light pin definition - * */ /** @@ -49,7 +48,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h index 1a19c33deac4..0c4871fb27d5 100644 --- a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h +++ b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h @@ -34,7 +34,6 @@ * 1) added pointer to a current Arduino IDE extension * 2) added support for M3, M4 & M5 spindle control commands * 3) added case light pin definition - * */ /** @@ -52,7 +51,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_OMCA.h b/Marlin/src/pins/sanguino/pins_OMCA.h index d9f43995d481..7f18283d1c54 100644 --- a/Marlin/src/pins/sanguino/pins_OMCA.h +++ b/Marlin/src/pins/sanguino/pins_OMCA.h @@ -56,7 +56,6 @@ * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -74,7 +73,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__) diff --git a/Marlin/src/pins/sanguino/pins_OMCA_A.h b/Marlin/src/pins/sanguino/pins_OMCA_A.h index 1b4c9b68b215..770732051900 100644 --- a/Marlin/src/pins/sanguino/pins_OMCA_A.h +++ b/Marlin/src/pins/sanguino/pins_OMCA_A.h @@ -48,14 +48,12 @@ * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM * +--------+ - * */ /** * Rev B 26 DEC 2016 * * added pointer to a current Arduino IDE extension - * */ /** @@ -73,7 +71,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644__) diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h index 121e1db6f211..438d49d615c8 100644 --- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h +++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h @@ -31,7 +31,6 @@ * 1) added pointer to a current Arduino IDE extension * 2) added support for M3, M4 & M5 spindle control commands * 3) added case light pin definition - * */ /** @@ -49,7 +48,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/sanguino/pins_SETHI.h b/Marlin/src/pins/sanguino/pins_SETHI.h index e0a0604619ce..dc2133e441dc 100644 --- a/Marlin/src/pins/sanguino/pins_SETHI.h +++ b/Marlin/src/pins/sanguino/pins_SETHI.h @@ -47,7 +47,6 @@ * Just use the above JSON URL instead of Sparkfun's JSON. * * Once installed select the Sanguino board and then select the CPU. - * */ #if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__) diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index 2bc94c45c5e7..63b97b666faf 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -257,7 +257,6 @@ * EXP1-8 ----------- EXP1-3 * SPI1-1 ----------- EXP1-1 * EXP1-10 ----------- EXP1-7 - * */ #define CLCD_SPI_BUS 1 // SPI1 connector diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index 09e47875ed67..50257f4f4608 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -202,7 +202,6 @@ * EXP1-8 ----------- EXP1-3 * SPI1-1 ----------- EXP1-1 * EXP1-10 ----------- EXP1-7 - * */ #define TFTGLCD_CS PA9 @@ -245,7 +244,6 @@ * EXP1-8 ----------- EXP1-3 * SPI1-1 ----------- EXP1-1 * EXP1-10 ----------- EXP1-7 - * */ #define CLCD_SPI_BUS 1 // SPI1 connector diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h index 6cd970501fde..021ef1d5f6b8 100644 --- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h @@ -16,7 +16,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * along with this program. If not, see . * */ #pragma once diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h index f386b7690b52..d52bb11d1206 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h @@ -23,7 +23,6 @@ /** * Common pin assignments for all RUMBA32 boards - * */ #if NOT_TARGET(STM32F4) diff --git a/Marlin/src/pins/teensy2/pins_TEENSYLU.h b/Marlin/src/pins/teensy2/pins_TEENSYLU.h index 09bbeebdd8c3..9de119b62b4a 100644 --- a/Marlin/src/pins/teensy2/pins_TEENSYLU.h +++ b/Marlin/src/pins/teensy2/pins_TEENSYLU.h @@ -17,7 +17,6 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * */ /** diff --git a/Marlin/src/sd/SdBaseFile.cpp b/Marlin/src/sd/SdBaseFile.cpp index 98d762f10b6a..2bc9f96e8c92 100644 --- a/Marlin/src/sd/SdBaseFile.cpp +++ b/Marlin/src/sd/SdBaseFile.cpp @@ -154,7 +154,6 @@ bool SdBaseFile::contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock) { * an invalid DOS 8.3 file name, the FAT volume has not been initialized, * a file is already open, the file already exists, the root * directory is full or an I/O error. - * */ bool SdBaseFile::createContiguous(SdBaseFile* dirFile, const char* path, uint32_t size) { if (ENABLED(SDCARD_READONLY)) return false; @@ -1663,7 +1662,6 @@ bool SdBaseFile::truncate(uint32_t length) { * \a nbyte. If an error occurs, write() returns -1. Possible errors * include write() is called before a file has been opened, write is called * for a read-only file, device is full, a corrupt file system or an I/O error. - * */ int16_t SdBaseFile::write(const void* buf, uint16_t nbyte) { #if ENABLED(SDCARD_READONLY) diff --git a/Marlin/src/sd/SdFatStructs.h b/Marlin/src/sd/SdFatStructs.h index e06e05981ad2..484d4e50c6c9 100644 --- a/Marlin/src/sd/SdFatStructs.h +++ b/Marlin/src/sd/SdFatStructs.h @@ -128,7 +128,6 @@ typedef struct masterBootRecord mbr_t; * \struct fat_boot * * \brief Boot sector for a FAT12/FAT16 volume. - * */ struct fat_boot { /** @@ -409,7 +408,6 @@ uint32_t const FSINFO_LEAD_SIG = 0x41615252, // 'AaRR' Lead signature for a F * \struct fat32_fsinfo * * \brief FSINFO sector for a FAT32 volume. - * */ struct fat32_fsinfo { uint32_t leadSignature; // must be 0x52, 0x52, 0x61, 0x41 'RRaA' diff --git a/Marlin/src/sd/SdFile.cpp b/Marlin/src/sd/SdFile.cpp index a4f048d9502c..c82fe2c5ed77 100644 --- a/Marlin/src/sd/SdFile.cpp +++ b/Marlin/src/sd/SdFile.cpp @@ -57,7 +57,6 @@ SdFile::SdFile(const char* path, uint8_t oflag) : SdBaseFile(path, oflag) { } * \a nbyte. If an error occurs, write() returns -1. Possible errors * include write() is called before a file has been opened, write is called * for a read-only file, device is full, a corrupt file system or an I/O error. - * */ int16_t SdFile::write(const void* buf, uint16_t nbyte) { return SdBaseFile::write(buf, nbyte); } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp index 8f0dbf42e957..8a989157b40a 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp @@ -640,7 +640,6 @@ uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lo * 7: for (each driver) { * 7a: Ask device if it knows this VID/PID. Acts exactly like 6a, but using VID/PID * 8: if we get here, no driver likes the device plugged in, so exit failure. - * */ uint8_t USB::Configuring(uint8_t parent, uint8_t port, bool lowspeed) { //uint8_t bAddress = 0; diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp index 8ead0b0093b6..d707a41a2702 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp @@ -828,7 +828,6 @@ uint8_t BulkOnly::ClearEpHalt(uint8_t index) { /** * For driver use only. - * */ void BulkOnly::Reset() { while (pUsb->ctrlReq(bAddress, 0, bmREQ_MASSOUT, MASS_REQ_BOMSR, 0, 0, bIface, 0, 0, nullptr, nullptr) == 0x01) delay(6); @@ -1163,7 +1162,6 @@ uint8_t BulkOnly::HandleSCSIError(uint8_t status) { //////////////////////////////////////////////////////////////////////////////// /** - * * @param ep_ptr */ void BulkOnly::PrintEndpointDescriptor(const USB_FD_ENDPOINT_DESCRIPTOR * ep_ptr) { diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h index 45830de9a162..15ed427697b6 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h @@ -318,7 +318,6 @@ UHS_NI UHS_Bulk_Storage::UHS_Bulk_Storage(UHS_USB_HOST_BASE *p) { } /** - * * @param ei Enumeration information * @return true if this interface driver can handle this interface description */ @@ -375,7 +374,6 @@ uint8_t UHS_NI UHS_Bulk_Storage::SetInterface(ENUMERATION_INFO *ei) { }; /** - * * @return 0 for success */ uint8_t UHS_NI UHS_Bulk_Storage::Start() { @@ -628,7 +626,6 @@ void UHS_NI UHS_Bulk_Storage::CheckMedia() { /** * For driver use only. - * */ void UHS_NI UHS_Bulk_Storage::Poll() { if((long)(millis() - qNextPollTime) >= 0L) { @@ -839,7 +836,6 @@ uint8_t UHS_NI UHS_Bulk_Storage::ClearEpHalt(uint8_t index) { /** * For driver use only. - * */ void UHS_NI UHS_Bulk_Storage::Reset() { if(!bAddress) return; @@ -1185,7 +1181,6 @@ uint8_t UHS_NI UHS_Bulk_Storage::HandleSCSIError(uint8_t status) { //////////////////////////////////////////////////////////////////////////////// /** - * * @param ep_ptr */ void UHS_NI UHS_Bulk_Storage::PrintEndpointDescriptor(const USB_FD_ENDPOINT_DESCRIPTOR * ep_ptr) { diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h index dec083390e3c..7843013b0442 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h @@ -101,7 +101,6 @@ uint8_t UHS_USB_HOST_BASE::setEpInfoEntry(uint8_t addr, uint8_t iface, uint8_t e * * @param maxep How many endpoints to initialize * @param device pointer to the device driver instance (this) - * */ void UHS_USB_HOST_BASE::DeviceDefaults(uint8_t maxep, UHS_USBInterface *interface) { @@ -208,7 +207,6 @@ uint8_t UHS_USB_HOST_BASE::doSoftReset(uint8_t parent, uint8_t port, uint8_t add * example of one of these documents, see page Five: * https://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_113_Simplified%20Description%20of%20USB%20Device%20Enumeration.pdf * - * */ /** diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h index 625666170bca..b289a896efea 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usbhost.h @@ -350,7 +350,6 @@ class UHS_USBInterface { /** * Executed before anything else in Release(). - * */ virtual void OnRelease() { return; @@ -403,7 +402,6 @@ class UHS_USBInterface { #if 0 /** - * * @return true if this interface is Vendor Specific. */ virtual bool IsVSI() { @@ -414,7 +412,6 @@ class UHS_USBInterface { #if 0 /** - * * Vendor Specific interface class. * This is used by a partner interface. * It can also be used to force-enumerate an interface that diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/macro_logic.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/macro_logic.h index 114064044d17..0ac90f0df3a6 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/macro_logic.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/macro_logic.h @@ -6,7 +6,6 @@ * * To test: * gcc -DAJK_TEST_MACRO_LOGIC -E macro_logic.h - * */ #ifndef MACRO_LOGIC_H diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h index 5408a94ade70..f86054cad8a4 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/SWI_INLINE.h @@ -165,7 +165,6 @@ static void Init_dyn_SWI() { } /** - * * @param klass class that extends dyn_SWI * @return 0 on queue full, else returns queue position (ones based) */ @@ -219,7 +218,6 @@ static void Init_dyn_SWI() { } /** - * * @param klass class that extends dyn_SWI * @return 0 on queue full, else returns queue position (ones based) */ From 6d4c82f4d87fdc69579f50faac6146244e648027 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 15:46:12 -0500 Subject: [PATCH 167/277] Fix diveToFile with open Dir object (#19539) * Fix CardReader diveToFile * Add CardReader::fileExists --- Marlin/src/sd/cardreader.cpp | 68 ++++++++++++++++++++++++------------ Marlin/src/sd/cardreader.h | 1 + 2 files changed, 46 insertions(+), 23 deletions(-) diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index 37af4a368846..49ee7747a299 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -571,11 +571,11 @@ void CardReader::openFileRead(char * const path, const uint8_t subcall_type/*=0* endFilePrint(); - SdFile *curDir; - const char * const fname = diveToFile(true, curDir, path); + SdFile *diveDir; + const char * const fname = diveToFile(true, diveDir, path); if (!fname) return; - if (file.open(curDir, fname, O_READ)) { + if (file.open(diveDir, fname, O_READ)) { filesize = file.fileSize(); sdpos = 0; @@ -606,14 +606,14 @@ void CardReader::openFileWrite(char * const path) { endFilePrint(); - SdFile *curDir; - const char * const fname = diveToFile(false, curDir, path); + SdFile *diveDir; + const char * const fname = diveToFile(false, diveDir, path); if (!fname) return; #if ENABLED(SDCARD_READONLY) openFailed(fname); #else - if (file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) { + if (file.open(diveDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) { flag.saving = true; selectFileByName(fname); TERN_(EMERGENCY_PARSER, emergency_parser.disable()); @@ -625,6 +625,16 @@ void CardReader::openFileWrite(char * const path) { #endif } +// +// Check if a file exists by absolute or workDir-relative path +// +bool CardReader::fileExists(const char * const path) { + if (!isMounted()) return false; + SdFile *diveDir = nullptr; + const char * const fname = diveToFile(false, diveDir, path); + return fname != nullptr; +} + // // Delete a file by name in the working directory // @@ -770,13 +780,15 @@ uint16_t CardReader::countFilesInWorkDir() { /** * Dive to the given DOS 8.3 file path, with optional echo of the dive paths. * - * On exit, curDir contains an SdFile reference to the file's directory. + * On exit: + * - Your curDir pointer contains an SdFile reference to the file's directory. + * - If update_cwd was 'true' the workDir now points to the file's directory. * * Returns a pointer to the last segment (filename) of the given DOS 8.3 path. * * A nullptr result indicates an unrecoverable error. */ -const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const char * const path, const bool echo/*=false*/) { +const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, const char * const path, const bool echo/*=false*/) { // Track both parent and subfolder static SdFile newDir1, newDir2; SdFile *sub = &newDir1, *startDir; @@ -785,14 +797,15 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const const char *item_name_adr = path; if (path[0] == '/') { // Starting at the root directory? - curDir = &root; - if (update_cwd) workDirDepth = 0; // The cwd can be updated for the benefit of sub-programs + diveDir = &root; item_name_adr++; + if (update_cwd) workDirDepth = 0; // The cwd can be updated for the benefit of sub-programs } else - curDir = &workDir; // Dive from workDir (as set by the UI) + diveDir = &workDir; // Dive from workDir (as set by the UI) + + startDir = diveDir; - startDir = curDir; while (item_name_adr) { // Find next subdirectory delimiter char * const name_end = strchr(item_name_adr, '/'); @@ -808,30 +821,39 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const if (echo) SERIAL_ECHOLN(dosSubdirname); - // Open curDir - if (!sub->open(curDir, dosSubdirname, O_READ)) { + // Open diveDir (closing first) + sub->close(); + if (!sub->open(diveDir, dosSubdirname, O_READ)) { openFailed(dosSubdirname); - return nullptr; + item_name_adr = nullptr; + break; } - // Close curDir if not at starting-point - if (curDir != startDir) curDir->close(); + // Close diveDir if not at starting-point + if (diveDir != startDir) diveDir->close(); - // curDir now subDir - curDir = sub; + // diveDir now subDir + diveDir = sub; - // Update workDirParents, workDirDepth, and workDir + // Update workDirParents and workDirDepth if (update_cwd) { - if (workDirDepth < MAX_DIR_DEPTH) workDirParents[workDirDepth++] = *curDir; - workDir = *curDir; + if (workDirDepth < MAX_DIR_DEPTH) + workDirParents[workDirDepth++] = *diveDir; } // Point sub at the other scratch object - sub = (curDir != &newDir1) ? &newDir1 : &newDir2; + sub = (diveDir != &newDir1) ? &newDir1 : &newDir2; // Next path atom address item_name_adr = name_end + 1; } + + if (update_cwd) { + workDir = *diveDir; + flag.workDirIsRoot = (workDirDepth == 0); + TERN_(SDCARD_SORT_ALPHA, presort()); + } + return item_name_adr; } diff --git a/Marlin/src/sd/cardreader.h b/Marlin/src/sd/cardreader.h index 62a6d87acf69..33645b6531eb 100644 --- a/Marlin/src/sd/cardreader.h +++ b/Marlin/src/sd/cardreader.h @@ -99,6 +99,7 @@ class CardReader { static void openFileRead(char * const path, const uint8_t subcall=0); static void openFileWrite(char * const path); static void closefile(const bool store_location=false); + static bool fileExists(const char * const name); static void removeFile(const char * const name); static inline char* longest_filename() { return longFilename[0] ? longFilename : filename; } From 9142f5446a57e9a4094c45c10d753f0ce5a102aa Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 15:52:21 -0500 Subject: [PATCH 168/277] Improve Power-Loss Recovery (#19540) --- Marlin/src/feature/powerloss.cpp | 28 +++++++++++++++++--- Marlin/src/feature/powerloss.h | 11 +++++++- Marlin/src/gcode/feature/powerloss/M1000.cpp | 2 ++ Marlin/src/gcode/feature/powerloss/M413.cpp | 1 + 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index ed3a4b9fadea..faf6202dbd77 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -112,8 +112,7 @@ void PrintJobRecovery::check() { if (card.isMounted()) { load(); if (!valid()) return cancel(); - queue.inject_P(PSTR("M1000 S")); - TERN_(DWIN_CREALITY_LCD, dwin_flag = true); + queue.inject_P(PSTR("M1000S")); } } @@ -227,6 +226,10 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/ // Elapsed print job time info.print_job_elapsed = print_job_timer.duration(); + // Misc. Marlin flags + info.flag.dryrun = !!(marlin_debug_flags & MARLIN_DEBUG_DRYRUN); + info.flag.allow_cold_extrusion = TERN0(PREVENT_COLD_EXTRUSION, thermalManager.allow_cold_extrude); + write(); } } @@ -326,6 +329,12 @@ void PrintJobRecovery::resume() { const uint32_t resume_sdpos = info.sdpos; // Get here before the stepper ISR overwrites it + // Apply the dry-run flag if enabled + if (info.flag.dryrun) marlin_debug_flags |= MARLIN_DEBUG_DRYRUN; + + // Restore cold extrusion permission + TERN_(PREVENT_COLD_EXTRUSION, thermalManager.allow_cold_extrude = info.flag.allow_cold_extrusion); + #if HAS_LEVELING // Make sure leveling is off before any G92 and G28 gcode.process_subcommands_now_P(PSTR("M420 S0 Z0")); @@ -337,7 +346,7 @@ void PrintJobRecovery::resume() { // If Z homing goes to max, just reset E and home all gcode.process_subcommands_now_P(PSTR( "G92.9 E0\n" - "G28R0" TERN_(MARLIN_DEV_MODE, "S") + "G28R0" )); #else // "G92.9 E0 ..." @@ -358,7 +367,6 @@ void PrintJobRecovery::resume() { gcode.process_subcommands_now_P(PSTR( "G28R0" // No raise during G28 - TERN_(MARLIN_DEV_MODE, "S") // Simulated Homing TERN_(IS_CARTESIAN, "XY") // Don't home Z on Cartesian )); @@ -498,6 +506,14 @@ void PrintJobRecovery::resume() { LOOP_XYZ(i) update_workspace_offset((AxisEnum)i); #endif + #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) + const uint8_t old_flags = marlin_debug_flags; + marlin_debug_flags |= MARLIN_DEBUG_ECHO; + #endif + + // Continue to apply PLR when a file is resumed! + enable(true); + // Resume the SD file from the last position char *fn = info.sd_filename; extern const char M23_STR[]; @@ -505,6 +521,8 @@ void PrintJobRecovery::resume() { gcode.process_subcommands_now(cmd); sprintf_P(cmd, PSTR("M24 S%ld T%ld"), resume_sdpos, info.print_job_elapsed); gcode.process_subcommands_now(cmd); + + TERN_(DEBUG_POWER_LOSS_RECOVERY, marlin_debug_flags = old_flags); } #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) @@ -584,6 +602,8 @@ void PrintJobRecovery::resume() { DEBUG_ECHOLNPAIR("sd_filename: ", info.sd_filename); DEBUG_ECHOLNPAIR("sdpos: ", info.sdpos); DEBUG_ECHOLNPAIR("print_job_elapsed: ", info.print_job_elapsed); + DEBUG_ECHOLNPAIR("dryrun: ", int(info.flag.dryrun)); + DEBUG_ECHOLNPAIR("allow_cold_extrusion: ", int(info.flag.allow_cold_extrusion)); } else DEBUG_ECHOLNPGM("INVALID DATA"); diff --git a/Marlin/src/feature/powerloss.h b/Marlin/src/feature/powerloss.h index 1943175b0564..e31b2ec915c3 100644 --- a/Marlin/src/feature/powerloss.h +++ b/Marlin/src/feature/powerloss.h @@ -107,6 +107,12 @@ typedef struct { // Job elapsed time millis_t print_job_elapsed; + // Misc. Marlin flags + struct { + bool dryrun:1; // M111 S8 + bool allow_cold_extrusion:1; // M302 P1 + } flag; + uint8_t valid_foot; bool valid() { return valid_head && valid_head == valid_foot; } @@ -173,7 +179,10 @@ class PrintJobRecovery { } #endif - static inline bool valid() { return info.valid(); } + // The referenced file exists + static inline bool interrupted_file_exists() { return card.fileExists(info.sd_filename); } + + static inline bool valid() { return info.valid() && interrupted_file_exists(); } #if ENABLED(DEBUG_POWER_LOSS_RECOVERY) static void debug(PGM_P const prefix); diff --git a/Marlin/src/gcode/feature/powerloss/M1000.cpp b/Marlin/src/gcode/feature/powerloss/M1000.cpp index 58e810e5d075..e9477dd2fbf3 100644 --- a/Marlin/src/gcode/feature/powerloss/M1000.cpp +++ b/Marlin/src/gcode/feature/powerloss/M1000.cpp @@ -62,6 +62,8 @@ void GcodeSuite::M1000() { if (parser.seen('S')) { #if HAS_LCD_MENU ui.goto_screen(menu_job_recovery); + #elif ENABLED(DWIN_CREALITY_LCD) + recovery.dwin_flag = true; #elif ENABLED(EXTENSIBLE_UI) ExtUI::onPowerLossResume(); #else diff --git a/Marlin/src/gcode/feature/powerloss/M413.cpp b/Marlin/src/gcode/feature/powerloss/M413.cpp index 5a08053e7c9d..3538ccaa6e07 100644 --- a/Marlin/src/gcode/feature/powerloss/M413.cpp +++ b/Marlin/src/gcode/feature/powerloss/M413.cpp @@ -50,6 +50,7 @@ void GcodeSuite::M413() { if (parser.seen("RL")) recovery.load(); if (parser.seen('W')) recovery.save(true); if (parser.seen('P')) recovery.purge(); + if (parser.seen('D')) recovery.debug(PSTR("M413")); #if PIN_EXISTS(POWER_LOSS) if (parser.seen('O')) recovery._outage(); #endif From 0ddb4d88a98bec8d449d186c9149e2df31017d2e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 16:37:00 -0500 Subject: [PATCH 169/277] Add extra CardReader debugging --- Marlin/src/sd/cardreader.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index 49ee7747a299..ec834564ecb0 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -55,6 +55,7 @@ #define DEBUG_OUT EITHER(DEBUG_CARDREADER, MARLIN_DEV_MODE) #include "../core/debug_out.h" +#include "../libs/hex_print.h" // public: @@ -796,9 +797,12 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, cons // Parsing the path string const char *item_name_adr = path; + DEBUG_ECHOLNPAIR("diveToFile: path = '", path, "'"); + if (path[0] == '/') { // Starting at the root directory? diveDir = &root; item_name_adr++; + DEBUG_ECHOLNPAIR("diveToFile: CWD to root: ", hex_address((void*)diveDir)); if (update_cwd) workDirDepth = 0; // The cwd can be updated for the benefit of sub-programs } else @@ -806,6 +810,8 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, cons startDir = diveDir; + DEBUG_ECHOLNPAIR("diveToFile: startDir = ", hex_address((void*)startDir)); + while (item_name_adr) { // Find next subdirectory delimiter char * const name_end = strchr(item_name_adr, '/'); @@ -821,6 +827,8 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, cons if (echo) SERIAL_ECHOLN(dosSubdirname); + DEBUG_ECHOLNPAIR("diveToFile: sub = ", hex_address((void*)sub)); + // Open diveDir (closing first) sub->close(); if (!sub->open(diveDir, dosSubdirname, O_READ)) { @@ -830,19 +838,25 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, cons } // Close diveDir if not at starting-point - if (diveDir != startDir) diveDir->close(); + if (diveDir != startDir) { + DEBUG_ECHOLNPAIR("diveToFile: closing diveDir: ", hex_address((void*)diveDir)); + diveDir->close(); + } // diveDir now subDir diveDir = sub; + DEBUG_ECHOLNPAIR("diveToFile: diveDir = sub: ", hex_address((void*)diveDir)); // Update workDirParents and workDirDepth if (update_cwd) { + DEBUG_ECHOLNPAIR("diveToFile: update_cwd"); if (workDirDepth < MAX_DIR_DEPTH) workDirParents[workDirDepth++] = *diveDir; } // Point sub at the other scratch object sub = (diveDir != &newDir1) ? &newDir1 : &newDir2; + DEBUG_ECHOLNPAIR("diveToFile: swapping sub = ", hex_address((void*)sub)); // Next path atom address item_name_adr = name_end + 1; @@ -850,6 +864,7 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& diveDir, cons if (update_cwd) { workDir = *diveDir; + DEBUG_ECHOLNPAIR("diveToFile: final workDir = ", hex_address((void*)diveDir)); flag.workDirIsRoot = (workDirDepth == 0); TERN_(SDCARD_SORT_ALPHA, presort()); } From 660420050bcb4f89e59b12f28cbb3e8570010cc8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 16:36:22 -0500 Subject: [PATCH 170/277] Fetch longname when a file exists --- Marlin/src/sd/cardreader.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index ec834564ecb0..e154ea9f314b 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -628,11 +628,17 @@ void CardReader::openFileWrite(char * const path) { // // Check if a file exists by absolute or workDir-relative path +// If the file exists, the long name can also be fetched. // bool CardReader::fileExists(const char * const path) { if (!isMounted()) return false; SdFile *diveDir = nullptr; const char * const fname = diveToFile(false, diveDir, path); + if (fname) { + diveDir->rewind(); + selectByName(*diveDir, fname); + diveDir->close(); + } return fname != nullptr; } From 169ec65e72c0f2f9cc4523c9a32f1d49fccc0253 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 27 Sep 2020 16:51:16 -0500 Subject: [PATCH 171/277] Fix up E3 DWIN Power Panic --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 59 ++++++++++++------------------- 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 55fcd842de64..85263a89abf7 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -991,15 +991,15 @@ void Popup_Window_Resume() { if (HMI_IsChinese()) { DWIN_Frame_AreaCopy(1, 160, 338, 235, 354, 98, 135); DWIN_Frame_AreaCopy(1, 103, 321, 271, 335, 52, 192); - DWIN_ICON_Show(ICON, ICON_Continue_C, 26, 307); - DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 307); + DWIN_ICON_Show(ICON, ICON_Cancel_C, 26, 307); + DWIN_ICON_Show(ICON, ICON_Continue_C, 146, 307); } else { DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 14) / 2, 115, F("Continue Print")); DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 22) / 2, 192, F("It looks like the last")); DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, (272 - 8 * 22) / 2, 212, F("file was interrupted.")); - DWIN_ICON_Show(ICON, ICON_Continue_E, 26, 307); - DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 307); + DWIN_ICON_Show(ICON, ICON_Cancel_E, 26, 307); + DWIN_ICON_Show(ICON, ICON_Continue_E, 146, 307); } } @@ -3597,45 +3597,30 @@ void EachMomentUpdate() { #if ENABLED(POWER_LOSS_RECOVERY) else if (DWIN_lcd_sd_status && recovery.dwin_flag) { // resume print before power off static bool recovery_flag = false; - recovery.dwin_flag = false; - recovery.load(); - if (!recovery.valid()) return recovery.purge(); + recovery.dwin_flag = false; + recovery_flag = true; - auto draw_first_option = [](const bool sel) { + auto update_selection = [&](const bool sel) { + HMI_flag.select_flag = sel; const uint16_t c1 = sel ? Color_Bg_Window : Select_Color; DWIN_Draw_Rectangle(0, c1, 25, 306, 126, 345); DWIN_Draw_Rectangle(0, c1, 24, 305, 127, 346); - }; - - auto update_selection = [&](const bool sel) { - HMI_flag.select_flag = sel; - draw_first_option(sel); const uint16_t c2 = sel ? Select_Color : Color_Bg_Window; DWIN_Draw_Rectangle(0, c2, 145, 306, 246, 345); DWIN_Draw_Rectangle(0, c2, 144, 305, 247, 346); }; - const uint16_t fileCnt = card.get_num_Files(); - for (uint16_t i = 0; i < fileCnt; i++) { - // TODO: Resume print via M1000 then update the UI - // with the active filename which can come from CardReader. - card.getfilename_sorted(SD_ORDER(i, fileCnt)); - if (!strcmp(card.filename, &recovery.info.sd_filename[1])) { // Resume print before power failure while have the same file - recovery_flag = true; - HMI_flag.select_flag = true; - Popup_Window_Resume(); - draw_first_option(false); - char * const name = card.longest_filename(); - const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; - DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, npos, 252, name); - DWIN_UpdateLCD(); - break; - } - } + Popup_Window_Resume(); + update_selection(true); - // if hasn't resumable G-code file - if (!recovery_flag) return; + // TODO: Get the name of the current file from someplace + // + //(void)recovery.interrupted_file_exists(); + char * const name = card.longest_filename(); + const int8_t npos = _MAX(0U, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; + DWIN_Draw_String(false, true, font8x16, Popup_Text_Color, Color_Bg_Window, npos, 252, name); + DWIN_UpdateLCD(); while (recovery_flag) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); @@ -3643,12 +3628,12 @@ void EachMomentUpdate() { if (encoder_diffState == ENCODER_DIFF_ENTER) { recovery_flag = false; if (HMI_flag.select_flag) break; - TERN_(POWER_LOSS_RECOVERY, recovery.cancel()); + TERN_(POWER_LOSS_RECOVERY, queue.inject_P(PSTR("M1000C"))); HMI_StartFrame(true); return; } else - update_selection(encoder_diffState == ENCODER_DIFF_CCW); + update_selection(encoder_diffState == ENCODER_DIFF_CW); DWIN_UpdateLCD(); } @@ -3656,9 +3641,9 @@ void EachMomentUpdate() { select_print.set(0); HMI_ValueStruct.show_mode = 0; - HMI_StartFrame(false); - recovery.resume(); - return; + queue.inject_P(PSTR("M1000")); + Goto_PrintProcess(); + Draw_Status_Area(true); } #endif DWIN_UpdateLCD(); From 60155aa442f7dbd1654fd493ca3d66edb2ed99f0 Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 29 Sep 2020 00:53:40 +0100 Subject: [PATCH 172/277] Anycubic Chiron full feature support (#19505) --- Marlin/Configuration_adv.h | 1 + Marlin/src/HAL/AVR/pinsDebug.h | 2 +- Marlin/src/HAL/AVR/pinsDebug_plus_70.h | 9 +- Marlin/src/feature/powerloss.cpp | 12 +- Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp | 530 ++--------- .../lib/anycubic_chiron/FileNavigator.cpp | 162 ++++ .../extui/lib/anycubic_chiron/FileNavigator.h | 56 ++ .../lcd/extui/lib/anycubic_chiron/Tunes.cpp | 62 ++ .../src/lcd/extui/lib/anycubic_chiron/Tunes.h | 224 +++++ .../extui/lib/anycubic_chiron/chiron_tft.cpp | 896 ++++++++++++++++++ .../extui/lib/anycubic_chiron/chiron_tft.h | 77 ++ .../lib/anycubic_chiron/chiron_tft_defs.h | 151 +++ .../anycubic_i3mega/anycubic_i3mega_lcd.cpp | 110 +-- .../lib/anycubic_i3mega/anycubic_i3mega_lcd.h | 6 - Marlin/src/libs/numtostr.cpp | 7 + Marlin/src/libs/numtostr.h | 3 + 16 files changed, 1735 insertions(+), 573 deletions(-) create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.cpp create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.h create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.cpp create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.h create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.cpp create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.h create mode 100644 Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft_defs.h diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a7b6245c2b33..b6ea64c2af50 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1166,6 +1166,7 @@ #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss + //#define POWER_LOSS_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled! //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. //#define POWER_LOSS_STATE HIGH // State of pin indicating power loss diff --git a/Marlin/src/HAL/AVR/pinsDebug.h b/Marlin/src/HAL/AVR/pinsDebug.h index 2cf740a5597a..dac6b1b150bd 100644 --- a/Marlin/src/HAL/AVR/pinsDebug.h +++ b/Marlin/src/HAL/AVR/pinsDebug.h @@ -26,7 +26,7 @@ #define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS -#if MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H) +#if MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H, TRIGORILLA_14) #define AVR_ATmega2560_FAMILY_PLUS_70 1 #endif diff --git a/Marlin/src/HAL/AVR/pinsDebug_plus_70.h b/Marlin/src/HAL/AVR/pinsDebug_plus_70.h index 46c03088d213..db3fdf1f767b 100644 --- a/Marlin/src/HAL/AVR/pinsDebug_plus_70.h +++ b/Marlin/src/HAL/AVR/pinsDebug_plus_70.h @@ -22,15 +22,12 @@ * Structures for 2560 family boards that use more than 70 pins */ -#undef NUM_DIGITAL_PINS -#if MB(BQ_ZUM_MEGA_3D) +#if MB(BQ_ZUM_MEGA_3D, MINIRAMBO, SCOOVO_X9H, TRIGORILLA_14) + #undef NUM_DIGITAL_PINS #define NUM_DIGITAL_PINS 85 #elif MB(MIGHTYBOARD_REVE) + #undef NUM_DIGITAL_PINS #define NUM_DIGITAL_PINS 80 -#elif MB(MINIRAMBO) - #define NUM_DIGITAL_PINS 85 -#elif MB(SCOOVO_X9H) - #define NUM_DIGITAL_PINS 85 #endif #define PA 1 diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index faf6202dbd77..e4bc605bb55f 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -367,7 +367,9 @@ void PrintJobRecovery::resume() { gcode.process_subcommands_now_P(PSTR( "G28R0" // No raise during G28 - TERN_(IS_CARTESIAN, "XY") // Don't home Z on Cartesian + #if IS_CARTESIAN && DISABLED(POWER_LOSS_RECOVER_ZHOME) + "XY" // Don't home Z on Cartesian unless overridden + #endif )); #endif @@ -375,6 +377,12 @@ void PrintJobRecovery::resume() { // Pretend that all axes are homed set_all_homed(); + #if ENABLED(POWER_LOSS_RECOVER_ZHOME) + // Z has been homed so restore Z to ZsavedPos + POWER_LOSS_ZRAISE + sprintf_P(cmd, PSTR("G1 F500 Z%s"), dtostrf(info.current_position.z + POWER_LOSS_ZRAISE, 1, 3, str_1)); + gcode.process_subcommands_now(cmd); + #endif + // Recover volumetric extrusion state #if DISABLED(NO_VOLUMETRICS) #if HAS_MULTI_EXTRUDER @@ -481,7 +489,7 @@ void PrintJobRecovery::resume() { // Move back to the saved Z dtostrf(info.current_position.z, 1, 3, str_1); - #if Z_HOME_DIR > 0 + #if Z_HOME_DIR > 0 || ENABLED(POWER_LOSS_RECOVER_ZHOME) sprintf_P(cmd, PSTR("G1 Z%s F200"), str_1); #else gcode.process_subcommands_now_P(PSTR("G1 Z0 F200")); diff --git a/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp index 4a8095b6e993..a7f9a7a0c3e3 100644 --- a/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp +++ b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp @@ -21,7 +21,7 @@ */ /** - * anycubic_chiron_lcd.cpp + * lcd/extui/anycubic_chiron_lcd.cpp * * Anycubic Chiron TFT support for Marlin */ @@ -31,508 +31,90 @@ #if ENABLED(ANYCUBIC_LCD_CHIRON) #include "ui_api.h" +#include "lib/anycubic_chiron/chiron_tft.h" -#if ENABLED(AUTO_BED_LEVELING_BILINEAR) - #if GRID_MAX_POINTS_X != 5 || GRID_MAX_POINTS_Y != 5 - #error ANYCUBIC CHIRON LCD requires a 5x5 bed leveling grid (GRID_MAX_POINTS_X and GRID_MAX_POINTS_Y) - #endif -#else - #error ANYCUBIC CHIRON LCD requires AUTO_BED_LEVELING_BILINEAR enabled -#endif - -#if DISABLED(FILAMENT_RUNOUT_SENSOR) - #error ANYCUBIC CHIRON LCD requires FILAMENT_RUNOUT_SENSOR enabled -#endif - -#if ENABLED(POWER_LOSS_RECOVERY) - #error ANYCUBIC CHIRON LCD does not currently support POWER_LOSS_RECOVERY -#endif - -static bool is_auto_leveling = false; -static bool is_printing_from_sd = false; -static bool is_out_of_filament = false; - -static void sendNewLine(void) { - LCD_SERIAL.write('\r'); - LCD_SERIAL.write('\n'); -} - -static void send(const char *str) { - LCD_SERIAL.print(str); -} - -static void sendLine(const char *str) { - send(str); - sendNewLine(); -} - -static void send_P(PGM_P str) { - while (const char c = pgm_read_byte(str++)) - LCD_SERIAL.write(c); -} - -static void sendLine_P(PGM_P str) { - send_P(str); - sendNewLine(); -} - -static void sendValue_P(PGM_P prefix, int value) { - send_P(prefix); - LCD_SERIAL.print(value); -} - -static void sendValue_P(PGM_P prefix, float value) { - send_P(prefix); - LCD_SERIAL.print(value); -} - -static void sendValueLine_P(PGM_P prefix, int value) { - send_P(prefix); - LCD_SERIAL.print(value); - sendNewLine(); -} - -static void sendValueLine_P(PGM_P prefix, float value) { - send_P(prefix); - LCD_SERIAL.print(value); - sendNewLine(); -} - -static int parseIntArgument(const char *buffer, char letterId) { - char *p = strchr(buffer, letterId); - if (!p) - return -1; - return atoi(p+1); -} - -static float parseFloatArgument(const char *buffer, char letterId) { - char *p = strchr(buffer, letterId); - if (!p) - return NAN; - return strtof(p+1, nullptr); -} - -static int mmToHundredths(float x) { - // Round - if (x >= 0) - x += 0.005f; - else - x -= 0.005f; - return (int)(x * 100.0f); -} - -static float hundredthsToMm(int x) { - return x / 100.0f; -} - -#define SEND_PGM(str) send_P(PSTR(str)) -#define SENDLINE_PGM(str) sendLine_P(PSTR(str)) -#define SENDVALUE_PGM(prefix, value) sendValue_P(PSTR(prefix), value) -#define SENDVALUELINE_PGM(prefix, value) sendValueLine_P(PSTR(prefix), value) +using namespace Anycubic; namespace ExtUI { - static void moveAxis(float delta, feedRate_t feedrate, axis_t axis) { - float pos = getAxisPosition_mm(axis); - pos += delta; - setAxisPosition_mm(pos, axis, feedrate); - } - - static void handleCmd(const char *rx) { - static FileList fileList; - static char selectedFileShortName[8+1+3+1]; + void onStartup() { Chiron.Startup(); } - if (rx[0] != 'A') { - SERIAL_ECHOPGM("Unexpected RX: "); - SERIAL_ECHOLN(rx); + void onIdle() { Chiron.IdleLoop(); } - return; - } - - const int cmd = atoi(&rx[1]); - - // Uncomment for debugging RX - //if (cmd > 7 && cmd != 20) { - // SERIAL_ECHOPGM("RX: "); - // SERIAL_ECHOLN(rx); - //} - - switch (cmd) { - case 0: // Get Hotend Actual Temperature - SENDVALUELINE_PGM("A0V ", (int)getActualTemp_celsius(E0)); - break; - case 1: // Get Hotend Target Temperature - SENDVALUELINE_PGM("A1V ", (int)getTargetTemp_celsius(E0)); - break; - case 2: // Get Bed Actual Temperature - SENDVALUELINE_PGM("A2V ", (int)getActualTemp_celsius(BED)); - break; - case 3: // Get Bed Target Temperature - SENDVALUELINE_PGM("A3V ", (int)getTargetTemp_celsius(BED)); - break; - case 4: // Get Fan Speed - SENDVALUELINE_PGM("A4V ", (int)getTargetFan_percent(FAN0)); - break; - case 5: // Get Current Coordinates - SENDVALUE_PGM("A5V X: ", getAxisPosition_mm(X)); - SENDVALUE_PGM(" Y: ", getAxisPosition_mm(Y)); - SENDVALUE_PGM(" Z: ", getAxisPosition_mm(Z)); - sendNewLine(); - break; - case 6: // Get SD Card Print Status - if (isPrintingFromMedia()) - SENDVALUELINE_PGM("A6V ", (int)getProgress_percent()); - else - SENDLINE_PGM("A6V ---"); - break; - case 7: // Get Printing Time - if (isPrinting()) { - const int totalMinutes = getProgress_seconds_elapsed() / 60; - SENDVALUE_PGM("A7V ", (int)(totalMinutes/60)); - SENDVALUE_PGM(" H ", (int)(totalMinutes%60)); - SENDLINE_PGM(" M"); - } else { - SENDLINE_PGM("A7V 999:999"); - } - break; - case 8: // Get SD Card File List - if (isMediaInserted()) { - const int startIndex = parseIntArgument(rx, 'S'); - SENDLINE_PGM("FN "); - for (int i = 0, fileIndex = 0, numFiles = 0; i < (int)fileList.count() && numFiles < 4; i++) { - fileList.seek(i); - if (!fileList.isDir()) { - if (fileIndex >= startIndex) { - sendLine(fileList.shortFilename()); - sendLine(fileList.longFilename()); - numFiles++; - } - fileIndex++; - } - } - SENDLINE_PGM("END"); - } else { - SENDLINE_PGM("J02"); - } - break; - case 9: // Pause SD Card Print - if (isPrintingFromMedia()) { - pausePrint(); - is_printing_from_sd = false; - SENDLINE_PGM("J05"); - } else { - SENDLINE_PGM("J16"); // Print stopped - } - break; - case 10: // Resume SD Card Print - if (is_out_of_filament) { - is_out_of_filament = false; - // Filament change did eject the old filament automatically, - // now continue and load the new one - setUserConfirmed(); - SENDLINE_PGM("J04"); // Printing from SD card - } else if (isPrintingFromMediaPaused()) { - resumePrint(); - SENDLINE_PGM("J04"); // Printing from SD card - } - break; - case 11: // Stop SD Card Print - if (isPrintingFromMedia()) { - stopPrint(); - is_printing_from_sd = false; - SENDLINE_PGM("J16"); // Print stopped - } - break; - //case 12: // Kill - // break; - case 13: // Select File - if (!isPrinting()) { - // Store selected file name - char *p = strchr(rx, ' '); - if (p != nullptr && strlen(p+1) < sizeof(selectedFileShortName)) { - strcpy(selectedFileShortName, p+1); - SENDLINE_PGM("J20"); // Open succeeded - } - else - SENDLINE_PGM("J21"); // Open failed - } - break; - case 14: // Start Print - if (!isPrinting() && strcmp(selectedFileShortName, "") != 0) { - printFile(selectedFileShortName); - is_printing_from_sd = true; - SENDLINE_PGM("J04"); // Printing from SD card - } - break; - case 15: // Resume from power outage - // This is not supported, just report print as completed - SENDLINE_PGM("J16"); // Print stopped - break; - case 16: // Set Hotend Target Temperature - { - int temp = parseIntArgument(rx, 'S'); - if (temp >= 0) - setTargetTemp_celsius(temp, E0); - } - break; - case 17: // Set Bed Target Temperature - { - int temp = parseIntArgument(rx, 'S'); - if (temp >= 0) - setTargetTemp_celsius(temp, BED); - } - break; - case 18: // Set Fan Speed - { - int temp = parseIntArgument(rx, 'S'); - if (temp >= 0) - setTargetFan_percent(temp, FAN0); - } - break; - case 19: // Disable Motors - injectCommands_P(PSTR("M84")); - break; - case 20: // Get/Set Printing Speed - { - int newPerc = parseIntArgument(rx, 'S'); - if (newPerc >= 0) - setFeedrate_percent(newPerc); - else - SENDVALUELINE_PGM("A20V ", (int)getFeedrate_percent()); - } - break; - case 21: // Home axes - if (!isPrinting()) { - const bool hasX = strchr(rx, 'X') != nullptr, - hasY = strchr(rx, 'Y') != nullptr, - hasZ = strchr(rx, 'Z') != nullptr, - hasC = strchr(rx, 'C') != nullptr; - if (hasX || hasY || hasZ) { - if (hasX) injectCommands_P(PSTR("G28 X")); - if (hasY) injectCommands_P(PSTR("G28 Y")); - if (hasZ) injectCommands_P(PSTR("G28 Z")); - } else if (hasC) { - injectCommands_P(PSTR("G28")); - } - } - break; - case 22: // Move axes - if (!isPrinting()) { - const int feedrate = parseIntArgument(rx, 'F') / 60; - float delta; - if (!isnan(delta = parseFloatArgument(rx, 'X'))) - moveAxis(delta, feedrate, X); - else if (!isnan(delta = parseFloatArgument(rx, 'Y'))) - moveAxis(delta, feedrate, Y); - else if (!isnan(delta = parseFloatArgument(rx, 'Z'))) - moveAxis(delta, feedrate, Z); - } - break; - case 23: // Preheat PLA - setTargetTemp_celsius(PREHEAT_1_TEMP_HOTEND, E0); - setTargetTemp_celsius(PREHEAT_1_TEMP_BED, BED); - SENDLINE_PGM("OK"); - break; - case 24: // Preheat ABS - setTargetTemp_celsius(PREHEAT_2_TEMP_HOTEND, E0); - setTargetTemp_celsius(PREHEAT_2_TEMP_BED, BED); - SENDLINE_PGM("OK"); - break; - case 25: // Cool down - setTargetTemp_celsius(0, E0); - setTargetTemp_celsius(0, BED); - SENDLINE_PGM("J12"); - break; - case 26: // Refresh SD Card - fileList.refresh(); - break; - //case 27: // Adjust Servo Angles - // break; - //case 28: // Filament Test - // break; - case 29: // Get Bed Autolevel Grid - { - int x = parseIntArgument(rx, 'X'), - y = parseIntArgument(rx, 'Y'); - if (x != -1 && y != -1) { - xy_uint8_t coord; - coord.set(x, y); - const int value = mmToHundredths(getMeshPoint(coord)); - SENDVALUELINE_PGM("A29V ", value); - } - } - break; - case 30: // Autolevel - if (strchr(rx, 'S')) { // Autoleveling started by clicking "PROBE" and then "OK" - // Note: - // We check for completion by monitoring the command queue. - // Since it will become empty *while* processing the last injected command, - // we enqueue an extra 10ms delay so we can the determine when all the others - // have completed. - if (isMachineHomed()) - injectCommands_P(PSTR("G29\nG4 P10")); - else - injectCommands_P(PSTR("G28\nG29\nG4 P10")); - is_auto_leveling = true; - } else { // Entering Autoleveling screen - if (isPrinting()) - SENDLINE_PGM("J24"); // Disallow autoleveling - else - SENDLINE_PGM("J26"); // Allow autoleveling - } - break; - case 31: // Set Bed Autolevel Z offset - if (strchr(rx, 'G')) { // Get - SENDVALUELINE_PGM("A31V ", getZOffset_mm()); - } else if (strchr(rx, 'S')) { // Set - float delta = parseFloatArgument(rx, 'S'); - delta = constrain(delta, -1.0, 1.0); - setZOffset_mm(getZOffset_mm() + delta); - - SENDVALUELINE_PGM("A31V ", getZOffset_mm()); - } else if (strchr(rx, 'D')) { // Save - injectCommands_P(PSTR("M500")); - } - break; - //case 32: // ? - // break; - case 33: // Get Version Info - SENDLINE_PGM("J33 " SHORT_BUILD_VERSION); - break; - case 34: // Set Bed Autolevel Grid - { - int x = parseIntArgument(rx, 'X'), - y = parseIntArgument(rx, 'Y'), - v = parseIntArgument(rx, 'V'); - if (x != -1 && y != -1 && v != -1) { // Set new value - float value = hundredthsToMm(v); - value = constrain(value, -10, 10); - - xy_uint8_t coord; - coord.set(x, y); - setMeshPoint(coord, value); - } else if (strchr(rx, 'S')) { // Save (apply new values) - injectCommands_P(PSTR("M500")); - } else if (strchr(rx, 'C')) { // Cancel (discard new values) - injectCommands_P(PSTR("M501")); - } - } - break; - } + void onPrinterKilled(PGM_P const error, PGM_P const component) { + Chiron.PrinterKilled(error,component); } - #define RX_LEN_MAX 63 - static void parseSerialRx() { - static char rxBuffer[RX_LEN_MAX+1]; - static uint8_t rxLen = 0; + void onMediaInserted() { Chiron.MediaEvent(AC_media_inserted); } + void onMediaError() { Chiron.MediaEvent(AC_media_error); } + void onMediaRemoved() { Chiron.MediaEvent(AC_media_removed); } - while (LCD_SERIAL.available()) { - const char c = LCD_SERIAL.read(); - switch (c) { - case '\r': case '\n': - if (rxLen > 0 && rxLen <= RX_LEN_MAX) { - rxBuffer[rxLen] = '\0'; // Terminate string - handleCmd(rxBuffer); - } - rxLen = 0; - break; - default: - if (rxLen < RX_LEN_MAX) - rxBuffer[rxLen++] = c; - else { - rxLen = 0xFF; // Overrun - SERIAL_ECHOPGM("Warning: dropping long received line"); - } - break; - } - } - } - - static void detectPrintFromSdCompletion() { - // Note: printFile() queues some commands that actually start the print, so isPrintingFromMedia() - // initially returns false - if (is_printing_from_sd && !commandsInQueue() && !isPrintingFromMedia()) { - is_printing_from_sd = false; - SENDLINE_PGM("J14"); // Print done - } - } - - static void detectAutolevelingCompletion() { - if (is_auto_leveling && !commandsInQueue()) { - is_auto_leveling = false; - injectCommands_P(PSTR("M500")); - SENDLINE_PGM("J25"); // Autoleveling done - } - } - - void onStartup() { - #ifndef LCD_BAUDRATE - #define LCD_BAUDRATE 115200 + void onPlayTone(const uint16_t frequency, const uint16_t duration) { + #if ENABLED(SPEAKER) + ::tone(BEEPER_PIN, frequency, duration); #endif - LCD_SERIAL.begin(LCD_BAUDRATE); - sendNewLine(); - SENDLINE_PGM("J17"); // Reset - delay_ms(10); - SENDLINE_PGM("J12"); // Ready } - void onIdle() { - parseSerialRx(); - detectAutolevelingCompletion(); - detectPrintFromSdCompletion(); - } + void onPrintTimerStarted() { Chiron.TimerEvent(AC_timer_started); } + void onPrintTimerPaused() { Chiron.TimerEvent(AC_timer_paused); } + void onPrintTimerStopped() { Chiron.TimerEvent(AC_timer_stopped); } + void onFilamentRunout(const extruder_t) { Chiron.FilamentRunout(); } + void onUserConfirmRequired(const char * const msg) { Chiron.ConfirmationRequest(msg); } + void onStatusChanged(const char * const msg) { Chiron.StatusChange(msg); } + + void onFactoryReset() {} - void onPrinterKilled(PGM_P const error, PGM_P const component) { } + void onStoreSettings(char *buff) { + // Called when saving to EEPROM (i.e. M500). If the ExtUI needs + // permanent data to be stored, it can write up to eeprom_data_size bytes + // into buff. - void onMediaInserted() { - SENDLINE_PGM("J00"); // SD Inserted + // Example: + // static_assert(sizeof(myDataStruct) <= ExtUI::eeprom_data_size); + // memcpy(buff, &myDataStruct, sizeof(myDataStruct)); } - void onMediaError() { } + void onLoadSettings(const char *buff) { + // Called while loading settings from EEPROM. If the ExtUI + // needs to retrieve data, it should copy up to eeprom_data_size bytes + // from buff - void onMediaRemoved() { - SENDLINE_PGM("J01"); // SD Removed + // Example: + // static_assert(sizeof(myDataStruct) <= ExtUI::eeprom_data_size); + // memcpy(&myDataStruct, buff, sizeof(myDataStruct)); } - void onPlayTone(const uint16_t frequency, const uint16_t duration) { - tone(BEEPER_PIN, frequency, duration); + void onConfigurationStoreWritten(bool success) { + // Called after the entire EEPROM has been written, + // whether successful or not. } - void onPrintTimerStarted() { } - - void onPrintTimerPaused() { } - - void onPrintTimerStopped() { } - - void onFilamentRunout(const extruder_t extruder) { - is_out_of_filament = true; - SENDLINE_PGM("J23"); // Filament runout - SENDLINE_PGM("J18"); // Print paused - // Note: printer will unload filament automatically + void onConfigurationStoreRead(bool success) { + // Called after the entire EEPROM has been read, + // whether successful or not. } - void onUserConfirmRequired(const char * const msg) { } - - void onStatusChanged(const char * const msg) { } - - void onFactoryReset() { } - - void onStoreSettings(char *buff) { } - - void onLoadSettings(const char *buff) { } - - void onConfigurationStoreWritten(bool success) { } - - void onConfigurationStoreRead(bool success) { } + #if HAS_MESH + void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval) { + // Called when any mesh points are updated + //SERIAL_ECHOLNPAIR("onMeshUpdate() x:", xpos, " y:", ypos, " z:", zval); + } - void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval) { } + void onMeshUpdate(const int8_t xpos, const int8_t ypos, const ExtUI::probe_state_t state) { + // Called to indicate a special condition + //SERIAL_ECHOLNPAIR("onMeshUpdate() x:", xpos, " y:", ypos, " state:", state); + } + #endif #if ENABLED(POWER_LOSS_RECOVERY) - void onPowerLossResume() { } + // Called on resume from power-loss + void onPowerLossResume() { Chiron.PowerLossRecovery(); } #endif #if HAS_PID_HEATING - void onPidTuning(const result_t rst) { } + void onPidTuning(const result_t rst) { + // Called for temperature PID tuning result + } #endif } diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.cpp b/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.cpp new file mode 100644 index 000000000000..fb4c84abb485 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.cpp @@ -0,0 +1,162 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * lcd/extui/lib/FileNavigator.cpp + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +/*************************************************************************** + * The AC panel wants files in block of 4 and can only display a flat list * + * This library allows full folder traversal. * + ***************************************************************************/ + +#include "../../../../inc/MarlinConfigPre.h" + +#if ENABLED(ANYCUBIC_LCD_CHIRON) + +#include "FileNavigator.h" +#include "chiron_tft.h" + +using namespace ExtUI; + +namespace Anycubic { + + FileList FileNavigator::filelist; // Instance of the Marlin file API + char FileNavigator::currentfoldername[MAX_PATH_LEN]; // Current folder path + uint16_t FileNavigator::lastindex; + uint8_t FileNavigator::folderdepth; + uint16_t FileNavigator::currentindex; // override the panel request + + FileNavigator::FileNavigator() { reset(); } + + void FileNavigator::reset() { + currentfoldername[0] = '\0'; + folderdepth = 0; + currentindex = 0; + lastindex = 0; + // Start at root folder + while (!filelist.isAtRootDir()) filelist.upDir(); + refresh(); + } + + void FileNavigator::refresh() { filelist.refresh(); } + + void FileNavigator::getFiles(uint16_t index) { + uint8_t files = 4; + if (index == 0) currentindex = 0; + + // Each time we change folder we reset the file index to 0 and keep track + // of the current position as the TFT panel isnt aware of folders trees. + if (index > 0) { + --currentindex; // go back a file to take account off the .. we added to the root. + if (index > lastindex) + currentindex += files; + else + currentindex = currentindex < 4 ? 0 : currentindex - files; + } + lastindex = index; + + #if ACDEBUG(AC_FILE) + SERIAL_ECHOLNPAIR("index=", index, " currentindex=", currentindex); + #endif + + if (currentindex == 0 && folderdepth > 0) { // Add a link to go up a folder + TFTSer.println("<<"); + TFTSer.println(".."); + files--; + } + + for (uint16_t seek = currentindex; seek < currentindex + files; seek++) { + if (filelist.seek(seek)) { + sendFile(); + #if ACDEBUG(AC_FILE) + SERIAL_ECHOLNPAIR("-", seek, " '", filelist.longFilename(), "' '", currentfoldername, "", filelist.shortFilename(), "'\n"); + #endif + } + } + } + + void FileNavigator::sendFile() { + // send the file and folder info to the panel + // this info will be returned when the file is selected + // Permitted special characters in file name -_*#~ + // Panel can display 22 characters per line + if (filelist.isDir()) { + //TFTSer.print(currentfoldername); + TFTSer.println(filelist.shortFilename()); + TFTSer.print(filelist.shortFilename()); + TFTSer.println("/"); + } + else { + // Logical Name + TFTSer.print("/"); + if (folderdepth > 0) TFTSer.print(currentfoldername); + + TFTSer.println(filelist.shortFilename()); + + // Display Name + TFTSer.println(filelist.longFilename()); + } + } + void FileNavigator::changeDIR(char *folder) { + #if ACDEBUG(AC_FILE) + SERIAL_ECHOLNPAIR("currentfolder: ", currentfoldername, " New: ", folder); + #endif + if (folderdepth >= MAX_FOLDER_DEPTH) return; // limit the folder depth + strcat(currentfoldername, folder); + strcat(currentfoldername, "/"); + filelist.changeDir(folder); + refresh(); + folderdepth++; + currentindex = 0; + } + + void FileNavigator::upDIR() { + filelist.upDir(); + refresh(); + folderdepth--; + currentindex = 0; + // Remove the last child folder from the stored path + if (folderdepth == 0) { + currentfoldername[0] = '\0'; + reset(); + } + else { + char *pos = nullptr; + for (uint8_t f = 0; f < folderdepth; f++) + pos = strchr(currentfoldername, '/'); + + *(pos + 1) = '\0'; + } + #if ACDEBUG(AC_FILE) + SERIAL_ECHOLNPAIR("depth: ", folderdepth, " currentfoldername: ", currentfoldername); + #endif + } + + char* FileNavigator::getCurrentFolderName() { return currentfoldername; } +} + +#endif // ANYCUBIC_LCD_CHIRON diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.h b/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.h new file mode 100644 index 000000000000..8e03614a4649 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/FileNavigator.h @@ -0,0 +1,56 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * lcd/extui/lib/FileNavigator.h + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +#include "chiron_tft_defs.h" +#include "../../ui_api.h" + +using namespace ExtUI; + +namespace Anycubic { + class FileNavigator { + public: + FileNavigator(); + void reset(); + void getFiles(uint16_t); + void upDIR(); + void changeDIR(char *); + void sendFile(); + void refresh(); + char * getCurrentFolderName(); + private: + static FileList filelist; + static char currentfoldername[MAX_PATH_LEN]; + static uint16_t lastindex; + static uint8_t folderdepth; + static uint16_t currentindex; + }; + extern FileNavigator filenavigator; +} diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.cpp b/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.cpp new file mode 100644 index 000000000000..f09c4db3f283 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * lcd/extui/lib/Tunes.cpp + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +/*********************************************************************** + * A Utility to play tunes using the buzzer in the printer controller. * + * See Tunes.h for note and tune definitions. * + ***********************************************************************/ + +#include "../../../../inc/MarlinConfigPre.h" + +#if ENABLED(ANYCUBIC_LCD_CHIRON) + +#include "Tunes.h" +#include "../../ui_api.h" + +namespace Anycubic { + + void PlayTune(uint8_t beeperPin, const uint16_t *tune, uint8_t speed=1) { + uint8_t pos = 1; + uint16_t wholenotelen = tune[0] / speed; + do { + uint16_t freq = tune[pos]; + uint16_t notelen = wholenotelen / tune[pos + 1]; + + ::tone(beeperPin, freq, notelen); + ExtUI::delay_ms(notelen); + pos += 2; + + if (pos >= MAX_TUNE_LENGTH) break; + } while (tune[pos] != n_END); + } + +} + +#endif // ANYCUBIC_LCD_CHIRON diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.h b/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.h new file mode 100644 index 000000000000..1bafec43adf3 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/Tunes.h @@ -0,0 +1,224 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * lcd/extui/lib/Tunes.h + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +/************************************************************************** + * Notes definition from https://pages.mtu.edu/~suits/NoteFreqCalcs.html * + * * + * The format of a tune is: * + * {,,, ,, ... } * + * * + * 1) The first value is the length of a whole note in milliseconds * + * 2) Then a sequence of pitch and duration pairs * + * 3) Finally the END marker so your tunes can be any length up to * + * MAX_TUNE_LEN * + *************************************************************************/ + +#include + +#define MAX_TUNE_LENGTH 128 + +// Special notes! +#define n_P 0 // silence or pause +#define n_END 10000 // end of tune marker + +// Note duration divisors +#define l_T1 1 +#define l_T2 2 +#define l_T3 3 +#define l_T4 4 +#define l_T8 8 +#define l_T16 16 + +// Note Frequency +#define n_C0 16 +#define n_CS0 17 +#define n_D0 18 +#define n_DS0 19 +#define n_E0 21 +#define n_F0 22 +#define n_FS0 23 +#define n_G0 25 +#define n_GS0 26 +#define n_A0 28 +#define n_AS0 29 +#define n_B0 31 +#define n_C1 33 +#define n_CS1 35 +#define n_D1 37 +#define n_DS1 39 +#define n_E1 41 +#define n_F1 44 +#define n_FS1 46 +#define n_G1 49 +#define n_GS1 52 +#define n_A1 55 +#define n_AS1 58 +#define n_B1 62 +#define n_C2 65 +#define n_CS2 69 +#define n_D2 73 +#define n_DS2 78 +#define n_E2 82 +#define n_F2 87 +#define n_FS2 93 +#define n_G2 98 +#define n_GS2 104 +#define n_A2 110 +#define n_AS2 117 +#define n_B2 123 +#define n_C3 131 +#define n_CS3 139 +#define n_D3 147 +#define n_DS3 156 +#define n_E3 165 +#define n_F3 175 +#define n_FS3 185 +#define n_G3 196 +#define n_GS3 208 +#define n_A3 220 +#define n_AS3 233 +#define n_B3 247 +#define n_C4 262 +#define n_CS4 277 +#define n_D4 294 +#define n_DS4 311 +#define n_E4 330 +#define n_F4 349 +#define n_FS4 370 +#define n_G4 392 +#define n_GS4 415 +#define n_A4 440 +#define n_AS4 466 +#define n_B4 494 +#define n_C5 523 +#define n_CS5 554 +#define n_D5 587 +#define n_DS5 622 +#define n_E5 659 +#define n_F5 698 +#define n_FS5 740 +#define n_G5 784 +#define n_GS5 831 +#define n_A5 880 +#define n_AS5 932 +#define n_B5 988 +#define n_C6 1047 +#define n_CS6 1109 +#define n_D6 1175 +#define n_DS6 1245 +#define n_E6 1319 +#define n_F6 1397 +#define n_FS6 1480 +#define n_G6 1568 +#define n_GS6 1661 +#define n_A6 1760 +#define n_AS6 1865 +#define n_B6 1976 +#define n_C7 2093 +#define n_CS7 2217 +#define n_D7 2349 +#define n_DS7 2489 +#define n_E7 2637 +#define n_F7 2794 +#define n_FS7 2960 +#define n_G7 3136 +#define n_GS7 3322 +#define n_A7 3520 +#define n_AS7 3729 +#define n_B7 3951 +#define n_C8 4186 +#define n_CS8 4435 +#define n_D8 4699 +#define n_DS8 4978 +#define n_E8 5274 +#define n_F8 5587 +#define n_FS8 5920 +#define n_G8 6272 +#define n_GS8 6645 +#define n_A8 7040 +#define n_AS8 7459 +#define n_B8 7902 + +namespace Anycubic { + + void PlayTune(uint8_t beeperPin, const uint16_t *tune, uint8_t speed); + + // Only uncomment the tunes you are using to save memory + // This will help you write tunes! + // https://www.apronus.com/music/flashpiano.htm + + const uint16_t SOS[] = { + 250, + n_G6,l_T3, n_P,l_T3, n_G6,l_T3, n_P,l_T3, n_G6,l_T3, n_P,l_T1, + n_G6,l_T1, n_P,l_T3, n_G6,l_T1, n_P,l_T3, n_G6,l_T1, n_P,l_T1, + n_G6,l_T3, n_P,l_T3, n_G6,l_T3, n_P,l_T3, n_G6,l_T3, n_P,l_T1, + n_END + }; + + const uint16_t BeepBeep[] = { + 500, + n_C7,l_T8, n_P,l_T16, n_C7,l_T8, n_P,l_T8, + n_END + }; + + const uint16_t BeepBeepBeeep[] = { + 1000, + n_G7,l_T4, n_P,l_T16, n_G7,l_T4, n_P,l_T8, n_G7,l_T2, + n_END + }; + + const uint16_t Anycubic_PowerOn[] = { + 1000, + n_F7,l_T8, n_P,l_T8, n_C7,l_T8, n_P,l_T8, n_D7,l_T8, n_P,l_T8, + n_E7,l_T8, n_P,l_T8, n_D7,l_T4, n_P,l_T4, n_G7,l_T4, n_P,l_T4, + n_A7,l_T2, n_P,l_T1, + n_END + }; + + const uint16_t GB_PowerOn[] = { + 500, + n_C6,l_T4, n_P,l_T16, n_C7,l_T2, n_P,l_T8, + n_END + }; + + const uint16_t Heater_Timedout[] = { + 1000, + n_C6,l_T1, + n_END + }; + + const uint16_t FilamentOut[] = { + 1000, + n_AS7,l_T4, n_P,l_T16, n_FS7,l_T2, + n_END + }; + +} diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.cpp b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.cpp new file mode 100644 index 000000000000..5e492573e70a --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.cpp @@ -0,0 +1,896 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * lcd/extui/lib/chiron_tft.cpp + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +#include "../../../../inc/MarlinConfigPre.h" + +#if ENABLED(ANYCUBIC_LCD_CHIRON) + +#include "chiron_tft.h" +#include "Tunes.h" +#include "FileNavigator.h" + +#include "../../../../gcode/queue.h" +#include "../../../../sd/cardreader.h" +#include "../../../../libs/numtostr.h" +#include "../../../../MarlinCore.h" +namespace Anycubic { + + printer_state_t ChironTFT::printer_state; + paused_state_t ChironTFT::pause_state; + heater_state_t ChironTFT::hotend_state; + heater_state_t ChironTFT::hotbed_state; + xy_uint8_t ChironTFT::selectedmeshpoint; + char ChironTFT::selectedfile[MAX_PATH_LEN]; + char ChironTFT::panel_command[MAX_CMND_LEN]; + uint8_t ChironTFT::command_len; + float ChironTFT::live_Zoffset; + file_menu_t ChironTFT::file_menu; + + ChironTFT::ChironTFT(){} + + void ChironTFT::Startup() { + selectedfile[0] = '\0'; + panel_command[0] = '\0'; + command_len = 0; + printer_state = AC_printer_idle; + pause_state = AC_paused_idle; + hotend_state = AC_heater_off; + hotbed_state = AC_heater_off; + live_Zoffset = 0.0; + file_menu = AC_menu_file; + + // Setup pins for powerloss detection + // Two IO pins are connected on the Trigorilla Board + // On a power interruption the OUTAGECON_PIN goes low. + + #if ENABLED(POWER_LOSS_RECOVERY) + OUT_WRITE(OUTAGECON_PIN, HIGH); + #endif + + // Filament runout is handled by Marlin settings in Configuration.h + // set FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present. + // enable FIL_RUNOUT_PULLUP + + TFTSer.begin(115200); + + // Signal Board has reset + SendtoTFTLN(AC_msg_main_board_has_reset); + + safe_delay(200); + + // Enable levelling and Disable end stops during print + // as Z home places nozzle above the bed so we need to allow it past the end stops + injectCommands_P(AC_cmnd_enable_levelling); //M211 S0\n")); + + // Startup tunes are defined in Tunes.h + //PlayTune(BEEPER_PIN, Anycubic_PowerOn, 1); + PlayTune(BEEPER_PIN, GB_PowerOn, 1); + #if ACDEBUGLEVEL + SERIAL_ECHOLNPAIR("AC Debug Level ", ACDEBUGLEVEL); + #endif + SendtoTFTLN(AC_msg_ready); + } + + void ChironTFT::IdleLoop() { + if (ReadTFTCommand()) { + ProcessPanelRequest(); + command_len = 0; + } + CheckHeaters(); + } + + void ChironTFT::PrinterKilled(PGM_P error,PGM_P component) { + SendtoTFTLN(AC_msg_kill_lcd); + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("PrinterKilled()\nerror: ", error , "\ncomponent: ", component); + #endif + } + + void ChironTFT::MediaEvent(media_event_t event) { + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("ProcessMediaStatus() ", event); + #endif + switch (event) { + case AC_media_inserted: + SendtoTFTLN(AC_msg_sd_card_inserted); + break; + + case AC_media_removed: + SendtoTFTLN(AC_msg_sd_card_removed); + break; + + case AC_media_error: + SendtoTFTLN(AC_msg_no_sd_card); + break; + } + } + + void ChironTFT::TimerEvent(timer_event_t event) { + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("TimerEvent() ", event); + SERIAL_ECHOLNPAIR("Printer State: ", printer_state); + #endif + + switch (event) { + case AC_timer_started: { + live_Zoffset = 0.0; // reset print offset + setSoftEndstopState(false); // disable endstops to print + printer_state = AC_printer_printing; + SendtoTFTLN(AC_msg_print_from_sd_card); + } break; + + case AC_timer_paused: { + printer_state = AC_printer_paused; + pause_state = AC_paused_idle; + SendtoTFTLN(AC_msg_paused); + } break; + + case AC_timer_stopped: { + if (printer_state != AC_printer_idle) { + printer_state = AC_printer_stopping; + SendtoTFTLN(AC_msg_print_complete); + } + setSoftEndstopState(true); // enable endstops + } break; + } + } + + void ChironTFT::FilamentRunout() { + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("FilamentRunout() printer_state ", printer_state); + #endif + // 1 Signal filament out + SendtoTFTLN(isPrintingFromMedia() ? AC_msg_filament_out_alert : AC_msg_filament_out_block); + //printer_state = AC_printer_filament_out; + PlayTune(BEEPER_PIN, FilamentOut, 1); + } + + void ChironTFT::ConfirmationRequest(const char * const msg) { + // M108 continue + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("ConfirmationRequest() ", msg, " printer_state:", printer_state); + #endif + switch (printer_state) { + case AC_printer_pausing: { + if ( (strcmp_P(msg, MARLIN_msg_print_paused) == 0 ) || (strcmp_P(msg, MARLIN_msg_nozzle_parked) == 0 ) ) { + SendtoTFTLN(AC_msg_paused); // enable continue button + printer_state = AC_printer_paused; + } + } break; + + case AC_printer_resuming_from_power_outage: + case AC_printer_printing: + case AC_printer_paused: { + // Heater timout, send acknowledgement + if (strcmp_P(msg, MARLIN_msg_heater_timeout) == 0 ) { + pause_state = AC_paused_heater_timed_out; + SendtoTFTLN(AC_msg_paused); // enable continue button + PlayTune(BEEPER_PIN,Heater_Timedout,1); + } + // Reheat finished, send acknowledgement + else if (strcmp_P(msg, MARLIN_msg_reheat_done) == 0 ) { + pause_state = AC_paused_idle; + SendtoTFTLN(AC_msg_paused); // enable continue button + } + // Filament Purging, send acknowledgement enter run mode + else if (strcmp_P(msg, MARLIN_msg_filament_purging) == 0 ) { + pause_state = AC_paused_purging_filament; + SendtoTFTLN(AC_msg_paused); // enable continue button + } + } break; + default: + break; + } + } + + void ChironTFT::StatusChange(const char * const msg) { + #if ACDEBUG(AC_MARLIN) + SERIAL_ECHOLNPAIR("StatusChange() ", msg); + SERIAL_ECHOLNPAIR("printer_state:", printer_state); + #endif + bool msg_matched = false; + // The only way to get printer status is to parse messages + // Use the state to minimise the work we do here. + switch (printer_state) { + case AC_printer_probing: { + // If probing completes ok save the mesh and park + if (strcmp_P(msg, MARLIN_msg_ready) == 0 ) { + injectCommands_P(PSTR("M500\nG27")); + SendtoTFTLN(AC_msg_probing_complete); + printer_state = AC_printer_idle; + msg_matched = true; + } + // If probing fails dont save the mesh raise the probe above the bad point + if (strcmp_P(msg, MARLIN_msg_probing_failed) == 0 ) { + PlayTune(BEEPER_PIN, BeepBeepBeeep, 1); + injectCommands_P(PSTR("G1 Z50 F500")); + SendtoTFTLN(AC_msg_probing_complete); + printer_state = AC_printer_idle; + msg_matched = true; + } + } break; + + case AC_printer_printing: { + if (strcmp_P(msg, MARLIN_msg_reheating) == 0 ) { + SendtoTFTLN(AC_msg_paused); // enable continue button + msg_matched = true; + } + } break; + + case AC_printer_pausing: { + if (strcmp_P(msg, MARLIN_msg_print_paused) == 0 ) { + SendtoTFTLN(AC_msg_paused); + printer_state = AC_printer_paused; + pause_state = AC_paused_idle; + msg_matched = true; + } + } break; + + case AC_printer_stopping: { + if (strcmp_P(msg, MARLIN_msg_print_aborted) == 0 ) { + SendtoTFTLN(AC_msg_stop); + printer_state = AC_printer_idle; + msg_matched = true; + } + } break; + default: + break; + } + + // If not matched earlier see if this was a heater message + if (!msg_matched) { + if (strcmp_P(msg, MARLIN_msg_extruder_heating) == 0) { + SendtoTFTLN(AC_msg_nozzle_heating); + hotend_state = AC_heater_temp_set; + } + else if (strcmp_P(msg, MARLIN_msg_bed_heating) == 0) { + SendtoTFTLN(AC_msg_bed_heating); + hotbed_state = AC_heater_temp_set; + } + } + } + + void ChironTFT::PowerLossRecovery() { + printer_state = AC_printer_resuming_from_power_outage; // Play tune to notify user we can recover. + PlayTune(BEEPER_PIN, SOS, 1); + SERIAL_ECHOLNPGM("Resuming from power outage..."); + SERIAL_ECHOLNPGM("Select SD file then press resume"); + } + + void ChironTFT::SendtoTFT(PGM_P str) { // A helper to print PROGMEN string to the panel + #if ACDEBUG(AC_SOME) + serialprintPGM(str); + #endif + while (const char c = pgm_read_byte(str++)) TFTSer.print(c); + } + + void ChironTFT::SendtoTFTLN(PGM_P str = nullptr) { + if (str != nullptr) { + #if ACDEBUG(AC_SOME) + SERIAL_ECHO("> "); + #endif + SendtoTFT(str); + #if ACDEBUG(AC_SOME) + SERIAL_EOL(); + #endif + } + TFTSer.println(""); + } + + bool ChironTFT::ReadTFTCommand() { + bool command_ready = false; + while( (TFTSer.available() > 0) && (command_len < MAX_CMND_LEN) ) { + panel_command[command_len] = TFTSer.read(); + if(panel_command[command_len] == '\n') { + command_ready = true; + break; + } + command_len++; + } + + if(command_ready) { + panel_command[command_len] = 0x00; + #if ACDEBUG(AC_ALL) + SERIAL_ECHOLNPAIR("< ", panel_command); + #endif + #if ACDEBUG(AC_SOME) + // Ignore status request commands + uint8_t req = atoi(&panel_command[1]); + if (req > 7 && req != 20) { + SERIAL_ECHOLNPAIR("> ", panel_command); + SERIAL_ECHOLNPAIR("printer_state:", printer_state); + } + #endif + } + return command_ready; + } + + int8_t ChironTFT::Findcmndpos(const char * buff, char q) { + bool found = false; + int8_t pos = 0; + do { + if (buff[pos] == q) { + found = true; + break; + } + pos ++; + } while(pos < MAX_CMND_LEN); + if (found) return pos; + return -1; + } + + void ChironTFT::CheckHeaters() { + uint8_t faultDuration = 0; float temp = 0; + + // if the hotend temp is abnormal, confirm state before signalling panel + temp = getActualTemp_celsius(E0); + if ( (temp <= HEATER_0_MINTEMP) || (temp >= HEATER_0_MAXTEMP) ) { + do { + faultDuration ++; + if (faultDuration >= AC_HEATER_FAULT_VALIDATION_TIME) { + SendtoTFTLN(AC_msg_nozzle_temp_abnormal); + SERIAL_ECHOLNPAIR("Extruder temp abnormal! : ", temp); + break; + } + delay_ms(500); + temp = getActualTemp_celsius(E0); + } while ((temp <= HEATER_0_MINTEMP) || (temp >= HEATER_0_MAXTEMP) ); + } + + // if the hotbed temp is abnormal, confirm state before signalling panel + faultDuration = 0; + temp = getActualTemp_celsius(BED); + if ( (temp <= BED_MINTEMP) || (temp >= BED_MAXTEMP) ) { + do { + faultDuration ++; + if (faultDuration >= AC_HEATER_FAULT_VALIDATION_TIME) { + SendtoTFTLN(AC_msg_nozzle_temp_abnormal); + SERIAL_ECHOLNPAIR_P("Bed temp abnormal! : ", temp); + break; + } + delay_ms(500); + temp = getActualTemp_celsius(E0); + } while ((temp <= BED_MINTEMP) || (temp >= BED_MAXTEMP) ); + } + + // Update panel with hotend heater status + if (hotend_state != AC_heater_temp_reached) { + if ( WITHIN( getActualTemp_celsius(E0) - getTargetTemp_celsius(E0), -1, 1 ) ) { + SendtoTFTLN(AC_msg_nozzle_heating_done); + hotend_state = AC_heater_temp_reached; + } + } + + // Update panel with bed heater status + if (hotbed_state != AC_heater_temp_reached) { + if ( WITHIN( getActualTemp_celsius(BED) - getTargetTemp_celsius(BED), -0.5, 0.5 ) ) { + SendtoTFTLN(AC_msg_bed_heating_done); + hotbed_state = AC_heater_temp_reached; + } + } + } + + void ChironTFT::SendFileList(int8_t startindex) { + // respond to panel request for 4 files starting at index + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("## SendFileList ## ", startindex); + #endif + SendtoTFTLN(PSTR("FN ")); + filenavigator.getFiles(startindex); + SendtoTFTLN(PSTR("END")); + } + + void ChironTFT::SelectFile() { + strncpy(selectedfile,panel_command+4,command_len-4); + selectedfile[command_len-5] = '\0'; + #if ACDEBUG(AC_FILE) + SERIAL_ECHOLNPAIR_F(" Selected File: ",selectedfile); + #endif + switch (selectedfile[0]) { + case '/': // Valid file selected + SendtoTFTLN(AC_msg_sd_file_open_success); + break; + + case '<': // .. (go up folder level) + filenavigator.upDIR(); + SendtoTFTLN(AC_msg_sd_file_open_failed); + SendFileList( 0 ); + break; + default: // enter sub folder + filenavigator.changeDIR(selectedfile); + SendtoTFTLN(AC_msg_sd_file_open_failed); + SendFileList( 0 ); + break; + } + } + + void ChironTFT::InjectCommandandWait(PGM_P cmd) { + //injectCommands_P(cmnd); queue.enqueue_now_P(cmd); + //SERIAL_ECHOLN(PSTR("Inject>")); + } + + void ChironTFT::ProcessPanelRequest() { + // Break these up into logical blocks // as its easier to navigate than one huge switch case! + int8_t req = atoi(&panel_command[1]); + + // Information requests A0 - A8 and A33 + if (req <= 8 || req == 33) PanelInfo(req); + + // Simple Actions A9 - A28 + else if ( req <= 28) PanelAction(req); + + // Process Initiation + else if (req <= 34) PanelProcess(req); + + else SendtoTFTLN(); + } + + void ChironTFT::PanelInfo(uint8_t req) { + // information requests A0-A8 and A33 + switch (req) { + case 0: // A0 Get HOTEND Temp + SendtoTFT(PSTR("A0V ")); + TFTSer.println(getActualTemp_celsius(E0)); + break; + + case 1: // A1 Get HOTEND Target Temp + SendtoTFT(PSTR("A1V ")); + TFTSer.println(getTargetTemp_celsius(E0)); + break; + + case 2: // A2 Get BED Temp + SendtoTFT(PSTR("A2V ")); + TFTSer.println(getActualTemp_celsius(BED)); + break; + + case 3: // A3 Get BED Target Temp + SendtoTFT(PSTR("A3V ")); + TFTSer.println(getTargetTemp_celsius(BED)); + break; + + case 4: // A4 Get FAN Speed + SendtoTFT(PSTR("A4V ")); + TFTSer.println(getActualFan_percent(FAN0)); + break; + + case 5: // A5 Get Current Coordinates + SendtoTFT(PSTR("A5V X: ")); + TFTSer.print(getAxisPosition_mm(X)); + SendtoTFT(PSTR(" Y: ")); + TFTSer.print(getAxisPosition_mm(Y)); + SendtoTFT(PSTR(" Z: ")); + TFTSer.println(getAxisPosition_mm(Z)); + break; + + case 6: // A6 Get printing progress + if (isPrintingFromMedia()) { + SendtoTFT(PSTR("A6V ")); + TFTSer.println(ui8tostr2(getProgress_percent())); + + } + else + SendtoTFTLN(PSTR("A6V ---")); + break; + + case 7: { // A7 Get Printing Time + uint32_t time = getProgress_seconds_elapsed() / 60; + SendtoTFT(PSTR("A7V ")); + TFTSer.print(ui8tostr2(time / 60)); + SendtoTFT(PSTR(" H ")); + TFTSer.print(ui8tostr2(time % 60)); + SendtoTFT(PSTR(" M")); + #if ACDEBUG(AC_ALL) + SERIAL_ECHOLNPAIR("Print time ", ui8tostr2(time / 60), ":", ui8tostr2(time % 60)); + #endif + } break; + + case 8: // A8 Get SD Card list A8 S0 + if (!isMediaInserted()) safe_delay(500); + if (!isMediaInserted()) // Make sure the card is removed + SendtoTFTLN(AC_msg_no_sd_card); + else if (panel_command[3] == 'S') + SendFileList( atoi( &panel_command[4] ) ); + break; + + case 33: // A33 Get firmware info + SendtoTFT(PSTR("J33 ")); + SendtoTFTLN(PSTR(SHORT_BUILD_VERSION)); + break; + } + } + + void ChironTFT::PanelAction(uint8_t req) { + switch (req) { + case 9: // A9 Pause SD print + if (isPrintingFromMedia()) { + SendtoTFTLN(AC_msg_pause); + pausePrint(); + printer_state = AC_printer_pausing; + } + else + SendtoTFTLN(AC_msg_stop); + break; + + case 10: // A10 Resume SD Print + if (pause_state == AC_paused_idle || printer_state == AC_printer_resuming_from_power_outage) + resumePrint(); + else + setUserConfirmed(); + break; + + case 11: // A11 Stop SD print + if (isPrintingFromMedia()) { + printer_state = AC_printer_stopping; + stopPrint(); + } + else { + if (printer_state == AC_printer_resuming_from_power_outage) + injectCommands_P(PSTR("M1000 C\n")); // Cancel recovery + SendtoTFTLN(AC_msg_stop); + printer_state = AC_printer_idle; + } + break; + + case 12: // A12 Kill printer + kill(); // from marlincore.h + break; + + case 13: // A13 Select file + SelectFile(); + break; + + case 14: { // A14 Start Printing + // Allows printer to restart the job if we dont want to recover + if (printer_state == AC_printer_resuming_from_power_outage) { + injectCommands_P(PSTR("M1000 C\n")); // Cancel recovery + printer_state = AC_printer_idle; + } + #if ACDebugLevel >= 1 + SERIAL_ECHOLNPAIR_F("Print: ", selectedfile); + #endif + // the card library needs a path starting // but the File api doesn't... + char file[MAX_PATH_LEN]; + file[0] = '/'; + strcpy(file + 1, selectedfile); + printFile(file); + SendtoTFTLN(AC_msg_print_from_sd_card); + } break; + + case 15: // A15 Resuming from outage + if (printer_state == AC_printer_resuming_from_power_outage) + // Need to home here to restore the Z position + injectCommands_P(AC_cmnd_power_loss_recovery); + + injectCommands_P(PSTR("M1000\n")); // home and start recovery + break; + + case 16: { // A16 Set HotEnd temp A17 S170 + const float set_Htemp = atof(&panel_command[5]); + hotend_state = set_Htemp ? AC_heater_temp_set : AC_heater_off; + switch ((char)panel_command[4]) { + // Set Temp + case 'S': case 'C': setTargetTemp_celsius(set_Htemp, E0); + } + } break; + + case 17: { // A17 Set bed temp + const float set_Btemp = atof(&panel_command[5]); + hotbed_state = set_Btemp ? AC_heater_temp_set : AC_heater_off; + if (panel_command[4] == 'S') + setTargetTemp_celsius(set_Btemp, BED); + } break; + + case 18: // A18 Set Fan Speed + if (panel_command[4] == 'S') + setTargetFan_percent(atof(&panel_command[5]), FAN0); + break; + + case 19: // A19 Motors off + if (!isPrinting()) { + disable_all_steppers(); // from marlincore.h + SendtoTFTLN(AC_msg_ready); + } + break; + + case 20: // A20 Read/write print speed + if (panel_command[4] == 'S') + setFeedrate_percent(atoi(&panel_command[5])); + else { + SendtoTFT(PSTR("A20V ")); + TFTSer.println(getFeedrate_percent()); + } + break; + + case 21: // A21 Home Axis A21 X + if (!isPrinting()) { + switch ((char)panel_command[4]) { + case 'X': injectCommands_P(PSTR("G28 X\n")); break; + case 'Y': injectCommands_P(PSTR("G28 Y\n")); break; + case 'Z': injectCommands_P(PSTR("G28 Z\n")); break; + case 'C': injectCommands_P(PSTR("G28\n")); break; + } + } + break; + + case 22: // A22 Move Axis A22 Y +10F3000 + // Ignore request if printing + if (!isPrinting()) { + // setAxisPosition_mm() uses pre defined manual feedrates so ignore the feedrate from the panel + setSoftEndstopState(true); // enable endstops + float newposition = atof(&panel_command[6]); + + #if ACDEBUG(AC_ACTION) + SERIAL_ECHOLNPAIR("Nudge ", panel_command[4], " axis ", newposition); + #endif + + switch (panel_command[4]) { + case 'X': setAxisPosition_mm(getAxisPosition_mm(X) + newposition, X); break; + case 'Y': setAxisPosition_mm(getAxisPosition_mm(Y) + newposition, Y); break; + case 'Z': setAxisPosition_mm(getAxisPosition_mm(Z) + newposition, Z); break; + case 'E': // The only time we get this command is from the filament load/unload menu + // the standard movement is too slow so we will use the load unlod GCode to speed it up a bit + if (canMove(E0) && !commandsInQueue()) + injectCommands_P(newposition > 0 ? AC_cmnd_manual_load_filament : AC_cmnd_manual_unload_filament); + break; + } + } + break; + + case 23: // A23 Preheat PLA + // Ignore request if printing + if (!isPrinting()) { + // Temps defined in configuration.h + setTargetTemp_celsius(PREHEAT_1_TEMP_BED, BED); + setTargetTemp_celsius(PREHEAT_1_TEMP_HOTEND, E0); + SendtoTFTLN(); + hotbed_state = AC_heater_temp_set; + hotend_state = AC_heater_temp_set; + } + break; + + case 24: // A24 Preheat ABS + // Ignore request if printing + if (!isPrinting()) { + setTargetTemp_celsius(PREHEAT_2_TEMP_BED, BED); + setTargetTemp_celsius(PREHEAT_2_TEMP_HOTEND, E0); + SendtoTFTLN(); + hotbed_state = AC_heater_temp_set; + hotend_state = AC_heater_temp_set; + } + break; + + case 25: // A25 Cool Down + // Ignore request if printing + if (!isPrinting()) { + setTargetTemp_celsius(0, E0); + setTargetTemp_celsius(0, BED); + SendtoTFTLN(AC_msg_ready); + hotbed_state = AC_heater_off; + hotend_state = AC_heater_off; + } + break; + + case 26: // A26 Refresh SD + // M22 M21 maybe needed here to reset sd card + filenavigator.reset(); + break; + + case 27: // A27 Servo Angles adjust + break; + + case 28: // A28 Filament set A28 O/C + // Ignore request if printing + if (isPrinting()) break; + SendtoTFTLN(); + break; + } + } + + void ChironTFT::PanelProcess(uint8_t req) { + switch (req) { + case 29: { // A29 Read Mesh Point A29 X1 Y1 + xy_uint8_t pos; + float pos_z; + pos.x = atoi(&panel_command[5]); + pos.y = atoi(&panel_command[8]); + pos_z = getMeshPoint(pos); + + SendtoTFT(PSTR("A29V ")); + TFTSer.println(pos_z * 100); + if (!isPrinting()) { + setSoftEndstopState(true); // disable endstops + // If the same meshpoint is selected twice in a row, move the head to that ready for adjustment + if ((selectedmeshpoint.x == pos.x) && (selectedmeshpoint.y == pos.y)) { + if (!isPositionKnown()) + injectCommands_P(PSTR("G28\n")); // home + + if (isPositionKnown()) { + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Moving to mesh point at x: ", pos.x, " y: ", pos.y, " z: ", pos_z); + #endif + // Go up before moving + setAxisPosition_mm(3.0,Z); + + setAxisPosition_mm(17 + (93 * pos.x), X); + setAxisPosition_mm(20 + (93 * pos.y), Y); + setAxisPosition_mm(0.0, Z); + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Current Z: ", getAxisPosition_mm(Z)); + #endif + } + } + selectedmeshpoint.x = pos.x; + selectedmeshpoint.y = pos.y; + } + } break; + + case 30: { // A30 Auto leveling + if (panel_command[3] == 'S') { // Start probing + // Ignore request if printing + if (isPrinting()) + SendtoTFTLN(AC_msg_probing_not_allowed); // forbid auto leveling + else { + injectCommands_P(isMachineHomed() ? PSTR("G29") : PSTR("G28\nG29")); + printer_state = AC_printer_probing; + SendtoTFTLN(AC_msg_start_probing); + } + } + else SendtoTFTLN(AC_msg_start_probing); + } break; + + case 31: { // A31 Adjust all Probe Points + switch (panel_command[3]) { + case 'C': // Restore and apply original offsets + if (!isPrinting()) { + injectCommands_P(PSTR("M501\nM420 S1\n")); + selectedmeshpoint.x = 99; + selectedmeshpoint.y = 99; + } + break; + case 'D': // Save Z Offset tables and restore levelling state + if (!isPrinting()) { + setAxisPosition_mm(1.0,Z); + injectCommands_P(PSTR("M500\n")); + selectedmeshpoint.x = 99; + selectedmeshpoint.y = 99; + } + break; + case 'G': // Get current offset + SendtoTFT(PSTR("A31V ")); + // When printing use the live z Offset position + // we will use babystepping to move the print head + if (isPrinting()) + TFTSer.println(live_Zoffset); + else { + TFTSer.println(getZOffset_mm()); + selectedmeshpoint.x = 99; + selectedmeshpoint.y = 99; + } + break; + case 'S': { // Set offset (adjusts all points by value) + float Zshift = atof(&panel_command[4]); + setSoftEndstopState(false); // disable endstops + // Allow temporary Z position nudging during print + // From the levelling panel use the all points UI to adjust the print pos. + if (isPrinting()) { + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Change Zoffset from:", live_Zoffset, " to ", live_Zoffset + Zshift); + #endif + if (isAxisPositionKnown(Z)) { + #if ACDEBUG(AC_INFO) + const float currZpos = getAxisPosition_mm(Z); + SERIAL_ECHOLNPAIR("Nudge Z pos from ", currZpos, " to ", currZpos + constrain(Zshift, -0.05, 0.05)); + #endif + // Use babystepping to adjust the head position + int16_t steps = mmToWholeSteps(constrain(Zshift,-0.05,0.05), Z); + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Steps to move Z: ", steps); + #endif + babystepAxis_steps(steps, Z); + live_Zoffset += Zshift; + } + SendtoTFT(PSTR("A31V ")); + TFTSer.println(live_Zoffset); + } + else { + GRID_LOOP(x, y) { + const xy_uint8_t pos { x, y }; + const float currval = getMeshPoint(pos); + setMeshPoint(pos, constrain(currval + Zshift, AC_LOWEST_MESHPOINT_VAL, 2)); + } + const float currZOffset = getZOffset_mm(); + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Change probe offset from ", currZOffset, " to ", currZOffset + Zshift); + #endif + + setZOffset_mm(currZOffset + Zshift); + SendtoTFT(PSTR("A31V ")); + TFTSer.println(getZOffset_mm()); + + if (isAxisPositionKnown(Z)) { + // Move Z axis + const float currZpos = getAxisPosition_mm(Z); + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Move Z pos from ", currZpos, " to ", currZpos + constrain(Zshift, -0.05, 0.05)); + #endif + setAxisPosition_mm(currZpos+constrain(Zshift,-0.05,0.05),Z); + } + } + } break; + } // end switch + } break; + + case 32: { // A32 clean leveling beep flag + // Ignore request if printing + //if (isPrinting()) break; + //injectCommands_P(PSTR("M500\nM420 S1\nG1 Z10 F240\nG1 X0 Y0 F6000")); + //TFTSer.println(""); + } break; + + // A33 firmware info request seet PanelInfo() + + case 34: { // A34 Adjust single mesh point A34 C/S X1 Y1 V123 + if (panel_command[3] == 'C') { // Restore original offsets + injectCommands_P(PSTR("M501\nM420 S1")); + selectedmeshpoint.x = 99; + selectedmeshpoint.y = 99; + //printer_state = AC_printer_idle; + } + else { + xy_uint8_t pos; + pos.x = atoi(&panel_command[5]); + pos.y = atoi(&panel_command[8]); + + float currmesh = getMeshPoint(pos); + float newval = atof(&panel_command[11])/100; + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Change mesh point x:", pos.x, " y:", pos.y); + SERIAL_ECHOLNPAIR("from ", currmesh, " to ", newval); + #endif + // Update Meshpoint + setMeshPoint(pos,newval); + if ( (printer_state == AC_printer_idle) || (printer_state == AC_printer_probing) ) {//!isPrinting()) { + // if we are at the current mesh point indicated on the panel Move Z pos +/- 0.05mm ( The panel changes the mesh value by +/- 0.05mm on each button press) + if ((selectedmeshpoint.x == pos.x) && (selectedmeshpoint.y == pos.y)) { + setSoftEndstopState(false); + float currZpos = getAxisPosition_mm(Z); + #if ACDEBUG(AC_INFO) + SERIAL_ECHOLNPAIR("Move Z pos from ", currZpos, " to ", currZpos + constrain(newval - currmesh, -0.05, 0.05)); + #endif + setAxisPosition_mm(currZpos + constrain(newval - currmesh, -0.05, 0.05), Z); + } + } + } + } break; + } + } +} // namespace + +#endif // ANYCUBIC_LCD_CHIRON diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.h b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.h new file mode 100644 index 000000000000..267f2fe9783f --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +/** + * lcd/extui/lib/chiron_tft.h + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +#include "chiron_tft_defs.h" +#include "../../../../inc/MarlinConfigPre.h" +#include "../../ui_api.h" +namespace Anycubic { + + class ChironTFT { + static printer_state_t printer_state; + static paused_state_t pause_state; + static heater_state_t hotend_state; + static heater_state_t hotbed_state; + static xy_uint8_t selectedmeshpoint; + static char panel_command[MAX_CMND_LEN]; + static uint8_t command_len; + static char selectedfile[MAX_PATH_LEN]; + static float live_Zoffset; + static file_menu_t file_menu; + public: + ChironTFT(); + void Startup(); + void IdleLoop(); + void PrinterKilled(PGM_P,PGM_P); + void MediaEvent(media_event_t); + void TimerEvent(timer_event_t); + void FilamentRunout(); + void ConfirmationRequest(const char * const ); + void StatusChange(const char * const ); + void PowerLossRecovery(); + + private: + void SendtoTFT(PGM_P); + void SendtoTFTLN(PGM_P); + bool ReadTFTCommand(); + int8_t Findcmndpos(const char *, char); + void CheckHeaters(); + void SendFileList(int8_t); + void SelectFile(); + void InjectCommandandWait(PGM_P); + void ProcessPanelRequest(); + void PanelInfo(uint8_t); + void PanelAction(uint8_t); + void PanelProcess(uint8_t); + }; + + extern ChironTFT Chiron; + +} diff --git a/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft_defs.h b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft_defs.h new file mode 100644 index 000000000000..937bdfde33b3 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/anycubic_chiron/chiron_tft_defs.h @@ -0,0 +1,151 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * lcd/extui/lib/chiron_defs.h + * + * Extensible_UI implementation for Anycubic Chiron + * Written By Nick Wells, 2020 [https://github.com/SwiftNick] + * (not affiliated with Anycubic, Ltd.) + */ + +#pragma once +#include "../../../../inc/MarlinConfigPre.h" +//#define ACDEBUGLEVEL 255 + +#if ACDEBUGLEVEL + // Bit-masks for selective debug: + enum ACDebugMask : uint8_t { + AC_INFO = 1, + AC_ACTION = 2, + AC_FILE = 4, + AC_PANEL = 8, + AC_MARLIN = 16, + AC_SOME = 32, + AC_ALL = 64 + }; + #define ACDEBUG(mask) ( ((mask) & ACDEBUGLEVEL) == mask ) // Debug flag macro +#else + #define ACDEBUG(mask) false +#endif + +#define TFTSer LCD_SERIAL // Serial interface for TFT panel now uses marlinserial +#define MAX_FOLDER_DEPTH 4 // Limit folder depth TFT has a limit for the file path +#define MAX_CMND_LEN 16 * MAX_FOLDER_DEPTH // Maximum Length for a Panel command +#define MAX_PATH_LEN 16 * MAX_FOLDER_DEPTH // Maximum number of characters in a SD file path + +#define AC_HEATER_FAULT_VALIDATION_TIME 5 // number of 1/2 second loops before signalling a heater fault +#define AC_LOWEST_MESHPOINT_VAL -7.00 // The lowest value you can set for a single mesh point offset + + // TFT panel commands +#define AC_msg_sd_card_inserted PSTR("J00") +#define AC_msg_sd_card_removed PSTR("J01") +#define AC_msg_no_sd_card PSTR("J02") +#define AC_msg_usb_connected PSTR("J03") +#define AC_msg_print_from_sd_card PSTR("J04") +#define AC_msg_pause PSTR("J05") +#define AC_msg_nozzle_heating PSTR("J06") +#define AC_msg_nozzle_heating_done PSTR("J07") +#define AC_msg_bed_heating PSTR("J08") +#define AC_msg_bed_heating_done PSTR("J09") +#define AC_msg_nozzle_temp_abnormal PSTR("J10") +#define AC_msg_kill_lcd PSTR("J11") +#define AC_msg_ready PSTR("J12") +#define AC_msg_low_nozzle_temp PSTR("J13") +#define AC_msg_print_complete PSTR("J14") +#define AC_msg_filament_out_alert PSTR("J15") +#define AC_msg_stop PSTR("J16") +#define AC_msg_main_board_has_reset PSTR("J17") +#define AC_msg_paused PSTR("J18") +#define AC_msg_j19_unknown PSTR("J19") +#define AC_msg_sd_file_open_success PSTR("J20") +#define AC_msg_sd_file_open_failed PSTR("J21") +#define AC_msg_level_monitor_finished PSTR("J22") +#define AC_msg_filament_out_block PSTR("J23") +#define AC_msg_probing_not_allowed PSTR("J24") +#define AC_msg_probing_complete PSTR("J25") +#define AC_msg_start_probing PSTR("J26") +#define AC_msg_version PSTR("J27") + +#define MARLIN_msg_start_probing PSTR("Probing Point 1/25") +#define MARLIN_msg_probing_failed PSTR("Probing Failed") +#define MARLIN_msg_ready PSTR("3D Printer Ready.") +#define MARLIN_msg_print_paused PSTR("Print Paused") +#define MARLIN_msg_print_aborted PSTR("Print Aborted") +#define MARLIN_msg_extruder_heating PSTR("E Heating...") +#define MARLIN_msg_bed_heating PSTR("Bed Heating...") + +#define MARLIN_msg_nozzle_parked PSTR("Nozzle Parked") +#define MARLIN_msg_heater_timeout PSTR("Heater Timeout") +#define MARLIN_msg_reheating PSTR("Reheating...") +#define MARLIN_msg_reheat_done PSTR("Reheat finished.") +#define MARLIN_msg_filament_purging PSTR("Filament Purging...") +#define MARLIN_msg_special_pause PSTR("PB") +#define AC_cmnd_auto_unload_filament PSTR("M701") // Use Marlin unload routine +#define AC_cmnd_auto_load_filament PSTR("M702 M0 PB") // Use Marlin load routing then pause for user to clean nozzle + +#define AC_cmnd_manual_load_filament PSTR("M83\nG1 E50 F700\nM82") // replace the manual panel commands with something a little faster +#define AC_cmnd_manual_unload_filament PSTR("M83\nG1 E-50 F1200\nM82") +#define AC_cmnd_enable_levelling PSTR("M420 S1 V1") +#define AC_cmnd_power_loss_recovery PSTR("G28 X Y R5\nG28 Z") // Lift, home X and Y then home Z when in 'safe' position + +namespace Anycubic { + enum heater_state_t : uint8_t { + AC_heater_off, + AC_heater_temp_set, + AC_heater_temp_reached + }; + + enum paused_state_t : uint8_t { + AC_paused_heater_timed_out, + AC_paused_purging_filament, + AC_paused_idle + }; + + enum printer_state_t : uint8_t { + AC_printer_idle, + AC_printer_probing, + AC_printer_printing, + AC_printer_pausing, + AC_printer_paused, + AC_printer_stopping, + AC_printer_resuming_from_power_outage + }; + + enum timer_event_t : uint8_t { + AC_timer_started, + AC_timer_paused, + AC_timer_stopped + }; + + enum media_event_t : uint8_t { + AC_media_inserted, + AC_media_removed, + AC_media_error + }; + enum file_menu_t : uint8_t { + AC_menu_file, + AC_menu_command, + AC_menu_change_to_file, + AC_menu_change_to_command + }; +} diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index c69fb8351a74..b383cee09c28 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -24,16 +24,17 @@ #if ENABLED(ANYCUBIC_LCD_I3MEGA) #include "anycubic_i3mega_lcd.h" - -#include "../../../../inc/MarlinConfig.h" #include "../../ui_api.h" -#include "../../../../MarlinCore.h" // for quickstop_stepper and disable_steppers + +#include "../../../../libs/numtostr.h" #include "../../../../module/motion.h" // for A20 read printing speed feedrate_percentage +#include "../../../../MarlinCore.h" // for quickstop_stepper and disable_steppers +#include "../../../../inc/MarlinConfig.h" // command sending macro's with debugging capability #define SEND_PGM(x) send_P(PSTR(x)) #define SENDLINE_PGM(x) sendLine_P(PSTR(x)) -#define SEND_PGM_VAL(x,y) (send_P(PSTR(x)), sendLine(itostr3(y))) +#define SEND_PGM_VAL(x,y) (send_P(PSTR(x)), sendLine(i8tostr3rj(y))) #define SEND(x) send(x) #define SENDLINE(x) sendLine(x) #if ENABLED(ANYCUBIC_LCD_DEBUG) @@ -44,20 +45,8 @@ #define SENDLINE_DBG_PGM_VAL(x,y,z) sendLine_P(PSTR(x)) #endif - AnycubicTFTClass AnycubicTFT; -char _conv[8]; - -char *itostr2(const uint8_t &x) { - // sprintf(conv,"%5.1f",x); - int xx = x; - _conv[0] = (xx / 10) % 10 + '0'; - _conv[1] = (xx) % 10 + '0'; - _conv[2] = 0; - return _conv; -} - static void sendNewLine(void) { LCD_SERIAL.write('\r'); LCD_SERIAL.write('\n'); @@ -82,34 +71,6 @@ static void sendLine_P(PGM_P str) { sendNewLine(); } -#ifndef ULTRA_LCD - #define DIGIT(n) ('0' + (n)) - #define DIGIMOD(n, f) DIGIT((n) / (f) % 10) - #define RJDIGIT(n, f) ((n) >= (f) ? DIGIMOD(n, f) : ' ') - #define MINUSOR(n, alt) (n >= 0 ? (alt) : (n = -n, '-')) - - char* itostr3(const int x) { - int xx = x; - _conv[4] = MINUSOR(xx, RJDIGIT(xx, 100)); - _conv[5] = RJDIGIT(xx, 10); - _conv[6] = DIGIMOD(xx, 1); - return &_conv[4]; - } - -// Convert signed float to fixed-length string with 023.45 / -23.45 format - char *ftostr32(const float &x) { - long xx = x * 100; - _conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000)); - _conv[2] = DIGIMOD(xx, 1000); - _conv[3] = DIGIMOD(xx, 100); - _conv[4] = '.'; - _conv[5] = DIGIMOD(xx, 10); - _conv[6] = DIGIMOD(xx, 1); - return &_conv[1]; - } - -#endif - AnycubicTFTClass::AnycubicTFTClass() {} void AnycubicTFTClass::OnSetup() { @@ -181,7 +142,7 @@ void AnycubicTFTClass::OnKillTFT() { void AnycubicTFTClass::OnSDCardStateChange(bool isInserted) { #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOPGM("TFT Serial Debug: OnSDCardStateChange event triggered..."); - SERIAL_ECHO(itostr2(isInserted)); + SERIAL_ECHO(ui8tostr2(isInserted)); SERIAL_EOL(); #endif DoSDCardStateCheck(); @@ -622,19 +583,15 @@ void AnycubicTFTClass::GetCommandFromTFT() { case 3: { // A3 GET HOTBED TARGET TEMP float heatedBedTargetTemp = ExtUI::getTargetTemp_celsius((ExtUI::heater_t) ExtUI::BED); SEND_PGM_VAL("A3V ", int(heatedBedTargetTemp + 0.5)); - } - break; + } break; - case 4: // A4 GET FAN SPEED - { + case 4: { // A4 GET FAN SPEED float fanPercent = ExtUI::getActualFan_percent(ExtUI::FAN0); fanPercent = constrain(fanPercent, 0, 100); SEND_PGM_VAL("A4V ", int(fanPercent)); - } - break; + } break; - case 5: // A5 GET CURRENT COORDINATE - { + case 5: { // A5 GET CURRENT COORDINATE float xPostition = ExtUI::getAxisPosition_mm(ExtUI::X); float yPostition = ExtUI::getAxisPosition_mm(ExtUI::Y); float zPostition = ExtUI::getAxisPosition_mm(ExtUI::Z); @@ -645,39 +602,34 @@ void AnycubicTFTClass::GetCommandFromTFT() { SEND_PGM(" Z: "); LCD_SERIAL.print(zPostition); SENDLINE_PGM(""); - } - break; + } break; case 6: // A6 GET SD CARD PRINTING STATUS #if ENABLED(SDSUPPORT) if (ExtUI::isPrintingFromMedia()) { SEND_PGM("A6V "); - if (ExtUI::isMediaInserted()) { - SENDLINE(itostr3(int(ExtUI::getProgress_percent()))); - } - else { + if (ExtUI::isMediaInserted()) + SENDLINE(ui8tostr3rj(ExtUI::getProgress_percent())); + else SENDLINE_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to return printing status... J02"); - } } - else { + else SENDLINE_PGM("A6V ---"); - } #endif break; case 7: { // A7 GET PRINTING TIME - uint32_t elapsedSeconds = ExtUI::getProgress_seconds_elapsed(); + const uint32_t elapsedSeconds = ExtUI::getProgress_seconds_elapsed(); SEND_PGM("A7V "); if (elapsedSeconds != 0) { // print time - uint32_t elapsedMinutes = elapsedSeconds / 60; - SEND(itostr2(elapsedMinutes / 60)); + const uint32_t elapsedMinutes = elapsedSeconds / 60; + SEND(ui8tostr2(elapsedMinutes / 60)); SEND_PGM(" H "); - SEND(itostr2(elapsedMinutes % 60)); + SEND(ui8tostr2(elapsedMinutes % 60)); SENDLINE_PGM(" M"); } - else { + else SENDLINE_PGM(" 999:999"); - } } break; @@ -692,7 +644,6 @@ void AnycubicTFTClass::GetCommandFromTFT() { #if ENABLED(SDSUPPORT) if (ExtUI::isPrintingFromMedia()) PausePrint(); - #endif break; @@ -700,14 +651,11 @@ void AnycubicTFTClass::GetCommandFromTFT() { #if ENABLED(SDSUPPORT) if (ExtUI::isPrintingFromMediaPaused()) ResumePrint(); - #endif break; case 11: // A11 STOP SD PRINT - #if ENABLED(SDSUPPORT) - StopPrint(); - #endif + TERN_(SDSUPPORT, StopPrint()); break; case 12: // A12 kill @@ -748,7 +696,6 @@ void AnycubicTFTClass::GetCommandFromTFT() { #if ENABLED(SDSUPPORT) if (!ExtUI::isPrinting() && strlen(SelectedFile) > 0) StartPrint(); - #endif break; @@ -771,8 +718,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { } break; - case 17:// A17 set heated bed temp - { + case 17: { // A17 set heated bed temp unsigned int tempbed; if (CodeSeen('S')) { tempbed = constrain(CodeValue(), 0, 100); @@ -781,19 +727,17 @@ void AnycubicTFTClass::GetCommandFromTFT() { } break; - case 18:// A18 set fan speed - { + case 18: { // A18 set fan speed float fanPercent; if (CodeSeen('S')) { fanPercent = CodeValue(); fanPercent = constrain(fanPercent, 0, 100); ExtUI::setTargetFan_percent(fanPercent, ExtUI::FAN0); } - else { + else fanPercent = 100; - } - ExtUI::setTargetFan_percent(fanPercent, ExtUI::FAN0); + ExtUI::setTargetFan_percent(fanPercent, ExtUI::FAN0); SENDLINE_PGM(""); } break; @@ -807,13 +751,11 @@ void AnycubicTFTClass::GetCommandFromTFT() { SENDLINE_PGM(""); break; - case 20: { // A20 read printing speed - + case 20: // A20 read printing speed if (CodeSeen('S')) feedrate_percentage = constrain(CodeValue(), 40, 999); else SEND_PGM_VAL("A20V ", feedrate_percentage); - } break; case 21: // A21 all home diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h index ee011f1dfed6..a4ecf5604f9e 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h @@ -23,12 +23,6 @@ #include "../../../../inc/MarlinConfigPre.h" #include "../../../../sd/SdFatConfig.h" // for the FILENAME_LENGTH macro -char *itostr2(const uint8_t &x); -#ifndef ULTRA_LCD - char *itostr3(const int); - char *ftostr32(const float &); -#endif - #define TFTBUFSIZE 4 #define TFT_MAX_CMD_SIZE 96 diff --git a/Marlin/src/libs/numtostr.cpp b/Marlin/src/libs/numtostr.cpp index 3b36c180e838..c3efb2b25a84 100644 --- a/Marlin/src/libs/numtostr.cpp +++ b/Marlin/src/libs/numtostr.cpp @@ -52,6 +52,13 @@ const char* ui8tostr3rj(const uint8_t i) { return &conv[4]; } +// Convert uint8_t to string with 12 format +const char* ui8tostr2(const uint8_t i) { + conv[5] = DIGIMOD(i, 10); + conv[6] = DIGIMOD(i, 1); + return &conv[5]; +} + // Convert signed 8bit int to rj string with 123 or -12 format const char* i8tostr3rj(const int8_t x) { int xx = x; diff --git a/Marlin/src/libs/numtostr.h b/Marlin/src/libs/numtostr.h index e52a7d9889ce..e7c1e67e12d5 100644 --- a/Marlin/src/libs/numtostr.h +++ b/Marlin/src/libs/numtostr.h @@ -26,6 +26,9 @@ // Convert a full-range unsigned 8bit int to a percentage const char* ui8tostr4pctrj(const uint8_t i); +// Convert uint8_t to string with 12 format +const char* ui8tostr2(const uint8_t x); + // Convert uint8_t to string with 123 format const char* ui8tostr3rj(const uint8_t i); From 41774ec9de9e62e24c62fd7ba22a4fc28e3c4298 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 29 Sep 2020 00:13:48 +0000 Subject: [PATCH 173/277] [cron] Bump distribution date (2020-09-29) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index a78cea1eced0..5f088eaafd4c 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-28" + #define STRING_DISTRIBUTION_DATE "2020-09-29" #endif /** From e8177735a00d1d7bb20b439544d3324fe01cfe7e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 28 Sep 2020 21:02:09 -0500 Subject: [PATCH 174/277] Marlin 2.0.7 --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- config/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 5ce04b290367..5759771f7f4e 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.6.1" +//#define SHORT_BUILD_VERSION "2.0.7" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 2b7dcc9e0fab..30b21629a6b1 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.6.1" + #define SHORT_BUILD_VERSION "2.0.7" #endif /** diff --git a/config/README.md b/config/README.md index 906c9dd71cb5..95d761155717 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.1.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.zip From a7f334387c98a0209433d98c44269fdb0356ab54 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sat, 10 Oct 2020 01:35:41 -0300 Subject: [PATCH 175/277] Keep HAL tasks running during PID Autotune (#19671) --- Marlin/src/module/temperature.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index f589140895b6..377517bf5925 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -629,6 +629,11 @@ volatile bool Temperature::raw_temps_ready = false; goto EXIT_M303; } + + // Run HAL idle tasks + TERN_(HAL_IDLETASK, HAL_idletask()); + + // Run UI update TERN(DWIN_CREALITY_LCD, DWIN_Update(), ui.update()); } wait_for_heatup = false; From 1332be77a5540aa89839c08f6ac4f0b5307e312c Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 30 Sep 2020 00:13:59 +0000 Subject: [PATCH 176/277] [cron] Bump distribution date (2020-09-30) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 30b21629a6b1..08a8129f3539 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-29" + #define STRING_DISTRIBUTION_DATE "2020-09-30" #endif /** From 1ba2548fb256777209431b4425fe6109671e7919 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 1 Oct 2020 00:14:15 +0000 Subject: [PATCH 177/277] [cron] Bump distribution date (2020-10-01) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 08a8129f3539..4a07fcb0cfb0 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-09-30" + #define STRING_DISTRIBUTION_DATE "2020-10-01" #endif /** From ca853fbe19eff2f73e5f953b25e1b567bb363c96 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Wed, 30 Sep 2020 22:06:32 -0300 Subject: [PATCH 178/277] Fix Move Screen with disabled Touch (#19558) --- Marlin/src/lcd/tft/ui_480x320.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index ffc619e8dcaf..549cbc4d9ba5 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -924,7 +924,7 @@ static void do_home() { drawMessage(GET_TEXT(MSG_LEVEL_BED_HOMING)); queue.inject_P(G28_STR); // Disable touch until home is done - touch.disable(); + TERN_(HAS_TFT_XPT2046, touch.disable()); drawAxisValue(E_AXIS); drawAxisValue(X_AXIS); drawAxisValue(Y_AXIS); @@ -972,14 +972,14 @@ static void drawBtn(int x, int y, const char* label, int32_t data, MarlinImage i tft.add_image(0, 0, img, bgColor, COLOR_BACKGROUND, COLOR_DARKGREY); } - if (enabled) touch.add_control(BUTTON, x, y, width, height, data); + TERN_(HAS_TFT_XPT2046, if (enabled) touch.add_control(BUTTON, x, y, width, height, data)); } void MarlinUI::move_axis_screen() { // Reset defer_status_screen(true); motionAxisState.blocked = false; - touch.enable(); + TERN_(HAS_TFT_XPT2046, touch.enable()); ui.clear_lcd(); @@ -1016,13 +1016,13 @@ void MarlinUI::move_axis_screen() { motionAxisState.eNamePos.x = x; motionAxisState.eNamePos.y = y; drawCurESelection(); - if (!busy) touch.add_control(BUTTON, x, y, BTN_WIDTH, BTN_HEIGHT, (int32_t)e_select); + TERN_(HAS_TFT_XPT2046, if (!busy) touch.add_control(BUTTON, x, y, BTN_WIDTH, BTN_HEIGHT, (int32_t)e_select)); x += BTN_WIDTH + spacing; drawBtn(x, y, "X-", (int32_t)x_minus, imgLeft, X_BTN_COLOR, !busy); x += BTN_WIDTH + spacing; //imgHome is 64x64 - add_control(TFT_WIDTH / 2 - Images[imgHome].width / 2, y - (Images[imgHome].width - BTN_HEIGHT) / 2, BUTTON, (int32_t)do_home, imgHome, !busy); + TERN_(HAS_TFT_XPT2046, add_control(TFT_WIDTH / 2 - Images[imgHome].width / 2, y - (Images[imgHome].width - BTN_HEIGHT) / 2, BUTTON, (int32_t)do_home, imgHome, !busy)); x += BTN_WIDTH + spacing; uint16_t xplus_x = x; @@ -1071,13 +1071,13 @@ void MarlinUI::move_axis_screen() { motionAxisState.stepValuePos.y = y; if (!busy) { drawCurStepValue(); - touch.add_control(BUTTON, motionAxisState.stepValuePos.x, motionAxisState.stepValuePos.y, CUR_STEP_VALUE_WIDTH, BTN_HEIGHT, (int32_t)step_size); + TERN_(HAS_TFT_XPT2046, touch.add_control(BUTTON, motionAxisState.stepValuePos.x, motionAxisState.stepValuePos.y, CUR_STEP_VALUE_WIDTH, BTN_HEIGHT, (int32_t)step_size)); } // alinged with x+ drawBtn(xplus_x, TFT_HEIGHT - Y_MARGIN - BTN_HEIGHT, "off", (int32_t)disable_steppers, imgCancel, COLOR_WHITE, !busy); - add_control(TFT_WIDTH - X_MARGIN - BTN_WIDTH, y, BACK, imgBack); + TERN_(HAS_TFT_XPT2046, add_control(TFT_WIDTH - X_MARGIN - BTN_WIDTH, y, BACK, imgBack)); } #undef BTN_WIDTH From b89700ed3571121a755e347f9c54b1689bd719f0 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Wed, 30 Sep 2020 22:14:19 -0300 Subject: [PATCH 179/277] Fix Buzzer (pin) init for uninitialized FastIO (#19559) --- Marlin/src/MarlinCore.cpp | 5 +++++ Marlin/src/libs/buzzer.h | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 8a425510c059..672858d05a35 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -1048,6 +1048,11 @@ void setup() { SERIAL_ECHO_MSG("Compiled: " __DATE__); SERIAL_ECHO_MSG(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE)); + // Init buzzer pin(s) + #if USE_BEEPER + SETUP_RUN(buzzer.init()); + #endif + // Set up LEDs early #if HAS_COLOR_LEDS SETUP_RUN(leds.setup()); diff --git a/Marlin/src/libs/buzzer.h b/Marlin/src/libs/buzzer.h index 022d94deafea..e901660c87d1 100644 --- a/Marlin/src/libs/buzzer.h +++ b/Marlin/src/libs/buzzer.h @@ -84,9 +84,9 @@ public: /** - * @brief Class constructor + * @brief Init Buzzer */ - Buzzer() { + static inline void init() { SET_OUTPUT(BEEPER_PIN); reset(); } From 4f6a0605bf10e93318036fcbdad7a2eb5bd15254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Morav=C4=8D=C3=ADk?= Date: Fri, 2 Oct 2020 00:47:24 +0200 Subject: [PATCH 180/277] Update Slovak language (#19561) --- Marlin/src/lcd/language/language_sk.h | 30 ++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 8a59bfc673f0..c9dc6b1a1624 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -47,6 +47,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Karta vložená"); PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Karta vybraná"); PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Čakám na kartu"); + PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Inicial. SD zlyhala"); PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Chyba čítania karty"); PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB zaria. odstrán."); PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Chyba spúšťania USB"); @@ -122,6 +123,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_USER_MENU = _UxGT("Vlastné príkazy"); PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Test sondy"); PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Bod"); + PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Sonda mimo hraníc"); PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Odchýlka"); PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX režim"); PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Ofset nástrojov"); @@ -209,7 +211,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Nastavenie LED"); PROGMEM Language_Str MSG_LEDS = _UxGT("Svetlo"); - PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Prednastavené farby"); + PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Predvolby svetla"); PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Červená"); PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Oranžová"); PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Žltá"); @@ -219,6 +221,10 @@ namespace Language_sk { PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Fialová"); PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Biela"); PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Obnoviť nastavenie"); + PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Kanál ="); + PROGMEM Language_Str MSG_LEDS2 = _UxGT("Svetlo #2"); + PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Predvolby svetla #2"); + PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Jas"); PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Vlastná farba"); PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Inten. červenej"); PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Inten. zelenej"); @@ -349,6 +355,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_PAUSING = _UxGT("Pozastavujem..."); PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pozastaviť tlač"); PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Obnoviť tlač"); + PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Spustiť z hosta"); PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Zastaviť tlač"); PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Tlačím objekt"); PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Zrušiť objekt"); @@ -449,6 +456,8 @@ namespace Language_sk { PROGMEM Language_Str MSG_COOLING = _UxGT("Ochladzovanie..."); PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Ohrev podložky..."); PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Ochladz. podložky..."); + PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Ohrev sondy..."); + PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Ochladz. sondy..."); PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Ohrev komory..."); PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Ochladz. komory..."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta kalibrácia"); @@ -543,7 +552,7 @@ namespace Language_sk { PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Odstráňte, kliknite"); PROGMEM Language_Str MSG_MIX = _UxGT("Mix"); - PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Zložka ="); + PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Zložka ~"); PROGMEM Language_Str MSG_MIXER = _UxGT("Mixér"); PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient"); PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Plný gradient"); @@ -570,6 +579,17 @@ namespace Language_sk { PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Chyb. index stránky"); PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Chyb. rých. stránky"); + PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Zmeniť heslo"); + PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Vyžad. sa prihl."); + PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Nastavenie hesla"); + PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Zvoľte číslo"); + PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Zmeniť heslo"); + PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Odstrániť heslo"); + PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Heslo je "); + PROGMEM Language_Str MSG_START_OVER = _UxGT("Začať odznova"); + PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Nezabudnite uložiť!"); + PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Heslo odstránene"); + // // Filament Change screens show up to 3 lines on a 4-line display // ...or up to 2 lines on a 3-line display @@ -616,7 +636,11 @@ namespace Language_sk { PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Vyrovnať os X"); PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto-kalibrovať"); - PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Vypršal čas ohrevu"); + #if ENABLED(TOUCH_UI_FTDI_EVE) + PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Vypršal čas ohrevu, znížená teplota. Stlačte OK pre ohrev a ešte raz pre obnovu."); + #else + PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Vypršal čas ohrevu"); + #endif PROGMEM Language_Str MSG_REHEAT = _UxGT("Zohriať"); PROGMEM Language_Str MSG_REHEATING = _UxGT("Zohrievanie..."); } From cc123bc6579d3b114664e349c4dc185befd43501 Mon Sep 17 00:00:00 2001 From: Ilya Date: Thu, 1 Oct 2020 15:51:11 -0700 Subject: [PATCH 181/277] No move on Park = No move on Resume (#19569) --- Marlin/src/feature/pause.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index f8a7d83260e2..a36ff5075683 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -612,11 +612,13 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le // Retract to prevent oozing unscaled_e_move(-(PAUSE_PARK_RETRACT_LENGTH), feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE)); - // Move XY to starting position, then Z - do_blocking_move_to_xy(resume_position, feedRate_t(NOZZLE_PARK_XY_FEEDRATE)); + if (!axes_should_home()) { + // Move XY to starting position, then Z + do_blocking_move_to_xy(resume_position, feedRate_t(NOZZLE_PARK_XY_FEEDRATE)); - // Move Z_AXIS to saved position - do_blocking_move_to_z(resume_position.z, feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); + // Move Z_AXIS to saved position + do_blocking_move_to_z(resume_position.z, feedRate_t(NOZZLE_PARK_Z_FEEDRATE)); + } // Unretract unscaled_e_move(PAUSE_PARK_RETRACT_LENGTH, feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE)); From 5a02959d181648d9e733458d0cf9291bc8309de7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= <43587190+stef-ladefense@users.noreply.github.com> Date: Fri, 2 Oct 2020 01:09:39 +0200 Subject: [PATCH 182/277] Fix Anycubic i3 Mega target temperature display (#19572) Also includes a workaround for missing (probably un-fetched) long name in file listing --- .../lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index b383cee09c28..efbc57e68a80 100644 --- a/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -34,7 +34,7 @@ // command sending macro's with debugging capability #define SEND_PGM(x) send_P(PSTR(x)) #define SENDLINE_PGM(x) sendLine_P(PSTR(x)) -#define SEND_PGM_VAL(x,y) (send_P(PSTR(x)), sendLine(i8tostr3rj(y))) +#define SEND_PGM_VAL(x,y) (send_P(PSTR(x)), sendLine(i16tostr3rj(y))) #define SEND(x) send(x) #define SENDLINE(x) sendLine(x) #if ENABLED(ANYCUBIC_LCD_DEBUG) @@ -496,12 +496,12 @@ void AnycubicTFTClass::RenderCurrentFolder(uint16_t selectedNumber) { SEND_PGM("/"); SENDLINE(currentFileList.shortFilename()); SEND_PGM("/"); - SENDLINE(currentFileList.longFilename()); + SENDLINE(currentFileList.filename()); } else { SENDLINE(currentFileList.shortFilename()); - SENDLINE(currentFileList.longFilename()); + SENDLINE(currentFileList.filename()); } } } From f8375a3ea2eaafc4483e79eb483afed8cb206071 Mon Sep 17 00:00:00 2001 From: swissnorp <67485708+swissnorp@users.noreply.github.com> Date: Fri, 2 Oct 2020 01:17:11 +0200 Subject: [PATCH 183/277] G35 workaround for Pronterface "feature" (#19577) --- Marlin/src/gcode/bedlevel/G35.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/gcode/bedlevel/G35.cpp b/Marlin/src/gcode/bedlevel/G35.cpp index 926e6e82c535..bd7f4f0411e1 100755 --- a/Marlin/src/gcode/bedlevel/G35.cpp +++ b/Marlin/src/gcode/bedlevel/G35.cpp @@ -157,7 +157,7 @@ void GcodeSuite::G35() { const int minutes = trunc(decimal_part * 60.0f); SERIAL_ECHOPAIR("Turn ", tramming_point_name[i], - " ", (screw_thread & 1) == (adjust > 0) ? "Counter-Clockwise" : "Clockwise", + " ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW", " by ", abs(full_turns), " turns"); if (minutes) SERIAL_ECHOPAIR(" and ", abs(minutes), " minutes"); SERIAL_EOL(); From d33317eadb3df9d2d314533412a30e262391eb97 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 2 Oct 2020 00:13:10 +0000 Subject: [PATCH 184/277] [cron] Bump distribution date (2020-10-02) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 4a07fcb0cfb0..5836cc5d9ab3 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-01" + #define STRING_DISTRIBUTION_DATE "2020-10-02" #endif /** From ec5b78d18b1dbf941456b10a20816ec453423beb Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Thu, 1 Oct 2020 22:52:42 -0300 Subject: [PATCH 185/277] Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) --- Marlin/src/HAL/STM32/HAL.cpp | 9 +++++++-- Marlin/src/HAL/STM32/HAL.h | 5 +++++ Marlin/src/HAL/STM32/HAL_SPI.cpp | 14 ++------------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Marlin/src/HAL/STM32/HAL.cpp b/Marlin/src/HAL/STM32/HAL.cpp index b1b727ce195b..83604b1104bb 100644 --- a/Marlin/src/HAL/STM32/HAL.cpp +++ b/Marlin/src/HAL/STM32/HAL.cpp @@ -63,7 +63,7 @@ uint16_t HAL_adc_result; void HAL_init() { FastIO_init(); - #if ENABLED(SDSUPPORT) && DISABLED(SDIO_SUPPORT) + #if ENABLED(SDSUPPORT) && DISABLED(SDIO_SUPPORT) && (defined(SDSS) && SDSS != -1) OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up #endif @@ -122,9 +122,14 @@ extern "C" { // TODO: Make sure this doesn't cause any delay void HAL_adc_start_conversion(const uint8_t adc_pin) { HAL_adc_result = analogRead(adc_pin); } - uint16_t HAL_adc_get_result() { return HAL_adc_result; } +// Reset the system (to initiate a firmware flash) void flashFirmware(const int16_t) { NVIC_SystemReset(); } +// Maple Compatibility +systickCallback_t systick_user_callback; +void systick_attach_callback(systickCallback_t cb) { systick_user_callback = cb; } +void HAL_SYSTICK_Callback() { if (systick_user_callback) systick_user_callback(); } + #endif // ARDUINO_ARCH_STM32 && !STM32GENERIC diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index 60ab45374a56..37919102ec1f 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -177,3 +177,8 @@ uint16_t HAL_adc_get_result(); #define PLATFORM_M997_SUPPORT void flashFirmware(const int16_t); + +// Maple Compatibility +typedef void (*systickCallback_t)(void); +void systick_attach_callback(systickCallback_t cb); +void HAL_SYSTICK_Callback(); diff --git a/Marlin/src/HAL/STM32/HAL_SPI.cpp b/Marlin/src/HAL/STM32/HAL_SPI.cpp index 202442a71b00..f947e6ef3272 100644 --- a/Marlin/src/HAL/STM32/HAL_SPI.cpp +++ b/Marlin/src/HAL/STM32/HAL_SPI.cpp @@ -132,11 +132,9 @@ static SPISettings spiConfig; * @details Only configures SS pin since stm32duino creates and initialize the SPI object */ void spiBegin() { - #if !PIN_EXISTS(SS) - #error "SS_PIN not defined!" + #if PIN_EXISTS(SS) + OUT_WRITE(SS_PIN, HIGH); #endif - - OUT_WRITE(SS_PIN, HIGH); } // Configure SPI for specified SPI speed @@ -173,9 +171,7 @@ static SPISettings spiConfig; * @details */ uint8_t spiRec() { - SPI.beginTransaction(spiConfig); uint8_t returnByte = SPI.transfer(0xFF); - SPI.endTransaction(); return returnByte; } @@ -191,9 +187,7 @@ static SPISettings spiConfig; void spiRead(uint8_t* buf, uint16_t nbyte) { if (nbyte == 0) return; memset(buf, 0xFF, nbyte); - SPI.beginTransaction(spiConfig); SPI.transfer(buf, nbyte); - SPI.endTransaction(); } /** @@ -204,9 +198,7 @@ static SPISettings spiConfig; * @details */ void spiSend(uint8_t b) { - SPI.beginTransaction(spiConfig); SPI.transfer(b); - SPI.endTransaction(); } /** @@ -219,10 +211,8 @@ static SPISettings spiConfig; */ void spiSendBlock(uint8_t token, const uint8_t* buf) { uint8_t rxBuf[512]; - SPI.beginTransaction(spiConfig); SPI.transfer(token); SPI.transfer((uint8_t*)buf, &rxBuf, 512); - SPI.endTransaction(); } #endif // SOFTWARE_SPI From 8d090cbdbb17d7729e9ca43db0651a8719f2796a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 2 Oct 2020 17:04:23 -0500 Subject: [PATCH 186/277] Replace tabs with spaces --- Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp | 4 +- Marlin/src/lcd/tft/tft_color.h | 60 ++++++++++----------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp index c9a5b2525ab2..fd1b6858e8f8 100644 --- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp @@ -113,8 +113,8 @@ enum Commands { // based on Smoothieware commands // Other commands... 0xE0 thru 0xFF GET_LCD_ROW = 0xE0, // for detect panel GET_LCD_COL, // reserved for compatibility with Smoothieware, not used - LCD_PUT, // write one line to LCD - INIT_SCREEN = 0xFE, // clear panel buffer + LCD_PUT, // write one line to LCD + INIT_SCREEN = 0xFE, // clear panel buffer }; static unsigned char framebuffer[FBSIZE]; diff --git a/Marlin/src/lcd/tft/tft_color.h b/Marlin/src/lcd/tft/tft_color.h index 8e380b366b97..a72a079f6ee4 100644 --- a/Marlin/src/lcd/tft/tft_color.h +++ b/Marlin/src/lcd/tft/tft_color.h @@ -73,104 +73,104 @@ #define COLOR_BACKGROUND 0x20AC // #1E156E #endif #ifndef COLOR_SELECTION_BG - #define COLOR_SELECTION_BG 0x9930 // #992380 + #define COLOR_SELECTION_BG 0x9930 // #992380 #endif #ifndef COLOR_WEBSITE_URL - #define COLOR_WEBSITE_URL 0x03B7 + #define COLOR_WEBSITE_URL 0x03B7 #endif #ifndef COLOR_INACTIVE - #define COLOR_INACTIVE COLOR_GREY + #define COLOR_INACTIVE COLOR_GREY #endif #ifndef COLOR_COLD - #define COLOR_COLD COLOR_AQUA + #define COLOR_COLD COLOR_AQUA #endif #ifndef COLOR_HOTEND - #define COLOR_HOTEND COLOR_SCARLET + #define COLOR_HOTEND COLOR_SCARLET #endif #ifndef COLOR_HEATED_BED - #define COLOR_HEATED_BED COLOR_DARK_ORANGE + #define COLOR_HEATED_BED COLOR_DARK_ORANGE #endif #ifndef COLOR_CHAMBER - #define COLOR_CHAMBER COLOR_DARK_ORANGE + #define COLOR_CHAMBER COLOR_DARK_ORANGE #endif #ifndef COLOR_FAN - #define COLOR_FAN COLOR_AQUA + #define COLOR_FAN COLOR_AQUA #endif #ifndef COLOR_AXIS_HOMED - #define COLOR_AXIS_HOMED COLOR_WHITE + #define COLOR_AXIS_HOMED COLOR_WHITE #endif #ifndef COLOR_AXIS_NOT_HOMED - #define COLOR_AXIS_NOT_HOMED COLOR_YELLOW + #define COLOR_AXIS_NOT_HOMED COLOR_YELLOW #endif #ifndef COLOR_RATE_100 - #define COLOR_RATE_100 COLOR_VIVID_GREEN + #define COLOR_RATE_100 COLOR_VIVID_GREEN #endif #ifndef COLOR_RATE_ALTERED - #define COLOR_RATE_ALTERED COLOR_YELLOW + #define COLOR_RATE_ALTERED COLOR_YELLOW #endif #ifndef COLOR_PRINT_TIME - #define COLOR_PRINT_TIME COLOR_AQUA + #define COLOR_PRINT_TIME COLOR_AQUA #endif #ifndef COLOR_PROGRESS_FRAME - #define COLOR_PROGRESS_FRAME COLOR_WHITE + #define COLOR_PROGRESS_FRAME COLOR_WHITE #endif #ifndef COLOR_PROGRESS_BAR - #define COLOR_PROGRESS_BAR COLOR_BLUE + #define COLOR_PROGRESS_BAR COLOR_BLUE #endif #ifndef COLOR_PROGRESS_BG - #define COLOR_PROGRESS_BG COLOR_BLACK + #define COLOR_PROGRESS_BG COLOR_BLACK #endif #ifndef COLOR_STATUS_MESSAGE - #define COLOR_STATUS_MESSAGE COLOR_YELLOW + #define COLOR_STATUS_MESSAGE COLOR_YELLOW #endif #ifndef COLOR_CONTROL_ENABLED - #define COLOR_CONTROL_ENABLED COLOR_WHITE + #define COLOR_CONTROL_ENABLED COLOR_WHITE #endif #ifndef COLOR_CONTROL_DISABLED - #define COLOR_CONTROL_DISABLED COLOR_GREY + #define COLOR_CONTROL_DISABLED COLOR_GREY #endif #ifndef COLOR_CONTROL_CANCEL - #define COLOR_CONTROL_CANCEL COLOR_SCARLET + #define COLOR_CONTROL_CANCEL COLOR_SCARLET #endif #ifndef COLOR_CONTROL_CONFIRM - #define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN + #define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN #endif #ifndef COLOR_BUSY - #define COLOR_BUSY COLOR_SILVER + #define COLOR_BUSY COLOR_SILVER #endif #ifndef COLOR_MENU_TEXT - #define COLOR_MENU_TEXT COLOR_YELLOW + #define COLOR_MENU_TEXT COLOR_YELLOW #endif #ifndef COLOR_MENU_VALUE - #define COLOR_MENU_VALUE COLOR_WHITE + #define COLOR_MENU_VALUE COLOR_WHITE #endif #ifndef COLOR_SLIDER - #define COLOR_SLIDER COLOR_WHITE + #define COLOR_SLIDER COLOR_WHITE #endif #ifndef COLOR_SLIDER_INACTIVE - #define COLOR_SLIDER_INACTIVE COLOR_GREY + #define COLOR_SLIDER_INACTIVE COLOR_GREY #endif #ifndef COLOR_UBL - #define COLOR_UBL COLOR_WHITE + #define COLOR_UBL COLOR_WHITE #endif #ifndef COLOR_TOUCH_CALIBRATION - #define COLOR_TOUCH_CALIBRATION COLOR_WHITE + #define COLOR_TOUCH_CALIBRATION COLOR_WHITE #endif #ifndef COLOR_KILL_SCREEN_BG - #define COLOR_KILL_SCREEN_BG COLOR_MAROON + #define COLOR_KILL_SCREEN_BG COLOR_MAROON #endif #ifndef COLOR_KILL_SCREEN_TEXT - #define COLOR_KILL_SCREEN_TEXT COLOR_WHITE + #define COLOR_KILL_SCREEN_TEXT COLOR_WHITE #endif From 4d1357e318dbfd420646449a82d584136eb18e6d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 2 Oct 2020 17:05:45 -0500 Subject: [PATCH 187/277] Adjust HAL platform defines, comments --- Marlin/src/HAL/DUE/HAL.cpp | 4 +--- Marlin/src/HAL/DUE/HAL.h | 4 +--- Marlin/src/HAL/DUE/HAL_SPI.cpp | 2 +- Marlin/src/HAL/DUE/timers.cpp | 4 +--- Marlin/src/HAL/DUE/timers.h | 4 +--- Marlin/src/HAL/ESP32/HAL.h | 2 +- Marlin/src/HAL/TEENSY31_32/HAL.cpp | 3 +-- Marlin/src/HAL/TEENSY31_32/HAL.h | 7 ++++--- Marlin/src/HAL/TEENSY31_32/Servo.cpp | 1 - Marlin/src/HAL/TEENSY31_32/eeprom.cpp | 3 +-- Marlin/src/HAL/TEENSY31_32/timers.cpp | 2 +- Marlin/src/HAL/TEENSY31_32/timers.h | 3 +-- Marlin/src/HAL/TEENSY35_36/HAL.cpp | 2 +- Marlin/src/HAL/TEENSY35_36/HAL.h | 11 +++++------ Marlin/src/HAL/TEENSY35_36/HAL_SPI.cpp | 5 +++++ Marlin/src/HAL/TEENSY35_36/Servo.cpp | 6 +++++- Marlin/src/HAL/TEENSY35_36/Servo.h | 4 ++++ Marlin/src/HAL/TEENSY35_36/eeprom.cpp | 9 ++++----- Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h | 2 +- Marlin/src/HAL/TEENSY35_36/pinsDebug.h | 4 ++++ Marlin/src/HAL/TEENSY35_36/spi_pins.h | 4 ++++ Marlin/src/HAL/TEENSY35_36/timers.cpp | 3 +-- Marlin/src/HAL/TEENSY35_36/timers.h | 4 +--- Marlin/src/HAL/TEENSY40_41/HAL.cpp | 2 +- Marlin/src/HAL/TEENSY40_41/HAL.h | 7 ++++--- Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp | 5 +++++ Marlin/src/HAL/TEENSY40_41/Servo.cpp | 6 +++++- Marlin/src/HAL/TEENSY40_41/Servo.h | 4 ++++ Marlin/src/HAL/TEENSY40_41/eeprom.cpp | 3 +-- Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h | 2 +- Marlin/src/HAL/TEENSY40_41/fastio.h | 2 +- Marlin/src/HAL/TEENSY40_41/pinsDebug.h | 4 ++++ Marlin/src/HAL/TEENSY40_41/spi_pins.h | 4 ++++ Marlin/src/HAL/TEENSY40_41/timers.cpp | 2 +- Marlin/src/HAL/TEENSY40_41/timers.h | 3 +-- Marlin/src/HAL/TEENSY40_41/watchdog.cpp | 6 +++++- Marlin/src/HAL/TEENSY40_41/watchdog.h | 2 +- Marlin/src/gcode/calibrate/M100.cpp | 2 +- Marlin/src/pins/teensy3/pins_TEENSY31_32.h | 2 +- Marlin/src/pins/teensy3/pins_TEENSY35_36.h | 2 +- Marlin/src/pins/teensy4/pins_T41U5XBB.h | 6 +++--- Marlin/src/pins/teensy4/pins_TEENSY41.h | 6 +++--- Marlin/src/sd/Sd2Card.h | 8 +++----- Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.h | 13 +++++++------ 44 files changed, 106 insertions(+), 78 deletions(-) diff --git a/Marlin/src/HAL/DUE/HAL.cpp b/Marlin/src/HAL/DUE/HAL.cpp index 4b9260c35962..6ce85a4643bb 100644 --- a/Marlin/src/HAL/DUE/HAL.cpp +++ b/Marlin/src/HAL/DUE/HAL.cpp @@ -19,9 +19,7 @@ */ /** - * Description: HAL for Arduino Due and compatible (SAM3X8E) - * - * For ARDUINO_ARCH_SAM + * HAL for Arduino Due and compatible (SAM3X8E) */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/HAL.h b/Marlin/src/HAL/DUE/HAL.h index 7a057fdae4fc..dbb84e2ac717 100644 --- a/Marlin/src/HAL/DUE/HAL.h +++ b/Marlin/src/HAL/DUE/HAL.h @@ -22,9 +22,7 @@ #pragma once /** - * Description: HAL for Arduino Due and compatible (SAM3X8E) - * - * For ARDUINO_ARCH_SAM + * HAL for Arduino Due and compatible (SAM3X8E) */ #define CPU_32_BIT diff --git a/Marlin/src/HAL/DUE/HAL_SPI.cpp b/Marlin/src/HAL/DUE/HAL_SPI.cpp index 54ae8eceb10c..0451d8bcc4ff 100644 --- a/Marlin/src/HAL/DUE/HAL_SPI.cpp +++ b/Marlin/src/HAL/DUE/HAL_SPI.cpp @@ -30,7 +30,7 @@ */ /** - * Description: HAL for Arduino Due and compatible (SAM3X8E) + * HAL for Arduino Due and compatible (SAM3X8E) * * For ARDUINO_ARCH_SAM */ diff --git a/Marlin/src/HAL/DUE/timers.cpp b/Marlin/src/HAL/DUE/timers.cpp index 795cdad66a57..9b937d1a7c83 100644 --- a/Marlin/src/HAL/DUE/timers.cpp +++ b/Marlin/src/HAL/DUE/timers.cpp @@ -21,9 +21,7 @@ */ /** - * Description: HAL for Arduino Due and compatible (SAM3X8E) - * - * For ARDUINO_ARCH_SAM + * HAL Timers for Arduino Due and compatible (SAM3X8E) */ #ifdef ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/DUE/timers.h b/Marlin/src/HAL/DUE/timers.h index 9defe39a0ae3..0e1ea07cc2e4 100644 --- a/Marlin/src/HAL/DUE/timers.h +++ b/Marlin/src/HAL/DUE/timers.h @@ -21,9 +21,7 @@ #pragma once /** - * HAL for Arduino Due and compatible (SAM3X8E) - * - * For ARDUINO_ARCH_SAM + * HAL Timers for Arduino Due and compatible (SAM3X8E) */ #include diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index f6fa46dd93a7..aa3bcc775d1f 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -20,7 +20,7 @@ #pragma once /** - * Description: HAL for Espressif ESP32 WiFi + * HAL for Espressif ESP32 WiFi */ #define CPU_32_BIT diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.cpp b/Marlin/src/HAL/TEENSY31_32/HAL.cpp index d276a4c88084..8c3dd8337740 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.cpp +++ b/Marlin/src/HAL/TEENSY31_32/HAL.cpp @@ -20,9 +20,8 @@ * */ - /** - * Description: HAL for Teensy32 (MK20DX256) + * HAL for Teensy 3.2 (MK20DX256) */ #ifdef __MK20DX256__ diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.h b/Marlin/src/HAL/TEENSY31_32/HAL.h index 31ceb8b87c9a..b434b9de7643 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/TEENSY31_32/HAL.h @@ -22,7 +22,7 @@ #pragma once /** - * Description: HAL for Teensy 3.5 and Teensy 3.6 + * HAL for Teensy 3.2 (MK20DX256) */ #define CPU_32_BIT @@ -44,8 +44,9 @@ //#undef MOTHERBOARD //#define MOTHERBOARD BOARD_TEENSY31_32 -#ifdef __MK20DX256__ - #define IS_32BIT_TEENSY 1 +#define IS_32BIT_TEENSY 1 +#define IS_TEENSY_31_32 1 +#ifndef IS_TEENSY31 #define IS_TEENSY32 1 #endif diff --git a/Marlin/src/HAL/TEENSY31_32/Servo.cpp b/Marlin/src/HAL/TEENSY31_32/Servo.cpp index 544892cb7de4..19d57cf1b375 100644 --- a/Marlin/src/HAL/TEENSY31_32/Servo.cpp +++ b/Marlin/src/HAL/TEENSY31_32/Servo.cpp @@ -51,5 +51,4 @@ void libServo::move(const int value) { } #endif // HAS_SERVOS - #endif // __MK20DX256__ diff --git a/Marlin/src/HAL/TEENSY31_32/eeprom.cpp b/Marlin/src/HAL/TEENSY31_32/eeprom.cpp index f66313225562..cc5c56f7d550 100644 --- a/Marlin/src/HAL/TEENSY31_32/eeprom.cpp +++ b/Marlin/src/HAL/TEENSY31_32/eeprom.cpp @@ -23,8 +23,7 @@ #if USE_WIRED_EEPROM /** - * PersistentStore for Arduino-style EEPROM interface - * with implementations supplied by the framework. + * HAL PersistentStore for Teensy 3.2 (MK20DX256) */ #include "../shared/eeprom_api.h" diff --git a/Marlin/src/HAL/TEENSY31_32/timers.cpp b/Marlin/src/HAL/TEENSY31_32/timers.cpp index bf756af8a128..7e01a38f8946 100644 --- a/Marlin/src/HAL/TEENSY31_32/timers.cpp +++ b/Marlin/src/HAL/TEENSY31_32/timers.cpp @@ -21,7 +21,7 @@ */ /** - * Teensy3.2 __MK20DX256__ + * HAL Timers for Teensy 3.2 (MK20DX256) */ #ifdef __MK20DX256__ diff --git a/Marlin/src/HAL/TEENSY31_32/timers.h b/Marlin/src/HAL/TEENSY31_32/timers.h index 4f004ef75191..135b32883084 100644 --- a/Marlin/src/HAL/TEENSY31_32/timers.h +++ b/Marlin/src/HAL/TEENSY31_32/timers.h @@ -22,8 +22,7 @@ #pragma once /** - * Description: HAL for - * Teensy3.2 (__MK20DX256__) + * HAL Timers for Teensy 3.2 (MK20DX256) */ #include diff --git a/Marlin/src/HAL/TEENSY35_36/HAL.cpp b/Marlin/src/HAL/TEENSY35_36/HAL.cpp index bcbee1d4c5ff..92907353b833 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL.cpp +++ b/Marlin/src/HAL/TEENSY35_36/HAL.cpp @@ -21,7 +21,7 @@ */ /** - * Description: HAL for Teensy35 (MK64FX512) + * HAL for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) */ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) diff --git a/Marlin/src/HAL/TEENSY35_36/HAL.h b/Marlin/src/HAL/TEENSY35_36/HAL.h index 11f0fb941e93..f454e7af5121 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/TEENSY35_36/HAL.h @@ -22,7 +22,7 @@ #pragma once /** - * Description: HAL for Teensy 3.5 and Teensy 3.6 + * HAL for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) */ #define CPU_32_BIT @@ -45,13 +45,12 @@ // Defines // ------------------------ -#ifdef __MK64FX512__ - #define IS_32BIT_TEENSY 1 - #define IS_TEENSY35 1 -#endif +#define IS_32BIT_TEENSY 1 +#define IS_TEENSY_35_36 1 #ifdef __MK66FX1M0__ - #define IS_32BIT_TEENSY 1 #define IS_TEENSY36 1 +#else // __MK64FX512__ + #define IS_TEENSY35 1 #endif #define _MSERIAL(X) Serial##X diff --git a/Marlin/src/HAL/TEENSY35_36/HAL_SPI.cpp b/Marlin/src/HAL/TEENSY35_36/HAL_SPI.cpp index 812aa90c83b3..b36900a32195 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL_SPI.cpp +++ b/Marlin/src/HAL/TEENSY35_36/HAL_SPI.cpp @@ -19,6 +19,11 @@ * along with this program. If not, see . * */ + +/** + * HAL SPI for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #include "HAL.h" diff --git a/Marlin/src/HAL/TEENSY35_36/Servo.cpp b/Marlin/src/HAL/TEENSY35_36/Servo.cpp index d1390187a71e..033858594f6c 100644 --- a/Marlin/src/HAL/TEENSY35_36/Servo.cpp +++ b/Marlin/src/HAL/TEENSY35_36/Servo.cpp @@ -19,6 +19,11 @@ * along with this program. If not, see . * */ + +/** + * HAL Servo for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #include "../../inc/MarlinConfig.h" @@ -51,5 +56,4 @@ void libServo::move(const int value) { } #endif // HAS_SERVOS - #endif // __MK64FX512__ || __MK66FX1M0__ diff --git a/Marlin/src/HAL/TEENSY35_36/Servo.h b/Marlin/src/HAL/TEENSY35_36/Servo.h index ae904f0e2e62..719011f102a0 100644 --- a/Marlin/src/HAL/TEENSY35_36/Servo.h +++ b/Marlin/src/HAL/TEENSY35_36/Servo.h @@ -21,6 +21,10 @@ */ #pragma once +/** + * HAL Servo for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #include // Inherit and expand on core Servo library diff --git a/Marlin/src/HAL/TEENSY35_36/eeprom.cpp b/Marlin/src/HAL/TEENSY35_36/eeprom.cpp index d2d7324cdd97..ccbdc6b11600 100644 --- a/Marlin/src/HAL/TEENSY35_36/eeprom.cpp +++ b/Marlin/src/HAL/TEENSY35_36/eeprom.cpp @@ -22,15 +22,14 @@ */ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) +/** + * HAL PersistentStore for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #include "../../inc/MarlinConfig.h" #if USE_WIRED_EEPROM -/** - * PersistentStore for Arduino-style EEPROM interface - * with implementations supplied by the framework. - */ - #include "../shared/eeprom_api.h" #include diff --git a/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h b/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h index 92e22efc0fe6..87e6a7507abc 100644 --- a/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h +++ b/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h @@ -22,7 +22,7 @@ #pragma once /** - * Endstop Interrupts + * HAL Endstop Interrupts for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) * * Without endstop interrupts the endstop pins must be polled continually in * the temperature-ISR via endstops.update(), most of the time finding no change. diff --git a/Marlin/src/HAL/TEENSY35_36/pinsDebug.h b/Marlin/src/HAL/TEENSY35_36/pinsDebug.h index e57c73c59558..e529fa93be16 100644 --- a/Marlin/src/HAL/TEENSY35_36/pinsDebug.h +++ b/Marlin/src/HAL/TEENSY35_36/pinsDebug.h @@ -18,6 +18,10 @@ */ #pragma once +/** + * HAL Pins Debugging for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS #define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin diff --git a/Marlin/src/HAL/TEENSY35_36/spi_pins.h b/Marlin/src/HAL/TEENSY35_36/spi_pins.h index 276d4f456a7f..c76344d07546 100644 --- a/Marlin/src/HAL/TEENSY35_36/spi_pins.h +++ b/Marlin/src/HAL/TEENSY35_36/spi_pins.h @@ -21,6 +21,10 @@ */ #pragma once +/** + * HAL SPI Pins for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) + */ + #define SCK_PIN 13 #define MISO_PIN 12 #define MOSI_PIN 11 diff --git a/Marlin/src/HAL/TEENSY35_36/timers.cpp b/Marlin/src/HAL/TEENSY35_36/timers.cpp index 5725e83a85da..8067d091dd01 100644 --- a/Marlin/src/HAL/TEENSY35_36/timers.cpp +++ b/Marlin/src/HAL/TEENSY35_36/timers.cpp @@ -21,8 +21,7 @@ */ /** - * Teensy3.5 __MK64FX512__ - * Teensy3.6 __MK66FX1M0__ + * HAL Timers for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) */ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) diff --git a/Marlin/src/HAL/TEENSY35_36/timers.h b/Marlin/src/HAL/TEENSY35_36/timers.h index ad6629f40df6..5c623cd80192 100644 --- a/Marlin/src/HAL/TEENSY35_36/timers.h +++ b/Marlin/src/HAL/TEENSY35_36/timers.h @@ -21,9 +21,7 @@ #pragma once /** - * Description: HAL for - * Teensy3.5 (__MK64FX512__) - * Teensy3.6 (__MK66FX1M0__) + * HAL Timers for Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) */ #include diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.cpp b/Marlin/src/HAL/TEENSY40_41/HAL.cpp index f5d37f5fc44d..5b1b4272f5ee 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.cpp +++ b/Marlin/src/HAL/TEENSY40_41/HAL.cpp @@ -21,7 +21,7 @@ */ /** - * Description: HAL for Teensy40 (IMXRT1062) + * HAL for Teensy 4.0 / 4.1 (IMXRT1062) */ #ifdef __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h index b3b0144d134b..1aff6eed8e91 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.h +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -22,7 +22,7 @@ #pragma once /** - * Description: HAL for Teensy 4.0 and Teensy 4.1 + * HAL for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) */ #define CPU_32_BIT @@ -45,8 +45,9 @@ // Defines // ------------------------ -#ifdef __IMXRT1062__ - #define IS_32BIT_TEENSY 1 +#define IS_32BIT_TEENSY 1 +#define IS_TEENSY_40_41 1 +#ifndef IS_TEENSY40 #define IS_TEENSY41 1 #endif diff --git a/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp b/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp index 9ccbb3a1f45b..20b472aa3515 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp +++ b/Marlin/src/HAL/TEENSY40_41/HAL_SPI.cpp @@ -19,6 +19,11 @@ * along with this program. If not, see . * */ + +/** + * HAL SPI for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #ifdef __IMXRT1062__ #include "HAL.h" diff --git a/Marlin/src/HAL/TEENSY40_41/Servo.cpp b/Marlin/src/HAL/TEENSY40_41/Servo.cpp index e3d0d034499d..ffb1102b14f9 100644 --- a/Marlin/src/HAL/TEENSY40_41/Servo.cpp +++ b/Marlin/src/HAL/TEENSY40_41/Servo.cpp @@ -19,6 +19,11 @@ * along with this program. If not, see . * */ + +/** + * HAL Servo for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #ifdef __IMXRT1062__ #include "../../inc/MarlinConfig.h" @@ -53,5 +58,4 @@ void libServo::detach() { } #endif // HAS_SERVOS - #endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/Servo.h b/Marlin/src/HAL/TEENSY40_41/Servo.h index ce910ed8a854..699fd700c943 100644 --- a/Marlin/src/HAL/TEENSY40_41/Servo.h +++ b/Marlin/src/HAL/TEENSY40_41/Servo.h @@ -21,6 +21,10 @@ */ #pragma once +/** + * HAL Servo for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #include // Inherit and expand on core Servo library diff --git a/Marlin/src/HAL/TEENSY40_41/eeprom.cpp b/Marlin/src/HAL/TEENSY40_41/eeprom.cpp index 5491e04fbcc7..030a8c38af3f 100644 --- a/Marlin/src/HAL/TEENSY40_41/eeprom.cpp +++ b/Marlin/src/HAL/TEENSY40_41/eeprom.cpp @@ -27,8 +27,7 @@ #if USE_WIRED_EEPROM /** - * PersistentStore for Arduino-style EEPROM interface - * with implementations supplied by the framework. + * HAL PersistentStore for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) */ #include "../shared/eeprom_api.h" diff --git a/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h index 92e22efc0fe6..a05e911668a7 100644 --- a/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h +++ b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h @@ -22,7 +22,7 @@ #pragma once /** - * Endstop Interrupts + * HAL Endstop Interrupts for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) * * Without endstop interrupts the endstop pins must be polled continually in * the temperature-ISR via endstops.update(), most of the time finding no change. diff --git a/Marlin/src/HAL/TEENSY40_41/fastio.h b/Marlin/src/HAL/TEENSY40_41/fastio.h index 19b8114509b7..52f991dfb85f 100644 --- a/Marlin/src/HAL/TEENSY40_41/fastio.h +++ b/Marlin/src/HAL/TEENSY40_41/fastio.h @@ -23,7 +23,7 @@ #pragma once /** - * Fast I/O interfaces for Teensy 4 + * Fast I/O interfaces for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) * These use GPIO functions instead of Direct Port Manipulation, as on AVR. */ diff --git a/Marlin/src/HAL/TEENSY40_41/pinsDebug.h b/Marlin/src/HAL/TEENSY40_41/pinsDebug.h index 890f66865011..4ad62d00fea5 100644 --- a/Marlin/src/HAL/TEENSY40_41/pinsDebug.h +++ b/Marlin/src/HAL/TEENSY40_41/pinsDebug.h @@ -18,6 +18,10 @@ */ #pragma once +/** + * HAL Pins Debugging for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #warning "PINS_DEBUGGING is not fully supported for Teensy 4.0 / 4.1 so 'M43' may cause hangs." #define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS diff --git a/Marlin/src/HAL/TEENSY40_41/spi_pins.h b/Marlin/src/HAL/TEENSY40_41/spi_pins.h index 276d4f456a7f..d6f8d41bf6ce 100644 --- a/Marlin/src/HAL/TEENSY40_41/spi_pins.h +++ b/Marlin/src/HAL/TEENSY40_41/spi_pins.h @@ -21,6 +21,10 @@ */ #pragma once +/** + * HAL SPI Pins for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #define SCK_PIN 13 #define MISO_PIN 12 #define MOSI_PIN 11 diff --git a/Marlin/src/HAL/TEENSY40_41/timers.cpp b/Marlin/src/HAL/TEENSY40_41/timers.cpp index 15f5185a6ba0..81c9b08c17a5 100644 --- a/Marlin/src/HAL/TEENSY40_41/timers.cpp +++ b/Marlin/src/HAL/TEENSY40_41/timers.cpp @@ -21,7 +21,7 @@ */ /** - * Teensy4.0/4.1 (__IMXRT1062__) + * HAL Timers for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) */ #ifdef __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/timers.h b/Marlin/src/HAL/TEENSY40_41/timers.h index 81891c366be6..7e4cd080cb88 100644 --- a/Marlin/src/HAL/TEENSY40_41/timers.h +++ b/Marlin/src/HAL/TEENSY40_41/timers.h @@ -21,8 +21,7 @@ #pragma once /** - * Description: HAL for - * Teensy4.0/4.1 (__IMXRT1062__) + * HAL Timers for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) */ #include diff --git a/Marlin/src/HAL/TEENSY40_41/watchdog.cpp b/Marlin/src/HAL/TEENSY40_41/watchdog.cpp index 4253944f2b79..8b05ddb153eb 100644 --- a/Marlin/src/HAL/TEENSY40_41/watchdog.cpp +++ b/Marlin/src/HAL/TEENSY40_41/watchdog.cpp @@ -19,6 +19,11 @@ * along with this program. If not, see . * */ + +/** + * HAL Watchdog for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) + */ + #ifdef __IMXRT1062__ #include "../../inc/MarlinConfig.h" @@ -48,5 +53,4 @@ void HAL_watchdog_refresh() { } #endif // USE_WATCHDOG - #endif // __IMXRT1062__ diff --git a/Marlin/src/HAL/TEENSY40_41/watchdog.h b/Marlin/src/HAL/TEENSY40_41/watchdog.h index f10ecb5aef9c..03ab151b0706 100644 --- a/Marlin/src/HAL/TEENSY40_41/watchdog.h +++ b/Marlin/src/HAL/TEENSY40_41/watchdog.h @@ -22,7 +22,7 @@ #pragma once /** - * Watchdog for Teensy4.0/4.1 (__IMXRT1062__) + * HAL Watchdog for Teensy 4.0 (IMXRT1062DVL6A) / 4.1 (IMXRT1062DVJ6A) */ void watchdog_init(); diff --git a/Marlin/src/gcode/calibrate/M100.cpp b/Marlin/src/gcode/calibrate/M100.cpp index 5ec709fb4002..9ac2380e7964 100644 --- a/Marlin/src/gcode/calibrate/M100.cpp +++ b/Marlin/src/gcode/calibrate/M100.cpp @@ -60,7 +60,7 @@ #define TEST_BYTE ((char) 0xE5) -#if defined(__AVR__) || IS_32BIT_TEENSY +#if EITHER(__AVR__, IS_32BIT_TEENSY) extern char __bss_end; char *end_bss = &__bss_end, diff --git a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h index 45d1231f8e74..0edb5cb19dbd 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY31_32.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY31_32.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html */ -#if NOT_TARGET(IS_32BIT_TEENSY) +#if NOT_TARGET(IS_TEENSY_31_32) #error "Oops! Select 'Teensy 3.1' or 'Teensy 3.2' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h index b1cd3d161213..2e09c8a425ca 100644 --- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h +++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h @@ -27,7 +27,7 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if NOT_TARGET(IS_32BIT_TEENSY) +#if NOT_TARGET(IS_TEENSY_35_36) #error "Oops! Select 'Teensy 3.5' or 'Teensy 3.6' in 'Tools > Board.'" #endif diff --git a/Marlin/src/pins/teensy4/pins_T41U5XBB.h b/Marlin/src/pins/teensy4/pins_T41U5XBB.h index cb4c0ea879bf..830637bebd93 100644 --- a/Marlin/src/pins/teensy4/pins_T41U5XBB.h +++ b/Marlin/src/pins/teensy4/pins_T41U5XBB.h @@ -27,12 +27,12 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if NOT_TARGET(IS_32BIT_TEENSY) || NOT_TARGET(IS_TEENSY41) +#if NOT_TARGET(IS_TEENSY41) #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" -#else - #define BOARD_INFO_NAME "Teensy4.1" #endif +#define BOARD_INFO_NAME "Teensy4.1" + /** * Plan for Teensy 4.0 and Teensy 4.1: * USB diff --git a/Marlin/src/pins/teensy4/pins_TEENSY41.h b/Marlin/src/pins/teensy4/pins_TEENSY41.h index cc7341bc2326..31c6fda5c900 100644 --- a/Marlin/src/pins/teensy4/pins_TEENSY41.h +++ b/Marlin/src/pins/teensy4/pins_TEENSY41.h @@ -27,12 +27,12 @@ * https://www.pjrc.com/teensy/teensyduino.html ****************************************************************************************/ -#if NOT_TARGET(IS_32BIT_TEENSY) || NOT_TARGET(IS_TEENSY41) +#if NOT_TARGET(IS_TEENSY41) #error "Oops! Select 'Teensy 4.1' in 'Tools > Board.'" -#else - #define BOARD_INFO_NAME "Teensy4.1" #endif +#define BOARD_INFO_NAME "Teensy4.1" + /** * Plan for Teensy 4.0 and Teensy 4.1: * USB diff --git a/Marlin/src/sd/Sd2Card.h b/Marlin/src/sd/Sd2Card.h index da19283ef1ec..5a7ed375e579 100644 --- a/Marlin/src/sd/Sd2Card.h +++ b/Marlin/src/sd/Sd2Card.h @@ -78,13 +78,11 @@ uint8_t const SD_CARD_TYPE_SD1 = 1, // Standard capacity V1 SD_CARD_TYPE_SDHC = 3; // High Capacity SD card /** - * define SOFTWARE_SPI to use bit-bang SPI + * Define SOFTWARE_SPI to use bit-bang SPI */ -#if MEGA_SOFT_SPI +#if EITHER(MEGA_SOFT_SPI, USE_SOFTWARE_SPI) #define SOFTWARE_SPI -#elif USE_SOFTWARE_SPI - #define SOFTWARE_SPI -#endif // MEGA_SOFT_SPI +#endif /** * \class Sd2Card diff --git a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.h b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.h index 55a1099a3a25..8ca95ba7061c 100644 --- a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.h +++ b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.h @@ -30,19 +30,20 @@ #include "../SdInfo.h" /** - * define SOFTWARE_SPI to use bit-bang SPI + * Define SOFTWARE_SPI to use bit-bang SPI */ -#if MEGA_SOFT_SPI || USE_SOFTWARE_SPI +#if EITHER(MEGA_SOFT_SPI, USE_SOFTWARE_SPI) #define SOFTWARE_SPI #endif // SPI pin definitions - do not edit here - change in SdFatConfig.h -#if DISABLED(SOFTWARE_SPI) +#if ENABLED(SOFTWARE_SPI) + #warning "Auto-assigning '10' as the SD_CHIP_SELECT_PIN." + #define SD_CHIP_SELECT_PIN 10 // Software SPI chip select pin for the SD +#else // hardware pin defs #define SD_CHIP_SELECT_PIN SS_PIN // The default chip select pin for the SD card is SS. -#else // SOFTWARE_SPI - #define SD_CHIP_SELECT_PIN 10 // Software SPI chip select pin for the SD -#endif // SOFTWARE_SPI +#endif class Sd2Card { private: From 90801f8815bb0512836e3191af6e614f18db2522 Mon Sep 17 00:00:00 2001 From: bilsef Date: Fri, 2 Oct 2020 15:08:50 -0700 Subject: [PATCH 188/277] Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) --- Marlin/src/sd/Sd2Card.cpp | 15 +++++++++++++++ Marlin/src/sd/Sd2Card.h | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/Marlin/src/sd/Sd2Card.cpp b/Marlin/src/sd/Sd2Card.cpp index 6ff2793e93df..491c0692c72f 100644 --- a/Marlin/src/sd/Sd2Card.cpp +++ b/Marlin/src/sd/Sd2Card.cpp @@ -231,6 +231,13 @@ bool Sd2Card::eraseSingleBlockEnable() { * The reason for failure can be determined by calling errorCode() and errorData(). */ bool Sd2Card::init(const uint8_t sckRateID, const pin_t chipSelectPin) { + #if IS_TEENSY_35_36 || IS_TEENSY_40_41 + chipSelectPin_ = BUILTIN_SDCARD; + const uint8_t ret = SDHC_CardInit(); + type_ = SDHC_CardGetType(); + return (ret == 0); + #endif + errorCode_ = type_ = 0; chipSelectPin_ = chipSelectPin; // 16-bit init start time allows over a minute @@ -332,6 +339,10 @@ bool Sd2Card::init(const uint8_t sckRateID, const pin_t chipSelectPin) { * \return true for success, false for failure. */ bool Sd2Card::readBlock(uint32_t blockNumber, uint8_t* dst) { + #if IS_TEENSY_35_36 || IS_TEENSY_40_41 + return 0 == SDHC_CardReadBlock(dst, blockNumber); + #endif + if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9; // Use address if not SDHC card #if ENABLED(SD_CHECK_AND_RETRY) @@ -547,6 +558,10 @@ bool Sd2Card::waitNotBusy(const millis_t timeout_ms) { bool Sd2Card::writeBlock(uint32_t blockNumber, const uint8_t* src) { if (ENABLED(SDCARD_READONLY)) return false; + #if IS_TEENSY_35_36 || IS_TEENSY_40_41 + return 0 == SDHC_CardWriteBlock(src, blockNumber); + #endif + bool success = false; if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9; // Use address if not SDHC card if (!cardCommand(CMD24, blockNumber)) { diff --git a/Marlin/src/sd/Sd2Card.h b/Marlin/src/sd/Sd2Card.h index 5a7ed375e579..6900502e03e9 100644 --- a/Marlin/src/sd/Sd2Card.h +++ b/Marlin/src/sd/Sd2Card.h @@ -84,6 +84,11 @@ uint8_t const SD_CARD_TYPE_SD1 = 1, // Standard capacity V1 #define SOFTWARE_SPI #endif +#if IS_TEENSY_35_36 || IS_TEENSY_40_41 + #include "NXP_SDHC.h" + #define BUILTIN_SDCARD 254 +#endif + /** * \class Sd2Card * \brief Raw access to SD and SDHC flash memory cards. From 9834a36a178be6b0b0469c4dd4d94480b5d32f16 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 3 Oct 2020 11:12:17 +1300 Subject: [PATCH 189/277] Fix compile of MMU2 with S-mode disabled (#19584) --- Marlin/src/feature/mmu2/mmu2.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Marlin/src/feature/mmu2/mmu2.cpp b/Marlin/src/feature/mmu2/mmu2.cpp index 37a2404c332b..3d635369e438 100644 --- a/Marlin/src/feature/mmu2/mmu2.cpp +++ b/Marlin/src/feature/mmu2/mmu2.cpp @@ -340,17 +340,17 @@ void MMU2::mmu_loop() { #endif if (rx_ok()) { - // response to C0 mmu command in PRUSA_MMU2_S_MODE + // Response to C0 mmu command in PRUSA_MMU2_S_MODE bool can_reset = true; - if (ENABLED(PRUSA_MMU2_S_MODE) && last_cmd == MMU_CMD_C0) { - if (!mmu2s_triggered) { + #if ENABLED(PRUSA_MMU2_S_MODE) + if (!mmu2s_triggered && last_cmd == MMU_CMD_C0) { can_reset = false; // MMU ok received but filament sensor not triggered, retrying... DEBUG_ECHOLNPGM("MMU => 'ok' (filament not present in gears)"); DEBUG_ECHOLNPGM("MMU <= 'C0' (keep trying)"); MMU2_COMMAND("C0"); } - } + #endif if (can_reset) { DEBUG_ECHOLNPGM("MMU => 'ok'"); ready = true; From 20bcaa78f6467b26acf70e0ec448860cd729fb6a Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 3 Oct 2020 11:19:43 +1300 Subject: [PATCH 190/277] Fix TEMP_ADC_PROBE support for STM32F1 (#19582) Co-authored-by: ellensp --- Marlin/src/HAL/STM32F1/HAL.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Marlin/src/HAL/STM32F1/HAL.cpp b/Marlin/src/HAL/STM32F1/HAL.cpp index d7f9264be6c9..5920334bb101 100644 --- a/Marlin/src/HAL/STM32F1/HAL.cpp +++ b/Marlin/src/HAL/STM32F1/HAL.cpp @@ -97,6 +97,9 @@ const uint8_t adc_pins[] = { #if HAS_TEMP_ADC_0 TEMP_0_PIN, #endif + #if HAS_TEMP_ADC_PROBE + TEMP_PROBE_PIN, + #endif #if HAS_HEATED_BED TEMP_BED_PIN, #endif @@ -151,6 +154,9 @@ enum TempPinIndex : char { #if HAS_TEMP_ADC_0 TEMP_0, #endif + #if HAS_TEMP_ADC_PROBE + TEMP_PROBE, + #endif #if HAS_HEATED_BED TEMP_BED, #endif @@ -341,6 +347,9 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { #if HAS_TEMP_ADC_0 case TEMP_0_PIN: pin_index = TEMP_0; break; #endif + #if HAS_TEMP_ADC_PROBE + case TEMP_PROBE_PIN: pin_index = TEMP_PROBE; break; + #endif #if HAS_HEATED_BED case TEMP_BED_PIN: pin_index = TEMP_BED; break; #endif From b9475900822a4c60f1f9635799a5c1c7f733b478 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 3 Oct 2020 11:28:08 +1300 Subject: [PATCH 191/277] Fix wrappers on HAL/STM32F1 .cpp files (#19581) Co-authored-by: Scott Lahteine --- Marlin/src/HAL/STM32F1/HAL_SPI.cpp | 3 --- Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp | 3 +++ Marlin/src/HAL/STM32F1/eeprom_if_iic.cpp | 3 +++ Marlin/src/HAL/STM32F1/eeprom_wired.cpp | 10 +++++----- Marlin/src/HAL/STM32F1/msc_sd.cpp | 4 ++-- Marlin/src/HAL/STM32F1/onboard_sd.cpp | 3 +++ 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/HAL_SPI.cpp b/Marlin/src/HAL/STM32F1/HAL_SPI.cpp index 4d72473e7f8e..550a79deaec5 100644 --- a/Marlin/src/HAL/STM32F1/HAL_SPI.cpp +++ b/Marlin/src/HAL/STM32F1/HAL_SPI.cpp @@ -24,9 +24,6 @@ /** * Software SPI functions originally from Arduino Sd2Card Library * Copyright (c) 2009 by William Greiman - */ - -/** * Adapted to the STM32F1 HAL */ diff --git a/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp b/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp index f77306a88a17..658b7cd4a654 100644 --- a/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp +++ b/Marlin/src/HAL/STM32F1/eeprom_bl24cxx.cpp @@ -25,6 +25,8 @@ * with simple implementations supplied by Marlin. */ +#ifdef __STM32F1__ + #include "../../inc/MarlinConfig.h" #if ENABLED(IIC_BL24CXX_EEPROM) @@ -79,3 +81,4 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t } #endif // IIC_BL24CXX_EEPROM +#endif // __STM32F1__ diff --git a/Marlin/src/HAL/STM32F1/eeprom_if_iic.cpp b/Marlin/src/HAL/STM32F1/eeprom_if_iic.cpp index 33dd277addbe..ccc3fc537f1a 100644 --- a/Marlin/src/HAL/STM32F1/eeprom_if_iic.cpp +++ b/Marlin/src/HAL/STM32F1/eeprom_if_iic.cpp @@ -25,6 +25,8 @@ * Enable USE_SHARED_EEPROM if not supplied by the framework. */ +#ifdef __STM32F1__ + #include "../../inc/MarlinConfig.h" #if ENABLED(IIC_BL24CXX_EEPROM) @@ -49,3 +51,4 @@ uint8_t eeprom_read_byte(uint8_t *pos) { } #endif // IIC_BL24CXX_EEPROM +#endif // __STM32F1__ diff --git a/Marlin/src/HAL/STM32F1/eeprom_wired.cpp b/Marlin/src/HAL/STM32F1/eeprom_wired.cpp index b4699d00dcc0..fffd6ccaf01e 100644 --- a/Marlin/src/HAL/STM32F1/eeprom_wired.cpp +++ b/Marlin/src/HAL/STM32F1/eeprom_wired.cpp @@ -17,17 +17,17 @@ * along with this program. If not, see . * */ + +/** + * HAL PersistentStore for STM32F1 + */ + #ifdef __STM32F1__ #include "../../inc/MarlinConfig.h" #if USE_WIRED_EEPROM -/** - * PersistentStore for Arduino-style EEPROM interface - * with simple implementations supplied by Marlin. - */ - #include "../shared/eeprom_if.h" #include "../shared/eeprom_api.h" diff --git a/Marlin/src/HAL/STM32F1/msc_sd.cpp b/Marlin/src/HAL/STM32F1/msc_sd.cpp index 6a4652e467fb..4f44f2ee905f 100644 --- a/Marlin/src/HAL/STM32F1/msc_sd.cpp +++ b/Marlin/src/HAL/STM32F1/msc_sd.cpp @@ -13,7 +13,7 @@ * along with this program. If not, see . * */ -#ifdef USE_USB_COMPOSITE +#if defined(__STM32F1__) && defined(USE_USB_COMPOSITE) #include "msc_sd.h" #include "SPI.h" @@ -77,4 +77,4 @@ void MSC_SD_init() { #endif } -#endif // USE_USB_COMPOSITE +#endif // __STM32F1__ && USE_USB_COMPOSITE diff --git a/Marlin/src/HAL/STM32F1/onboard_sd.cpp b/Marlin/src/HAL/STM32F1/onboard_sd.cpp index da25271734ba..9c2b128ddc9a 100644 --- a/Marlin/src/HAL/STM32F1/onboard_sd.cpp +++ b/Marlin/src/HAL/STM32F1/onboard_sd.cpp @@ -11,6 +11,8 @@ * Redistributions of source code must retain the above copyright notice. */ +#ifdef __STM32F1__ + #include "../../inc/MarlinConfig.h" #if SD_CONNECTION_IS(ONBOARD) @@ -553,3 +555,4 @@ DRESULT disk_read ( #endif // _DISKIO_IOCTL #endif // SD_CONNECTION_IS(ONBOARD) +#endif // __STM32F1__ From 2213eb33172009c53deb2d8e959c9acd60d4561d Mon Sep 17 00:00:00 2001 From: Marcio T Date: Fri, 2 Oct 2020 16:30:32 -0600 Subject: [PATCH 192/277] Touch UI support for X2, Y2 and Z2 (#19538) --- .../ftdi_eve_touch_ui/language/language_en.h | 3 + .../screens/advanced_settings_menu.cpp | 2 +- .../screens/stepper_current_screen.cpp | 101 ++++++++++++------ Marlin/src/lcd/extui/ui_api.cpp | 40 +++++-- 4 files changed, 104 insertions(+), 42 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h index bd64032729fd..cc96c8b9cda7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h @@ -57,8 +57,11 @@ namespace Language_en { PROGMEM Language_Str MSG_AMAX_Y = u8"Amax Y"; PROGMEM Language_Str MSG_AMAX_Z = u8"Amax Z"; PROGMEM Language_Str MSG_AXIS_X = u8"X"; + PROGMEM Language_Str MSG_AXIS_X2 = u8"X2"; PROGMEM Language_Str MSG_AXIS_Y = u8"Y"; + PROGMEM Language_Str MSG_AXIS_Y2 = u8"Y2"; PROGMEM Language_Str MSG_AXIS_Z = u8"Z"; + PROGMEM Language_Str MSG_AXIS_Z2 = u8"Z2"; PROGMEM Language_Str MSG_AXIS_E = u8"E"; PROGMEM Language_Str MSG_AXIS_E1 = u8"E1"; PROGMEM Language_Str MSG_AXIS_E2 = u8"E2"; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp index 67b077a55323..cfb268f0b44f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp @@ -38,7 +38,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { } #ifdef TOUCH_UI_PORTRAIT - #if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING) + #if EITHER(HAS_MULTI_HOTEND, SENSORLESS_HOMING) #define GRID_ROWS 9 #else #define GRID_ROWS 8 diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp index e89bbd20201f..136582f09aa7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/stepper_current_screen.cpp @@ -35,20 +35,41 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) { w.precision(0); w.units(GET_TEXT_F(MSG_UNITS_MILLIAMP)); w.heading( GET_TEXT_F(MSG_TMC_CURRENT)); - w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) ); - w.color(y_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) ); - w.color(z_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) ); - #if EXTRUDERS == 1 - w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E), getAxisCurrent_mA(E0) ); - #elif HAS_MULTI_EXTRUDER - w.color(e_axis).adjuster( 8, GET_TEXT_F(MSG_AXIS_E1), getAxisCurrent_mA(E0) ); - w.color(e_axis).adjuster(10, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) ); - #if EXTRUDERS > 2 - w.color(e_axis).adjuster(12, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) ); - #endif - #if EXTRUDERS > 3 - w.color(e_axis).adjuster(14, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) ); + #if AXIS_IS_TMC(X) + w.color(x_axis) .adjuster( 2, GET_TEXT_F(MSG_AXIS_X), getAxisCurrent_mA(X) ); + #endif + #if AXIS_IS_TMC(X2) + w.color(x_axis) .adjuster( 4, GET_TEXT_F(MSG_AXIS_X2), getAxisCurrent_mA(X2) ); + #endif + #if AXIS_IS_TMC(Y) + w.color(y_axis) .adjuster( 6, GET_TEXT_F(MSG_AXIS_Y), getAxisCurrent_mA(Y) ); + #endif + #if AXIS_IS_TMC(Y2) + w.color(x_axis) .adjuster( 8, GET_TEXT_F(MSG_AXIS_Y2), getAxisCurrent_mA(Y2) ); + #endif + #if AXIS_IS_TMC(Z) + w.color(z_axis) .adjuster(10, GET_TEXT_F(MSG_AXIS_Z), getAxisCurrent_mA(Z) ); + #endif + #if AXIS_IS_TMC(Z2) + w.color(z_axis) .adjuster(12, GET_TEXT_F(MSG_AXIS_Z2), getAxisCurrent_mA(Z2) ); + #endif + #if AXIS_IS_TMC(E0) + w.color(e_axis) .adjuster(14, GET_TEXT_F( + #if EXTRUDERS == 1 + MSG_AXIS_E + #else + MSG_AXIS_E1 #endif + ), getAxisCurrent_mA(E0) ); + #endif + #if AXIS_IS_TMC(E1) + w.color(e_axis).adjuster(16, GET_TEXT_F(MSG_AXIS_E2), getAxisCurrent_mA(E1) ); + #endif + #if AXIS_IS_TMC(E2) + w.color(e_axis).adjuster(18, GET_TEXT_F(MSG_AXIS_E3), getAxisCurrent_mA(E2) ); + #endif + #if AXIS_IS_TMC(E3) + w.color(e_axis).adjuster(20, GET_TEXT_F(MSG_AXIS_E4), getAxisCurrent_mA(E3) ); #endif w.increments(); } @@ -56,25 +77,45 @@ void StepperCurrentScreen::onRedraw(draw_mode_t what) { bool StepperCurrentScreen::onTouchHeld(uint8_t tag) { const float increment = getIncrement(); switch (tag) { - case 2: UI_DECREMENT(AxisCurrent_mA, X ); break; - case 3: UI_INCREMENT(AxisCurrent_mA, X ); break; - case 4: UI_DECREMENT(AxisCurrent_mA, Y ); break; - case 5: UI_INCREMENT(AxisCurrent_mA, Y ); break; - case 6: UI_DECREMENT(AxisCurrent_mA, Z ); break; - case 7: UI_INCREMENT(AxisCurrent_mA, Z ); break; - case 8: UI_DECREMENT(AxisCurrent_mA, E0); break; - case 9: UI_INCREMENT(AxisCurrent_mA, E0); break; - #if HAS_MULTI_EXTRUDER - case 10: UI_DECREMENT(AxisCurrent_mA, E1); break; - case 11: UI_INCREMENT(AxisCurrent_mA, E1); break; + #if AXIS_IS_TMC(X) + case 2: UI_DECREMENT(AxisCurrent_mA, X ); break; + case 3: UI_INCREMENT(AxisCurrent_mA, X ); break; + #endif + #if AXIS_IS_TMC(X2) + case 4: UI_DECREMENT(AxisCurrent_mA, X2 ); break; + case 5: UI_INCREMENT(AxisCurrent_mA, X2 ); break; + #endif + #if AXIS_IS_TMC(Y) + case 6: UI_DECREMENT(AxisCurrent_mA, Y ); break; + case 7: UI_INCREMENT(AxisCurrent_mA, Y ); break; + #endif + #if AXIS_IS_TMC(Y2) + case 8: UI_DECREMENT(AxisCurrent_mA, Y2 ); break; + case 9: UI_INCREMENT(AxisCurrent_mA, Y2 ); break; + #endif + #if AXIS_IS_TMC(Z) + case 10: UI_DECREMENT(AxisCurrent_mA, Z ); break; + case 11: UI_INCREMENT(AxisCurrent_mA, Z ); break; + #endif + #if AXIS_IS_TMC(Z2) + case 12: UI_DECREMENT(AxisCurrent_mA, Z2 ); break; + case 13: UI_INCREMENT(AxisCurrent_mA, Z2 ); break; + #endif + #if AXIS_IS_TMC(E0) + case 14: UI_DECREMENT(AxisCurrent_mA, E0); break; + case 15: UI_INCREMENT(AxisCurrent_mA, E0); break; + #endif + #if AXIS_IS_TMC(E1) + case 16: UI_DECREMENT(AxisCurrent_mA, E1); break; + case 17: UI_INCREMENT(AxisCurrent_mA, E1); break; #endif - #if EXTRUDERS > 2 - case 12: UI_DECREMENT(AxisCurrent_mA, E2); break; - case 13: UI_INCREMENT(AxisCurrent_mA, E2); break; + #if AXIS_IS_TMC(E2) + case 18: UI_DECREMENT(AxisCurrent_mA, E2); break; + case 19: UI_INCREMENT(AxisCurrent_mA, E2); break; #endif - #if EXTRUDERS > 3 - case 14: UI_DECREMENT(AxisCurrent_mA, E3); break; - case 15: UI_INCREMENT(AxisCurrent_mA, E3); break; + #if AXIS_IS_TMC(E3) + case 20: UI_DECREMENT(AxisCurrent_mA, E3); break; + case 21: UI_INCREMENT(AxisCurrent_mA, E3); break; #endif default: return false; diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 1270e3d649f7..0acfc9c025c1 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -399,12 +399,21 @@ namespace ExtUI { #if AXIS_IS_TMC(X) case X: return stepperX.getMilliamps(); #endif + #if AXIS_IS_TMC(X2) + case X2: return stepperX2.getMilliamps(); + #endif #if AXIS_IS_TMC(Y) case Y: return stepperY.getMilliamps(); #endif + #if AXIS_IS_TMC(Y2) + case Y2: return stepperY2.getMilliamps(); + #endif #if AXIS_IS_TMC(Z) case Z: return stepperZ.getMilliamps(); #endif + #if AXIS_IS_TMC(Z2) + case Z2: return stepperZ2.getMilliamps(); + #endif default: return NAN; }; } @@ -442,13 +451,22 @@ namespace ExtUI { void setAxisCurrent_mA(const float mA, const axis_t axis) { switch (axis) { #if AXIS_IS_TMC(X) - case X: stepperX.rms_current(constrain(mA, 500, 1500)); break; + case X: stepperX.rms_current(constrain(mA, 400, 1500)); break; + #endif + #if AXIS_IS_TMC(X2) + case X2: stepperX2.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(Y) - case Y: stepperY.rms_current(constrain(mA, 500, 1500)); break; + case Y: stepperY.rms_current(constrain(mA, 400, 1500)); break; + #endif + #if AXIS_IS_TMC(Y2) + case Y2: stepperY2.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(Z) - case Z: stepperZ.rms_current(constrain(mA, 500, 1500)); break; + case Z: stepperZ.rms_current(constrain(mA, 400, 1500)); break; + #endif + #if AXIS_IS_TMC(Z2) + case Z2: stepperZ2.rms_current(constrain(mA, 400, 1500)); break; #endif default: break; }; @@ -457,28 +475,28 @@ namespace ExtUI { void setAxisCurrent_mA(const float mA, const extruder_t extruder) { switch (extruder) { #if AXIS_IS_TMC(E0) - case E0: stepperE0.rms_current(constrain(mA, 500, 1500)); break; + case E0: stepperE0.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E1) - case E1: stepperE1.rms_current(constrain(mA, 500, 1500)); break; + case E1: stepperE1.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E2) - case E2: stepperE2.rms_current(constrain(mA, 500, 1500)); break; + case E2: stepperE2.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E3) - case E3: stepperE3.rms_current(constrain(mA, 500, 1500)); break; + case E3: stepperE3.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E4) - case E4: stepperE4.rms_current(constrain(mA, 500, 1500)); break; + case E4: stepperE4.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E5) - case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break; + case E5: stepperE5.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E6) - case E6: stepperE6.rms_current(constrain(mA, 500, 1500)); break; + case E6: stepperE6.rms_current(constrain(mA, 400, 1500)); break; #endif #if AXIS_IS_TMC(E7) - case E7: stepperE7.rms_current(constrain(mA, 500, 1500)); break; + case E7: stepperE7.rms_current(constrain(mA, 400, 1500)); break; #endif default: break; }; From 2ce6741731cb93f5300bf9a29753256e0c29a3c3 Mon Sep 17 00:00:00 2001 From: Ryan V1 <55478432+V1EngineeringInc@users.noreply.github.com> Date: Fri, 2 Oct 2020 15:31:33 -0700 Subject: [PATCH 193/277] Fix 'bossac' upload on Windows (#19545) --- Marlin/src/HAL/DUE/upload_extra_script.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/HAL/DUE/upload_extra_script.py b/Marlin/src/HAL/DUE/upload_extra_script.py index 06c2b914f53d..d52a0a3642b4 100644 --- a/Marlin/src/HAL/DUE/upload_extra_script.py +++ b/Marlin/src/HAL/DUE/upload_extra_script.py @@ -14,5 +14,5 @@ # Use bossac.exe on Windows env.Replace( - UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot" + UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot $SOURCE" ) From 6ceacd62f9c3bf1e590e139f70a385bebb33dc42 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 3 Oct 2020 00:14:05 +0000 Subject: [PATCH 194/277] [cron] Bump distribution date (2020-10-03) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 5836cc5d9ab3..24a2daac2c4d 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-02" + #define STRING_DISTRIBUTION_DATE "2020-10-03" #endif /** From 7d47ee732e568ea382a185f87cfed2ecf223ddbd Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 4 Oct 2020 00:14:30 +0000 Subject: [PATCH 195/277] [cron] Bump distribution date (2020-10-04) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 24a2daac2c4d..afce129fd0ab 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-03" + #define STRING_DISTRIBUTION_DATE "2020-10-04" #endif /** From d4b6542ce117da15a9f40e8d19d467e801d0f710 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 4 Oct 2020 14:29:02 -0500 Subject: [PATCH 196/277] Fix Tune/Fan edit items - Fixes #19617 - Followup to #18400 --- Marlin/src/lcd/language/language_en.h | 4 +- Marlin/src/lcd/language/language_hu.h | 4 +- Marlin/src/lcd/language/language_ro.h | 4 +- Marlin/src/lcd/language/language_ru.h | 4 +- Marlin/src/lcd/language/language_tr.h | 4 +- Marlin/src/lcd/language/language_uk.h | 4 +- Marlin/src/lcd/language/language_zh_CN.h | 4 +- Marlin/src/lcd/language/language_zh_TW.h | 4 +- Marlin/src/lcd/menu/menu_item.h | 28 ++++++++++++++ Marlin/src/lcd/menu/menu_temperature.cpp | 37 ++++--------------- Marlin/src/lcd/menu/menu_tune.cpp | 47 +++++++----------------- 11 files changed, 65 insertions(+), 79 deletions(-) diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index f377a5184cb6..94cd3ef583be 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -657,8 +657,8 @@ namespace Language_en { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index f93e5ee4e267..02f2a9bde2ae 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -623,8 +623,8 @@ namespace Language_hu { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index d71471a09dfc..46c54f1b997c 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -631,8 +631,8 @@ namespace Language_ro { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 0953bb8a71f8..2a2f56857303 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -767,8 +767,8 @@ namespace Language_ru { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 90208befe709..11fd3f21e899 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -590,8 +590,8 @@ namespace Language_tr { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 54171e1ebc06..9cc1002964f8 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -762,8 +762,8 @@ namespace Language_uk { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 53dac64c0b87..a70e0876a80a 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -630,8 +630,8 @@ namespace Language_zh_CN { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 7f1fce649ea9..6b4bac37d199 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -501,8 +501,8 @@ namespace Language_zh_TW { #if FAN_COUNT == 1 #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED #else #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N - #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N + #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N #endif diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h index 755135d14dec..fe1477288f95 100644 --- a/Marlin/src/lcd/menu/menu_item.h +++ b/Marlin/src/lcd/menu/menu_item.h @@ -452,3 +452,31 @@ class MenuItem_bool : public MenuEditItemBase { #if ENABLED(LEVEL_BED_CORNERS) void _lcd_level_bed_corners(); #endif + +#if HAS_FAN + + #include "../../module/temperature.h" + + inline void on_fan_update() { + thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8); + } + + #if ENABLED(EXTRA_FAN_SPEED) + #define EDIT_EXTRA_FAN_SPEED(V...) EDIT_ITEM_FAST_N(V) + #else + #define EDIT_EXTRA_FAN_SPEED(...) + #endif + + #define _FAN_EDIT_ITEMS(F,L) do{ \ + editable.uint8 = thermalManager.fan_speed[F]; \ + EDIT_ITEM_FAST_N(percent, F, MSG_##L, &editable.uint8, 0, 255, on_fan_update); \ + EDIT_EXTRA_FAN_SPEED(percent, F, MSG_EXTRA_##L, &thermalManager.new_fan_speed[F], 3, 255); \ + }while(0) + + #if FAN_COUNT > 1 + #define FAN_EDIT_ITEMS(F) _FAN_EDIT_ITEMS(F,FAN_SPEED_N) + #endif + + #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N) + +#endif // HAS_FAN diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp index 141a8138b595..1c5493af0573 100644 --- a/Marlin/src/lcd/menu/menu_temperature.cpp +++ b/Marlin/src/lcd/menu/menu_temperature.cpp @@ -191,25 +191,6 @@ void menu_temperature() { // #if HAS_FAN - auto on_fan_update = []{ - thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8); - }; - - #if ENABLED(EXTRA_FAN_SPEED) - #define EDIT_EXTRA_FAN_SPEED(V...) EDIT_ITEM_FAST_N(V) - #else - #define EDIT_EXTRA_FAN_SPEED(...) - #endif - - #if FAN_COUNT > 1 - #define FAN_EDIT_ITEMS(F) do{ \ - editable.uint8 = thermalManager.fan_speed[F]; \ - EDIT_ITEM_FAST_N(percent, F, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update); \ - EDIT_EXTRA_FAN_SPEED(percent, F, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[F], 3, 255); \ - }while(0) - #endif - - #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N) #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7) auto singlenozzle_item = [&](const uint8_t f) { editable.uint8 = singlenozzle_fan_speed[f]; @@ -218,11 +199,7 @@ void menu_temperature() { #endif #if HAS_FAN0 - editable.uint8 = thermalManager.fan_speed[0]; - EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update); - #if ENABLED(EXTRA_FAN_SPEED) - EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255); - #endif + _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED); #endif #if HAS_FAN1 FAN_EDIT_ITEMS(1); @@ -232,32 +209,32 @@ void menu_temperature() { #if HAS_FAN2 FAN_EDIT_ITEMS(2); #elif SNFAN(2) - singlenozzle_item(1); + singlenozzle_item(2); #endif #if HAS_FAN3 FAN_EDIT_ITEMS(3); #elif SNFAN(3) - singlenozzle_item(1); + singlenozzle_item(3); #endif #if HAS_FAN4 FAN_EDIT_ITEMS(4); #elif SNFAN(4) - singlenozzle_item(1); + singlenozzle_item(4); #endif #if HAS_FAN5 FAN_EDIT_ITEMS(5); #elif SNFAN(5) - singlenozzle_item(1); + singlenozzle_item(5); #endif #if HAS_FAN6 FAN_EDIT_ITEMS(6); #elif SNFAN(6) - singlenozzle_item(1); + singlenozzle_item(6); #endif #if HAS_FAN7 FAN_EDIT_ITEMS(7); #elif SNFAN(7) - singlenozzle_item(1); + singlenozzle_item(7); #endif #endif // HAS_FAN diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index b84cb8cbd777..76dab7be8a65 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -142,21 +142,6 @@ void menu_tune() { // #if HAS_FAN - auto on_fan_update = []{ - thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8); - }; - - #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7 - auto fan_edit_items = [&](const uint8_t f) { - editable.uint8 = thermalManager.fan_speed[f]; - EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update); - #if ENABLED(EXTRA_FAN_SPEED) - EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255); - #endif - }; - #endif - - #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N) #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7) auto singlenozzle_item = [&](const uint8_t f) { editable.uint8 = singlenozzle_fan_speed[f]; @@ -165,46 +150,42 @@ void menu_tune() { #endif #if HAS_FAN0 - editable.uint8 = thermalManager.fan_speed[0]; - EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update); - #if ENABLED(EXTRA_FAN_SPEED) - EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255); - #endif + _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED); #endif #if HAS_FAN1 - fan_edit_items(1); + FAN_EDIT_ITEMS(1); #elif SNFAN(1) singlenozzle_item(1); #endif #if HAS_FAN2 - fan_edit_items(2); + FAN_EDIT_ITEMS(2); #elif SNFAN(2) - singlenozzle_item(1); + singlenozzle_item(2); #endif #if HAS_FAN3 - fan_edit_items(3); + FAN_EDIT_ITEMS(3); #elif SNFAN(3) - singlenozzle_item(1); + singlenozzle_item(3); #endif #if HAS_FAN4 - fan_edit_items(4); + FAN_EDIT_ITEMS(4); #elif SNFAN(4) - singlenozzle_item(1); + singlenozzle_item(4); #endif #if HAS_FAN5 - fan_edit_items(5); + FAN_EDIT_ITEMS(5); #elif SNFAN(5) - singlenozzle_item(1); + singlenozzle_item(5); #endif #if HAS_FAN6 - fan_edit_items(6); + FAN_EDIT_ITEMS(6); #elif SNFAN(6) - singlenozzle_item(1); + singlenozzle_item(6); #endif #if HAS_FAN7 - fan_edit_items(7); + FAN_EDIT_ITEMS(7); #elif SNFAN(7) - singlenozzle_item(1); + singlenozzle_item(7); #endif #endif // HAS_FAN From 2fb22cc11613388f7f46242fba2de57e4eb6d277 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 4 Oct 2020 14:46:55 -0500 Subject: [PATCH 197/277] Shared singlenozzle item --- Marlin/src/lcd/menu/menu_item.h | 10 ++++++++++ Marlin/src/lcd/menu/menu_temperature.cpp | 7 +------ Marlin/src/lcd/menu/menu_tune.cpp | 7 +------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h index fe1477288f95..bd3af0cec6b3 100644 --- a/Marlin/src/lcd/menu/menu_item.h +++ b/Marlin/src/lcd/menu/menu_item.h @@ -479,4 +479,14 @@ class MenuItem_bool : public MenuEditItemBase { #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N) + #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7) + #define DEFINE_SINGLENOZZLE_ITEM() \ + auto singlenozzle_item = [&](const uint8_t f) { \ + editable.uint8 = singlenozzle_fan_speed[f]; \ + EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update); \ + } + #else + #define DEFINE_SINGLENOZZLE_ITEM() NOOP + #endif + #endif // HAS_FAN diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp index 1c5493af0573..0c70cd7e18e8 100644 --- a/Marlin/src/lcd/menu/menu_temperature.cpp +++ b/Marlin/src/lcd/menu/menu_temperature.cpp @@ -191,12 +191,7 @@ void menu_temperature() { // #if HAS_FAN - #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7) - auto singlenozzle_item = [&](const uint8_t f) { - editable.uint8 = singlenozzle_fan_speed[f]; - EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update); - }; - #endif + DEFINE_SINGLENOZZLE_ITEM(); #if HAS_FAN0 _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED); diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index 76dab7be8a65..6bf5c3a15d96 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -142,12 +142,7 @@ void menu_tune() { // #if HAS_FAN - #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7) - auto singlenozzle_item = [&](const uint8_t f) { - editable.uint8 = singlenozzle_fan_speed[f]; - EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update); - }; - #endif + DEFINE_SINGLENOZZLE_ITEM(); #if HAS_FAN0 _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED); From bea919da6eaebe84c7a3071888e797b76a0ae7c1 Mon Sep 17 00:00:00 2001 From: Speaka <48431623+Speaka@users.noreply.github.com> Date: Sun, 4 Oct 2020 21:50:12 +0200 Subject: [PATCH 198/277] Fix German translation purging/unloading (#19615) --- Marlin/src/lcd/language/language_de.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 5492cd5d5901..88b78abeb897 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -601,10 +601,10 @@ namespace Language_de { PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Filament einlegen", "und Knopf drücken", "um fortzusetzen")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Knopf drücken um", "Düse aufzuheizen")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Düse heizt auf", "bitte warten...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Warte auf", "Herausnahme", "des Filaments...")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Warte auf", "Entnahme", "des Filaments...")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Warte auf", "Laden des", "Filaments...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Warte auf", "Entladen des", "Filaments...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Klicke um", "die Fila-Entladung", "zu beenden")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Warte auf", "Spülung", "der Düse...")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Klicke um", "die Düsenspülung", "zu beenden")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Warte auf", "Fortsetzen des", "Drucks...")); #else // LCD_HEIGHT < 4 PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Klick zum Fortsetzen")); @@ -613,10 +613,10 @@ namespace Language_de { PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Laden und Klick")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Klick zum Heizen")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Heizen...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Entladen...")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Entnehmen...")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Laden...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Entladen...")); - PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Klick zum beenden", "der Fila-Entladung")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Spülen...")); + PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Klick zum beenden", "der Düsenspülung")); PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Fortsetzen...")); #endif // LCD_HEIGHT < 4 From e4d2234a04378b26f80c27829b96e5a67465738e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 4 Oct 2020 15:45:13 -0500 Subject: [PATCH 199/277] Move SF_ARC_FIX option --- Marlin/Configuration.h | 12 ++---------- Marlin/Configuration_adv.h | 1 + 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index dec1a81bee7e..e03887a9d780 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -2304,9 +2304,6 @@ // then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) //#define TEMP_STAT_LEDS -// SkeinForge sends the wrong arc G-codes when using Arc Point as fillet procedure -//#define SF_ARC_FIX - // Support for the BariCUDA Paste Extruder //#define BARICUDA @@ -2392,17 +2389,12 @@ #define PRINTER_EVENT_LEDS #endif -/** - * R/C SERVO support - * Sponsored by TrinityLabs, Reworked by codexmas - */ - /** * Number of servos * * For some servo-related options NUM_SERVOS will be set automatically. * Set this manually if there are extra servos needing manual control. - * Leave undefined or set to 0 to entirely disable the servo subsystem. + * Set to 0 to turn off servo support. */ //#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command @@ -2414,5 +2406,5 @@ // Only power servos during movement, otherwise leave off to prevent jitter //#define DEACTIVATE_SERVOS_AFTER_MOVE -// Allow servo angle to be edited and saved to EEPROM +// Edit servo angles with M281 and save to EEPROM with M500 //#define EDITABLE_SERVO_ANGLES diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index b6ea64c2af50..32a26a1e5121 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1768,6 +1768,7 @@ #define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes + //#define SF_ARC_FIX // Enable only if using SkeinForge with "Arc Point" fillet procedure #endif // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes. From d99fdcf526dac82a15a4e8520750d28a2d113485 Mon Sep 17 00:00:00 2001 From: ellensp Date: Mon, 5 Oct 2020 10:47:06 +1300 Subject: [PATCH 200/277] Fix Z_AFTER_HOMING without probe (#19607) --- Marlin/src/module/probe.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h index 14036a18d943..f0f56ec19199 100644 --- a/Marlin/src/module/probe.h +++ b/Marlin/src/module/probe.h @@ -84,13 +84,6 @@ class Probe { do_z_clearance(Z_AFTER_PROBING, true, true, true); // Move down still permitted #endif } - static inline void move_z_after_homing() { - #ifdef Z_AFTER_HOMING - do_z_clearance(Z_AFTER_HOMING, true, true, true); - #elif defined(Z_AFTER_PROBING) - move_z_after_probing(); - #endif - } static float probe_at_point(const float &rx, const float &ry, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true); static inline float probe_at_point(const xy_pos_t &pos, const ProbePtRaise raise_after=PROBE_PT_NONE, const uint8_t verbose_level=0, const bool probe_relative=true, const bool sanity_check=true) { return probe_at_point(pos.x, pos.y, raise_after, verbose_level, probe_relative, sanity_check); @@ -98,8 +91,6 @@ class Probe { #else - FORCE_INLINE static void move_z_after_homing() {} - static constexpr xyz_pos_t offset = xyz_pos_t({ 0, 0, 0 }); // See #16767 static bool set_deployed(const bool) { return false; } @@ -108,6 +99,14 @@ class Probe { #endif + static inline void move_z_after_homing() { + #ifdef Z_AFTER_HOMING + do_z_clearance(Z_AFTER_HOMING, true, true, true); + #elif BOTH(Z_AFTER_PROBING,HAS_BED_PROBE) + move_z_after_probing(); + #endif + } + FORCE_INLINE static bool can_reach(const xy_pos_t &pos) { return can_reach(pos.x, pos.y); } FORCE_INLINE static bool good_bounds(const xy_pos_t &lf, const xy_pos_t &rb) { From fb7d7ee7b41fc609aac4a892dc4a77a066f50ccd Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 4 Oct 2020 17:29:12 -0500 Subject: [PATCH 201/277] Add HAS_FAST_MOVES --- Marlin/src/gcode/gcode.cpp | 16 ++++------------ Marlin/src/gcode/gcode.h | 10 +++++----- Marlin/src/gcode/motion/G0_G1.cpp | 6 +----- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 39276bc72909..1de54259beb7 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -260,12 +260,8 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { switch (parser.command_letter) { case 'G': switch (parser.codenum) { - case 0: case 1: G0_G1( // G0: Fast Move, G1: Linear Move - #if IS_SCARA || defined(G0_FEEDRATE) - parser.codenum == 0 - #endif - ); - break; + case 0: case 1: // G0: Fast Move, G1: Linear Move + G0_G1(TERN_(HAS_FAST_MOVES, parser.codenum == 0)); break; #if ENABLED(ARC_SUPPORT) && DISABLED(SCARA) case 2: case 3: G2_G3(parser.codenum == 2); break; // G2: CW ARC, G3: CCW ARC @@ -315,13 +311,9 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #if HAS_LEVELING case 29: // G29: Bed leveling calibration - #if ENABLED(G29_RETRY_AND_RECOVER) - G29_with_retry(); - #else - G29(); - #endif + TERN(G29_RETRY_AND_RECOVER, G29_with_retry, G29)(); break; - #endif // HAS_LEVELING + #endif #if HAS_BED_PROBE case 30: G30(); break; // G30: Single Z probe diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 425a85736932..026083bcfc7b 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -298,6 +298,10 @@ #include "../feature/encoder_i2c.h" #endif +#if IS_SCARA || defined(G0_FEEDRATE) + #define HAS_FAST_MOVES 1 +#endif + enum AxisRelative : uint8_t { REL_X, REL_Y, REL_Z, REL_E, E_MODE_ABS, E_MODE_REL }; class GcodeSuite { @@ -404,11 +408,7 @@ class GcodeSuite { private: - static void G0_G1( - #if IS_SCARA || defined(G0_FEEDRATE) - const bool fast_move=false - #endif - ); + static void G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move=false)); TERN_(ARC_SUPPORT, static void G2_G3(const bool clockwise)); diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index b6ddf9634b7b..9ac49bd93cf1 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -44,11 +44,7 @@ extern xyze_pos_t destination; /** * G0, G1: Coordinated movement of X Y Z E axes */ -void GcodeSuite::G0_G1( - #if IS_SCARA || defined(G0_FEEDRATE) - const bool fast_move/*=false*/ - #endif -) { +void GcodeSuite::G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move/*=false*/)) { if (IsRunning() #if ENABLED(NO_MOTION_BEFORE_HOMING) From 2fe81d0cb2de37408e5391311204cdf2bd7476d6 Mon Sep 17 00:00:00 2001 From: Ryan V1 <55478432+V1EngineeringInc@users.noreply.github.com> Date: Sun, 4 Oct 2020 15:41:41 -0700 Subject: [PATCH 202/277] Fix Archim1 stepper timing (with new variant) (#19596) --- buildroot/share/PlatformIO/boards/archim.json | 59 ++ .../PlatformIO/variants/archim/.gitignore | 2 + .../variants/archim/build_gcc/Makefile | 42 ++ .../variants/archim/build_gcc/debug.mk | 25 + .../variants/archim/build_gcc/gcc.mk | 82 +++ .../build_gcc/libvariant_arduino_due_x.mk | 184 ++++++ .../variants/archim/build_gcc/release.mk | 25 + .../debug_scripts/gcc/arduino_due_x_flash.gdb | 37 ++ .../debug_scripts/gcc/arduino_due_x_sram.gdb | 37 ++ .../debug_scripts/iar/arduino_due_flash.mac | 44 ++ .../debug_scripts/iar/arduino_due_sram.mac | 44 ++ .../variants/archim/libsam_sam3x8e_gcc_rel.a | Bin 0 -> 117430 bytes .../archim/libsam_sam3x8e_gcc_rel.a.txt | 576 ++++++++++++++++++ .../archim/linker_scripts/gcc/flash.ld | 146 +++++ .../archim/linker_scripts/gcc/sram.ld | 145 +++++ .../archim/linker_scripts/iar/flash.icf | 49 ++ .../archim/linker_scripts/iar/sram.icf | 33 + .../PlatformIO/variants/archim/pins_arduino.h | 21 + .../PlatformIO/variants/archim/variant.cpp | 485 +++++++++++++++ .../PlatformIO/variants/archim/variant.h | 284 +++++++++ platformio.ini | 2 + 21 files changed, 2322 insertions(+) create mode 100644 buildroot/share/PlatformIO/boards/archim.json create mode 100644 buildroot/share/PlatformIO/variants/archim/.gitignore create mode 100644 buildroot/share/PlatformIO/variants/archim/build_gcc/Makefile create mode 100644 buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk create mode 100644 buildroot/share/PlatformIO/variants/archim/build_gcc/gcc.mk create mode 100644 buildroot/share/PlatformIO/variants/archim/build_gcc/libvariant_arduino_due_x.mk create mode 100644 buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk create mode 100644 buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_flash.gdb create mode 100644 buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_sram.gdb create mode 100644 buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_flash.mac create mode 100644 buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac create mode 100644 buildroot/share/PlatformIO/variants/archim/libsam_sam3x8e_gcc_rel.a create mode 100644 buildroot/share/PlatformIO/variants/archim/libsam_sam3x8e_gcc_rel.a.txt create mode 100644 buildroot/share/PlatformIO/variants/archim/linker_scripts/gcc/flash.ld create mode 100644 buildroot/share/PlatformIO/variants/archim/linker_scripts/gcc/sram.ld create mode 100644 buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/flash.icf create mode 100644 buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/sram.icf create mode 100644 buildroot/share/PlatformIO/variants/archim/pins_arduino.h create mode 100644 buildroot/share/PlatformIO/variants/archim/variant.cpp create mode 100644 buildroot/share/PlatformIO/variants/archim/variant.h diff --git a/buildroot/share/PlatformIO/boards/archim.json b/buildroot/share/PlatformIO/boards/archim.json new file mode 100644 index 000000000000..60035197f2f3 --- /dev/null +++ b/buildroot/share/PlatformIO/boards/archim.json @@ -0,0 +1,59 @@ +{ + "build": { + "core": "arduino", + "cpu": "cortex-m3", + "extra_flags": "-D__SAM3X8E__ -DARDUINO_ARCH_SAM -DARDUINO_SAM_DUE", + "f_cpu": "84000000L", + "hwids": [ + [ + "0x27B1", + "0x0001" + ], + [ + "0x2341", + "0x003E" + ], + [ + "0x2341", + "0x003D" + ] + ], + "ldscript": "linker_scripts/gcc/flash.ld", + "mcu": "at91sam3x8e", + "usb_product": "Archim", + "variant": "archim" + }, + "connectivity": [ + "can" + ], + "debug": { + "jlink_device": "ATSAM3X8E", + "openocd_chipname": "at91sam3X8E", + "openocd_target": "at91sam3XXX", + "svd_path": "ATSAM3X8E.svd" + }, + "frameworks": [ + "arduino", + "simba" + ], + "name": "Archim", + "upload": { + "disable_flushing": true, + "maximum_ram_size": 98304, + "maximum_size": 524288, + "native_usb": true, + "protocol": "sam-ba", + "protocols": [ + "sam-ba", + "jlink", + "blackmagic", + "atmel-ice", + "stlink" + ], + "require_upload_port": true, + "use_1200bps_touch": true, + "wait_for_upload_port": true + }, + "url": "https://ultimachine.com", + "vendor": "UltiMachine" +} diff --git a/buildroot/share/PlatformIO/variants/archim/.gitignore b/buildroot/share/PlatformIO/variants/archim/.gitignore new file mode 100644 index 000000000000..2827c7d4f023 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/.gitignore @@ -0,0 +1,2 @@ +# Exception for libsam +!libsam_sam3x8e_gcc_rel.a diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/Makefile b/buildroot/share/PlatformIO/variants/archim/build_gcc/Makefile new file mode 100644 index 000000000000..4332f3608004 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (c) 2011 Arduino. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables --no-print-directory + +#------------------------------------------------------------------------------- +# Rules +#------------------------------------------------------------------------------- + +all: arduino_due_x + +.PHONY: arduino_due_x +arduino_due_x: + @echo ------------------------------------------------------------------------------------ + @echo --- Making variant arduino_due_x + @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_x.mk +# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_x.mk + @echo ------------------------------------------------------------------------------------ + +.PHONY: clean +clean: + @echo ------------------------------------------------------------------------------------ + @echo --- Cleaning variant arduino_due_x + @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_x.mk $@ +# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_x.mk $@ + @echo ------------------------------------------------------------------------------------ + diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk new file mode 100644 index 000000000000..d0716744a7f7 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk @@ -0,0 +1,25 @@ +# +# Copyright (c) 2011 Arduino. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# Optimization level +# -O1 Optimize +# -O2 Optimize even more +# -O3 Optimize yet more +# -O0 Reduce compilation time and make debugging produce the expected results +# -Os Optimize for size +OPTIMIZATION = -g -O0 -DDEBUG diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/gcc.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/gcc.mk new file mode 100644 index 000000000000..32f35d264c66 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/gcc.mk @@ -0,0 +1,82 @@ +# +# Copyright (c) 2011 Arduino. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# Tool suffix when cross-compiling +CROSS_COMPILE = $(ARM_GCC_TOOLCHAIN)/arm-none-eabi- + +# Compilation tools +AR = $(CROSS_COMPILE)ar +CC = $(CROSS_COMPILE)gcc +CXX = $(CROSS_COMPILE)g++ +AS = $(CROSS_COMPILE)as +NM = $(CROSS_COMPILE)nm +ifeq ($(OS),Windows_NT) +RM=cs-rm -Rf +else +RM=rm -Rf +endif + +SEP=\\ + +# --------------------------------------------------------------------------------------- +# C Flags + +CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int +CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses +CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused +CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef +CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings +CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes +CFLAGS += -Wmissing-prototypes -Wmissing-declarations +CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations +CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long +CFLAGS += -Wunreachable-code +CFLAGS += -Wcast-align +#CFLAGS += -Wmissing-noreturn +#CFLAGS += -Wconversion + +CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -nostdlib -std=c99 +CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) + +# To reduce application size use only integer printf function. +CFLAGS += -Dprintf=iprintf + +# --------------------------------------------------------------------------------------- +# CPP Flags + +CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 +CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code +CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused +CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef +CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings +CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations +CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations +CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long +#CPPFLAGS += -Wmissing-noreturn +#CPPFLAGS += -Wconversion + +CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -std=c++98 +CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) + +# To reduce application size use only integer printf function. +CPPFLAGS += -Dprintf=iprintf + +# --------------------------------------------------------------------------------------- +# ASM Flags + +ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/libvariant_arduino_due_x.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/libvariant_arduino_due_x.mk new file mode 100644 index 000000000000..3f8b1b7603cb --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/libvariant_arduino_due_x.mk @@ -0,0 +1,184 @@ +# +# Copyright (c) 2012 Arduino. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# Makefile for compiling libArduino +.SUFFIXES: .o .a .c .s + +CHIP=__SAM3X8E__ +VARIANT=arduino_due_x +LIBNAME=libvariant_$(VARIANT) +TOOLCHAIN=gcc + +#------------------------------------------------------------------------------- +# Path +#------------------------------------------------------------------------------- + +# Output directories +OUTPUT_BIN = ../../../cores/arduino + +# Libraries +PROJECT_BASE_PATH = .. +SYSTEM_PATH = ../../../system +CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS +CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include +CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL +#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) + +ARDUINO_PATH = ../../../cores/arduino +VARIANT_BASE_PATH = ../../../variants +VARIANT_PATH = ../../../variants/$(VARIANT) + +#------------------------------------------------------------------------------- +# Files +#------------------------------------------------------------------------------- + +#vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH) +vpath %.cpp $(PROJECT_BASE_PATH) + +VPATH+=$(PROJECT_BASE_PATH) + +INCLUDES = +#INCLUDES += -I$(PROJECT_BASE_PATH) +INCLUDES += -I$(ARDUINO_PATH) +INCLUDES += -I$(ARDUINO_PATH)/USB +INCLUDES += -I$(SYSTEM_PATH) +INCLUDES += -I$(SYSTEM_PATH)/libsam +INCLUDES += -I$(SYSTEM_PATH)/USBHost +INCLUDES += -I$(VARIANT_BASE_PATH) +INCLUDES += -I$(VARIANT_PATH) +INCLUDES += -I$(CMSIS_ARM_PATH) +INCLUDES += -I$(CMSIS_ATMEL_PATH) + +#------------------------------------------------------------------------------- +ifdef DEBUG +include debug.mk +else +include release.mk +endif + +#------------------------------------------------------------------------------- +# Tools +#------------------------------------------------------------------------------- + +include $(TOOLCHAIN).mk + +#------------------------------------------------------------------------------- +ifdef DEBUG +OUTPUT_OBJ=debug +OUTPUT_LIB_POSTFIX=dbg +else +OUTPUT_OBJ=release +OUTPUT_LIB_POSTFIX=rel +endif + +OUTPUT_LIB=$(LIBNAME)_$(TOOLCHAIN)_$(OUTPUT_LIB_POSTFIX).a +OUTPUT_PATH=$(OUTPUT_OBJ)_$(VARIANT) + +#------------------------------------------------------------------------------- +# C source files and objects +#------------------------------------------------------------------------------- +C_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.c) + +C_OBJ_TEMP = $(patsubst %.c, %.o, $(notdir $(C_SRC))) + +# during development, remove some files +C_OBJ_FILTER= + +C_OBJ=$(filter-out $(C_OBJ_FILTER), $(C_OBJ_TEMP)) + +#------------------------------------------------------------------------------- +# CPP source files and objects +#------------------------------------------------------------------------------- +CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp) + +CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC))) + +# during development, remove some files +CPP_OBJ_FILTER= + +CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP)) + +#------------------------------------------------------------------------------- +# Assembler source files and objects +#------------------------------------------------------------------------------- +A_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.s) + +A_OBJ_TEMP=$(patsubst %.s, %.o, $(notdir $(A_SRC))) + +# during development, remove some files +A_OBJ_FILTER= + +A_OBJ=$(filter-out $(A_OBJ_FILTER), $(A_OBJ_TEMP)) + +#------------------------------------------------------------------------------- +# Rules +#------------------------------------------------------------------------------- +all: $(VARIANT) + +$(VARIANT): create_output $(OUTPUT_LIB) + +.PHONY: create_output +create_output: + @echo ------------------------------------------------------------------------------------ + @echo ------------------------- + @echo --- Preparing variant $(VARIANT) files in $(OUTPUT_PATH) $(OUTPUT_BIN) + @echo ------------------------- +# @echo *$(INCLUDES) +# @echo ------------------------- +# @echo *$(C_SRC) +# @echo ------------------------- +# @echo *$(C_OBJ) +# @echo ------------------------- +# @echo *$(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) +# @echo ------------------------- +# @echo *$(CPP_SRC) +# @echo ------------------------- +# @echo *$(CPP_OBJ) +# @echo ------------------------- +# @echo *$(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) +# @echo ------------------------- +# @echo *$(A_SRC) +# @echo ------------------------- + + -@mkdir $(OUTPUT_PATH) 1>NUL 2>&1 + @echo ------------------------------------------------------------------------------------ + +$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c +# @"$(CC)" -v -c $(CFLAGS) $< -o $@ + @"$(CC)" -c $(CFLAGS) $< -o $@ + +$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp +# @"$(CC)" -c $(CPPFLAGS) $< -o $@ + @"$(CC)" -xc++ -c $(CPPFLAGS) $< -o $@ + +$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s + @"$(AS)" -c $(ASFLAGS) $< -o $@ + +$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) + @"$(AR)" -v -r "$(OUTPUT_BIN)/$@" $^ + @"$(NM)" "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt" + + +.PHONY: clean +clean: + @echo ------------------------------------------------------------------------------------ + @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] + -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 + -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 + @echo ------------------------------------------------------------------------------------ + diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk new file mode 100644 index 000000000000..0d15157f4f7f --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk @@ -0,0 +1,25 @@ +# +# Copyright (c) 2011 Arduino. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# Optimization level +# -O1 Optimize +# -O2 Optimize even more +# -O3 Optimize yet more +# -O0 Reduce compilation time and make debugging produce the expected results +# -Os Optimize for size +OPTIMIZATION = -Os diff --git a/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_flash.gdb b/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_flash.gdb new file mode 100644 index 000000000000..4e8375b5f162 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_flash.gdb @@ -0,0 +1,37 @@ +#******************************************************* +# +# Connect to J-Link and debug application in flash on SAM3X. +# + +# Define 'reset' command +define reset + +# Connect to the J-Link gdb server +target remote localhost:2331 + +# Reset the chip to get to a known state +monitor reset + +# Select flash device +monitor flash device = AT91SAM3X8E + +# Enable flash download and flash breakpoints +monitor flash download = 1 + +# Load the program +load + +# Reset peripheral (RSTC_CR) +set *0x400e1a00 = 0xA5000004 + +# Initialize PC and stack pointer +mon reg sp=(0x80000) +#set *0x80004 = *0x80004 & 0xFFFFFFFE +mon reg pc=(0x80004) + +info reg + +break main + +# End of 'reset' command +end diff --git a/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_sram.gdb b/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_sram.gdb new file mode 100644 index 000000000000..15a1792a9129 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/debug_scripts/gcc/arduino_due_x_sram.gdb @@ -0,0 +1,37 @@ +#******************************************************* +# +# Connect to J-Link and debug application in sram on SAM3X. +# + +# Define 'reset' command +define reset + +# Connect to the J-Link gdb server +target remote localhost:2331 + +# Reset the chip to get to a known state +monitor reset + +# Select flash device +monitor flash device = AT91SAM3X8E + +# Enable flash download and flash breakpoints +monitor flash download = 1 + +# Load the program +load + +# Reset peripheral (RSTC_CR) +set *0x400e1a00 = 0xA5000004 + +# Initialize PC and stack pointer +mon reg sp=(0x20000000) +#set *0x20000004 = *0x20000004 & 0xFFFFFFFE +mon reg pc=(0x20000004) + +info reg + +break main + +# End of 'reset' command +end diff --git a/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_flash.mac b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_flash.mac new file mode 100644 index 000000000000..959583582c43 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_flash.mac @@ -0,0 +1,44 @@ +// --------------------------------------------------------- +// ATMEL Microcontroller Software Support - ROUSSET - +// --------------------------------------------------------- +// The software is delivered "AS IS" without warranty or +// condition of any kind, either express, implied or +// statutory. This includes without limitation any warranty +// or condition with respect to merchantability or fitness +// for any particular purpose, or against the infringements of +// intellectual property rights of others. +// --------------------------------------------------------- +// File: at91sam3u-ek-flash.mac +// User setup file for CSPY debugger. +// --------------------------------------------------------- +__var __mac_i; +__var __mac_pt; + +/********************************************************************* +* +* execUserReset() +*/ +execUserReset() +{ + __message "------------------------------ execUserReset ---------------------------------"; + __message "-------------------------------Set PC Reset ----------------------------------"; + + __hwReset(0); + + // perpheral reset RSTC_CR + __writeMemory32(0xA5000004,0x400e1200,"Memory"); +} + +/********************************************************************* +* +* execUserPreload() +*/ +execUserPreload() +{ + __message "------------------------------ execUserPreload ---------------------------------"; + + __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset + + // perpheral reset RSTC_CR + __writeMemory32(0xA5000004,0x400e1200,"Memory"); +} diff --git a/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac new file mode 100644 index 000000000000..ba86029d343e --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac @@ -0,0 +1,44 @@ +// --------------------------------------------------------- +// ATMEL Microcontroller Software Support - ROUSSET - +// --------------------------------------------------------- +// The software is delivered "AS IS" without warranty or +// condition of any kind, either express, implied or +// statutory. This includes without limitation any warranty +// or condition with respect to merchantability or fitness +// for any particular purpose, or against the infringements of +// intellectual property rights of others. +// --------------------------------------------------------- +// File: at91sam3u-ek-sram.mac +// User setup file for CSPY debugger. +// --------------------------------------------------------- +__var __mac_i; +__var __mac_pt; + +/********************************************************************* +* +* execUserReset() +*/ +execUserReset() +{ + __message "------------------------------ execUserReset ---------------------------------"; + __message "-------------------------------Set PC Reset ----------------------------------"; + + //__hwReset(50); + + // perpheral reset RSTC_CR + __writeMemory32(0xA5000004,0x400e1200,"Memory"); +} + +/********************************************************************* +* +* execUserPreload() +*/ +execUserPreload() +{ + __message "------------------------------ execUserPreload ---------------------------------"; + + __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset + + // perpheral reset RSTC_CR + __writeMemory32(0xA5000004,0x400e1200,"Memory"); +} diff --git a/buildroot/share/PlatformIO/variants/archim/libsam_sam3x8e_gcc_rel.a b/buildroot/share/PlatformIO/variants/archim/libsam_sam3x8e_gcc_rel.a new file mode 100644 index 0000000000000000000000000000000000000000..3e25e6cabd1e3367a2031f76fbb34cc4a1e43d44 GIT binary patch literal 117430 zcmeFa3t(Nvc_%*S-Ye^2*_LD*Y-8Z+0m#@GNq#3Jk#uEQ4;w3%3?w0yuBB^BSe7o* zm2Fa5M4&Bc)0QN(b%1pFw@sUFvn_Vw2D)Kw0?j5_+O-L^kfg1evNdbct^h$)%r^V` z&EuRoqjO`Y(0@|ev5(Gt-}jqu9%o+Xn>lkUuS<{h55BkL+GN<(uV24z!@4c&H*HQP z>!is3n@n!rvH=phz7iq4yM1GpHX$zL zdT5yt=ez#k%R;!<7d|hzRM0h{y^|4an@%rWApPcLW&|T-d{;*Ma z=exeNR(R*Xy4rX4whWD@_Y7y+M{=35v59O>kl8gcJiI$Az1^8yOJ>jL#7KXpb!ZqM z!s>?95Oodheq zc?@ChJ~ULH(|aI2t~8K69yDn-XEp=!#&Q!`1Yw^*wf)0m`9!+l#)mVR?19k%)#x?z zP%Iws6!npAe(xFgl;_fM(8^vFmC{aF-u>tXb5 zVF4S*xMHHmV~038;FB#Ax!Y2=^$(-hV<-Sx&}sAx9ncIv*6!Oz`a>}TYVmew2hzEW zqkN8h_lRt%GODezs|l%WQT1$Cv<+54kIwb1Mym4ln6!9nw}WW?O;8S$|b1>A|07zb*ZO4G&(XTPDifv_{E>e3%AMw_MnUUP~p^=PCz^)$o9NRD!`83AH5bYNg!9hvspz`t4k6^wZ znWVpII6ZbiXdwp2jP$eKIQ{@A%b`1!+GT=u)7Qhw*5wbQWCYRm^y(D$NF)S$4A$Y4 z^6sv7jT7|hd`Q2aK}&$DK*}%EFm-)bs#|h`$cWyB<{;U!0!d%{c?-FMzg#FIk2ODf6LH8Ji9S+s4#T{eL+MFkjd?8k|E(~HlCDVnfDB#b8R2# zAIluTgAQ0h)UxFI_opy7%847%{fKUMOrqz;c4|(^W=F!55&eGf9qDmSrb4{#;q<|b z3NN!lMa-Nm4_YwqhH_|YVt04buAU&jnnuCM$PWzVkbM>9 zKp@jeb_6P0N}QfX)mQLW+{f%O@k8>{BbTBrbptKYXxKwsyi)mDXUQ-e1-<27c^_KoXyQXxX-hCVD$boit zKFXUK9m~jirMiAGE&&)khcKKDr^g3foIo_0TyI-?WPtPL%;Ek_mQSZQCyOIJfH^DG z(?cM-hSA{(`TWT0H}mt}+}O~*eb5l*W=9WY#(KwDYr}%^%&ij{yfQfK+|Yrck$sYx zQM2CkNdKUu2lRZ`XQ<+l31efRM~CUxgR#Zp#K>kFZBaZIyAS!+I5YTDv&}vz2P?xJ zMz4#hOTg6W%B5A-Oyq{9CgYd6LQ$*YQRO*~{JAWq$sc}t<;2EBAI0ahv-pS51CAb& zW#&li0tpu<=5rjV(M1fUhxL4nQJUPCBFY1El*##A@95sWh(GjvjhZ!E745bo}u)3 zZ~w#?OGv6PPhBZA#gtPdLmaZ_nkG`4>BgKzRD06n=%#k|Y-{WGo9({rUc6e4iG3&- z{hIF2`**jraJ1>p@!ge#>@MhO%7Hg1c`X^=OYzn&AGvj8AUg`JfDuq&0##V>n0soQay%B56FR{X?Pf2l!+2m%XTjAk+=bySq``7&RHDYbcwk>t#IsKJAjNW0?Rf2k`(Z zlNpezT(sWa_Hlox#z?Bi>Vb5BKRaqPEa_!cGu^Xf_*GH&*%nF-`>H>Y>^Utcq`|Ll zDkioepQT!dgopXMl}U-L?HoqX)W$jP;Eg36B-?HbK@>LEG!Z`@zl}%^^KN>Saa4$Y zIdn;p&e`7K%;6#0R~#`zTEmyGO%GAF3e#swo+;cAlLg=>Lv=E~!t_Xbcyu4jAU8HT z9OTmB_oqj6n-=uyXly?WGKX}M<#-T;h?1CerYCZvd(smFy~9J8OpK^UZw1XOHwxHG z4v(e>diS!m$OP%4jgZK?h}kphz=3RUe>$6kaSw?`tqElXrJOO9HZw3MQTfCsO_ak* zfM)fPP>Sa8{Q!s2VzQaEN`>jULrf-p>~QZm-nm)n_JtJtwLX-KFgM%^q~(L>$#I?A#z*fG8g z+6>t}gg7}q$OEwHSannt1m}8MkqqH$S7H-~?3EbD9!#W}O_ABFXU6oHu4D|B-Qby1 zV(Qo4xgwUBoReef(vLw$RdNPmkwr@whK4LzVN@arc37}*?j0RFzzN?0OzdS^t;b-Z zKo(&ikx~WrxV`5#$W@RQ7Ntw&77skV70cR5fcheZIlw26_iF zdubW!9nKtt$&La)R#ib%BbN`IQjp*~(}Q z(B(^whxLR#BcXhL$dsDHE0#`lP~q&fhPe#wbJW00uvIBY!eT623SVmjI&&bK^Jyf3 zkKCt$SIHPKA=u-{S2x88s)ej7RI93#>_`0~Ruzw3tIuNMpk6f&y9_K23reap7F&}m zn`wI2+}OxIoi-u;`nf7%PHEbZpzstpqC6!$%-6lTl*kN@%9SmZ#j)|6YATt-n6k4k zRxL#Gbz&yQF^XAiQxRSM9JrNUsc&vT7lE{*S05kUn>&=oh-^hFy}c@xLTa>7zEH&4BjTIN(#kWYHm}@$`Xphtq3EuPq6h8hE`U z2Z#E}#T#CIokUH5OeX8st!vn{Y5n>wo8YgjgGT@F#`Wuy$xU_Zbo_lKcWm9>>Uo|p z&J(pFpoDl%2@2NBd#xxI^Mu%zO1&#t+b!2W$8Jk*TfI8D9R~MgLtTCS+PZbutZ!JA zT)%e1+6K{7hj8gkde0EHCcs+&LsBkt_?jK-#JrNi9mTPV#1e0*cX51~x7=IdU6v4Q z$8S3T8xiigF?Am_J_O8(wXz+r-Gi5@wH$}|QoOcl*N(O69NtCtOu#~-l6+x*F9D4C zMXsb%`P2k%G3~9yow&HBU7RVit02cVmGk1T%|z;B`Os0{YUxvdsE^kMT!=HPxI*;8 zQ*Q{|O}ypso3v4kEi7UyJ=z%@?q0Qaq zC&bG?Fnr$Qergpr9!d%2c8sK%n!v?H0VQT=dWQ#%z zP<4M31k#vt!6Mn{Lolb8@CQT>uz@iIR!kQqo~)rYgL(Xnwhg3W8! zv01FIYiQVJugQ;=F;db7(IS8Y}f(`-TB9l_3B~!E4*_CK+IadYVjk@S+;ZB5`e4-~9g@Z8_L z=uIz(7cW?_AU^7i&Tp(f8;g5W@zKSp_`c@8?6z+fHVte)(X`jwTQOa-Xvqn0Pt%@H z6?)GsF7%!~IXhX_l=grsJ05$mX`mD-5>wvZ`A5Bsm}<(D9QFEf@ArTyd+htiFKg|* zte|yK>yp;Q>dO&xd^#R4t*8)HtqVJkYg+U9&enRoU9mS^}PzES;J+?Zw5X ze){qcHdnTOuxZ}*uf94Ne`wpwXGAjo@bqKiMDWznE?OrCiy9NB9vE8g=T*-$-#KF~ zC$MWH_dc%mMS2Hh!04W{4>BYZ0ksW=`GAs39~KQgT;0|CBLf`xYL{e)r8mQ@#f&B3 zV~t(!nhbb|bk5$%w_#%b?*sNM6hpXl+whltmBDR>AD=q-&fsnW$Hp~-Ug4vH zxp>aO-3&S^-j6!CKF~{W8E4|<{NIk3`lIwcO?nu)SU4$@X>u|6-tQHpf6<3m_P>CG6L<4mv@tQif%{6nF51ptj5KBaC~&%yKV;K zVepMJ`V4LEHvjDyH~B6YIP)|VhwouwIo``G7e}iI%S|gW;R_vk7#+tG4RiQ}0~bdr zh2?e);d3i-DP864G%o-w8io-r@W%lKPhW5EmchjF33qY=~eT;ghVu-zrTr=M{LK*Jzq)s=)J0XwDK8bjsObSoFAzsGt@Ojvz=>JEsL6>M z>|g!K|6G92F1AVt_S>yp()!Wti=a)y+WB2Em*NH76(Ya!O z)pRyimRi<-|42pQo6lyqiFpef6+b?Qzo?_^_~QN5n9nWlZ+zX0-#0S9y{0h!jQ8$; zI_)LP9-9wYHoh!XB&DAiDK3mb_QvUH%;L&8hlB1iUq=cvzJIx%MONC8me>)bMKCSz zVp=e7M$Y1~=IL0hgsF*rTBYV)Z=C)=NR7(p!Z|uh939Qj;fCj&RE76y3p)!=-#^$q zeMNKg%w)y=eJhlIx+u1S^W_x_8w)yb8Y-Kf6a}Y#`?ZI<%ieut?orZZ5B!KI}E&-ZWk0d8y@lL}lUBidz=7mp3lzC`rXqEB1JmM@C9ICgbOx zU3^RR^aJD7Gn4C5GdC|@yl2Z%aNw&(nJNxaD9iijPk!wO#qZlB;+=_(cxv&UPmMef z=W{L=n>_ifJ50!;AS9ksDbiMZv=p(IBK8$~vfJjvKVSMkJyOu|^+Kj1g;b=Fip7wt z_}=`%*Zw&M-ESgZ5An`}o~oIfE6R>m;aPZ7RnuOq88kIA{#fUc5iv7~w-^<^q_gb! z&S}x};GW{`B9Ulpf&b}a#jzzRZ|3&*m!=-vbN|REQBzHQ658@a*)`A9@mS}#hN@;J8@`pc(lOoWhgnm*{JG0(7eccaD|#;WhM4~J zkT~nbKH9wK)Uxz~spMwzzByY|uDFR)Ps|F>n_}HF^UI=sT?JmBviiZy<; zdEw~~rc0rL9B8N{FLC;b*+gYHd~xR}>feg={X?wFiH0{$7j*2L{z3g$W<@!}c@5`I zn>-dt><58un2vkrPA4=nA(7&0i9~s?sjWboN+9*(iRa=-!6%2xniELPU5!seXYlqY zb0O?_Js%LjJOOpY^TymQ51S##{v10&0tXHThe46udg$99O9%i_(m z)n!H_dzDX&6g9_Bv){1GvP5E=P?A3yKK3Kx;}?iGDfT+b(9%`i4R~EX4|Q{9Y7ct@ zg;Dee1G={GIfNTyZHje1Fu1G{$fPPu5sP(-nQY$?yvMVxU{W}f-4p9wj0O9Q-0-T-VjfK{^cHrm7)86O zSg{W+8}%}Q`dRd7-HGhBBrX-7_y;jn0v!9q75j>PT=E3!@5~$H;)M6^H%~9VwQ7ykjj1C+j!tMkv65q!CI^h!2shLw$CM9zOP{ofgu(528$SkEp zp!X362{igx=yQaDPKvGPX;K$_y*O7R_SL}R1D$q7&;hwcDN=5dlNW#_1p)nC8A0s) z3XrSl!FRKBW%;VM{(?|`LmPzBk5~)mJgBgEPT7aWbE>u}$WUuBg@7pMmbomMkifv_ zN?2GZ4;9IPrAw#E|1vUPvVB0lgsTrIgTgXtarru*{w4w|Ehb2mjGH8UzS`px#6_Xr zjuJ5W>?1z13;=mPwG03{slf-Ab41*lCU<7dkysyJ1~Mke-n(PvomsF&etzES_JW@z z8zyaL#_^q=t_>G$0>(PC9sVd>+QIRiy#<$XM&HkZVe9)GXvSfj!F>h{8#fI)O5c|q z+ssCcU#+&y`4*EzT^=D~fy!A${I7m<&{4z3Jl z;wap2IJm|U4T%l~k2cjv+Vt%ExPTvR=M!@+$n4{iy{!G0c(02kH2T;t%L z$)oRj2loPSQTZKpaI?UbMm&$7cW?=G{86~ybZ}*PaF05;m3eT_I=I?AxK|w9`aHNo z#u8XGh+5m40uEI=YpTcua2K++^*P|C5!N_913KQ(W%+LQBD8bZrr!KURXkk6P;rv;XXwC1t(6fG%!AIqc1C=k zuhQ<3nEvRsw4na0MGzA_E*3iFxzJgATWFy2o^Nd}XxH|xSEi@T(O)L@2kkaU86)7@ zTlfir4D|n#0R-t z8Yq|eiyZt#j(&6wmWzvv9sI=({$dNw^el7m%Ot+hM+G&HthiY2;Fn8$Q2&EfRE1yR z;8#d|FdhV}whDiVgTF-L(Y0yEx4^)~(Zh$!f2G9N`H-L{krfx0I`~VS^jzwPRQSsr z{ACXQG6#RTgTLItU+&paQ$E7;DegPU~%kB z2;;AD@Z7l&xVTvB;MY3%wE-BuxVYBAU+dtnb?|i#zE0wU@(fxs1IF>SMmYWT4!+*e z-{9aIBtGe*_&q@2;+VOG^{B@Dw3m$m7{0jJt z@XJM9+ZR|zDzF>zQcc%N`Vv9=6oSZin+l9qyF&O&#bAiOO#F0+zFd4#(`*S9A}RhL zL|2L@Lv)q+D^08XRg3S1=o&#g6Vs#0?+UR9FA)KKr7-pl_57|98$V zrdcN|(BJ(`h+ZvzHAJrwzZ0Ub5q}b**NW32`dTb(s`RP&>cqJaT`w+5D7h-{2C-Vx z>t%Y@iT7z*gEp|H{PM%z z=jY+Oltq8G=t*9`_F|#ed5%zw*OkWtYc;8Kb*O4 zMu1+@_T|bY9m_la*O|>TlQoG`Wo?gDmUUdz`B!JWnvXZ0nk~I|$=TvX3r@G4jTN<> zEiK)Cwy^NMsSSR*AA523uDkmT?v2xD&qSsDAeg_0>lCgxab=G$XuYU4(YpC)dFy<9 z8I))(d$gqOJC(&#nWMF>^{w;3YdI@gY9B3Vd!e$Rqo8vhax|}VWnVT__O%@H=^Be0 z%TWFwZ+v2~-CNo0wUnNCe73ae@!7H}>>w1IkBgU@7JqZLwE4H1=RIHCwsYp5TZ=l1 zJBwKluK4A~CkL-+j-M#22db>O?}^!>s?B~pTw$ckQpb|SYq5!u!DGz@&o69id}Vd{ z!j6TVg;NIx{{VVR+Dh<*ch3C!t@EYcf;YUEPYzy^@S2;?#$%-?o}67)_2lfzsvr-0 zp!*YAKfk)FPOV6lr@TF7k3BK??ZTcDkMH3(UtaZH*z@RB$DyyO&-m{2eIE8UYAJo` zW`t=|i`OTUvQ?Hd#M!>eTGY`qht~oLvUq%1V#>t#Ik@&@$O= zkIOI8?u5@Hg^ORO-H9u{iu*Qy5HEi2>*ALhV@T1HBQGOnZxVp7oX_TD+GRdx_J<-jlPN>zlg} z;w7*A$=U1bJMg8MDt#eN>T>d=u6fYakD4)0){Npuzk+!11snGtYxh-y2aU<1v^W>x z&KXh?S0k=TTyol|0rKcx|BI%Sf97Gtk-I5%I^fnHdfc+FDtth%Ies`edwK2JYt`s^ zt?V-U1&))F2jkq9ye^5Um8eY*5A7S_$p*qKpK6i4(9>_TPW4){2~c5)Dk{1JztP^|0_`IBy+7UEK@Os zc{-9X^G54Dbt_ur$DELUgFL9#k}2IrY(6KQlbQSgC~x)8S+^8RX6WPAA9m)t6;P!} z1`keVck71#pq&B1sU|)w+}W=k8&${CsQcR9-o5z!lHT668@H@$KvYs{aW~g*iQ=xS zi{Nfqw>g5ld40Xl#W^|kYXdTfeDnIqpmpp0paFK%mUVCaV4WY=&bK-}#G5r%T2yZ5 zxUU@yC(_aKWv_cabE#VKr>&G2UYtL?9~Y+0WK5o3-H_e?uEWS@QgG1 zrogcEebLGX*J+KubMV{x@Zk{Fg#%~u;qLUqXHKCVF$UKJWwyQ&SoBPtpjLz1=ithK zWBD3qaFY&hMIPM!4z4B-?zn?nn+M0QnDO6F`)1&x^6|eM+u>lZZ%4iBWyWW4tYDZNX$9`cx!rSG%3<}sM8fWxz=b)|cO-o-5z{FAC zHCmrZZyN;cJB>5?HaNH(1n2^N$28G(I=D{&XRp5-T-w3?XW;C81_pP?!JPn(R&wJE z?w1|hw}G?wQ5f8BYn)kQ`v>5jGD0Y&m)9{z-=k-g&AcoYk%?#pF z&dM+tJiQ>@rPKm@{=i}`jkLf9O@TESI9`29| z>sui81^o?2+Q4zgQy9O<$)CI9socTaHJ$PEJOJC-EsOHSjvST8a@>&=4!^{bGW=3U zZubO~U*yQ`7DoBSj@)iplrMAS!QKldggc1B>9cz*%2zmYd&WfhC60XVj-ar9y9ZKOUM?QB)PdNUh6`J}ho$!^8yvmVRIrW*XEpTysn-Pw$M&gq` zq{jEr6UR9-VGUP0@~f~%M>&>^C$4hjwSM2nC&v>`ZO0ulO`5@)<$<;xcf{<}3_ckT zwC%V9=EIu7n(u+O9e2FgjyqcRYX)1AC(qsp5Zu9XnqF_7-C>jj{ zipBz)3dvv%2xPPZ^!BF5aZWTo<%12w{e?RHOGwhX?Hfb1k?Duq$zj*gW;q!cWMGW* zImQGR)^C~Ee9NoF3z^-FsyXui_*ugLAAXh)^?DFjtXX|I7rS0fMq}MV(t{Ek+S0jr{Znt%6LbjGlBKHCTneu z;|E>iU{apaP(OXS#^3JaxvHs9!Ku~(?j9f46oIQd-ZJj!&8Y`&U#JpzPpCLjq@qI>L=27_QeNzvQE73iJ{bVBK}1B?uf0FG?g{YL2bQQricPE;w9LdHmeVGv2u+@BjL-;zZNg#QU3OgtzDD(!(V+ z$Is2Yk~mk<^TM&37*gEOJR_RRQy)6I@^DGj7jZgh?A+q!J=1r@o<*Gfe>%4g{{ro(ph<73Vv9gmdHC`-U`UNrXrIP}(jY`%!Z{Z|! zA>MzF@LIrc407R(F&E&aJ(-K8z%}=*$xb82fvfmTzW@C%ott?xacQK{lvM8@q7yTeCS{Inb{?Msk4QP|5(v`ThA6=^zCD>AG>n8u<+?))zk0e zPJ_~aI94@%c_DpQOy5y>Gxi?To<3O6dN$sFX$m#q)vae^&3xho=ay_poLjtv&$gia z>&H^lv3T=YuhM?HkISbUbDnNYOylWJqh^*J|NkES#iJiQy2L8qig_s8@zk_PEl)Mc z@+}f&j}^Aho+-t%`{KEmU-ix{Zc@)KE}z|BV_Jl>^QSNO9>-ezkikquF?yr)bB6bkO&D98unG5PoPOR?yQ4b7LT@ndx*!5cK|p(PvcCyW+%R>FWl*E{KOjE z6YIO2G9Xq?gaG;p@njTpK<2lqF?q00Eq;0|gW z>p$H;0C%hM%D=?%x&wb8${Nv6p@OV4gvOAhodG!C(eD1MRG^*l@^11#(Ij5Dvj|9w z)z!FI|5#3}i?+ULWR}m;IHS+d=5F)f4m&T~Sl|-!{e79wU}^*RFFBPK*|)xA4ab)6 z%i17*yJui|z5S=k2DzjDxnI79<#SJw4a=jyY;E&FeDZ;d`m!~UGCgy@WDUy~`)!1p zJ$a^cfS_I2cC-T<%PHHI7g`Zwd>8qaJGLn=w9-QP#kM-o%jCC5tds29`K8e|3&Aw) z#zi^%8rsP+npXHi+4lwEi^Zgt-!1X;1^ao*+2>Zkj({~04``_0z`_KwJzvG(z zili5b$2GlO(q+C~PNk<@Oldj$INH^Onq;a|b8TymZ4=@=A&_mx{6J5F{7Gxr@}nn2 zzLa#HDX3N?=T179?+?wOv{25JbRgHS=1UX?GbJ4ib0pO+W7TTCFIFi;5` zcIeB&{GswI=gP-&x#*L7^SpOA;0K1}Yxf1bci*l$S^vFzF?!XenaN5I`+O${v)d}C z??_e8{50OHS07DaAA173q6_dI9v{TJU&OokNrWjozUt9L+nqkv+allE{r%;fBhlG! zBssp3sLiN+>8Lx5Ukh8$w-Wufk;9ZX`Cjb5+|^@#PrkiJ5_p>G0lnkiI`q3m4}aXc z3wu!e)BFK@Ge_^?D~GJp_Irg@I3ZxS`bpj})Gsu?!o!muy5N90o&&XeGAZp1Pmj_DZ2WyhPbptDY0yz~%`ZE+zs`euTH{Qay#zXHuK8{7@oZTf z((x>)t;UJYMFfoeBzMJJzhKprn>J+@92jzD=J=z(4hBkMb z|F1FEH1Y5rbxKTF9(^iI(g&GVs2EYFy!cRf{v~tIaQITc&ZxOmsV#>71-N5XWUO`zXXCy|C2I*JOt1xx_<0o*nwp<`VT6{wq^_w}$iQ5=+pd;R_+mBx3S!6Ks=r;@W&X(OS@1 z)Vj3w2qe{glent;GJW{^NzM^U>lv`zptBnk&eiif`_G?YuUF~|ZtET{DXd|M<@#n*8__sjZNbi3ZLB79Q zY6bUs*LS75Ek5mmdI}+@B@Dj{YoiuKZq2vo_HnEr4~-9I0D7xtKiLPcO`6`x9s5oH zT?q_vrk{3kl+nGFIf6+8^_Y0y1HYX<_Bl~FEYF2-jiA{t8E5qE0mIhU0y+x!5eL@> zI*H3T6XqZo_SpY%bdLCs{!HD8BmFD5?05$?A2;bt`hFLbjpJZ!;v&%C{=~s?ZesWF z2KRLbHwik4%Q%C39t=C)hd?vk#u?l{fEdsve0tCFTRupuh;Qq_vWavmTtVB-{&(dc^9rg{{OUL_cErNQ@?fWr$7+7zVeh`8 zn%I5Gn)rSAn*P4h2Va<9aG$90{>$#!n!eu?N6)?f`ok|>v@`Lvx4vM_tEWZsqN(?^ z#MjJwZue~Bj=d|ng8oQz;q%Q$=Y3ARbhr2Z*(EE>`@E_3t=~HnKf1EdOBV9iYT01`Uk<94c+GMt;|C;wQ zR9n;a*KggPTyjo7WAuFxep}xW&{6tsaP+lV`j{@GZ_v^ABF%Ryy9o&2K;Ep-C);ze!9o+SKaHllRr1u8kY%2sv>Hc2h8Z_MxL67$HMjWr# z^xf$D5}5XLB!+H2JoFpfNf37V8C<2tu^!TW4Rq98_iFGlq-7OKh%HcjA#>ef;NE2- zLtx|O-K32=@5LPU6d0W2RO4cODZ}N?b^9>McUIYkcMesXFq8^&|y8#vBo!*Vo6%kf*Bu)NfgQvU)+Zr51K z7drB}cC@g5Gm}x#@bqC5qq5uaNe7N=vbN(I>`d7%y(1b89z^7{Mis)Dt;+MFA(>I=!L@U zaZ%w>UUJSecL~(qGQVkyyY)RZ=7;Tqa*(%YK6A(UV1$P+7~2_Aj_TUeEGJLku*_KQ zF;r}pOAHUGPSYI6Vl{fM4SACErP}rgT84Awm(P`R?JhUezuy=h{qwl;%+c$&Y-+gB z^~*J?1M=tSv^mD`%Yj~l{#87rxwu1AFYd$M(6NWly)s?c;cYH#@9LXQ-Z_gCdn-TH zx2&}sHcB-QFPjom{Ixi*a~W1L74M@D7j$~}E*o4v=-pqu;uFnpd^7fNAe#r-ios=r z-lr#5+|%qmS9fCeOdx*;&rR`Ed+=0y+eiAxGCU*5GB0vnQVOkC0e||6YDrm&#{gMj zZp7~>S!DNcCWHCxp7HUuy#t4=0B?Ds$h{kE=ca#SJ-3}1(<;Fv4r8WtE{-y~t8lT+ zpAW}&<;H9Gnq~xIJGAEmAIG?=`V=*$5=VN6qpt$@9tFn%f=SmI}J+4_FR(#KKJ=(`twTi-*VlemmC z>H9bsw!Y6>`j{W1??L$O=XO%daFfpH`$JHSm(P#xB(A9W)tA6W9mwJ)T|EL_$oy&m zxc_bf;m)||csF&C^me^2Nn7G_TudM95A$m39=u`=^7~8{h3^e~CTzo;uWZ#cW9FC5yEM%- zalUe+rjwEe${%Qr0WZ{X`h9ZHVf(D0n+|o(vP)JSG2&o4xTeTw#5+rzca|ydOc(FD zLqFOYLky@Ebq+x~Aj?ZGL@gL_&kbmf(_cvJ` z?~CuR#osWV@a*x0SkFwf);?O?)?ZnSQyxnYOBt}mJZZAJx-W?nCa;!fOlB>cALFy# zW}H!3(wS(zCUIn&sQ&G~f|-9VD69T#A67^QADCD0Y@+S6{=O=+UTVTuYEK!`ooIW) z$8q%)DfaD**Za8Sql?@AvT||9lFovuQfM!0E9-J3wF=a&VM{}NesWt-JQa>OkQg)FbWQu| z68ldci%wVVqw%&M1m9-$2jy+jz8QI3iW4<|>DHwkOK}qEf_d|vEpOu~tBtQ*T+WkL zk^Zd(r%HkO_^qYL!3=UBEw`^MFJ~UU$2=hYTl-2noBIB=?=!PyWnbw#vMo4+Gb#@< zOSfR1Szrc;`=q?9UkPUZig7~Z&T>Bg;;G7+L;cm$h4FRRIhVkhkvnHTcPsbK+25Km zjw4d3Dj%K_`iHkhhi`o4!{rQrr}eE`ID8$Rd*dtn%MqrPjB_HgZ$3Peb&rE&yD_qG?oHL;hjSsHmC?1ZIwNrGQZ2|9!?+3 z*nzE$f$U29MYiYAkbv!&)=YWiVJ$f@8dJ@#FvIurM-Jq<$FT349&9}uiw3W zJ5ID57{FFKwa0LCojDA0$Y!^;V)G%K77o!IjcC`0Hz>+ars_6t)+idoyDx927g8;U{0AEc+ED%(gx^ z3&8^$K^X7W<**b(`WLX_x zm~WwBQ^UFdWCh*4-VYjZ8`cNkv<2MyEfEJ8LT?neehW6jx@Rh)0HTtQ$xZ~eegpKr z^v)Jp#H7mvKhl2f(oPHEMep^)X#W-%rDD>m$(uo^eLs zAuw!xS?DwQwcl+y2e9?=ms*H3&gi=j3|rq3E5DqdoAmtw{Ip=64}3qwfj$ZGAl7F)DqWWZL?st@LrOYxI4~(U-uBZVhpNoU zgV!$?e&>h(emmzc^+wf$pLX<}gpwq}v79f(WuDt_IQsZKWmG%=l%sFT(#Q8`qt88m z^4>i9jyn4I@|uJmrmxb{cN#eS_w6uWhCa3n<0zv$K9Q1JV&;`<@<%xpgcKp1&-$#hV`poEDh=#N2b8#`vuYf zUm1Ymi(?ms>9hFcJ-MqQfbjf6lLO+s&!f$18uuF zR<^ck25V~6d4^&9D*sy=){Ln03)4CP#|kgv{K8Q!XU&N^zwl?YT$M-gB+2G^hFqhk zQ}SyRq5twc!%u6!DzCMU{8~95CR53;b>wyOyJ#|%{-CEIkLMdcK@XhDf4w5~-?;xp zonr78Gf%_IKJzAATm#^@amKOreh(Mr%qiCdW;NX=X{?DrNICmNt_fVOY0k;G-jF-ibjBd;>&+P@ulCQ@UkCJe95O#$2Va)+dCjKW~?aVRfrc@O#=%f z4XnN`(KkvlSYV2h@rNz3A=4A(zR`)q9CH(yzLAMUU|J#-7?ddYGA`$*$HpmBqm9@h7e-j2C? zm)N-Lo%|!-o3*@;_boae#21POxU9zI^!+gJ2+VfJ^vQBSp@+%=d{b^A+=l$PP=4Cx z=0}zv^d=c^9_m-+g< z__Of8`t71PS7}ZN5BmU*Hdc!%t{!H$6(22wKPmkmec1b?_dw^PsiFJvUE|~FqABlz zbw|Aiymxz_O5t0_?>{>ucM|dU)IRhme?9HOe^m{-KjA&l4c*_uw~>=WlgElf+P_`+ z{byf2v#ganl}^nj>bs$TN&UMY^{VkZg7|&5g#VjuOXP31m4UaU(o1613s>WiTJhqV zm0EMU(O+|Ve865uGBZk(N9OCzX9Eq5_@aQnDfc+8l={|l=p?@N49DHm)cjUr{wE3%?`fC+>alp^N?4J(|sHo1jj!?G|3lsl_?egrmJzVC^m;F1sRo|&D zPY4WYAsoktQXhrBTKfka+}(L_cR9FwL9-7x&glC!Fzoa_0-9+w&fxwF7&h*EpqV%0 z4DP>yVdIv8Fg7n@4enV7$8*z)2++>pUIT6G>j7cs!<664z}fb%oACmX1dnf|EJxy~ ze-Xml`fdkN2EK77-f9Q;anMoe+v4Ev18veookrhI2X`b7j(gGY->)wZ=D~f$!94^z zs=oY+#+hgEdC-+6v$%tl*Jm`&r1#H2FL7`rzo2oPuh9K1=v$Rn{sk%Z@x3Chrah9+ zUyi>JyV=hH_Y{?AXS}?dv{A(GryoKDSl;-d=h3Y}pcPxm}Z~zu1w7(cH@y=D2pY z`Hp<<0lm+4vP=;Pad;CRMJSf6ddXZSKlZntpC%N==npd3Eh>B9QW zEK0%ntwdOEuM9A}-Ev4T_173Ei8`;&P5|w6v~;mfw&0>&;u=k}q(rRoK3u5N4L8s9=7j=wN20Xn#(n$Y3_* z!{t0my&qqp-%qa;B8jq&fv({l9q*w5`>pN#?`?RmtHbLZ-1*Or{~{l(_1?A+^`{B% z6FX-_Duuh($u}=?09@9YQ?wYqoEFVodurADSbe#niNeS>i(UYM9dxXqxc-#CNY35Kn&5j6V}oJEq?rbe$2FQ}o#Q$I>q8(f6z|nE!^vMsV~1?)>Q?t) zcMNuyK!4B~Xi9ej4Dzy^nrDU)3D8*&n8#DdDF%V?c3{AkS7t@Svd$H^JnhAvy|`n=o`Na-YIs64371B@4ypF<7`2}Ig!bUM~VPkR8CJ&eJ-nSqr z9`ob`c}+*z@x}Y&)A6{s`s&UFr{do%zvU@!#j{sT)wZ_}70ugz0wYk<&Y3rw>ZZzX z`MNj%ndaxW=cZp4Q;UGA*dLqD#2q?$1YFPz6NU3fzm)yH$Jyn+Csxf&2P}3p*Ee9BE$E={+YZE2b8<-_sm>4kdkS z=~Suqi(BVSmB4==a@Ke&Wa;w0<#KHOPrGjP1k0*)VdEW7&5OP7OSSPkuKitnWQ{o9 zvFCGi%bMRl68>;eGE<{t8M*ge{T7rScXd<2xoG$?tKszcpjbNqYuQ?*$Pe?@O-?_q zan(-aYo;5U=U}U(jbT0rGHU1ufj6Xio)sy&-qZ$zFLLlj5`UeKXH5zm$JZqR37=ha_?+h27cK^hWpWQLj=xo! zW?kfXyIIq$OB`RZlqVhQiG14+50Yl&wK@=|3((z$4rX;24i5V7#udYZe?;G})o)H} zj6MIm*1C-i7kpm$!>ZExqDOi#rRa7Pp^Tc2Dy^J^i;g zo$gAk`~I1-j!!kmpB7cA*~IGEGYi`nc2-XJHG41jHC5r)q>jEedHMZ)@u%+}Y@Qao z?(ZwYH*^1d2HA;r_&z^c@b7^8jvY(!@|nr?wxve~5+;O353fsFYp_TT4NH#ojrX#rRcw7(ih zn&XXeq_IW9ccjhuLndiHXX8kJz!12T{wYnfE|nwwwBH&>`9VYAPWqz`eV;@Bu0!Ju z!*>k-4WCl_{=%W{&Y$?#9r--#0aL!%p_2~1#-aK9Q^qkozqc`tbeBVa*r9K6=tB;D zmqXv{&|L2_j`96xhyId7f7PL%b!g5zjibI-9on-R8|4cf`Vxoc_cO*3zuuu69eTS% z-{jEzUcfl&%R03F9TEwlobz7eNZ;qs4>>fyyD^UVM;!W39h&?8jU)bV9r_;~`kX@- zS$z=03u!r>$Qmn%nc#&-wO)L#c{nF}$1%E%_VdU2ddEMK855$1cmw+b=M z`!@VW#z6SsW#8tzA$lL?ri~l1LzC|O>v;(^arNIZH)5uF&HtWms@iey!^5rfS{Jq6 z+xlSZqCZ>oq`7|W#YN(7Twe9MK2f>zY+J1Hm00zyeP5kT)_-+2QU2B0CFNf__sYw$ zbLC^PN4+hbD?cQ@bneyfFX|LkyqBIUeDlMzRibZe!P8zt+10bBahh{o@znTWaqMHq zDiX_6v6*aDNouT5B+DLt?8WIjQ4FH7d67sB7UOq!%e?ui6zrg>!Kc0Dsc#;`@AgXS zlU{7PG1l%a#;;W*HKy?D?D3t`B3}C3caGiHT=evx-~6DM_eNso=LWrXYf^Xjy?Q45 zSeRF|`tH8hPK%nqJN8>I7Zv>BjCAsb*MxQ-i4)5mza!);{%{9P0Nu)Ng8dIK6r2>pvKe*T?F;su+GDCoqwMm>4&XfF2*ymfuV6uNP+C|2V0vUEGdx$29v<$UD>QNCmqdr#hf>sGdXcc)1Pn2L25jNM^zejT z8k7xVayy>ubwxS{xwKtGCV^otwS+mcbntLh@tb|ZrktV$%mdCzNsr+a^pV~J_`!2G z6M3bqMON5DI8c4`kQLgI&n@2Y z8a+roBhf-%Q||#Bv}C1%x!5z59`Eg+7-Jb*B2(w=>TAj-XEUke(AZEelN}q)!Srb9 zU}|kqbn3Eb*?ZFCsA6hc`P*Q){7G8JJHl~ByM(^4!Cg()6ytlCYjd2!)K$*ii6c$> zl!t2`E;`Of@jBo;4q0?J;j(ex0v(0RIXH}$p>qX{zE3&0e+F%@e;M4v4(=u-Vg-1{ z8QlK>!%p8Ah!O+B-QfP#!Ev8=6mHhR{XB4{jHuS=D*_+?eHqs+qi`2HxKDzPinq?e zai2GzlW`{A9S-hy^5}EV8R2)HQTl$)(f7xB^!=8DI|(|f9{e{4_vfHZ-DF-&KAv}Q zPlJvsmw$9{-^qhZKruxAGvL_>QTe^d!BKxyymbz4HV>}d!Nou?F%Qkk?>+~|bVQ|( z``zt)Btdh2X`Cs`&pNoxpszF_+(AnBRR{M|pgCtX&fs2ga3i3j+S}!ryV~iaT`;O1 zY;|zIo=4xXgX4OpZQBPa-7h=1uRsu$kIy?e+7(TiQIXO2-yPgvpZxnNQ_;6-_3(-aBzPQTvWO2aB#E0MLmzSgPVu+M&S-RIG&3Vh5Lkqs{$^n9eu&U ztpU!i_Yh0>4UI$crCSeNqxSP=a8GMootEW*yVb(6Y~5Y|VIy@<+pEoelawHVYBaQa~|wOrJ>FP0ejD|hyvqViZS>KqtLjPQ${ z@Y*1&K~d+zgu^d&!iQHwe;nt;gwwaeNuNFPuzt)vHzpi@r4t^8X3OO}MV;q>#ZC~!QN zCM>sC^O^p&j(lwp7{0i;){$Q;$G)If#e#z6;#mE#$HriHhXV1O8r$()8Z6PsF^BJX z+<$KIE%x25t_g#16&hShZzwf#)M3>6n zKBb)RG!;nAA8EOw7s_>xAp9a>-orSy^ZTyvYP`~4F82!%ujKeb3`7uqvA9ChDnCoa zyEV-+t-$ULuKx%4i$rgTzF3TETIpXVc-~=vUoL(%M6VF$eTIEN1^Smi358!N_&&n$ zoO@T`>$~r1nk}J%{R1Wglyl6lz`0Y`Xj+wTQuJtA<)>2QLh>r{YntYqt^(&sao!u~ zs}Wz>A$pDI57F0% z!h<&+9c zZq5U9l!a`jQEKJ@@|aUiuICt1DbSJn#?4Uihq;#7)Tnd}riSf@Q>Id~=NL(?$YBX3 zWr|6Yb4;Q}dz3NM$b2&>`VYPX#C{5&(+*^HO(0sQ=H=oro zIVZS~cj)I309zD%r>cXB6T_D8Xgi{Ejv<_nacnEY<-SAHreV+5j6Og^&gQ=z@6fh# zev>F0O}{8X+Zi0UT93ciB5&K-@*izSepe-bKJIN;h57OAAOE-5c5G{l-A3&CZS()N z+722GThC~2pWS@?)`R^>8|v!OQq(WP*Vol;T#xTy>g%>#_=#~U8wKpqcrH*W`jVpK zvCc~d<42EdD|$?_-)SR}|MMZv4ng@-jr+2DdxyrcHvg8#s~^{B#Ziinm2aMOe6}1V zjN_<5$Chc=^y?tt$ig=kVtA3}$izEFHtAaMmonpwe-{{xm+{jP7d1+L2z+~#JP!Io zM#&d}+mFjQ(*k+7M@d@3r@)(!s}vX07d1*Qf#530j5GQSZSFSz?P%#N-@qlL<$~!{ z&XlI2XlbTpBXH)aDh^LBvK_z7XI`0R-f0QJW>M*=nO{Z--JzHr-cBnp4M3J%3=jU= zdcE;ckI8=jvoX5=+0wv1iSGO}-|JN2`uz{>+LHB7>vQBs();j|uQ!?KS0)^F_;0qK zF(bR_7ue6(wb%Gt!RIqI{laGWqxyxN;M@Je?}NUOet|oGdvO`3s+5Y;?iZc{@en}l z^LR0RQT+l}SZ({J(Fb_Q+5ESoU!Wy2aHjMWN6w}LASp9}$*>O>Qb%&^F zo~>?N)xp2sx{}qeoxZBGHhE;*Rrq!`*?J}ZstczyjNLU`oBCj1O=q(8o3o;}YI<_) z3Eb(&_qM*@=2y*3?(#7qzi2jmV5EP=Aki!OcyHXZqEG78GW#r8nJfFx-(sLSS<+bE zS$2H+;MgCZc(wOeSG4lCx)*jrN72gG%PHc?dE*_e3a*=2*^Wta68C6A;l zk9xo|)Sf@~bm-G7rue>ZOK#g13n$^^s1hi?W>Go*SSd>izD6{i{uwj zU*#tY-#CT4H#r>>`gbRdZcj`nxJOvh38_QY5zw>8m$rT-9(!5rinqpIJ6UlA`JZeQ zudS(hX11>Bg~HdLy?Fb(AH8yLZA;_YdCy-l_@^&77R08+l`XT?eLc7?Y7tfcxjBC7 zS8x7OkJs=|XTVEd-2!QH-J?aA-!`tEf4UHLtY`{4t5v>G(@-ChRkf|NYUYc)6?US8 zld+dhHZUzrNqLqWuOWrMNG)7ZN4#~{Y_iOI>14h4GLE2s?PPh;;a#)UWnMjMH}*rT zdY?T$fBO^h_{*ZZXExatf9>SrOIt)WzAHcVk2n8$4}awq{N!S!GFg|^zjw+q|5h63 zu%L9ND^*#=JGa*%4Jgf$E>m82iTKNtsW|eYo`uN^pOsE2_Mi(9;KF%!aV8EiGl`ww zNI#y*Jk-NG1X>Bcc#oynUYe&TW3nbld8~68_RN2SPgK(HI2%^*=Frl@L-4!hM{L0_ z3+@KHJ$#r7Sxq_M%47LbgcyL+%> z6W^Q5-OYrhhBN6g;^uNC*atFr>nNZ*$HD^hQ;x{xM7G`EkLoKA_@OBHyNXV%Wbwxl z?eszW!6=@UF_i7F*&@zZTZi_J@?8Ja=mb;as6&3oGrMkz=J$Z_=a@$l%0mmAhKI3F z-al*_Q6NuE>ep2*{I*Q4bu4`#bN$4DJ=|}+?37io5sw!TKtr*IiZ99;^R zt?zfBk7=Pkrp4&vI<2j*3`7@r#up>Z2(NX&T+R^udrLWx5_nM=R-)Y;sPfYsEdbg>6Jcl8wTvj1*cKW!E z9EIEJ;P^fFJxGgjCf+9C>~i@Y@D zu%oXGZy~itnZ}VEbo3>lgy~`WxR!48O*;BEL!Ywp0im0zACU_Xx~R{D~N+obQCjz0d*VU)iA>F8T&>8rBz zncqV+`Q`bLQTgTmWvKMq2luryUB;Pmx!A#R-(*xhtpkqF6KbTZ1uiNdtrv*9S;t#v z>5F>%&H#rvvl=Eojd(BQ?fWU|7`uMO7F%Da27(ZX)gL*?-XyEv}eqns6#0ULD5EDbiVS^0g7dYt& z+bDVdco@IX!E+Z);CLQ+7{5s3gZ9A@DRA5$8pfA9_^_1wLBpKI5|5^@-D2aBckT}j zyC!uS;u zU*qFBQUorJ5jc!rDevH zFOJjf!uTo&U*+Iy9DI$Fo}i={kiSD1)_;Y>2lJLI9Q{{1_$wtos6SUa_^YHmU|xk2 z?3H61j{4oga1E^W#|VWFT0XVJ{a;a3I^+1o2OPN|`&Oojs|2k|B>(a`UXP1?>?vH_ zKY1hW#!-I25V(`R%b|bMq5lXp^>yLme#<{`sqex3xo$D<%(V?7HFC+qXPZQ@(^7vuGBQ2VFmh!Et*#0mx${_^iuzK1n-gfi^PzY zv!+y_eU59IC0~K|_cNMipIU+T#qZ+qUp{BoUYa%NHzpC^Zv>7Bgz`DY4?mD^_8>976?}mWhI-W1K);D8d!HL7%hIrO#Q}q0d>lNuRUw0U=HjhnMIldB>7$ z8}A=h^)rTWtYKnJ>_-!ZfJQ2URS@t(Q);=3I3|#=IB+!_3Qp$ zd*1>bM{%ZGJw2ltOS1Lw16dYkq>+t{4H15Tc}AL%#|8!L*ucpKvYxRlGXfh6$tLzD zSr4&cokVO1COM7`SqRB48@Tt_4!#RF@k-c`LlX9`thM(*9ybc%F2v4bYzyuLXE*oz zs=KZsNA*Z#x`Rv!1oUy>a23@r8PPEf>Jn9B!^HgsSS( z)vz~LPudZ!JVsk+tod+pQZwxF%}t|ntf1LwnlLg9^!Xh}qSeQMZ5{@e_D~C}V%0Ur zJL-FSmYhr3v!UaD#sc!~L#<=9YBP<`y=ijJNG)9tYa(R|sp z4ViP(i?Gx8A~|Zp|JKEkluJ9@v6F=;gLmYlsl>=ha#Wo4$O+0-ciy#2QTDBgL&eyF z5dSY4E{eLg(R=PZg!^!@5`F=HCH&#Kagn71@Gq*7V+nP9F5u_eFiKK4zC$!l?U}ys z0((qE*}&z~4*F-0zmR3Je9g!^M}wMCdxPbzsJG3s9>I^!u0C-2%W#0B7x$mvJPdvliLa* z+ut(z8nf&uWi~-3q%_AyV$w=JHP=|!YQ$1?nb3&QBt}G2by|+`AYaYTmA4iSME=HT zHfDUYb^i7LT5Nc3^6|>5@Q|^feD3HGk@&L_hW!I_xA=Hv<@ew(8;*Tw?!eXQ*vz|x zakb3fUH{{)dw*Z{wa{qmic8CujOK407rs1YjP^7}|E4_k;>m`xb5iDLYu_ct*Ts3M zvO-T;=wv<_dSh#;YH=9_z4qt`wfTTyIWUe`L~IQGCvC5w$MiF94MAjgteKBMvO z)(IFFV=ez6l^2s*Iex=>#&}D7s3;aU7eZm2)wmdlu#p015`2@&iD^bnp`I!_S`LUe z{&wR^j9^*gCeNRa-pFwi5#Nz48+va4H!*h7aLc3{jFva;ajfbCM)P)zm_gQphGfOi zpeas5>3CzXT3}qv96EZ-b8@6bJ&P$;9-FyekQkkmObq4KNE358gZtlLRIs-u6>dUq zCl3}gGjJ^o;hf3L!o2)nE&t=UmKrR^FTq&NeBP}x;0@b4X=vXYVr$dTqu=?gP|tuh zeseT>jOatf!oo0qIhloxBVNSIKnxcL7w*A107e{$2=*~@MtU%+7OBRl+PEP|nTPSA z8FK7rhQV6Hea?t9d(*2509_{4!BTPA!?vn`6(|r}V5e33s z;hy#3o`VsuJpgyihl@eLf&knveK^iWYze^qhYz<7xJ&@97KPBuK|AHAH5`g1-6a6= z`5^n!Esa?5Y*NagUyUEAJP~)N0^!cIc(LCISv`vN3~*;-NBtFWe@+3mQ(oRxUdg%z z4;9_fkv@JH7>pbstoXokHBQcJS(SpRgk>v;qQhW)oZB>qpxb!3xCrgpx=Q@srdbZI6E25v%5RZ$jbqo!NV-;>Z}a)Bqg~6> z5tmjV>Oj<;n%9U;jt0R%M}2avK15P^3Np#ObDNJQL9-=!R5TJE#f$;EN~UOA8FNUf zhB=gV45b~_R=pgiWyMjZNZ&r9 zGT2!{>)B#di-9v@u@R)c8Kq>7Sp{tMWIQsRIm&j|M>20kJ{*R=F=7C>Pv6K>^5sfi zE^f!Zi+$W;o^$PW@hqmk+*ju@X`ScY7tu-ISrM!iiDK1a?7psb*l!Vu>$2_oSi7!k zb2s-&4Fpk&wtU|w-?JO5%#C+_x1OAOY-(w_CW@tWvO1;$nFVaKziz{=ti_GJ8`QKr zr}%#EJMV7dOJucUN~6=;X|Nofx6#Ha-PVsY2!><3uj}!paMWcOM^9Jz5$vRUl@E70 zX!hllQ#$z#2+-wm6_l<;Djf9)9d`@pNw}0#xPAoaxE|2DmaK4(`*0ge;GXy4HkZKt z!iS^&5R|To%<1{dm%ugqaNB{?>rcsU_2C`@F6eo5`f%R>&g~btc~$$EC>c-s(pB}x z`FQwq(s~a5py&3i565xJW?afCc|Z2yP65DoO*w@->BCJ2t!v2&R{;-LPX1a-;AZ-8 zN#Io7GHoTV-G@s9r`Mmtt@h#ApH+3K%gft1>Y;R;=XR&%mH$D?{C^HO{C4>oOZPk& zXVV|%yv47oOd%%a(ebVYi*|H;^C&R;4V25WSK~r3({f=KZ)g1fB-uPaM=QepmSZl6hf7#2|e<4i2 z!pHabhbw*jN>@01oLA(PKOPdT=Vt-&&@{*XvKK$Lf9&N~NqO$?p-Pj+^s9aH_~y8d z{b8@X8kY$l`@dek{!1o*qK}XMnC3Xo$Qxg85g326k3Y7*>y1A}lg{|(_~NTsB^HeH zioEglFEry%^~tN3`)Bbt!Z(rgMu;HIm^{b%0-NTW!v6P%ZJH&k#ruk(X^H1EVePH+ z(BtGh63Vmq<%0cdm#z>8Jana;pW>!JUi_QQxAHeZsP>BGq_tu)z%IU8@ViRd%5RNW zX4B0QUn^9*!*4nJ(`udvpL8vr-(T5yi=Hf0yJF>kig?QATj`%8UbJZ|f2cJoSp!#L`z z!op6N@+Ar}CrtTtTY!ogcTmcgKyTgRvfr+JdE1vLxW19jsVM{b<0&(D;~LDN=Z(I& z?2qHlvsa?6^1dH7g4Re?oEEN6JzEq_ zh%3XYL(11MFNKq1o-H=a(?jxhNcrZ9E#gG7y7L)~^3EG9hH=GkO~O@&i?J{sJnsiv z5~Dqd)bS9;dd0kJxBM`7Ijj_7C1X@{(-#`C{EW{SnGaZ<8>i`gEYyM5rr?n99M`7Mwastw06f518`h|)y7 z<)DG995Qb(%&C|wv*NzYg`qmg90!?g1@TeLR;eYYp%(KvY7nc|Xf)mmol4y{yq`}C zC-|&Za$vVSAeuk7H@i~q80^e_58o{A-K*3qSP>3wJ3cr$-d z*-Mc#Q>Of5GBkYkzDv_)+GrWvUq5Sd`)`lHN|kQB?y-|GQ8u&ej95M+_wm$>f)SaK zxp(v8&6rbh)g{J-p~&b+7w1Y`lzM*izB8vz8COLL(a1%q$d=*###I-Z#^sUG)*EZX zq0#>crH@BM>+z7;nT@9_F!LrMe|L$DNYtk>+vmLK((sXO$!`obbsO{Fe66m&ZookP zt+k*m<0F_97&|a)pJ@hpW;fESZm1By9nXbSOG`zIZ42Q$1 z@%R_MZbCR53Aa{-Bav{bI)eX;Ys&C{No}O8ES#EHhX3u8qWGVl9K-)5Q=-vmxc!`1 zEE-PNMPspWYHAGs+uxryFMM_FT^4LB2?Oj;{Me9HSPW$>|kc6rWf(ZswBN(tkhcqVE_D*t%6RKKyoC0g-i^JsPT09#%|DU3(jeK@ z8+u_I^zd_uqZ;o+^RU z`>KG*vFxDyaV@f*zZXi#Gf{9IHw>I^5mNPXo)7oGfn$GKIfc92hkFHpAlywp9Bl+a zxIQ25cnKW$;nd5)G5a8SPxx@BO5oJq)wBuFy@`wV0_7k^I?lz?)8+f9;t-&4fAHZr z1|9U=rkh@Q6MzeP9&J8ceF-J+%Pm-pc=FOk28eK`JJf__KO`fxXuz`f$b zaV_<2vSzJ+Du2K8;kdVXCIDBBhYptW4CX<=4FNc=;ni{X0>^Klaw^^HeYhboW+@Qv z>K(fl9^F!#IoEn$FdadTgAvE~=MJAd?hE@m!j)6n_K*@6ewnqJ-fm>U_sX57!)f<;|8l$WI&;TNc-u*dx%3pCj?E z{=k;Qbv%p);=6M_sk3m+@^3wO%oT<(SKb71k%z7lOFVS7?+lk3vB|@)6`!|h>Tn#Zdc>yL z5^${QfQOzee(0g6IBSS4{5e9+Rj}wfF#(MsqR4iy79)RZ?g4cT&iuW?=CkGC88ORk z+NzHR(QVUK{>~NDgDB6Ur;A5yn$MhP#607P9~abzh_~vqQT)b3H;Hj*bIHF=ViL}o zE*VKTi#ax*I$AB(^j~GuOC>#1{FzP9lJxmvgH2Oss>S=P&UCTHI_HQlg0CFE_Fu7S z>M%8YKVc4VhW2P0uuNJEb_|i4-)~}cV+3)OF)PrZs6{QwR|0&dL@jCnN7;me%!_(a zXgBg37B$JG*eXxtJLW=PJWse2!LbtRXiwl+qoD?MO@a(mQoW%8CPIQWJD4H^&4P-_ zvgrmvCtSDpsX&hrkb!~bKZ(|?dLF}@pXplM$Wdl2^{M=r}JwB|8N%aPjud!X+6 zaC&cY(!jFO)|ps)Iy3QYk^BCBtY>d&D?HT}&tx-?=8P{HyQ&L@_}!7%SHCEX^fOp} zyXj+}SRTIkcdrfaXS%C1kL8S=#vblCo5&?b^YarKF%pWKdkY7d9!H2jySFW~%|RKv zn7hzkl<$2xPaAKWZE=>S0{?Yf z5;S!wak(spFp3DU5gpN z3s~ipmv>br@?PhQhy*yhFoBEtqdx1mYrT$uSxN}_nirJo^zaYtTL1a8n)%ypb*htZ zwCgx$*4s}WJ4e>b*S{=$%vHYlRq|W0#!15B=QP^!!oxYU`nQE|ipl}s8$-T1ZVcMJ zbjLZfv@Gx)Vb0hu|By{nF6WS5C_juEW9i(-P^Bu{1_jcrc-l!DM2U^o0~%m4n=Az8cV9XVT$NZOtp@y-`+y_e=B=(-Dkn{-#=;wzwZt5*1f zaM#&5)%Nn+5Y+ZkN7CEggP_l*?JWSe7MF6?YiZ?8Z+p4VGqL>k@jJ?L1hu_nux(aO z$y2nt>*4Q4+skjP>%vmMa>G=uTZo|bENs18{Ma!kS2pW8>Z~u|Gt+Ih7LEAwowJNR$-hzJI}UB?z?PXdHen|Cr>_my2EJ8u;*^z zLeDs5Vm4?hV`fv?ZP~+FgeTZL56S=7F{+OgaPpq&P88y13aAuj5?elFwt2+tPL1YQ znj=%6F}u-AUTFexxSMmb)oN)5gp4XH2S`XTS2 zE4r`gZa;2zjtd*3TMgI^vgOYtv(*Pz=GwZardHzG*ea6YkJ69cL)YW5kkLqo8sboMMcglj5j^T;4p^5=2U z;)5CaYcL}p*WfzXSmY&O!^z_!t)1Zme>F~^5ok*h4$BYxt(ITF-wJ>7R83!K-2+kc zsBy(xNBE0q!%T1$K3wL8o41L0MFxE2iaQH5BPVfO=!1;eUtr}*ky^QO2>T68M6T)v z4xg@q%=c$ojxU+i`s9YHPz~?uUc)m;q%DO!Y30;tTdnNftc59s(i3O{HwFPcfz&zg zfFTESO0{{>Dqrh1;K=lVa8Ay(PE+@;i&ybBuEEB%YqK!-tXkJ~SC?9FPPUUXYr3X2 z$yZy_PmC%O?80(>bRdX1$0;pc-Iz+PP3mO)?s4xU08RV!F{xQQiNx9_R5 zV90`H#neh+*Y22bK1!KPPcLTwcB;AM>VfDir^4Q`g8W|6kJ&#}PU)OW5kMVL>BrQ2 zX*W|&;XZ}{9hU*E;t;EF>)_XM)Omw&cl&UR=jw&7yf6E38%yB6<-^gYsM{q}{+{#U z?k$1)i4S)_=%D)hy$|;|Xxbf=Q|V4arReqYKLH5JA8my?j`gg`k(&c-o(*0MTyq`cG^QW9D?{9rLp2HLLKF1IasQYf3Ze38Ol9%w|!XnkxX+frE%f2;ErGkvhx>d9T$c}bKWM$Y zDzAAT?s3pT@AKDfT#H?*pBPwKktR7{|Ci z=Ap-lTWy-ZEABJ;DGyyC?z3qt{Yvq7Hf@cOjTeI+`~<-@R?LqjuS)#8O;gw7zN1_l zME--4t`P|mwqw0rVDl~fL~*rEKLQ@-p5A2B#Ma{Xsm{-_>f;=F4k1PIOV0CjzGUMq zdaC$44_)t^hhy=l366;~K6MwKxARjEeXjVmhn_C}-9w)zs?dhH@#CV=rmgyG6mx8v zI!Z0xZ|>Voyp?`JaDQ%>ZWcFt=owZ0*&yNZjjGPXwM$Fi}IC#@^=`0Xl+shL_Bb#P=w3>ZtUU!nYh{sc!)j6@3mo!w^EzhCXgtabZUwhd-7#Qy2& zL1W%`%XX;4-IrXC81VLMQN3J`SyGCY#=Z@kHuh}VXq)@qu?6nEHLs8Dk#cM+=&r`a zwnEtiTHz1Eebk5hh!zK4r@yw|hg(qs_jwMP2zZs~ZpJ`Iu-J5bmW1fpvz&sSvG+1~p5 zv^hK&ez%lU@)WJ^dicB1r=_mvx_5u9-78Cv3^H;bAAKZOa_tvvQy&&WjbSR?IhZ>p>X?>WrZ84WFb?k} z_6X|Ruy*4oF|0W@GctFptdiK8ft1g;-qYecp;nB}EVBQ8o5vqy!@gGgF2O6$)(sjn zy48ovfDXdlci~<9i)$p`f%SUf%DJ1-wPbSvC647xd|U<_5CLA zDO`FRrEpi-IHf;)7q}q(fqPo(`oo2w&qja907v_Ta>~oQ$^&^j@S$o&0IioC=Vh6K z^oJLsLi`du<&-={tGgclr_di%I=lzX&GYjA>-U=W&JCm%=DMK0r@eSus$BPO>_zQL zV|`6<^bgDC6L#jU^EXNTL+Kk9T_$csIG?FSN5x$p+MTCv=`Z8New%O6@b-LvQ+iu6bTSsI7;ZiF zo14ncm^URMaalp6lax9Cx37gy42ori))dmXvbkV}UxYLvCLY+HTNC~Lu?MgZX%TBU z2b15AU?a;qJ-_VbeP}zcFe)kvX@6_Y;}w#GLKZr2qCzy}ZxK#u86#uj@FG zt;77sI>fMcWsRAM40mS@+xI-~sW(SckFB1+rFYA;Fn8zOzj7<$?-$4JZ{I77QZ^e`EjCOMdm* zPmAF^&N3P&W{y8OK``u@lcK6)h;cjncPDF)tnUAXjL&zEary2Mrx3q6V#eD>%1-9Z zn-}jG_}+;Mb9SzOV9)+McB*YnHx^9eXT_dDv2$dJ*t4sBdi(9U`f$^+!>21u=3V8o zLd&I|!{5C2qoNS^CKn8Z<03wOWDcH~Va~}Q^_I@<_`m!YIrGHxk*%*q;t|fy{i3SP z3x8Q$_SH1r{gu0uSfQMb=05b&zx6*=oRvSFdaBqwxT}5FncttTJTq~d=$`X!apHTi zqs4~3jr;2NEiYaos_~2;>wl%+xMFuQHn6ymU%Yr!Ebb`Iy#Iw_czO8bOz~)c445l& zBA&t=>nkz`UoU;CeY zQzt`bYHp04*cOeaFF^U{=N1>jkrci>^D|;3KEp%`=ANafu~6jYGRs#T`FPnY{fYY+ z+8WuN+>||cC~;q7_bc7TiNnSg1-17W zYwx6arY0fg{QQWy=jNz+?24R)rR3pMeY=Z!uy{fB7m}eLKi19iM7ZKxx%Xv{ud}iFJ}E8!@6kM(Yzf}&Otm*2r*M)=L)Jf^9H?75CWID)A$c_jgD%l4_h$Zcv8l2xt zGd|fHQ4Spy>GY9h2DIZ^E;-geg+%+W!5)Khs-DrL zdT{9yxN{&(m-jK?f~*j2KHNs&;wn+xK}yHowqB08S~-|c;#kig_sQdFlXDTKoRY_$ zwJz^UP2MDcmAv)9Q7)=ixZ>e(Ibg^e-OEJN6_j;+viF z@@cz{GyKSR-4r>4igYV31AN_a#-A5|j!4@8eme{~9_Ys4$yi=|ojkdUh&V2+JEPZe zoDt~7PZeE?i;6bD*PV$kv=?75HraqY?uO?J&ibL2;W`sDobn)9JvZRujIqDAX|}N( z?Rwaz*_PJgSO0`fvn`}`=^4<<@i#Y!i}H5h;;sn)Y}0&F91(ieLsvU9#4PJrjW`#P z89y%ZwX!WB%{GBEzy$R|%X;M~!%|hWEI+mytcBPLFwUvgls~`TXR#cW&tkjU9%!ZL zNy&~1?NFA^D@jLXb||SRLksWh*&?&AX~_;o*N>e*zh>-V1n9&L-_nF7sq|meA-@wm zRr)CJ3+>aW=i0lL&BmxU!|@*T8HHdNeVupwD1J{LYQ`tXE^TLc}F rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss ALIGN(4) (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + . = ALIGN(4); + _end = . ; + + /* .stack_dummy section doesn't contains any symbols. It is only + used for linker to calculate size of stack sections, and assign + values to stack symbols later */ + .stack_dummy : + { + *(.stack*) + } > ram + + /* Set stack top to end of ram, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(ram) + LENGTH(ram); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(_sstack = __StackLimit); + PROVIDE(_estack = __StackTop); +} diff --git a/buildroot/share/PlatformIO/variants/archim/linker_scripts/gcc/sram.ld b/buildroot/share/PlatformIO/variants/archim/linker_scripts/gcc/sram.ld new file mode 100644 index 000000000000..2a0d54e179ad --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/linker_scripts/gcc/sram.ld @@ -0,0 +1,145 @@ +/* ---------------------------------------------------------------------------- + * SAM Software Package License + * ---------------------------------------------------------------------------- + * Copyright (c) 2012, Atmel Corporation + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following condition is met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer below. + * + * Atmel's name may not be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ---------------------------------------------------------------------------- + */ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000 /* Flash, 512K */ + sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000 /* sram0, 64K */ + sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 0x00008000 /* sram1, 32K */ + ram (rwx) : ORIGIN = 0x20070000, LENGTH = 0x00018000 /* sram, 96K */ +} + +/* The stack size used by the application. NOTE: you need to adjust */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x2000 ; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > ram + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ram + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _end = . ; +} + diff --git a/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/flash.icf b/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/flash.icf new file mode 100644 index 000000000000..956230fbd354 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/flash.icf @@ -0,0 +1,49 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Vector table start*/ +define symbol __ICFEDIT_vector_start__ = 0x00080000; /*Add for CMSIS*/ +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; +define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; +define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; +define symbol __ICFEDIT_region_ROM0_start__ = 0x00080000; +define symbol __ICFEDIT_region_ROM0_end__ = 0x0009FFFF; +define symbol __ICFEDIT_region_ROM1_start__ = 0x00100000; +define symbol __ICFEDIT_region_ROM1_end__ = 0x0011FFFF; +/*-Sizes-*/ +/*define symbol __ICFEDIT_size_cstack__ = 0x1000;*//*for nandflash*/ +define symbol __ICFEDIT_size_cstack__ = 0x2000; +define symbol __ICFEDIT_size_heap__ = 0x200; +/*-Specials-*/ +/*define symbol __ICFEDIT_region_RAM_VECT_start__ = __ICFEDIT_region_RAM0_start__;*/ /*Referenced for CMSIS*/ +/*define symbol __ICFEDIT_size_vectors__ = 0x100;*/ /*Referenced for CMSIS*/ +/*-Exports-*/ +/*export symbol __ICFEDIT_region_RAM_VECT_start__;*/ +export symbol __ICFEDIT_vector_start__; /*Add for CMSIS*/ +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +/*define region RAM_VECT_region = mem:[from __ICFEDIT_region_RAM_VECT_start__ size __ICFEDIT_size_vectors__];*/ /*Referenced for CMSIS*/ +/*define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__];*/ /*Referenced for CMSIS*/ +define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; +define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; +/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | + mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ /*Referenced for CMSIS*/ +define region ROM0_region = mem:[from __ICFEDIT_region_ROM0_start__ to __ICFEDIT_region_ROM0_end__]; +define region ROM1_region = mem:[from __ICFEDIT_region_ROM1_start__ to __ICFEDIT_region_ROM1_end__]; + +/*define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { };*/ +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +/*place at start of ROM0_region { readonly section .vectors };*/ /*Referenced for CMSIS*/ +place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; /*Add for CMSIS*/ +place in ROM0_region { readonly }; +place in RAM0_region { readwrite, block HEAP }; +place in RAM1_region { block CSTACK }; /* for nandflash*/ +/*place in RAM_VECT_region { block RamVect };*/ /*Referenced for CMSIS*/ \ No newline at end of file diff --git a/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/sram.icf b/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/sram.icf new file mode 100644 index 000000000000..d7d33537ac46 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/linker_scripts/iar/sram.icf @@ -0,0 +1,33 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Vector table start*/ +define symbol __ICFEDIT_vector_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; +define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; +define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x900; +define symbol __ICFEDIT_size_heap__ = 0x200; +/*-Exports-*/ +export symbol __ICFEDIT_vector_start__; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; +define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; +/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | + mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ + +/* define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { }; */ +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; +place in RAM0_region { readonly }; +place in RAM1_region { readwrite, block CSTACK, block HEAP }; diff --git a/buildroot/share/PlatformIO/variants/archim/pins_arduino.h b/buildroot/share/PlatformIO/variants/archim/pins_arduino.h new file mode 100644 index 000000000000..4e279aa7bedb --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/pins_arduino.h @@ -0,0 +1,21 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +// API compatibility +#include "variant.h" + diff --git a/buildroot/share/PlatformIO/variants/archim/variant.cpp b/buildroot/share/PlatformIO/variants/archim/variant.cpp new file mode 100644 index 000000000000..72ad45ef4602 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/variant.cpp @@ -0,0 +1,485 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "variant.h" + +/* + * DUE Board pin | PORT | Label + * ----------------+--------+------- + * 0 | PA8 | "RX0" + * 1 | PA9 | "TX0" + * 2 TIOA0 | PB25 | + * 3 TIOA7 | PC28 | + * 4 NPCS1 | PA29 | + * TIOB6 | PC26 | + * 5 TIOA6 | PC25 | + * 6 PWML7 | PC24 | + * 7 PWML6 | PC23 | + * 8 PWML5 | PC22 | + * 9 PWML4 | PC21 | + * 10 NPCS0 | PA28 | + * TIOB7 | PC29 | + * 11 TIOA8 | PD7 | + * 12 TIOB8 | PD8 | + * 13 TIOB0 | PB27 | LED AMBER "L" + * 14 TXD3 | PD4 | "TX3" + * 15 RXD3 | PD5 | "RX3" + * 16 TXD1 | PA13 | "TX2" + * 17 RXD1 | PA12 | "RX2" + * 18 TXD0 | PA11 | "TX1" + * 19 RXD0 | PA10 | "RX1" + * 20 | PB12 | "SDA" + * 21 | PB13 | "SCL" + * 22 | PB26 | + * 23 | PA14 | + * 24 | PA15 | + * 25 | PD0 | + * 26 | PD1 | + * 27 | PD2 | + * 28 | PD3 | + * 29 | PD6 | + * 30 | PD9 | + * 31 | PA7 | + * 32 | PD10 | + * 33 | PC1 | + * 34 | PC2 | + * 35 | PC3 | + * 36 | PC4 | + * 37 | PC5 | + * 38 | PC6 | + * 39 | PC7 | + * 40 | PC8 | + * 41 | PC9 | + * 42 | PA19 | + * 43 | PA20 | + * 44 | PC19 | + * 45 | PC18 | + * 46 | PC17 | + * 47 | PC16 | + * 48 | PC15 | + * 49 | PC14 | + * 50 | PC13 | + * 51 | PC12 | + * 52 NPCS2 | PB21 | + * 53 | PB14 | + * 54 | PA16 | "A0" + * 55 | PA24 | "A1" + * 56 | PA23 | "A2" + * 57 | PA22 | "A3" + * 58 TIOB2 | PA6 | "A4" + * 69 | PA4 | "A5" + * 60 TIOB1 | PA3 | "A6" + * 61 TIOA1 | PA2 | "A7" + * 62 | PB17 | "A8" + * 63 | PB18 | "A9" + * 64 | PB19 | "A10" + * 65 | PB20 | "A11" + * 66 | PB15 | "DAC0" + * 67 | PB16 | "DAC1" + * 68 | PA1 | "CANRX" + * 69 | PA0 | "CANTX" + * 70 | PA17 | "SDA1" + * 71 | PA18 | "SCL1" + * 72 | PC30 | LED AMBER "RX" + * 73 | PA21 | LED AMBER "TX" + * 74 MISO | PA25 | + * 75 MOSI | PA26 | + * 76 SCLK | PA27 | + * 77 NPCS0 | PA28 | + * 78 NPCS3 | PB23 | unconnected! + * + * USB pin | PORT + * ----------------+-------- + * ID | PB11 + * VBOF | PB10 + * + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Pins descriptions + */ +extern const PinDescription g_APinDescription[]= +{ + // 0 .. 53 - Digital pins + // ---------------------- + // 0/1 - UART (Serial) + { PIOA, PIO_PA8A_URXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // URXD + { PIOA, PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // UTXD + + // 2 + { PIOB, PIO_PB25B_TIOA0, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC0_CHA0 }, // TIOA0 + { PIOC, PIO_PC28B_TIOA7, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHA7 }, // TIOA7 + { PIOC, PIO_PC26B_TIOB6, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHB6 }, // TIOB6 + + // 5 + { PIOC, PIO_PC25B_TIOA6, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHA6 }, // TIOA6 + { PIOC, PIO_PC24B_PWML7, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH7, NOT_ON_TIMER }, // PWML7 + { PIOC, PIO_PC23B_PWML6, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH6, NOT_ON_TIMER }, // PWML6 + { PIOC, PIO_PC22B_PWML5, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH5, NOT_ON_TIMER }, // PWML5 + { PIOC, PIO_PC21B_PWML4, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH4, NOT_ON_TIMER }, // PWML4 + // 10 + { PIOC, PIO_PC29B_TIOB7, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHB7 }, // TIOB7 + { PIOD, PIO_PD7B_TIOA8, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHA8 }, // TIOA8 + { PIOD, PIO_PD8B_TIOB8, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC2_CHB8 }, // TIOB8 + + // 13 - AMBER LED + { PIOB, PIO_PB27B_TIOB0, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC0_CHB0 }, // TIOB0 + + // 14/15 - USART3 (Serial3) + { PIOD, PIO_PD4B_TXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD3 + { PIOD, PIO_PD5B_RXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD3 + + // 16/17 - USART1 (Serial2) + { PIOA, PIO_PA13A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD1 + { PIOA, PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD1 + + // 18/19 - USART0 (Serial1) + { PIOA, PIO_PA11A_TXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD0 + { PIOA, PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD0 + + // 20/21 - TWI1 + { PIOB, PIO_PB12A_TWD1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TWD1 - SDA0 + { PIOB, PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TWCK1 - SCL0 + + // 22 + { PIOB, PIO_PB26, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 22 + { PIOA, PIO_PA14, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 23 + { PIOA, PIO_PA15, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 24 + { PIOD, PIO_PD0, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 25 + + // 26 + { PIOD, PIO_PD1, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 26 + { PIOD, PIO_PD2, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 27 + { PIOD, PIO_PD3, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 28 + { PIOD, PIO_PD6, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 29 + + // 30 + { PIOD, PIO_PD9, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 30 + { PIOA, PIO_PA7, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 31 + { PIOD, PIO_PD10, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 32 + { PIOC, PIO_PC1, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 33 + + // 34 + { PIOC, PIO_PC2, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 34 + { PIOC, PIO_PC3, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 35 +//{ PIOC, PIO_PC3B_PWMH0, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH0, NOT_ON_TIMER }, // PWMH0 PIN 35 + { PIOC, PIO_PC4, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 36 + { PIOC, PIO_PC5, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 37 +//{ PIOC, PIO_PC5B_PWMH1, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH1, NOT_ON_TIMER }, // PWMH1 PIN 37 + + // 38 + { PIOC, PIO_PC6, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 38 + { PIOC, PIO_PC7, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 39 +//{ PIOC, PIO_PC7B_PWMH2, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH2, NOT_ON_TIMER }, // PWMH2 PIN 39 + { PIOC, PIO_PC8, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 40 +//{ PIOC, PIO_PC8B_PWML3, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH3, NOT_ON_TIMER }, // PWML3 PIN 40 + { PIOC, PIO_PC9, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 41 + + // 42 + { PIOA, PIO_PA19, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 42 + { PIOA, PIO_PA20, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 43 + { PIOC, PIO_PC19, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 44 +//{ PIOC, PIO_PC19B_PWMH5, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH5, NOT_ON_TIMER }, // PWMH5 PIN 44 + { PIOC, PIO_PC18, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 45 + + // 46 + { PIOC, PIO_PC17, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 46 + { PIOC, PIO_PC16, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 47 + { PIOC, PIO_PC15, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 48 + { PIOC, PIO_PC14, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 49 + + // 50 + { PIOC, PIO_PC13, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 50 + { PIOC, PIO_PC12, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 51 + { PIOB, PIO_PB21, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 52 + { PIOB, PIO_PB14, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 53 + + + // 54 .. 65 - Analog pins + // ---------------------- + { PIOA, PIO_PA16X1_AD7, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC0, ADC7, NOT_ON_PWM, NOT_ON_TIMER }, // AD0 + { PIOA, PIO_PA24X1_AD6, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC1, ADC6, NOT_ON_PWM, NOT_ON_TIMER }, // AD1 + { PIOA, PIO_PA23X1_AD5, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC2, ADC5, NOT_ON_PWM, NOT_ON_TIMER }, // AD2 + { PIOA, PIO_PA22X1_AD4, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC3, ADC4, NOT_ON_PWM, NOT_ON_TIMER }, // AD3 + // 58 +//{ PIOA, PIO_PA6X1_AD3, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC4, ADC3, NOT_ON_PWM, TC0_CHB2 }, // AD4 + { PIOA, PIO_PA6A_TIOB2, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_TIMER|PIN_ATTR_DIGITAL), ADC4, ADC3, NOT_ON_PWM, TC0_CHB2 }, // TIOB2 + { PIOA, PIO_PA4X1_AD2, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC5, ADC2, NOT_ON_PWM, NOT_ON_TIMER }, // AD5 + { PIOA, PIO_PA3X1_AD1, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC6, ADC1, NOT_ON_PWM, TC0_CHB1 }, // AD6 + { PIOA, PIO_PA2X1_AD0, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC7, ADC0, NOT_ON_PWM, TC0_CHA1 }, // AD7 + // 62 + { PIOB, PIO_PB17X1_AD10, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC8, ADC10, NOT_ON_PWM, NOT_ON_TIMER }, // AD8 + { PIOB, PIO_PB18X1_AD11, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC9, ADC11, NOT_ON_PWM, NOT_ON_TIMER }, // AD9 + { PIOB, PIO_PB19X1_AD12, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC10, ADC12, NOT_ON_PWM, NOT_ON_TIMER }, // AD10 + { PIOB, PIO_PB20X1_AD13, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC11, ADC13, NOT_ON_PWM, NOT_ON_TIMER }, // AD11 + + // 66/67 - DAC0/DAC1 + { PIOB, PIO_PB15X1_DAC0, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC12, DA0, NOT_ON_PWM, NOT_ON_TIMER }, // DAC0 + { PIOB, PIO_PB16X1_DAC1, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC13, DA1, NOT_ON_PWM, NOT_ON_TIMER }, // DAC1 + + // 68/69 - CANRX0/CANTX0 + { PIOA, PIO_PA1A_CANRX0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, ADC14, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // CANRX + { PIOA, PIO_PA0A_CANTX0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, ADC15, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // CANTX + + // 70/71 - TWI0 + { PIOA, PIO_PA17A_TWD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TWD0 - SDA1 + { PIOA, PIO_PA18A_TWCK0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TWCK0 - SCL1 + + // 72/73 - LEDs + { PIOC, PIO_PC30, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // LED AMBER RXL + { PIOA, PIO_PA21, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // LED AMBER TXL + + // 74/75/76 - SPI + { PIOA, PIO_PA25A_SPI0_MISO,ID_PIOA,PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // MISO + { PIOA, PIO_PA26A_SPI0_MOSI,ID_PIOA,PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // MOSI + { PIOA, PIO_PA27A_SPI0_SPCK,ID_PIOA,PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // SPCK + + // 77 - SPI CS0 + { PIOA, PIO_PA28A_SPI0_NPCS0,ID_PIOA,PIO_PERIPH_A,PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS0 + + // 78 - SPI CS3 (unconnected) + { PIOB, PIO_PB23B_SPI0_NPCS3,ID_PIOB,PIO_PERIPH_B,PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS3 + + // 79 .. 84 - "All pins" masks + + // 79 - TWI0 all pins + { PIOA, PIO_PA17A_TWD0|PIO_PA18A_TWCK0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 80 - TWI1 all pins + { PIOB, PIO_PB12A_TWD1|PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 81 - UART (Serial) all pins + { PIOA, PIO_PA8A_URXD|PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 82 - USART0 (Serial1) all pins + { PIOA, PIO_PA11A_TXD0|PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 83 - USART1 (Serial2) all pins + { PIOA, PIO_PA13A_TXD1|PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 84 - USART3 (Serial3) all pins + { PIOD, PIO_PD4B_TXD3|PIO_PD5B_RXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + + // 85 - USB +//{ PIOB, PIO_PB11A_UOTGID|PIO_PB10A_UOTGVBOF, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL,NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // ID - VBOF + // 85 - PB11 only + { PIOB, PIO_PB11A_UOTGID, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL,NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // ID - VBOF + + // 86 - SPI CS2 + { PIOB, PIO_PB21B_SPI0_NPCS2, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS2 + + // 87 - SPI CS1 + { PIOA, PIO_PA29A_SPI0_NPCS1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS1 + + // 88/89 - CANRX1/CANTX1 (same physical pin for 66/53) + { PIOB, PIO_PB15A_CANRX1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // CANRX1 + { PIOB, PIO_PB14A_CANTX1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // CANTX1 + + // 90 .. 91 - "All CAN pins" masks + // 90 - CAN0 all pins + { PIOA, PIO_PA1A_CANRX0|PIO_PA0A_CANTX0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + // 91 - CAN1 all pins + { PIOB, PIO_PB15A_CANRX1|PIO_PB14A_CANTX1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, + + // 92 - Extra AMBIT Pins + { PIOC, PIO_PC11, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 92 + { PIOB, PIO_PB2, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 93 + { PIOB, PIO_PB1, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 94 + { PIOB, PIO_PB0, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 95 + { PIOC, PIO_PC10, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 96 + { PIOB, PIO_PB24, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 97 + { PIOB, PIO_PB7, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 98 + { PIOB, PIO_PB6, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 99 + { PIOB, PIO_PB8, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 100 + { PIOB, PIO_PB5, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 101 + { PIOB, PIO_PB4, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 102 + { PIOB, PIO_PB3, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 103 + { PIOC, PIO_PC20, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 104 + { PIOB, PIO_PB22, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 105 + { PIOC, PIO_PC27, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 106 + { PIOB, PIO_PB10B_A18, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 107 + { PIOB, PIO_PB9, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 108 + { PIOA, PIO_PA5, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // DIO PIN 109 + + // END + { NULL, 0, 0, PIO_NOT_A_PIN, PIO_DEFAULT, 0, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER } +} ; + + +uint8_t g_pinStatus[PINS_COUNT] = {0}; + +#ifdef __cplusplus +} +#endif + +/* + * UART objects + */ +RingBuffer rx_buffer1; +RingBuffer tx_buffer1; + +UARTClass Serial(UART, UART_IRQn, ID_UART, &rx_buffer1, &tx_buffer1); +void serialEvent() __attribute__((weak)); +void serialEvent() { } + +// IT handlers +void UART_Handler(void) +{ + Serial.IrqHandler(); +} + +// ---------------------------------------------------------------------------- +/* + * USART objects + */ +RingBuffer rx_buffer2; +RingBuffer rx_buffer3; +RingBuffer rx_buffer4; +RingBuffer tx_buffer2; +RingBuffer tx_buffer3; +RingBuffer tx_buffer4; + +USARTClass Serial1(USART0, USART0_IRQn, ID_USART0, &rx_buffer2, &tx_buffer2); +void serialEvent1() __attribute__((weak)); +void serialEvent1() { } +USARTClass Serial2(USART1, USART1_IRQn, ID_USART1, &rx_buffer3, &tx_buffer3); +void serialEvent2() __attribute__((weak)); +void serialEvent2() { } +USARTClass Serial3(USART3, USART3_IRQn, ID_USART3, &rx_buffer4, &tx_buffer4); +void serialEvent3() __attribute__((weak)); +void serialEvent3() { } + +// IT handlers +void USART0_Handler(void) +{ + Serial1.IrqHandler(); +} + +void USART1_Handler(void) +{ + Serial2.IrqHandler(); +} + +void USART3_Handler(void) +{ + Serial3.IrqHandler(); +} + +// ---------------------------------------------------------------------------- + +void serialEventRun(void) +{ + if (Serial.available()) serialEvent(); + if (Serial1.available()) serialEvent1(); + if (Serial2.available()) serialEvent2(); + if (Serial3.available()) serialEvent3(); +} + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + +void __libc_init_array(void); + +void init( void ) +{ + SystemInit(); + + // Set Systick to 1ms interval, common to all SAM3 variants + if (SysTick_Config(SystemCoreClock / 1000)) + { + // Capture error + while (true); + } + + // Initialize C library + __libc_init_array(); + + // Disable pull-up on every pin + for (unsigned i = 0; i < PINS_COUNT; i++) + digitalWrite(i, LOW); + + // Enable parallel access on PIO output data registers + PIOA->PIO_OWER = 0xFFFFFFFF; + PIOB->PIO_OWER = 0xFFFFFFFF; + PIOC->PIO_OWER = 0xFFFFFFFF; + PIOD->PIO_OWER = 0xFFFFFFFF; + + // Set USB Full Speed for Archim + udd_low_speed_disable(); + udd_high_speed_disable(); + + // Initialize Serial port U(S)ART pins + PIO_Configure( + g_APinDescription[PINS_UART].pPort, + g_APinDescription[PINS_UART].ulPinType, + g_APinDescription[PINS_UART].ulPin, + g_APinDescription[PINS_UART].ulPinConfiguration); + digitalWrite(0, HIGH); // Enable pullup for RX0 + PIO_Configure( + g_APinDescription[PINS_USART0].pPort, + g_APinDescription[PINS_USART0].ulPinType, + g_APinDescription[PINS_USART0].ulPin, + g_APinDescription[PINS_USART0].ulPinConfiguration); + PIO_Configure( + g_APinDescription[PINS_USART1].pPort, + g_APinDescription[PINS_USART1].ulPinType, + g_APinDescription[PINS_USART1].ulPin, + g_APinDescription[PINS_USART1].ulPinConfiguration); + PIO_Configure( + g_APinDescription[PINS_USART3].pPort, + g_APinDescription[PINS_USART3].ulPinType, + g_APinDescription[PINS_USART3].ulPin, + g_APinDescription[PINS_USART3].ulPinConfiguration); + + // Initialize USB pins + PIO_Configure( + g_APinDescription[PINS_USB].pPort, + g_APinDescription[PINS_USB].ulPinType, + g_APinDescription[PINS_USB].ulPin, + g_APinDescription[PINS_USB].ulPinConfiguration); + + // Initialize CAN pins + PIO_Configure( + g_APinDescription[PINS_CAN0].pPort, + g_APinDescription[PINS_CAN0].ulPinType, + g_APinDescription[PINS_CAN0].ulPin, + g_APinDescription[PINS_CAN0].ulPinConfiguration); + PIO_Configure( + g_APinDescription[PINS_CAN1].pPort, + g_APinDescription[PINS_CAN1].ulPinType, + g_APinDescription[PINS_CAN1].ulPin, + g_APinDescription[PINS_CAN1].ulPinConfiguration); + + // Initialize Analog Controller + pmc_enable_periph_clk(ID_ADC); + adc_init(ADC, SystemCoreClock, ADC_FREQ_MAX, ADC_STARTUP_FAST); + adc_configure_timing(ADC, 0, ADC_SETTLING_TIME_3, 1); + adc_configure_trigger(ADC, ADC_TRIG_SW, 0); // Disable hardware trigger. + adc_disable_interrupt(ADC, 0xFFFFFFFF); // Disable all ADC interrupts. + adc_disable_all_channel(ADC); + + // Initialize analogOutput module + analogOutputInit(); +} + +#ifdef __cplusplus +} +#endif + diff --git a/buildroot/share/PlatformIO/variants/archim/variant.h b/buildroot/share/PlatformIO/variants/archim/variant.h new file mode 100644 index 000000000000..56f641420298 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/archim/variant.h @@ -0,0 +1,284 @@ +/* + Copyright (c) 2011 Arduino. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _VARIANT_ARDUINO_DUE_X_ +#define _VARIANT_ARDUINO_DUE_X_ + +/*---------------------------------------------------------------------------- + * Definitions + *----------------------------------------------------------------------------*/ + +/** Frequency of the board main oscillator */ +#define VARIANT_MAINOSC 12000000 + +/** Master clock frequency */ +#define VARIANT_MCK 84000000 + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "Arduino.h" +#ifdef __cplusplus +#include "UARTClass.h" +#include "USARTClass.h" +#endif + +#ifdef __cplusplus +extern "C"{ +#endif // __cplusplus + +/** + * Libc porting layers + */ +#if defined ( __GNUC__ ) /* GCC CS3 */ +# include /** RedHat Newlib minimal stub */ +#endif + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ + +// Number of pins defined in PinDescription array +#define PINS_COUNT (79u) +#define NUM_DIGITAL_PINS (66u) +#define NUM_ANALOG_INPUTS (12u) +#define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) + +#define digitalPinToPort(P) ( g_APinDescription[P].pPort ) +#define digitalPinToBitMask(P) ( g_APinDescription[P].ulPin ) +//#define analogInPinToBit(P) ( ) +#define portOutputRegister(port) ( &(port->PIO_ODSR) ) +#define portInputRegister(port) ( &(port->PIO_PDSR) ) +#define digitalPinHasPWM(P) ( g_APinDescription[P].ulPWMChannel != NOT_ON_PWM || g_APinDescription[P].ulTCChannel != NOT_ON_TIMER ) + +/* + * portModeRegister(..) should return a register to set pin mode + * INPUT or OUTPUT by setting the corresponding bit to 0 or 1. + * Unfortunately on SAM architecture the PIO_OSR register is + * read-only and can be set only through the enable/disable registers + * pair PIO_OER/PIO_ODR. + */ +// #define portModeRegister(port) ( &(port->PIO_OSR) ) + +/* + * digitalPinToTimer(..) is AVR-specific and is not defined for SAM + * architecture. If you need to check if a pin supports PWM you must + * use digitalPinHasPWM(..). + * + * https://github.com/arduino/Arduino/issues/1833 + */ +// #define digitalPinToTimer(P) + +// Interrupts +#define digitalPinToInterrupt(p) ((p) < NUM_DIGITAL_PINS ? (p) : -1) + +// LEDs +#define PIN_LED_13 (13u) +#define PIN_LED_RXL (72u) +#define PIN_LED_TXL (73u) +#define PIN_LED PIN_LED_13 +#define PIN_LED2 PIN_LED_RXL +#define PIN_LED3 PIN_LED_TXL +#define LED_BUILTIN 13 + +/* + * SPI Interfaces + */ +#define SPI_INTERFACES_COUNT 1 + +#define SPI_INTERFACE SPI0 +#define SPI_INTERFACE_ID ID_SPI0 +#define SPI_CHANNELS_NUM 4 +#define PIN_SPI_SS0 (77u) +#define PIN_SPI_SS1 (87u) +#define PIN_SPI_SS2 (86u) +#define PIN_SPI_SS3 (78u) +#define PIN_SPI_MOSI (75u) +#define PIN_SPI_MISO (74u) +#define PIN_SPI_SCK (76u) +#define BOARD_SPI_SS0 (77u) //(10u) +#define BOARD_SPI_SS1 (4u) +#define BOARD_SPI_SS2 (52u) +#define BOARD_SPI_SS3 PIN_SPI_SS3 +#define BOARD_SPI_DEFAULT_SS BOARD_SPI_SS3 + +#define BOARD_PIN_TO_SPI_PIN(x) \ + (x==BOARD_SPI_SS0 ? PIN_SPI_SS0 : \ + (x==BOARD_SPI_SS1 ? PIN_SPI_SS1 : \ + (x==BOARD_SPI_SS2 ? PIN_SPI_SS2 : PIN_SPI_SS3 ))) +#define BOARD_PIN_TO_SPI_CHANNEL(x) \ + (x==BOARD_SPI_SS0 ? 0 : \ + (x==BOARD_SPI_SS1 ? 1 : \ + (x==BOARD_SPI_SS2 ? 2 : 3))) + +static const uint8_t SS = BOARD_SPI_SS0; +static const uint8_t SS1 = BOARD_SPI_SS1; +static const uint8_t SS2 = BOARD_SPI_SS2; +static const uint8_t SS3 = BOARD_SPI_SS3; +static const uint8_t MOSI = PIN_SPI_MOSI; +static const uint8_t MISO = PIN_SPI_MISO; +static const uint8_t SCK = PIN_SPI_SCK; + +/* + * Wire Interfaces + */ +#define WIRE_INTERFACES_COUNT 2 + +#define PIN_WIRE_SDA (20u) +#define PIN_WIRE_SCL (21u) +#define WIRE_INTERFACE TWI1 +#define WIRE_INTERFACE_ID ID_TWI1 +#define WIRE_ISR_HANDLER TWI1_Handler +#define WIRE_ISR_ID TWI1_IRQn + +#define PIN_WIRE1_SDA (70u) +#define PIN_WIRE1_SCL (71u) +#define WIRE1_INTERFACE TWI0 +#define WIRE1_INTERFACE_ID ID_TWI0 +#define WIRE1_ISR_HANDLER TWI0_Handler +#define WIRE1_ISR_ID TWI0_IRQn + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; +static const uint8_t SDA1 = PIN_WIRE1_SDA; +static const uint8_t SCL1 = PIN_WIRE1_SCL; + +/* + * UART/USART Interfaces + */ +// Serial +#define PINS_UART (81u) +// Serial1 +#define PINS_USART0 (82u) +// Serial2 +#define PINS_USART1 (83u) +// Serial3 +#define PINS_USART3 (84u) + +/* + * USB Interfaces + */ +#define PINS_USB (85u) + +/* + * Analog pins + */ +static const uint8_t A0 = 54; +static const uint8_t A1 = 55; +static const uint8_t A2 = 56; +static const uint8_t A3 = 57; +static const uint8_t A4 = 58; +static const uint8_t A5 = 59; +static const uint8_t A6 = 60; +static const uint8_t A7 = 61; +static const uint8_t A8 = 62; +static const uint8_t A9 = 63; +static const uint8_t A10 = 64; +static const uint8_t A11 = 65; +static const uint8_t DAC0 = 66; +static const uint8_t DAC1 = 67; +static const uint8_t CANRX = 68; +static const uint8_t CANTX = 69; +#define ADC_RESOLUTION 12 + +/* + * Complementary CAN pins + */ +static const uint8_t CAN1RX = 88; +static const uint8_t CAN1TX = 89; + +// CAN0 +#define PINS_CAN0 (90u) +// CAN1 +#define PINS_CAN1 (91u) + + +/* + * DACC + */ +#define DACC_INTERFACE DACC +#define DACC_INTERFACE_ID ID_DACC +#define DACC_RESOLUTION 12 +#define DACC_ISR_HANDLER DACC_Handler +#define DACC_ISR_ID DACC_IRQn + +/* + * PWM + */ +#define PWM_INTERFACE PWM +#define PWM_INTERFACE_ID ID_PWM +#define PWM_FREQUENCY 31000 +#define PWM_MAX_DUTY_CYCLE 255 +#define PWM_MIN_DUTY_CYCLE 0 +#define PWM_RESOLUTION 8 + +/* + * TC + */ +#define TC_INTERFACE TC0 +#define TC_INTERFACE_ID ID_TC0 +#define TC_FREQUENCY 100000 +#define TC_MAX_DUTY_CYCLE 255 +#define TC_MIN_DUTY_CYCLE 0 +#define TC_RESOLUTION 8 + +#ifdef __cplusplus +} +#endif + +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + +extern UARTClass Serial; +extern USARTClass Serial1; +extern USARTClass Serial2; +extern USARTClass Serial3; + +#endif + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_USBVIRTUAL SerialUSB +#define SERIAL_PORT_HARDWARE_OPEN Serial1 +#define SERIAL_PORT_HARDWARE_OPEN1 Serial2 +#define SERIAL_PORT_HARDWARE_OPEN2 Serial3 +#define SERIAL_PORT_HARDWARE Serial +#define SERIAL_PORT_HARDWARE1 Serial1 +#define SERIAL_PORT_HARDWARE2 Serial2 +#define SERIAL_PORT_HARDWARE3 Serial3 + +#endif /* _VARIANT_ARDUINO_DUE_X_ */ + diff --git a/platformio.ini b/platformio.ini index c426c5223b3b..1f2586e26b46 100644 --- a/platformio.ini +++ b/platformio.ini @@ -576,8 +576,10 @@ build_flags = ${common.build_flags} [common_DUE_archim] platform = atmelsam extends = env:DUE +board = archim build_flags = ${common.build_flags} -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON +board_build.variants_dir = buildroot/share/PlatformIO/variants/ extra_scripts = ${common.extra_scripts} Marlin/src/HAL/DUE/upload_extra_script.py From cb8c99c4f889508486ab72990fd688830837b1a2 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 5 Oct 2020 00:14:33 +0000 Subject: [PATCH 203/277] [cron] Bump distribution date (2020-10-05) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index afce129fd0ab..be727132018c 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-04" + #define STRING_DISTRIBUTION_DATE "2020-10-05" #endif /** From 31238de93740870c6a5c2ac212ba931f0ebe39f5 Mon Sep 17 00:00:00 2001 From: Cory Ory Date: Mon, 5 Oct 2020 01:51:21 +0100 Subject: [PATCH 204/277] Allow bypass for cold E movement (#19606) --- Marlin/src/lcd/menu/menu_motion.cpp | 79 ++++++++++++++++++----------- buildroot/tests/mega1280-tests | 10 +--- buildroot/tests/mega2560-tests | 17 +++++-- 3 files changed, 62 insertions(+), 44 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 4e356b3e0c56..dff9895c6b64 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -170,11 +170,6 @@ void _goto_manual_move(const float scale) { void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int8_t eindex=-1) { _manual_move_func_ptr = func; - #if ENABLED(PREVENT_COLD_EXTRUSION) - const bool too_cold = axis == E_AXIS && thermalManager.tooColdToExtrude(eindex >= 0 ? eindex : active_extruder); - #else - constexpr bool too_cold = false; - #endif START_MENU(); if (LCD_HEIGHT >= 4) { switch (axis) { @@ -187,35 +182,57 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int break; } } - if (too_cold) - BACK_ITEM(MSG_HOTEND_TOO_COLD); - else { - BACK_ITEM(MSG_MOVE_AXIS); - SUBMENU(MSG_MOVE_10MM, []{ _goto_manual_move(10); }); - SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move( 1); }); - SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move( 0.1f); }); - if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { - // Determine digits needed right of decimal - constexpr uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : - !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; - PGM_P const label = GET_TEXT(MSG_MOVE_Z_DIST); - char tmp[strlen_P(label) + 10 + 1], numstr[10]; - sprintf_P(tmp, label, dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); - - #if DISABLED(HAS_GRAPHICAL_TFT) - extern const char NUL_STR[]; - SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); - MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); - lcd_put_u8str(tmp); - MENU_ITEM_ADDON_END(); - #else - SUBMENU_P(tmp, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); - #endif - } + + BACK_ITEM(MSG_MOVE_AXIS); + SUBMENU(MSG_MOVE_10MM, []{ _goto_manual_move(10); }); + SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move( 1); }); + SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move( 0.1f); }); + if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { + // Determine digits needed right of decimal + constexpr uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : + !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; + PGM_P const label = GET_TEXT(MSG_MOVE_Z_DIST); + char tmp[strlen_P(label) + 10 + 1], numstr[10]; + sprintf_P(tmp, label, dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + + #if DISABLED(HAS_GRAPHICAL_TFT) + extern const char NUL_STR[]; + SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); + lcd_put_u8str(tmp); + MENU_ITEM_ADDON_END(); + #else + SUBMENU_P(tmp, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); + #endif } END_MENU(); } +#if E_MANUAL + + inline void _goto_menu_move_distance_e() { + ui.goto_screen([]{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); }); + } + + inline void _menu_move_distance_e_maybe() { + #if ENABLED(PREVENT_COLD_EXTRUSION) + const bool too_cold = thermalManager.tooColdToExtrude(active_extruder); + if (too_cold) { + ui.goto_screen([]{ + MenuItem_confirm::select_screen( + GET_TEXT(MSG_BUTTON_PROCEED), GET_TEXT(MSG_BACK), + _goto_menu_move_distance_e, ui.goto_previous_screen, + GET_TEXT(MSG_HOTEND_TOO_COLD), (const char *)nullptr, PSTR("!") + ); + }); + return; + } + #endif + _goto_menu_move_distance_e(); + } + +#endif // E_MANUAL + void menu_move() { START_MENU(); BACK_ITEM(MSG_MOTION); @@ -278,7 +295,7 @@ void menu_move() { #if E_MANUAL // The current extruder - SUBMENU(MSG_MOVE_E, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); }); + SUBMENU(MSG_MOVE_E, []{ _menu_move_distance_e_maybe(); }); #define SUBMENU_MOVE_E(N) SUBMENU_N(N, MSG_MOVE_EN, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(MenuItemBase::itemIndex); }, MenuItemBase::itemIndex); }); diff --git a/buildroot/tests/mega1280-tests b/buildroot/tests/mega1280-tests index 6bd9cda60562..ce13d4a6e8bb 100644 --- a/buildroot/tests/mega1280-tests +++ b/buildroot/tests/mega1280-tests @@ -52,16 +52,8 @@ exec_test $1 $2 "RAMPS | DELTA | RRD LCD | DELTA_AUTO_CALIBRATION | DELTA_CALIBR # Delta Config (generic) + ABL bilinear + BLTOUCH use_example_configs delta/generic opt_set LCD_LANGUAGE cz -opt_set X_DRIVER_TYPE L6470 -opt_set Y_DRIVER_TYPE L6470 -opt_set Z_DRIVER_TYPE L6470 -opt_add L6470_CHAIN_SCK_PIN 53 -opt_add L6470_CHAIN_MISO_PIN 49 -opt_add L6470_CHAIN_MOSI_PIN 40 -opt_add L6470_CHAIN_SS_PIN 42 -opt_add "ENABLE_RESET_L64XX_CHIPS(V) NOOP" opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR BLTOUCH -exec_test $1 $2 "DELTA | L6470 | RRD LCD | ABL Bilinear | BLTOUCH" +exec_test $1 $2 "DELTA | RRD LCD | ABL Bilinear | BLTOUCH" # clean up restore_configs diff --git a/buildroot/tests/mega2560-tests b/buildroot/tests/mega2560-tests index a3920b94688c..4dd03984a58c 100755 --- a/buildroot/tests/mega2560-tests +++ b/buildroot/tests/mega2560-tests @@ -256,13 +256,22 @@ exec_test $1 $2 "Full-featured CR-10S config" #exec_test $1 $2 "Stuff" # -# Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS +# Delta Config (generic) + UBL + ALLEN_KEY + EEPROM_SETTINGS + OLED_PANEL_TINYBOY2 # use_example_configs delta/generic +opt_enable RESTORE_LEVELING_AFTER_G28 EEPROM_SETTINGS EEPROM_CHITCHAT \ + Z_PROBE_ALLEN_KEY AUTO_BED_LEVELING_UBL \ + OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY DELTA_CALIBRATION_MENU opt_set LCD_LANGUAGE ko_KR -opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT \ - OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY -exec_test $1 $2 "RAMPS | DELTA | OLED_PANEL_TINYBOY2 | UBL | Allen Key | EEPROM" +opt_set X_DRIVER_TYPE L6470 +opt_set Y_DRIVER_TYPE L6470 +opt_set Z_DRIVER_TYPE L6470 +opt_add L6470_CHAIN_SCK_PIN 53 +opt_add L6470_CHAIN_MISO_PIN 49 +opt_add L6470_CHAIN_MOSI_PIN 40 +opt_add L6470_CHAIN_SS_PIN 42 +opt_add "ENABLE_RESET_L64XX_CHIPS(V) NOOP" +exec_test $1 $2 "DELTA, RAMPS, L6470, UBL, Allen Key, EEPROM, OLED_PANEL_TINYBOY2..." # # Delta Config (FLSUN AC because it's complex) From 437bee418bff550a59738a6b4c9b5e7eddf0fc2a Mon Sep 17 00:00:00 2001 From: Mathew Winters Date: Mon, 5 Oct 2020 18:31:20 +1300 Subject: [PATCH 205/277] Z Probe Offset Wizard (#18866) --- Marlin/Configuration_adv.h | 8 ++ Marlin/src/lcd/language/language_en.h | 3 + Marlin/src/lcd/menu/menu.h | 4 + Marlin/src/lcd/menu/menu_bed_leveling.cpp | 4 + Marlin/src/lcd/menu/menu_probe_offset.cpp | 142 ++++++++++++++++++++++ buildroot/tests/mega2560-tests | 2 +- 6 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 Marlin/src/lcd/menu/menu_probe_offset.cpp diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 32a26a1e5121..8b74663eb5fd 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1048,6 +1048,14 @@ #if HAS_LCD_MENU + // Add Probe Z Offset calibration to the Bed Leveling menu + #if HAS_BED_PROBE + //#define PROBE_OFFSET_WIZARD + #if ENABLED(PROBE_OFFSET_WIZARD) + #define PROBE_OFFSET_START -4.0 // Estimated nozzle-to-probe Z offset, plus a little extra + #endif + #endif + // Include a page of printer information in the LCD Main Menu //#define LCD_INFO_MENU #if ENABLED(LCD_INFO_MENU) diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 94cd3ef583be..e8188beccc72 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -445,6 +445,7 @@ namespace Language_en { PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Probe X Offset"); PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Probe Y Offset"); PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Probe Z Offset"); + PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Move Nozzle to Bed"); PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X"); PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y"); PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z"); @@ -653,6 +654,8 @@ namespace Language_en { #endif PROGMEM Language_Str MSG_REHEAT = _UxGT("Reheat"); PROGMEM Language_Str MSG_REHEATING = _UxGT("Reheating..."); + + PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Z Probe Wizard"); } #if FAN_COUNT == 1 diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h index 5248662823a7..89970225adbe 100644 --- a/Marlin/src/lcd/menu/menu.h +++ b/Marlin/src/lcd/menu/menu.h @@ -219,6 +219,10 @@ void _lcd_draw_homing(); void _lcd_zoffset_overlay_gfx(const float zvalue); #endif +#if ENABLED(PROBE_OFFSET_WIZARD) + void goto_probe_offset_wizard(); +#endif + #if ENABLED(LCD_BED_LEVELING) || (HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)) void _lcd_toggle_bed_leveling(); #endif diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp index e19b04ccb517..8bc4f921315d 100644 --- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp +++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp @@ -283,6 +283,10 @@ void menu_bed_leveling() { EDIT_ITEM(LCD_Z_OFFSET_TYPE, MSG_ZPROBE_ZOFFSET, &probe.offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); #endif + #if ENABLED(PROBE_OFFSET_WIZARD) + SUBMENU(MSG_PROBE_WIZARD, goto_probe_offset_wizard); + #endif + #if ENABLED(LEVEL_BED_CORNERS) SUBMENU(MSG_LEVEL_CORNERS, _lcd_level_bed_corners); #endif diff --git a/Marlin/src/lcd/menu/menu_probe_offset.cpp b/Marlin/src/lcd/menu/menu_probe_offset.cpp new file mode 100644 index 000000000000..29c7d4112964 --- /dev/null +++ b/Marlin/src/lcd/menu/menu_probe_offset.cpp @@ -0,0 +1,142 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +// +// Calibrate Probe offset menu. +// + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(PROBE_OFFSET_WIZARD) + +#ifndef PROBE_OFFSET_START + #error "PROBE_OFFSET_WIZARD requires a PROBE_OFFSET_START with a negative value." +#else + static_assert(PROBE_OFFSET_START < 0, "PROBE_OFFSET_START must be < 0. Please update your configuration."); +#endif + +#include "menu_item.h" +#include "menu_addon.h" +#include "../../module/motion.h" +#include "../../module/planner.h" +#include "../../module/probe.h" + +#if HAS_LEVELING + #include "../../feature/bedlevel/bedlevel.h" +#endif + +// Global storage +float z_offset_backup, calculated_z_offset; + +TERN_(HAS_LEVELING, bool leveling_was_active); +TERN_(HAS_SOFTWARE_ENDSTOPS, bool store_soft_endstops_enabled); + +void prepare_for_calibration() { + z_offset_backup = probe.offset.z; + + // Disable soft endstops for free Z movement + #if HAS_SOFTWARE_ENDSTOPS + store_soft_endstops_enabled = soft_endstops_enabled; + soft_endstops_enabled = false; + #endif + + // Disable leveling for raw planner motion + #if HAS_LEVELING + leveling_was_active = planner.leveling_active; + set_bed_leveling_enabled(false); + #endif +} + +void set_offset_and_go_back(const float &z) { + probe.offset.z = z; + TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = store_soft_endstops_enabled); + TERN_(HAS_LEVELING, set_bed_leveling_enabled(leveling_was_active)); + ui.goto_previous_screen_no_defer(); +} + +void _goto_manual_move_z(const float scale) { + ui.manual_move.menu_scale = scale; + ui.goto_screen(lcd_move_z); +} + +void probe_offset_wizard_menu() { + START_MENU(); + calculated_z_offset = probe.offset.z + current_position.z; + + if (LCD_HEIGHT >= 4) + STATIC_ITEM(MSG_MOVE_NOZZLE_TO_BED, SS_CENTER|SS_INVERT); + + STATIC_ITEM_P(PSTR("Z="), SS_CENTER, ftostr42_52(current_position.z)); + STATIC_ITEM(MSG_ZPROBE_ZOFFSET, SS_LEFT, ftostr42_52(calculated_z_offset)); + + SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move_z( 1); }); + SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move_z( 0.1f); }); + + if ((SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { + extern const char NUL_STR[]; + SUBMENU_P(NUL_STR, []{ _goto_manual_move_z(float(SHORT_MANUAL_Z_MOVE)); }); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD)); + char tmp[20], numstr[10]; + // Determine digits needed right of decimal + const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : + !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; + sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + lcd_put_u8str(tmp); + MENU_ITEM_ADDON_END(); + } + + ACTION_ITEM(MSG_BUTTON_DONE, []{ + set_offset_and_go_back(calculated_z_offset); + do_z_clearance(20.0 + #ifdef Z_AFTER_HOMING + - 20.0 + Z_AFTER_HOMING + #endif + ); + }); + + ACTION_ITEM(MSG_BUTTON_CANCEL, []{ + set_offset_and_go_back(z_offset_backup); + }); + + END_MENU(); +} + +void goto_probe_offset_wizard() { + ui.defer_status_screen(); + + prepare_for_calibration(); + + probe.offset.z = PROBE_OFFSET_START; + + set_all_unhomed(); + queue.inject_P(G28_STR); + + ui.goto_screen([]{ + _lcd_draw_homing(); + if (all_axes_homed()) { + ui.goto_screen(probe_offset_wizard_menu); + ui.defer_status_screen(); + } + }); +} + +#endif // PROBE_OFFSET_WIZARD diff --git a/buildroot/tests/mega2560-tests b/buildroot/tests/mega2560-tests index 4dd03984a58c..d3fd5c0192b9 100755 --- a/buildroot/tests/mega2560-tests +++ b/buildroot/tests/mega2560-tests @@ -139,7 +139,7 @@ opt_enable COREYX USE_XMAX_PLUG MIXING_EXTRUDER GRADIENT_MIX \ BABYSTEPPING BABYSTEP_DISPLAY_TOTAL FILAMENT_LCD_DISPLAY \ REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER MENU_ADDAUTOSTART SDSUPPORT SDCARD_SORT_ALPHA \ ENDSTOP_NOISE_THRESHOLD FAN_SOFT_PWM \ - FIX_MOUNTED_PROBE AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE FILAMENT_WIDTH_SENSOR \ + FIX_MOUNTED_PROBE AUTO_BED_LEVELING_LINEAR DEBUG_LEVELING_FEATURE FILAMENT_WIDTH_SENSOR PROBE_OFFSET_WIZARD \ Z_SAFE_HOMING SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER \ SD_ABORT_ON_ENDSTOP_HIT HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT ADVANCED_OK M114_DETAIL \ VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS EXTRA_FAN_SPEED FWRETRACT \ From e76fd6bd33a5e8a8554e1e1e080987921a99eae8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 5 Oct 2020 01:07:41 -0500 Subject: [PATCH 206/277] Sync config to examples --- Marlin/Configuration.h | 7 ++++--- Marlin/Configuration_adv.h | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index e03887a9d780..ec8b162cd643 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -486,12 +486,13 @@ //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] + #if ENABLED(PID_PARAMS_PER_HOTEND) // Specify between 1 and HOTENDS values per array. // If fewer than EXTRUDER values are provided, the last element will be repeated. - #define DEFAULT_Kp_LIST { 22.20, 20.0 } - #define DEFAULT_Ki_LIST { 1.08, 1.0 } - #define DEFAULT_Kd_LIST { 114.00, 112.0 } + #define DEFAULT_Kp_LIST { 22.20, 22.20 } + #define DEFAULT_Ki_LIST { 1.08, 1.08 } + #define DEFAULT_Kd_LIST { 114.00, 114.00 } #else #define DEFAULT_Kp 22.20 #define DEFAULT_Ki 1.08 diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 8b74663eb5fd..e6bfde5c3be5 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -771,6 +771,7 @@ // //#define ASSISTED_TRAMMING #if ENABLED(ASSISTED_TRAMMING) + // Define positions for probing points, use the hotend as reference not the sensor. #define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } } @@ -793,6 +794,7 @@ * M5: 50 = Clockwise, 51 = Counter-Clockwise */ #define TRAMMING_SCREW_THREAD 30 + #endif // @section motion From a4e4226578eb02eb9636317094db3dca941d3e1c Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 5 Oct 2020 01:09:32 -0500 Subject: [PATCH 207/277] Trailing whitespace --- Marlin/src/HAL/STM32F1/HAL.cpp | 6 +++--- .../share/PlatformIO/variants/archim/build_gcc/debug.mk | 2 +- .../share/PlatformIO/variants/archim/build_gcc/release.mk | 2 +- .../variants/archim/debug_scripts/iar/arduino_due_sram.mac | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/HAL.cpp b/Marlin/src/HAL/STM32F1/HAL.cpp index 5920334bb101..cd1efc16591d 100644 --- a/Marlin/src/HAL/STM32F1/HAL.cpp +++ b/Marlin/src/HAL/STM32F1/HAL.cpp @@ -99,7 +99,7 @@ const uint8_t adc_pins[] = { #endif #if HAS_TEMP_ADC_PROBE TEMP_PROBE_PIN, - #endif + #endif #if HAS_HEATED_BED TEMP_BED_PIN, #endif @@ -156,7 +156,7 @@ enum TempPinIndex : char { #endif #if HAS_TEMP_ADC_PROBE TEMP_PROBE, - #endif + #endif #if HAS_HEATED_BED TEMP_BED, #endif @@ -349,7 +349,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) { #endif #if HAS_TEMP_ADC_PROBE case TEMP_PROBE_PIN: pin_index = TEMP_PROBE; break; - #endif + #endif #if HAS_HEATED_BED case TEMP_BED_PIN: pin_index = TEMP_BED; break; #endif diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk index d0716744a7f7..a3cc2337a876 100644 --- a/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/debug.mk @@ -8,7 +8,7 @@ # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public diff --git a/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk b/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk index 0d15157f4f7f..2659255bffd7 100644 --- a/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk +++ b/buildroot/share/PlatformIO/variants/archim/build_gcc/release.mk @@ -8,7 +8,7 @@ # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public diff --git a/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac index ba86029d343e..d97a4ab6bb8a 100644 --- a/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac +++ b/buildroot/share/PlatformIO/variants/archim/debug_scripts/iar/arduino_due_sram.mac @@ -38,7 +38,7 @@ execUserPreload() __message "------------------------------ execUserPreload ---------------------------------"; __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - + // perpheral reset RSTC_CR __writeMemory32(0xA5000004,0x400e1200,"Memory"); } From f8ceedea5cfbc717198b3fa8b1118b5cbcb0b85f Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 6 Oct 2020 00:14:30 +0000 Subject: [PATCH 208/277] [cron] Bump distribution date (2020-10-06) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index be727132018c..7fbb434afba3 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-05" + #define STRING_DISTRIBUTION_DATE "2020-10-06" #endif /** From 8a69147adfc8bd64f998c3f92c6467e2500ce11b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 6 Oct 2020 02:59:51 -0500 Subject: [PATCH 209/277] Improve retract / unretract labels --- Marlin/src/lcd/language/language_cz.h | 8 ++++---- Marlin/src/lcd/language/language_da.h | 8 ++++---- Marlin/src/lcd/language/language_de.h | 6 +++--- Marlin/src/lcd/language/language_el.h | 6 +++--- Marlin/src/lcd/language/language_el_gr.h | 6 +++--- Marlin/src/lcd/language/language_en.h | 10 +++++----- Marlin/src/lcd/language/language_fi.h | 6 +++--- Marlin/src/lcd/language/language_hu.h | 2 +- Marlin/src/lcd/language/language_it.h | 6 +++--- Marlin/src/lcd/language/language_jp_kana.h | 10 +++++----- Marlin/src/lcd/language/language_nl.h | 8 ++++---- Marlin/src/lcd/language/language_pt.h | 2 +- Marlin/src/lcd/language/language_ro.h | 10 +++++----- Marlin/src/lcd/language/language_sk.h | 8 ++++---- Marlin/src/lcd/language/language_tr.h | 6 +++--- Marlin/src/lcd/language/language_vi.h | 6 +++--- Marlin/src/lcd/language/language_zh_CN.h | 6 +++--- Marlin/src/lcd/language/language_zh_TW.h | 6 +++--- 18 files changed, 60 insertions(+), 60 deletions(-) diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index 716c0a092956..9cbd7042d613 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -350,11 +350,11 @@ namespace Language_cz { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Výměna Re.mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraktovat V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Zvednuti Z mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Délka retrakce"); PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Délka zavedení"); PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Výměna nástroje"); diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index 0e4fa75aa610..be9ad758ce92 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -126,10 +126,10 @@ namespace Language_da { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Skift Re.mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Tilbagetræk V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Skift UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Skift Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Skift filament"); PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Skift filament *"); PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Skift SD kort"); diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 88b78abeb897..74e185680cc7 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -380,9 +380,9 @@ namespace Language_de { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Wechs. Einzug mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("V Einzug"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Z-Sprung mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Wechs. UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Wechs. Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Autom. Einzug"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Einzugslänge"); diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index fea2bf58180d..125119d5ccfa 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -158,9 +158,9 @@ namespace Language_el { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Εναλλαγή ανάσυρσης μμ"); //SHORTEN PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ανάσυρση V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Μεταπήδηση μμ"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση"); PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος"); PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *"); diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h index 344618b1375e..3db6fccdf07f 100644 --- a/Marlin/src/lcd/language/language_el_gr.h +++ b/Marlin/src/lcd/language/language_el_gr.h @@ -160,9 +160,9 @@ namespace Language_el_gr { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Εναλλαγή ανάσυρσης μμ"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ανάσυρση V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Μεταπήδηση μμ"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση"); PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος"); PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *"); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index e8188beccc72..b41515a73428 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -384,13 +384,13 @@ namespace Language_en { PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPED. "); PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retract mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V"); + PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Swap Length"); PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Swap Extra"); PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Purge Length"); diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h index af7dd22af9f7..e8621377d966 100644 --- a/Marlin/src/lcd/language/language_fi.h +++ b/Marlin/src/lcd/language/language_fi.h @@ -116,9 +116,9 @@ namespace Language_fi { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Va. Vedä mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Vedä V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Z mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Va. UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Va. Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoVeto."); PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrointi"); PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibroi X"); diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 02f2a9bde2ae..6e1b30c18096 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -375,7 +375,7 @@ namespace Language_hu { PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Ugrás mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Visszah.helyre mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Csere.Visszah.helyre mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoVisszah."); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Visszahúzás Távolság"); diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index a70463956a73..a7ddb9482021 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -385,9 +385,9 @@ namespace Language_it { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Scamb. Ritrai mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ritrai V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Salta mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Scamb. UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Scamb. Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRitrai"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Lunghezza scambio"); diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h index f1289123a4e7..32b12f50cb8b 100644 --- a/Marlin/src/lcd/language/language_jp_kana.h +++ b/Marlin/src/lcd/language/language_jp_kana.h @@ -160,12 +160,12 @@ namespace Language_jp_kana { PROGMEM Language_Str MSG_STOPPED = _UxGT("テイシシマシタ"); // "STOPPED. " PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("ヒキコミリョウ mm"); // "Retract mm" PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("ヒキコミリョウS mm"); // "Swap Re.mm" - PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("ヒキコミソクド mm/s"); // "Retract V" + PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("ヒキコミソクド mm/s"); // "Retract V" PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("ノズルタイヒ mm"); // "Hop mm" - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("ホショウリョウ mm"); // "UnRet mm" - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("ホショウリョウS mm"); // "S UnRet mm" - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("ホショウソクド mm/s"); // "UnRet V" - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("ジドウヒキコミ"); // "AutoRetr." + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("ホショウリョウ mm"); // "Unretr. mm" + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("ホショウリョウS mm"); // "S Unretr. mm" + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("ホショウソクド mm/s"); // "Unretract V" + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("ジドウヒキコミ"); // "Auto-Retract" PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("フィラメントコウカン"); // "Change filament" PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("メディアサイヨミコミ"); // "Init. SD card" PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("メディアコウカン"); // "Change SD card" diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index 7b6c16b3b3ac..c142c5c9bfd6 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -141,10 +141,10 @@ namespace Language_nl { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Ruil Retract mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract F"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Ruil UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet F"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Ruil Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretr. FR"); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Verv. Filament"); PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Verv. Filament *"); PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Init. SD kaart"); diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 56426c032104..37da6216240c 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -138,7 +138,7 @@ namespace Language_pt { PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT(" DesRet mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Troca DesRet mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT(" DesRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT(" AutoRetr."); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT(" Auto-Retract"); PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Trocar filamento"); PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Trocar filamento *"); PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Inici. cartão SD"); diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index 46c54f1b997c..7b54f24abf7d 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -375,13 +375,13 @@ namespace Language_ro { PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPED. "); PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retract mm"); PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V"); + PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Swap Length"); PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Swap Extra"); PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Purge Length"); diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index c9dc6b1a1624..d0fdf5749cf2 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -376,11 +376,11 @@ namespace Language_sk { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Výmena Re.mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraktovať V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Zdvih Z mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr."); + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Dĺžka výmeny"); PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Vymeniť naviac"); PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Dĺžka vytlačenia"); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 11fd3f21e899..f81f153789ae 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -358,9 +358,9 @@ namespace Language_tr { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Geri Çekme V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Atlama mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S UnRet mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Oto. Geri Çekme"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("G.Çekme Boyu"); diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index fb60a5d82194..f7cf60657535 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -293,11 +293,11 @@ namespace Language_vi { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Rút Trao.mm"); // Swap Re.mm PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Rút V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Nhảy mm"); // hop - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("BỏRút mm"); // UnRet mm - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("BỏRút T mm"); // S UnRet mm + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("BỏRút mm"); // Unretr. mm + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("BỏRút T mm"); // S Unretr. mm PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("BỏRút V"); // UnRet V PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("BỏRút T V"); // S UnRet V - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("RútTựĐộng"); // AutoRetr. + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("RútTựĐộng"); // Auto-Retract PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Khoảng Cách Rút"); // Retract Distance PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Thay Đổi Công Cụ"); // Tool Change PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Đưa Lên Z"); // Z Raise diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index a70e0876a80a..3bebe12fda8d 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -373,13 +373,13 @@ namespace Language_zh_CN { PROGMEM Language_Str MSG_STOPPED = _UxGT("已停止"); //"STOPPED. " PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("回抽长度mm"); //"Retract mm" retract_length, retract length (positive mm) PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("换手回抽长度mm"); //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change - PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回抽速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s) + PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回抽速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s) PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); //"Hop mm" retract_zraise, retract Z-lift PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("回抽恢复长度mm"); //"UnRet +mm" retract_recover_extra, additional recover length (mm, added to retract length when recovering) PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("换手回抽恢复长度mm"); //"S UnRet+mm" swap_retract_recover_extra, additional swap recover length (mm, added to retract length when recovering from extruder change) - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回抽恢复后进料速率mm/s"); //"UnRet V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s) + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回抽恢复后进料速率mm/s"); //"Unretract V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s) PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V" - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自动抽回"); //"AutoRetr." autoretract_enabled, + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自动抽回"); //"Auto-Retract" autoretract_enabled, PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("交换长度"); PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("额外的交换"); PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("清洗长度"); diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 6b4bac37d199..7abf895d5457 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -337,13 +337,13 @@ namespace Language_zh_TW { PROGMEM Language_Str MSG_STOPPED = _UxGT("已停止"); //"STOPPED. " PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("回縮長度mm"); //"Retract mm" retract_length, retract length (positive mm) PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("換手回抽長度mm"); //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change - PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回縮速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s) + PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回縮速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s) PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); //"Hop mm" retract_zraise, retract Z-lift PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("回縮恢復長度mm"); //"UnRet +mm" retract_recover_extra, additional recover length (mm, added to retract length when recovering) PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("換手回縮恢復長度mm"); //"S UnRet+mm" swap_retract_recover_extra, additional swap recover length (mm, added to retract length when recovering from extruder change) - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回縮恢復後進料速率mm/s"); //"UnRet V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s) + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回縮恢復後進料速率mm/s"); //"Unretract V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s) PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V" - PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自動回縮"); //"AutoRetr." autoretract_enabled, + PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自動回縮"); //"Auto-Retract" autoretract_enabled, PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("交換長度"); //"Swap Length" PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("清除長度"); //"Purge Length" PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("交換工具"); //"Tool Change" From 6fcbf114541a336038a83026024b6503680da0b7 Mon Sep 17 00:00:00 2001 From: signetica <66766598+signetica@users.noreply.github.com> Date: Tue, 6 Oct 2020 15:58:28 -0600 Subject: [PATCH 210/277] Fix Ender-3 V2 DWIN Stop SD Print (#19642) Co-authored-by: Scott Lahteine --- Marlin/src/lcd/dwin/e3v2/dwin.cpp | 41 +++++++++---------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/Marlin/src/lcd/dwin/e3v2/dwin.cpp b/Marlin/src/lcd/dwin/e3v2/dwin.cpp index 85263a89abf7..28087497371f 100644 --- a/Marlin/src/lcd/dwin/e3v2/dwin.cpp +++ b/Marlin/src/lcd/dwin/e3v2/dwin.cpp @@ -181,7 +181,7 @@ uint8_t index_file = MROWS, index_leveling = MROWS, index_tune = MROWS; -bool dwin_abort_flag = false; +bool dwin_abort_flag = false; // Flag to reset feedrate, return to Home constexpr float default_max_feedrate[] = DEFAULT_MAX_FEEDRATE; constexpr float default_max_acceleration[] = DEFAULT_MAX_ACCELERATION; @@ -1801,8 +1801,8 @@ void HMI_SDCardUpdate() { // TODO: Move card removed abort handling // to CardReader::manage_media. card.flag.abort_sd_printing = true; - wait_for_heatup = false; - dwin_abort_flag = true; + wait_for_heatup = wait_for_user = false; + dwin_abort_flag = true; // Reset feedrate, return to Home } } DWIN_UpdateLCD(); @@ -2097,7 +2097,7 @@ void HMI_Printing() { if (HMI_flag.done_confirm_flag) { if (encoder_diffState == ENCODER_DIFF_ENTER) { HMI_flag.done_confirm_flag = false; - dwin_abort_flag = true; + dwin_abort_flag = true; // Reset feedrate, return to Home } return; } @@ -2206,25 +2206,15 @@ void HMI_PauseOrStop() { } else if (select_print.now == 2) { // stop window if (HMI_flag.select_flag) { - wait_for_heatup = false; // Stop waiting for heater - - #if 0 - // TODO: In ExtUI or MarlinUI add a common stop event - // card.flag.abort_sd_printing = true; - #else - checkkey = Back_Main; - // Wait for planner moves to finish! - if (HMI_flag.home_flag) planner.synchronize(); - card.endFilePrint(); - #ifdef ACTION_ON_CANCEL - host_action_cancel(); - #endif - #ifdef EVENT_GCODE_SD_ABORT - Popup_Window_Home(true); - queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); - #endif - dwin_abort_flag = true; + checkkey = Back_Main; + if (HMI_flag.home_flag) planner.synchronize(); // Wait for planner moves to finish! + wait_for_heatup = wait_for_user = false; // Stop waiting for heating/user + card.flag.abort_sd_printing = true; // Let the main loop handle SD abort + dwin_abort_flag = true; // Reset feedrate, return to Home + #ifdef ACTION_ON_CANCEL + host_action_cancel(); #endif + Popup_Window_Home(true); } else Goto_PrintProcess(); // cancel stop @@ -3584,13 +3574,6 @@ void EachMomentUpdate() { dwin_abort_flag = false; HMI_ValueStruct.print_speed = feedrate_percentage = 100; dwin_zoffset = TERN0(HAS_BED_PROBE, probe.offset.z); - - planner.finish_and_disable(); - - #if DISABLED(SD_ABORT_NO_COOLDOWN) - thermalManager.disable_all_heaters(); - #endif - select_page.set(0); Goto_MainMenu(); } From 2b845e5a756da015c427d8bd64a412472bec60ba Mon Sep 17 00:00:00 2001 From: ladismrkolj Date: Wed, 7 Oct 2020 01:36:01 +0200 Subject: [PATCH 211/277] Add Chamber servo vent, auto fan (#19519) --- Marlin/Configuration_adv.h | 45 +++++++-- Marlin/src/inc/Conditionals_LCD.h | 17 +--- Marlin/src/inc/Conditionals_adv.h | 45 +++++++++ Marlin/src/inc/SanityCheck.h | 32 ++++++- Marlin/src/module/temperature.cpp | 92 +++++++++++++++++-- .../pins/stm32f4/pins_BTT_SKR_PRO_common.h | 1 + 6 files changed, 193 insertions(+), 39 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index e6bfde5c3be5..f1c7d1fc5322 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -32,11 +32,10 @@ */ #define CONFIGURATION_ADV_H_VERSION 020007 -// @section temperature - //=========================================================================== //============================= Thermal Settings ============================ //=========================================================================== +// @section temperature /** * Thermocouple sensors are quite sensitive to noise. Any noise induced in @@ -125,9 +124,19 @@ #define HEATER_BED_INVERTING true #endif -/** - * Heated Chamber settings - */ +// +// Heated Bed Bang-Bang options +// +#if DISABLED(PIDTEMPBED) + #define BED_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control + #if ENABLED(BED_LIMIT_SWITCHING) + #define BED_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > BED_HYSTERESIS + #endif +#endif + +// +// Heated Chamber options +// #if TEMP_SENSOR_CHAMBER #define CHAMBER_MINTEMP 5 #define CHAMBER_MAXTEMP 60 @@ -135,12 +144,28 @@ //#define CHAMBER_LIMIT_SWITCHING //#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin //#define HEATER_CHAMBER_INVERTING false -#endif -#if DISABLED(PIDTEMPBED) - #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control - #if ENABLED(BED_LIMIT_SWITCHING) - #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS + //#define CHAMBER_FAN // Enable a fan on the chamber + #if ENABLED(CHAMBER_FAN) + #define CHAMBER_FAN_MODE 2 // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve. + #if CHAMBER_FAN_MODE == 0 + #define CHAMBER_FAN_BASE 255 // Chamber fan PWM (0-255) + #elif CHAMBER_FAN_MODE == 1 + #define CHAMBER_FAN_BASE 128 // Base chamber fan PWM (0-255); turns on when chamber temperature is above the target + #define CHAMBER_FAN_FACTOR 25 // PWM increase per °C above target + #elif CHAMBER_FAN_MODE == 2 + #define CHAMBER_FAN_BASE 128 // Minimum chamber fan PWM (0-255) + #define CHAMBER_FAN_FACTOR 25 // PWM increase per °C difference from target + #endif + #endif + + //#define CHAMBER_VENT // Enable a servo-controlled vent on the chamber + #if ENABLED(CHAMBER_VENT) + #define CHAMBER_VENT_SERVO_NR 1 // Index of the vent servo + #define HIGH_EXCESS_HEAT_LIMIT 5 // How much above target temp to consider there is excess heat in the chamber + #define LOW_EXCESS_HEAT_LIMIT 3 + #define MIN_COOLING_SLOPE_TIME_CHAMBER_VENT 20 + #define MIN_COOLING_SLOPE_DEG_CHAMBER_VENT 1.5 #endif #endif diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index d2c939b9b448..210bf3e91bca 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -603,10 +603,6 @@ #define DO_SWITCH_EXTRUDER 1 #endif -#ifdef SWITCHING_NOZZLE_E1_SERVO_NR - #define SWITCHING_NOZZLE_TWO_SERVOS 1 -#endif - /** * Default hotend offsets, if not defined */ @@ -657,14 +653,7 @@ #ifndef Z_PROBE_SERVO_NR #define Z_PROBE_SERVO_NR 0 #endif - #ifndef NUM_SERVOS - #define NUM_SERVOS (Z_PROBE_SERVO_NR + 1) - #endif #undef DEACTIVATE_SERVOS_AFTER_MOVE - #if NUM_SERVOS == 1 - #undef SERVO_DELAY - #define SERVO_DELAY { 50 } - #endif // Always disable probe pin inverting for BLTouch #undef Z_MIN_PROBE_ENDSTOP_INVERTING @@ -675,14 +664,10 @@ #endif #endif -#ifndef NUM_SERVOS - #define NUM_SERVOS 0 -#endif - /** * Set a flag for a servo probe (or BLTouch) */ -#if defined(Z_PROBE_SERVO_NR) && Z_PROBE_SERVO_NR >= 0 +#ifdef Z_PROBE_SERVO_NR #define HAS_Z_SERVO_PROBE 1 #endif #if ANY(HAS_Z_SERVO_PROBE, SWITCHING_EXTRUDER, SWITCHING_NOZZLE) diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index d3f608e0a476..0952148d1989 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -26,6 +26,51 @@ * Defines that depend on advanced configuration. */ +#ifdef SWITCHING_NOZZLE_E1_SERVO_NR + #define SWITCHING_NOZZLE_TWO_SERVOS 1 +#endif + +// Determine NUM_SERVOS if none was supplied +#ifndef NUM_SERVOS + #define NUM_SERVOS 0 + #if ANY(CHAMBER_VENT, HAS_Z_SERVO_PROBE, SWITCHING_EXTRUDER, SWITCHING_NOZZLE) + #if NUM_SERVOS <= Z_PROBE_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (Z_PROBE_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= CHAMBER_VENT_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (CHAMBER_VENT_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= SWITCHING_TOOLHEAD_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (SWITCHING_TOOLHEAD_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= SWITCHING_NOZZLE_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (SWITCHING_NOZZLE_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= SWITCHING_NOZZLE_E1_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (SWITCHING_NOZZLE_E1_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= SWITCHING_EXTRUDER_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (SWITCHING_EXTRUDER_SERVO_NR + 1) + #endif + #if NUM_SERVOS <= SWITCHING_EXTRUDER_E23_SERVO_NR + #undef NUM_SERVOS + #define NUM_SERVOS (SWITCHING_EXTRUDER_E23_SERVO_NR + 1) + #endif + #endif +#endif + +// Convenience override for a BLTouch alone +#if ENABLED(BLTOUCH) && NUM_SERVOS == 1 + #undef SERVO_DELAY + #define SERVO_DELAY { 50 } +#endif + #if EXTRUDERS == 0 #define NO_VOLUMETRICS #undef TEMP_SENSOR_0 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 5bd6ef7c7860..c4dcfd54ae82 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -1249,8 +1249,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS * NUM_SERVOS is required for a Z servo probe */ #if HAS_Z_SERVO_PROBE - #ifndef NUM_SERVOS - #error "You must set NUM_SERVOS for a Z servo probe (Z_PROBE_SERVO_NR)." + #if !NUM_SERVOS + #error "NUM_SERVOS is required for a Z servo probe (Z_PROBE_SERVO_NR)." + #elif Z_PROBE_SERVO_NR >= NUM_SERVOS + #error "Z_PROBE_SERVO_NR must be smaller than NUM_SERVOS." #elif Z_PROBE_SERVO_NR == 0 && !PIN_EXISTS(SERVO0) #error "SERVO0_PIN must be defined for your servo or BLTOUCH probe." #elif Z_PROBE_SERVO_NR == 1 && !PIN_EXISTS(SERVO1) @@ -1259,8 +1261,6 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "SERVO2_PIN must be defined for your servo or BLTOUCH probe." #elif Z_PROBE_SERVO_NR == 3 && !PIN_EXISTS(SERVO3) #error "SERVO3_PIN must be defined for your servo or BLTOUCH probe." - #elif Z_PROBE_SERVO_NR >= NUM_SERVOS - #error "Z_PROBE_SERVO_NR must be smaller than NUM_SERVOS." #endif #endif @@ -1807,6 +1807,30 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #error "TEMP_SENSOR_CHAMBER requires TEMP_CHAMBER_PIN. Please add it to your configuration." #endif +#if ENABLED(CHAMBER_FAN) && !(defined(CHAMBER_FAN_MODE) && WITHIN(CHAMBER_FAN_MODE, 0, 2)) + #error "CHAMBER_FAN_MODE must be between 0 and 2. Please update your Configuration_adv.h." +#endif + +#if ENABLED(CHAMBER_VENT) + #ifndef CHAMBER_VENT_SERVO_NR + #error "CHAMBER_VENT_SERVO_NR is required for CHAMBER SERVO. Update your Configuration_adv.h." + #elif !NUM_SERVOS + #error "NUM_SERVOS is required for a Heated Chamber vent servo (CHAMBER_VENT_SERVO_NR)." + #elif CHAMBER_VENT_SERVO_NR >= NUM_SERVOS + #error "CHAMBER_VENT_SERVO_NR must be smaller than NUM_SERVOS." + #elif HAS_Z_SERVO_PROBE && CHAMBER_VENT_SERVO_NR == Z_PROBE_SERVO_NR + #error "CHAMBER SERVO is already used by BLTOUCH. Please change." + #elif CHAMBER_VENT_SERVO_NR == 0 && !PIN_EXISTS(SERVO0) + #error "SERVO0_PIN must be defined for your Heated Chamber vent servo." + #elif CHAMBER_VENT_SERVO_NR == 1 && !PIN_EXISTS(SERVO1) + #error "SERVO1_PIN must be defined for your Heated Chamber vent servo." + #elif CHAMBER_VENT_SERVO_NR == 2 && !PIN_EXISTS(SERVO2) + #error "SERVO2_PIN must be defined for your Heated Chamber vent servo." + #elif CHAMBER_VENT_SERVO_NR == 3 && !PIN_EXISTS(SERVO3) + #error "SERVO3_PIN must be defined for your Heated Chamber vent servo." + #endif +#endif + #if TEMP_SENSOR_PROBE #if !PIN_EXISTS(TEMP_PROBE) #error "TEMP_SENSOR_PROBE requires TEMP_PROBE_PIN. Please add it to your configuration." diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 377517bf5925..97c7d4a25e92 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -111,6 +111,9 @@ #include "../libs/buzzer.h" #endif +#if HAS_SERVOS + #include "./servo.h" +#endif #if HOTEND_USES_THERMISTOR #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) static const temp_entry_t* heater_ttbl_map[2] = { HEATER_0_TEMPTABLE, HEATER_1_TEMPTABLE }; @@ -271,6 +274,11 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY, #if HAS_TEMP_CHAMBER chamber_info_t Temperature::temp_chamber; // = { 0 } #if HAS_HEATED_CHAMBER + int16_t fan_chamber_pwm; + bool flag_chamber_off; + bool flag_chamber_excess_heat = false; + millis_t next_cool_check_ms_2 = 0; + float old_temp = 9999; #ifdef CHAMBER_MINTEMP int16_t Temperature::mintemp_raw_CHAMBER = HEATER_CHAMBER_RAW_LO_TEMP; #endif @@ -1194,18 +1202,84 @@ void Temperature::manage_heater() { } #endif + #if EITHER(CHAMBER_FAN, CHAMBER_VENT) + if (temp_chamber.target > CHAMBER_MINTEMP) { + flag_chamber_off = false; + + #if ENABLED(CHAMBER_FAN) + #if CHAMBER_FAN_MODE == 0 + fan_chamber_pwm = CHAMBER_FAN_BASE + #elif CHAMBER_FAN_MODE == 1 + fan_chamber_pwm = temp_chamber.celsius > temp_chamber.target ? CHAMBER_FAN_BASE + ((temp_chamber.celsius - temp_chamber.target) * CHAMBER_FAN_FACTOR ) : 0; + #elif CHAMBER_FAN_MODE == 2 + fan_chamber_pwm = (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * ABS(temp_chamber.celsius - temp_chamber.target); + if (temp_chamber.soft_pwm_amount) + fan_chamber_pwm += (CHAMBER_FAN_FACTOR) * 2; + #endif + fan_chamber_pwm = _MIN(225, fan_chamber_pwm); + thermalManager.set_fan_speed(2, fan_chamber_pwm); // TODO: instead of fan 2, set to chamber fan + #endif + + #if ENABLED(CHAMBER_VENT) + #ifndef MIN_COOLING_SLOPE_TIME_CHAMBER_VENT + #define MIN_COOLING_SLOPE_TIME_CHAMBER_VENT 20 + #endif + #ifndef MIN_COOLING_SLOPE_DEG_CHAMBER_VENT + #define MIN_COOLING_SLOPE_DEG_CHAMBER_VENT 1.5 + #endif + if( (temp_chamber.celsius - temp_chamber.target >= HIGH_EXCESS_HEAT_LIMIT) && !flag_chamber_excess_heat) { + // open vent after MIN_COOLING_SLOPE_TIME_CHAMBER_VENT seconds + // if the temperature did not drop at least MIN_COOLING_SLOPE_DEG_CHAMBER_VENT + if (next_cool_check_ms_2 == 0 || ELAPSED(ms, next_cool_check_ms_2)) { + if (old_temp - temp_chamber.celsius < float(MIN_COOLING_SLOPE_DEG_CHAMBER_VENT)) flag_chamber_excess_heat = true; //the bed is heating the chamber too much + next_cool_check_ms_2 = ms + 1000UL * MIN_COOLING_SLOPE_TIME_CHAMBER_VENT; + old_temp = temp_chamber.celsius; + } + } + else { + next_cool_check_ms_2 = 0; + old_temp = 9999; + } + if (flag_chamber_excess_heat && (temp_chamber.celsius - temp_chamber.target <= -LOW_EXCESS_HEAT_LIMIT) ) { + flag_chamber_excess_heat = false; + } + #endif + } + else if (!flag_chamber_off) { + #if ENABLED(CHAMBER_FAN) + flag_chamber_off = true; + thermalManager.set_fan_speed(2, 0); + #endif + #if ENABLED(CHAMBER_VENT) + flag_chamber_excess_heat = false; + MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 90); + #endif + } + #endif + if (ELAPSED(ms, next_chamber_check_ms)) { next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; if (WITHIN(temp_chamber.celsius, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { - #if ENABLED(CHAMBER_LIMIT_SWITCHING) - if (temp_chamber.celsius >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) - temp_chamber.soft_pwm_amount = 0; - else if (temp_chamber.celsius <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) - temp_chamber.soft_pwm_amount = MAX_CHAMBER_POWER >> 1; - #else - temp_chamber.soft_pwm_amount = temp_chamber.celsius < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; - #endif + if (!flag_chamber_excess_heat){ + #if ENABLED(CHAMBER_LIMIT_SWITCHING) + if (temp_chamber.celsius >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) + temp_chamber.soft_pwm_amount = 0; + else if (temp_chamber.celsius <= temp_chamber.target - (TEMP_CHAMBER_HYSTERESIS)) + temp_chamber.soft_pwm_amount = (MAX_CHAMBER_POWER) >> 1; + #else + temp_chamber.soft_pwm_amount = temp_chamber.celsius < temp_chamber.target ? (MAX_CHAMBER_POWER) >> 1 : 0; + #endif + #if ENABLED(CHAMBER_VENT) + if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 0); + #endif + } + else { + temp_chamber.soft_pwm_amount = 0; + #if ENABLED(CHAMBER_VENT) + if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90); + #endif + } } else { temp_chamber.soft_pwm_amount = 0; @@ -3370,7 +3444,7 @@ void Temperature::tick() { #define MIN_COOLING_SLOPE_DEG_CHAMBER 1.50 #endif #ifndef MIN_COOLING_SLOPE_TIME_CHAMBER - #define MIN_COOLING_SLOPE_TIME_CHAMBER 60 + #define MIN_COOLING_SLOPE_TIME_CHAMBER 120 #endif bool Temperature::wait_for_chamber(const bool no_wait_for_cooling/*=true*/) { diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index 1cd7e9dd89a2..83fd987d9dbf 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -41,6 +41,7 @@ // Servos // #define SERVO0_PIN PA1 +#define SERVO1_PIN PC9 // // Trinamic Stallguard pins From f4f4ea05e1a366345c7c1431417e7f0cbcff6b7f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 6 Oct 2020 01:28:08 -0500 Subject: [PATCH 212/277] Update language fonts --- Marlin/src/lcd/dogm/fontdata/langdata_el.h | 4 ---- Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h | 5 ----- buildroot/share/fonts/README.md | 4 +--- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_el.h b/Marlin/src/lcd/dogm/fontdata/langdata_el.h index 284706a8173d..6d864c9c9a89 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_el.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_el.h @@ -34,9 +34,6 @@ const u8g_fntpgm_uint8_t fontpage_7_163_167[82] U8G_FONT_SECTION("fontpage_7_163 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70, 0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, 0x88,0x88}; -const u8g_fntpgm_uint8_t fontpage_7_169_169[30] U8G_FONT_SECTION("fontpage_7_169_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x50,0xd8}; const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x68,0x90,0x90,0x90,0x68,0x05, @@ -84,7 +81,6 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(7, 145, 157, fontpage_7_145_157), // 'Α' -- 'Ν' FONTDATA_ITEM(7, 159, 161, fontpage_7_159_161), // 'Ο' -- 'Ρ' FONTDATA_ITEM(7, 163, 167, fontpage_7_163_167), // 'Σ' -- 'Χ' - FONTDATA_ITEM(7, 169, 169, fontpage_7_169_169), // 'Ω' -- 'Ω' FONTDATA_ITEM(7, 172, 175, fontpage_7_172_175), // 'ά' -- 'ί' FONTDATA_ITEM(7, 177, 181, fontpage_7_177_181), // 'α' -- 'ε' FONTDATA_ITEM(7, 183, 199, fontpage_7_183_199), // 'η' -- 'χ' diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h index af39ce5c4815..9d8ee47fabe4 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h @@ -206,10 +206,6 @@ const u8g_fntpgm_uint8_t fontpage_163_198_198[45] U8G_FONT_SECTION("fontpage_163 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x89,0x00,0x4f,0xe0,0x59,0x00,0x09, 0x00,0x2f,0xc0,0x29,0x00,0xcf,0xc0,0x49,0x00,0x49,0x00,0x4f,0xe0}; -const u8g_fntpgm_uint8_t fontpage_163_201_201[45] U8G_FONT_SECTION("fontpage_163_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x4f,0xe0,0x40,0x00,0x07,0xc0,0x24, - 0x40,0x24,0x40,0x27,0xc0,0xc1,0x00,0x45,0x40,0x49,0x20,0x53,0x20}; const u8g_fntpgm_uint8_t fontpage_163_250_251[73] U8G_FONT_SECTION("fontpage_163_250_251") = { 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfb,0x00,0x0a,0xff,0x00, 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f, @@ -1516,7 +1512,6 @@ static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { FONTDATA_ITEM(163, 151, 151, fontpage_163_151_151), // '冗' -- '冗' FONTDATA_ITEM(163, 183, 183, fontpage_163_183_183), // '冷' -- '冷' FONTDATA_ITEM(163, 198, 198, fontpage_163_198_198), // '准' -- '准' - FONTDATA_ITEM(163, 201, 201, fontpage_163_201_201), // '凉' -- '凉' FONTDATA_ITEM(163, 250, 251, fontpage_163_250_251), // '出' -- '击' FONTDATA_ITEM(164, 134, 135, fontpage_164_134_135), // '分' -- '切' FONTDATA_ITEM(164, 155, 155, fontpage_164_155_155), // '创' -- '创' diff --git a/buildroot/share/fonts/README.md b/buildroot/share/fonts/README.md index cc09b5281063..b80de8e26e13 100644 --- a/buildroot/share/fonts/README.md +++ b/buildroot/share/fonts/README.md @@ -1,6 +1,5 @@ # Marlin fonts - ## Author and license The original author of the following font files is [A. Hardtung](https://github.com/AnHardt). @@ -18,6 +17,5 @@ https://creativecommons.org/publicdomain/zero/1.0/ Additional changes to the original font files distributed with Marlin are copyrighted under the terms of the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt) license. - ## Documentation -For detailed information about [adding new fonts](https://www.marlinfw.org/docs/development/fonts.html) to Marlin visit our documentation website. +For detailed information about adding new fonts to Marlin [see this article](https://marlinfw.org/docs/development/fonts.html). From cf53bc2dd281330cbb0946a395fd1e1da4a954fd Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 7 Oct 2020 00:14:42 +0000 Subject: [PATCH 213/277] [cron] Bump distribution date (2020-10-07) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 7fbb434afba3..9207dedb01fb 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-06" + #define STRING_DISTRIBUTION_DATE "2020-10-07" #endif /** From 9cc6297292ac8eda0b3ad884b8cb7f8c61db5a50 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 6 Oct 2020 19:17:18 -0500 Subject: [PATCH 214/277] Fix small font section directive, mixer warning --- Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h | 2 +- Marlin/src/lcd/dogm/status_screen_DOGM.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h index 2aca88ca79d3..a116098d79b3 100644 --- a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h +++ b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h @@ -33,7 +33,7 @@ Max Font ascent = 7 descent=-2 */ #include -const u8g_fntpgm_uint8_t u8g_font_6x9[2300] U8G_SECTION(".progmem.u8g_font_6x9") = { +const u8g_fntpgm_uint8_t u8g_font_6x9[2300] U8G_FONT_SECTION(".progmem.u8g_font_6x9") = { 0, 6, 9, 0, 254, 6, 1, 137, 2, 254, 32, 255, 254, 7, 254, 6, 254, 0, 0, 0, 6, 0, 7, 1, 6, 6, 6, 2, 0, 128, 128, 128, 128, 0, 128, 3, 3, 3, 6, 1, 3, 160, 160, 160, 5, 7, 7, 6, diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp index 82b6e768c6ad..987924201a80 100644 --- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp +++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp @@ -758,7 +758,7 @@ void MarlinUI::draw_status_screen() { // Two-component mix / gradient instead of XY - char mixer_messages[12]; + char mixer_messages[15]; PGM_P mix_label; #if ENABLED(GRADIENT_MIX) if (mixer.gradient.enabled) { From 6f6901180c46033d8b5948b3932c08320336a606 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 6 Oct 2020 19:42:03 -0500 Subject: [PATCH 215/277] Chamber vent/fan followup --- Marlin/src/module/temperature.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 97c7d4a25e92..f8ff972f8034 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1210,13 +1210,13 @@ void Temperature::manage_heater() { #if CHAMBER_FAN_MODE == 0 fan_chamber_pwm = CHAMBER_FAN_BASE #elif CHAMBER_FAN_MODE == 1 - fan_chamber_pwm = temp_chamber.celsius > temp_chamber.target ? CHAMBER_FAN_BASE + ((temp_chamber.celsius - temp_chamber.target) * CHAMBER_FAN_FACTOR ) : 0; + fan_chamber_pwm = (temp_chamber.celsius > temp_chamber.target) ? (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * (temp_chamber.celsius - temp_chamber.target) : 0; #elif CHAMBER_FAN_MODE == 2 fan_chamber_pwm = (CHAMBER_FAN_BASE) + (CHAMBER_FAN_FACTOR) * ABS(temp_chamber.celsius - temp_chamber.target); if (temp_chamber.soft_pwm_amount) fan_chamber_pwm += (CHAMBER_FAN_FACTOR) * 2; #endif - fan_chamber_pwm = _MIN(225, fan_chamber_pwm); + NOMORE(fan_chamber_pwm, 225); thermalManager.set_fan_speed(2, fan_chamber_pwm); // TODO: instead of fan 2, set to chamber fan #endif @@ -1261,7 +1261,13 @@ void Temperature::manage_heater() { next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; if (WITHIN(temp_chamber.celsius, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { - if (!flag_chamber_excess_heat){ + if (flag_chamber_excess_heat) { + temp_chamber.soft_pwm_amount = 0; + #if ENABLED(CHAMBER_VENT) + if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90); + #endif + } + else { #if ENABLED(CHAMBER_LIMIT_SWITCHING) if (temp_chamber.celsius >= temp_chamber.target + TEMP_CHAMBER_HYSTERESIS) temp_chamber.soft_pwm_amount = 0; @@ -1274,12 +1280,6 @@ void Temperature::manage_heater() { if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, 0); #endif } - else { - temp_chamber.soft_pwm_amount = 0; - #if ENABLED(CHAMBER_VENT) - if (!flag_chamber_off) MOVE_SERVO(CHAMBER_VENT_SERVO_NR, temp_chamber.celsius <= temp_chamber.target ? 0 : 90); - #endif - } } else { temp_chamber.soft_pwm_amount = 0; From 1a5a3cf2538618c4a7ff16bef4e6f1700ca7afcb Mon Sep 17 00:00:00 2001 From: ellensp Date: Thu, 8 Oct 2020 07:00:08 +1300 Subject: [PATCH 216/277] =?UTF-8?q?Restore=20=C2=B0=20to=206x9=20small=20i?= =?UTF-8?q?nfo=20font=20(#19645)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/Configuration_adv.h | 2 +- .../lcd/dogm/fontdata/fontdata_6x9_marlin.h | 302 +- buildroot/share/fonts/marlin-6x9.bdf | 16606 ++++++++++++++++ 3 files changed, 16762 insertions(+), 148 deletions(-) create mode 100644 buildroot/share/fonts/marlin-6x9.bdf diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index f1c7d1fc5322..3d3e55b92ef1 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1377,7 +1377,7 @@ // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. //#define USE_BIG_EDIT_FONT - // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. + // A smaller font may be used on the Info Screen. Costs 2434 bytes of PROGMEM. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. //#define USE_SMALL_INFOFONT diff --git a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h index a116098d79b3..7a354aa73811 100644 --- a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h +++ b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h @@ -25,7 +25,7 @@ Fontname: -Misc-Fixed-Medium-R-Normal--9-90-75-75-C-60-ISO10646-1 Copyright: Public domain font. Share and enjoy. Capital A Height: 6, '1' Height: 6 - Calculated Max Values w= 6 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 7 len= 9 + Calculated Max Values w= 6 h= 9 x= 5 y= 5 dx= 6 dy= 0 ascent= 7 len= 9 Font Bounding box w= 6 h= 9 x= 0 y=-2 Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 Pure Font ascent = 6 descent=-2 @@ -33,149 +33,157 @@ Max Font ascent = 7 descent=-2 */ #include -const u8g_fntpgm_uint8_t u8g_font_6x9[2300] U8G_FONT_SECTION(".progmem.u8g_font_6x9") = { - 0, 6, 9, 0, 254, 6, 1, 137, 2, 254, 32, 255, 254, 7, 254, 6, - 254, 0, 0, 0, 6, 0, 7, 1, 6, 6, 6, 2, 0, 128, 128, 128, - 128, 0, 128, 3, 3, 3, 6, 1, 3, 160, 160, 160, 5, 7, 7, 6, - 0, 255, 80, 80, 248, 80, 248, 80, 80, 5, 9, 9, 6, 0, 254, 32, - 112, 168, 160, 112, 40, 168, 112, 32, 6, 8, 8, 6, 0, 255, 64, 168, - 72, 16, 32, 72, 84, 8, 5, 7, 7, 6, 0, 255, 96, 144, 144, 96, - 152, 144, 104, 1, 3, 3, 6, 2, 3, 128, 128, 128, 2, 7, 7, 6, - 2, 255, 64, 128, 128, 128, 128, 128, 64, 2, 7, 7, 6, 2, 255, 128, - 64, 64, 64, 64, 64, 128, 5, 5, 5, 6, 0, 0, 136, 80, 248, 80, - 136, 5, 5, 5, 6, 0, 0, 32, 32, 248, 32, 32, 2, 4, 4, 6, - 2, 254, 192, 64, 64, 128, 5, 1, 1, 6, 0, 2, 248, 2, 2, 2, - 6, 2, 0, 192, 192, 4, 6, 6, 6, 1, 0, 16, 16, 32, 64, 128, - 128, 4, 6, 6, 6, 1, 0, 96, 144, 144, 144, 144, 96, 3, 6, 6, - 6, 1, 0, 64, 192, 64, 64, 64, 224, 4, 6, 6, 6, 1, 0, 96, - 144, 16, 32, 64, 240, 4, 6, 6, 6, 1, 0, 240, 32, 96, 16, 16, - 224, 5, 6, 6, 6, 0, 0, 16, 48, 80, 144, 248, 16, 4, 6, 6, - 6, 1, 0, 240, 128, 224, 16, 16, 224, 4, 6, 6, 6, 1, 0, 96, - 128, 224, 144, 144, 96, 4, 6, 6, 6, 1, 0, 240, 16, 16, 32, 64, - 64, 4, 6, 6, 6, 1, 0, 96, 144, 96, 144, 144, 96, 4, 6, 6, - 6, 1, 0, 96, 144, 144, 112, 16, 96, 2, 5, 5, 6, 2, 0, 192, - 192, 0, 192, 192, 2, 7, 7, 6, 2, 254, 192, 192, 0, 192, 64, 64, - 128, 5, 5, 5, 6, 0, 0, 24, 96, 128, 96, 24, 5, 3, 3, 6, - 0, 1, 248, 0, 248, 5, 5, 5, 6, 0, 0, 192, 48, 8, 48, 192, - 4, 7, 7, 6, 1, 0, 96, 144, 16, 96, 64, 0, 64, 5, 6, 6, - 6, 0, 0, 112, 144, 168, 176, 128, 112, 5, 6, 6, 6, 0, 0, 32, - 80, 136, 248, 136, 136, 5, 6, 6, 6, 0, 0, 240, 136, 240, 136, 136, - 240, 4, 6, 6, 6, 1, 0, 96, 144, 128, 128, 144, 96, 4, 6, 6, - 6, 1, 0, 224, 144, 144, 144, 144, 224, 4, 6, 6, 6, 1, 0, 240, - 128, 224, 128, 128, 240, 4, 6, 6, 6, 1, 0, 240, 128, 224, 128, 128, - 128, 4, 6, 6, 6, 1, 0, 96, 144, 128, 176, 144, 96, 4, 6, 6, - 6, 1, 0, 144, 144, 240, 144, 144, 144, 3, 6, 6, 6, 1, 0, 224, - 64, 64, 64, 64, 224, 5, 6, 6, 6, 0, 0, 56, 16, 16, 16, 144, - 96, 4, 6, 6, 6, 1, 0, 144, 160, 192, 160, 144, 144, 4, 6, 6, - 6, 1, 0, 128, 128, 128, 128, 128, 240, 5, 6, 6, 6, 0, 0, 136, - 216, 168, 168, 136, 136, 4, 6, 6, 6, 1, 0, 144, 208, 176, 144, 144, - 144, 5, 6, 6, 6, 0, 0, 112, 136, 136, 136, 136, 112, 4, 6, 6, - 6, 1, 0, 224, 144, 144, 224, 128, 128, 4, 7, 7, 6, 1, 255, 96, - 144, 144, 208, 176, 96, 16, 4, 6, 6, 6, 1, 0, 224, 144, 144, 224, - 144, 144, 4, 6, 6, 6, 1, 0, 96, 144, 64, 32, 144, 96, 5, 6, - 6, 6, 0, 0, 248, 32, 32, 32, 32, 32, 4, 6, 6, 6, 1, 0, - 144, 144, 144, 144, 144, 96, 4, 6, 6, 6, 1, 0, 144, 144, 144, 240, - 96, 96, 5, 6, 6, 6, 0, 0, 136, 136, 168, 168, 216, 136, 5, 6, - 6, 6, 0, 0, 136, 80, 32, 32, 80, 136, 5, 6, 6, 6, 0, 0, - 136, 136, 80, 32, 32, 32, 4, 6, 6, 6, 1, 0, 240, 16, 32, 64, - 128, 240, 3, 6, 6, 6, 1, 0, 224, 128, 128, 128, 128, 224, 4, 6, - 6, 6, 1, 0, 128, 128, 64, 32, 16, 16, 3, 6, 6, 6, 1, 0, - 224, 32, 32, 32, 32, 224, 5, 3, 3, 6, 0, 3, 32, 80, 136, 5, - 1, 1, 6, 0, 254, 248, 2, 2, 2, 6, 2, 4, 128, 64, 4, 4, - 4, 6, 1, 0, 112, 144, 144, 112, 4, 6, 6, 6, 1, 0, 128, 128, - 224, 144, 144, 224, 4, 4, 4, 6, 1, 0, 112, 128, 128, 112, 4, 6, - 6, 6, 1, 0, 16, 16, 112, 144, 144, 112, 4, 4, 4, 6, 1, 0, - 96, 176, 192, 112, 4, 6, 6, 6, 1, 0, 32, 80, 64, 224, 64, 64, - 4, 6, 6, 6, 1, 254, 96, 144, 144, 112, 16, 96, 4, 6, 6, 6, - 1, 0, 128, 128, 224, 144, 144, 144, 3, 6, 6, 6, 1, 0, 64, 0, - 192, 64, 64, 224, 3, 8, 8, 6, 1, 254, 32, 0, 96, 32, 32, 32, - 160, 64, 4, 6, 6, 6, 1, 0, 128, 128, 160, 192, 160, 144, 3, 6, - 6, 6, 1, 0, 192, 64, 64, 64, 64, 224, 5, 4, 4, 6, 0, 0, - 208, 168, 168, 136, 4, 4, 4, 6, 1, 0, 224, 144, 144, 144, 4, 4, - 4, 6, 1, 0, 96, 144, 144, 96, 4, 6, 6, 6, 1, 254, 224, 144, - 144, 224, 128, 128, 4, 6, 6, 6, 1, 254, 112, 144, 144, 112, 16, 16, - 4, 4, 4, 6, 1, 0, 160, 208, 128, 128, 4, 4, 4, 6, 1, 0, - 112, 192, 48, 224, 4, 6, 6, 6, 1, 0, 64, 64, 224, 64, 80, 32, - 4, 4, 4, 6, 1, 0, 144, 144, 144, 112, 4, 4, 4, 6, 1, 0, - 144, 144, 96, 96, 5, 4, 4, 6, 0, 0, 136, 168, 168, 80, 4, 4, - 4, 6, 1, 0, 144, 96, 96, 144, 4, 6, 6, 6, 1, 254, 144, 144, - 144, 112, 144, 96, 4, 4, 4, 6, 1, 0, 240, 32, 64, 240, 3, 7, - 7, 6, 1, 0, 32, 64, 64, 128, 64, 64, 32, 1, 7, 7, 6, 2, - 255, 128, 128, 128, 128, 128, 128, 128, 3, 7, 7, 6, 1, 0, 128, 64, - 64, 32, 64, 64, 128, 4, 2, 2, 6, 1, 3, 80, 160, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, - 0, 6, 0, 7, 1, 6, 6, 6, 2, 0, 128, 0, 128, 128, 128, 128, - 4, 6, 6, 6, 1, 255, 32, 112, 160, 160, 112, 32, 5, 7, 7, 6, - 0, 255, 48, 72, 64, 240, 64, 64, 248, 5, 5, 5, 6, 0, 0, 168, - 80, 136, 80, 168, 5, 6, 6, 6, 0, 0, 136, 80, 248, 32, 248, 32, - 1, 7, 7, 6, 2, 255, 128, 128, 128, 0, 128, 128, 128, 4, 7, 7, - 6, 1, 255, 112, 128, 96, 144, 96, 16, 224, 3, 1, 1, 6, 1, 5, - 160, 6, 7, 7, 6, 0, 0, 120, 132, 148, 164, 148, 132, 120, 3, 5, - 5, 6, 1, 1, 96, 160, 96, 0, 224, 5, 5, 5, 6, 0, 0, 40, - 80, 160, 80, 40, 4, 3, 3, 6, 1, 0, 240, 16, 16, 4, 1, 1, - 6, 1, 2, 240, 6, 7, 7, 6, 0, 0, 120, 132, 180, 164, 164, 132, - 120, 4, 1, 1, 6, 1, 5, 240, 4, 3, 3, 6, 1, 2, 96, 144, - 96, 5, 7, 7, 6, 0, 255, 32, 32, 248, 32, 32, 0, 248, 3, 5, - 5, 6, 1, 1, 64, 160, 32, 64, 224, 3, 5, 5, 6, 1, 1, 192, - 32, 64, 32, 192, 2, 2, 2, 6, 2, 4, 64, 128, 4, 5, 5, 6, - 1, 255, 144, 144, 176, 208, 128, 5, 6, 6, 6, 0, 0, 120, 232, 232, - 104, 40, 40, 1, 1, 1, 6, 2, 2, 128, 2, 2, 2, 6, 2, 254, - 64, 128, 3, 5, 5, 6, 1, 1, 64, 192, 64, 64, 224, 3, 5, 5, - 6, 1, 1, 64, 160, 64, 0, 224, 5, 5, 5, 6, 0, 0, 160, 80, - 40, 80, 160, 5, 8, 8, 6, 0, 255, 64, 192, 64, 80, 112, 48, 120, - 16, 5, 8, 8, 6, 0, 255, 64, 192, 64, 80, 104, 8, 16, 56, 5, - 8, 8, 6, 0, 255, 192, 32, 64, 48, 240, 48, 120, 16, 4, 7, 7, - 6, 1, 0, 32, 0, 32, 96, 128, 144, 96, 5, 7, 7, 6, 0, 0, - 64, 32, 32, 80, 112, 136, 136, 5, 7, 7, 6, 0, 0, 16, 32, 32, - 80, 112, 136, 136, 5, 7, 7, 6, 0, 0, 32, 80, 32, 80, 112, 136, - 136, 5, 7, 7, 6, 0, 0, 40, 80, 32, 80, 112, 136, 136, 5, 7, - 7, 6, 0, 0, 80, 0, 32, 80, 112, 136, 136, 5, 7, 7, 6, 0, - 0, 32, 80, 32, 80, 112, 136, 136, 5, 6, 6, 6, 0, 0, 120, 160, - 240, 160, 160, 184, 4, 8, 8, 6, 1, 254, 96, 144, 128, 128, 144, 96, - 32, 64, 4, 7, 7, 6, 1, 0, 64, 32, 240, 128, 224, 128, 240, 4, - 7, 7, 6, 1, 0, 32, 64, 240, 128, 224, 128, 240, 4, 7, 7, 6, - 1, 0, 32, 80, 240, 128, 224, 128, 240, 4, 7, 7, 6, 1, 0, 80, - 0, 240, 128, 224, 128, 240, 3, 7, 7, 6, 1, 0, 128, 64, 224, 64, - 64, 64, 224, 3, 7, 7, 6, 1, 0, 32, 64, 224, 64, 64, 64, 224, - 3, 7, 7, 6, 1, 0, 64, 160, 224, 64, 64, 64, 224, 3, 7, 7, - 6, 1, 0, 160, 0, 224, 64, 64, 64, 224, 5, 6, 6, 6, 0, 0, - 112, 72, 232, 72, 72, 112, 4, 7, 7, 6, 1, 0, 80, 160, 144, 208, - 176, 144, 144, 4, 7, 7, 6, 1, 0, 64, 32, 96, 144, 144, 144, 96, - 4, 7, 7, 6, 1, 0, 32, 64, 96, 144, 144, 144, 96, 4, 7, 7, - 6, 1, 0, 32, 80, 96, 144, 144, 144, 96, 4, 7, 7, 6, 1, 0, - 80, 160, 96, 144, 144, 144, 96, 4, 7, 7, 6, 1, 0, 80, 0, 96, - 144, 144, 144, 96, 5, 5, 5, 6, 0, 0, 136, 80, 32, 80, 136, 4, - 8, 8, 6, 1, 255, 16, 112, 176, 176, 208, 208, 224, 128, 4, 7, 7, - 6, 1, 0, 64, 32, 144, 144, 144, 144, 96, 4, 7, 7, 6, 1, 0, - 32, 64, 144, 144, 144, 144, 96, 4, 7, 7, 6, 1, 0, 32, 80, 144, - 144, 144, 144, 96, 4, 7, 7, 6, 1, 0, 80, 0, 144, 144, 144, 144, - 96, 5, 7, 7, 6, 0, 0, 16, 32, 136, 80, 32, 32, 32, 4, 6, - 6, 6, 1, 0, 128, 224, 144, 144, 224, 128, 4, 6, 6, 6, 1, 0, - 96, 144, 160, 160, 144, 160, 4, 7, 7, 6, 1, 0, 64, 32, 0, 112, - 144, 144, 112, 4, 7, 7, 6, 1, 0, 32, 64, 0, 112, 144, 144, 112, - 4, 7, 7, 6, 1, 0, 32, 80, 0, 112, 144, 144, 112, 4, 7, 7, - 6, 1, 0, 80, 160, 0, 112, 144, 144, 112, 4, 6, 6, 6, 1, 0, - 80, 0, 112, 144, 144, 112, 4, 7, 7, 6, 1, 0, 32, 80, 32, 112, - 144, 144, 112, 5, 4, 4, 6, 0, 0, 112, 168, 176, 120, 4, 6, 6, - 6, 1, 254, 112, 128, 128, 112, 32, 64, 4, 7, 7, 6, 1, 0, 64, - 32, 0, 96, 176, 192, 112, 4, 7, 7, 6, 1, 0, 32, 64, 0, 96, - 176, 192, 112, 4, 7, 7, 6, 1, 0, 32, 80, 0, 96, 176, 192, 112, - 4, 6, 6, 6, 1, 0, 80, 0, 96, 176, 192, 112, 3, 7, 7, 6, - 1, 0, 128, 64, 0, 192, 64, 64, 224, 3, 7, 7, 6, 1, 0, 32, - 64, 0, 192, 64, 64, 224, 3, 7, 7, 6, 1, 0, 64, 160, 0, 192, - 64, 64, 224, 3, 6, 6, 6, 1, 0, 160, 0, 192, 64, 64, 224, 4, - 7, 7, 6, 1, 0, 48, 96, 16, 112, 144, 144, 96, 4, 7, 7, 6, - 1, 0, 80, 160, 0, 224, 144, 144, 144, 4, 7, 7, 6, 1, 0, 64, - 32, 0, 96, 144, 144, 96, 4, 7, 7, 6, 1, 0, 32, 64, 0, 96, - 144, 144, 96, 4, 7, 7, 6, 1, 0, 32, 80, 0, 96, 144, 144, 96, - 4, 7, 7, 6, 1, 0, 80, 160, 0, 96, 144, 144, 96, 4, 6, 6, - 6, 1, 0, 80, 0, 96, 144, 144, 96, 5, 5, 5, 6, 0, 0, 32, - 0, 248, 0, 32, 4, 4, 4, 6, 1, 0, 112, 176, 208, 224, 4, 7, - 7, 6, 1, 0, 64, 32, 0, 144, 144, 144, 112, 4, 7, 7, 6, 1, - 0, 32, 64, 0, 144, 144, 144, 112, 4, 7, 7, 6, 1, 0, 32, 80, - 0, 144, 144, 144, 112, 4, 6, 6, 6, 1, 0, 80, 0, 144, 144, 144, - 112, 4, 9, 9, 6, 1, 254, 32, 64, 0, 144, 144, 144, 112, 144, 96, - 4, 8, 8, 6, 1, 254, 128, 128, 224, 144, 144, 224, 128, 128, 4, 8, - 8, 6, 1, 254, 80, 0, 144, 144, 144, 112, 144, 96 -}; +const u8g_fntpgm_uint8_t u8g_font_6x9[2434] U8G_FONT_SECTION(".progmem.u8g_font_6x9") = { + 0x00,0x06,0x09,0x00,0xfe,0x06,0x02,0x0f,0x03,0x84,0x01,0xff,0xfe,0x07,0xfe,0x06, + 0xfe,0x05,0x07,0x07,0x00,0x00,0x00,0x40,0xf0,0xc8,0x88,0x98,0x78,0x10,0x05,0x07, + 0x07,0x00,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05,0x00,0x00, + 0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xf8,0x20, + 0x20,0x20,0xe0,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xa8,0xb8,0x88,0x70,0x20, + 0x06,0x05,0x05,0x00,0x00,0x00,0xb0,0xd8,0x6c,0xd8,0xb0,0x05,0x08,0x08,0x00,0x00, + 0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05,0x09,0x09,0x00,0x00,0xfe,0x20, + 0x50,0x50,0x50,0x50,0x88,0xa8,0x88,0x70,0x03,0x03,0x03,0x00,0x00,0x03,0x40,0xa0, + 0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x06,0x06, + 0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x03,0xa0, + 0xa0,0xa0,0x05,0x07,0x07,0x06,0x00,0xff,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05, + 0x09,0x09,0x06,0x00,0xfe,0x20,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x20,0x06,0x08, + 0x08,0x06,0x00,0xff,0x40,0xa8,0x48,0x10,0x20,0x48,0x54,0x08,0x05,0x07,0x07,0x06, + 0x00,0xff,0x60,0x90,0x90,0x60,0x98,0x90,0x68,0x01,0x03,0x03,0x06,0x02,0x03,0x80, + 0x80,0x80,0x02,0x07,0x07,0x06,0x02,0xff,0x40,0x80,0x80,0x80,0x80,0x80,0x40,0x02, + 0x07,0x07,0x06,0x02,0xff,0x80,0x40,0x40,0x40,0x40,0x40,0x80,0x05,0x05,0x05,0x06, + 0x00,0x00,0x88,0x50,0xf8,0x50,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x20,0x20,0xf8, + 0x20,0x20,0x02,0x04,0x04,0x06,0x02,0xfe,0xc0,0x40,0x40,0x80,0x05,0x01,0x01,0x06, + 0x00,0x02,0xf8,0x02,0x02,0x02,0x06,0x02,0x00,0xc0,0xc0,0x04,0x06,0x06,0x06,0x01, + 0x00,0x10,0x10,0x20,0x40,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x90, + 0x90,0x90,0x60,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0xe0,0x04, + 0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x10,0x20,0x40,0xf0,0x04,0x06,0x06,0x06,0x01, + 0x00,0xf0,0x20,0x60,0x10,0x10,0xe0,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xf8,0x10,0x04,0x06,0x06,0x06,0x01,0x00,0xf0,0x80,0xe0,0x10,0x10,0xe0,0x04, + 0x06,0x06,0x06,0x01,0x00,0x60,0x80,0xe0,0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01, + 0x00,0xf0,0x10,0x10,0x20,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x60, + 0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x90,0x70,0x10,0x60,0x02, + 0x05,0x05,0x06,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x07,0x07,0x06,0x02,0xfe, + 0xc0,0xc0,0x00,0xc0,0x40,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x18,0x60,0x80, + 0x60,0x18,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x00,0xf8,0x05,0x05,0x05,0x06,0x00, + 0x00,0xc0,0x30,0x08,0x30,0xc0,0x04,0x07,0x07,0x06,0x01,0x00,0x60,0x90,0x10,0x60, + 0x40,0x00,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x90,0xa8,0xb0,0x80,0x70,0x05, + 0x06,0x06,0x06,0x00,0x00,0x20,0x50,0x88,0xf8,0x88,0x88,0x05,0x06,0x06,0x06,0x00, + 0x00,0xf0,0x88,0xf0,0x88,0x88,0xf0,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, + 0x80,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0xe0,0x90,0x90,0x90,0x90,0xe0,0x04, + 0x06,0x06,0x06,0x01,0x00,0xf0,0x80,0xe0,0x80,0x80,0xf0,0x04,0x06,0x06,0x06,0x01, + 0x00,0xf0,0x80,0xe0,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, + 0xb0,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0x90,0xf0,0x90,0x90,0x90,0x03, + 0x06,0x06,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0xe0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x38,0x10,0x10,0x10,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0xa0,0xc0, + 0xa0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x80,0xf0,0x05, + 0x06,0x06,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x04,0x06,0x06,0x06,0x01, + 0x00,0x90,0xd0,0xb0,0x90,0x90,0x90,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x88, + 0x88,0x88,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0xe0,0x90,0x90,0xe0,0x80,0x80,0x04, + 0x07,0x07,0x06,0x01,0xff,0x60,0x90,0x90,0xd0,0xb0,0x60,0x10,0x04,0x06,0x06,0x06, + 0x01,0x00,0xe0,0x90,0x90,0xe0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90, + 0x40,0x20,0x90,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20, + 0x04,0x06,0x06,0x06,0x01,0x00,0x90,0x90,0x90,0x90,0x90,0x60,0x04,0x06,0x06,0x06, + 0x01,0x00,0x90,0x90,0x90,0xf0,0x60,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x88, + 0xa8,0xa8,0xd8,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x50,0x20,0x20,0x50,0x88, + 0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x04,0x06,0x06,0x06, + 0x01,0x00,0xf0,0x10,0x20,0x40,0x80,0xf0,0x03,0x06,0x06,0x06,0x01,0x00,0xe0,0x80, + 0x80,0x80,0x80,0xe0,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x40,0x20,0x10,0x10, + 0x03,0x06,0x06,0x06,0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06, + 0x00,0x03,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00,0xfe,0xf8,0x02,0x02,0x02,0x06, + 0x02,0x04,0x80,0x40,0x04,0x04,0x04,0x06,0x01,0x00,0x70,0x90,0x90,0x70,0x04,0x06, + 0x06,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0x90,0xe0,0x04,0x04,0x04,0x06,0x01,0x00, + 0x70,0x80,0x80,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0x10,0x10,0x70,0x90,0x90,0x70, + 0x04,0x04,0x04,0x06,0x01,0x00,0x60,0xb0,0xc0,0x70,0x04,0x06,0x06,0x06,0x01,0x00, + 0x20,0x50,0x40,0xe0,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0xfe,0x60,0x90,0x90,0x70, + 0x10,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0x90,0x90,0x03,0x06, + 0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0xfe, + 0x20,0x00,0x60,0x20,0x20,0x20,0xa0,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80, + 0xa0,0xc0,0xa0,0x90,0x03,0x06,0x06,0x06,0x01,0x00,0xc0,0x40,0x40,0x40,0x40,0xe0, + 0x05,0x04,0x04,0x06,0x00,0x00,0xd0,0xa8,0xa8,0x88,0x04,0x04,0x04,0x06,0x01,0x00, + 0xe0,0x90,0x90,0x90,0x04,0x04,0x04,0x06,0x01,0x00,0x60,0x90,0x90,0x60,0x04,0x06, + 0x06,0x06,0x01,0xfe,0xe0,0x90,0x90,0xe0,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xfe, + 0x70,0x90,0x90,0x70,0x10,0x10,0x04,0x04,0x04,0x06,0x01,0x00,0xa0,0xd0,0x80,0x80, + 0x04,0x04,0x04,0x06,0x01,0x00,0x70,0xc0,0x30,0xe0,0x04,0x06,0x06,0x06,0x01,0x00, + 0x40,0x40,0xe0,0x40,0x50,0x20,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x90,0x90,0x70, + 0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x90,0x60,0x60,0x05,0x04,0x04,0x06,0x00,0x00, + 0x88,0xa8,0xa8,0x50,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x60,0x60,0x90,0x04,0x06, + 0x06,0x06,0x01,0xfe,0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x04,0x04,0x06,0x01,0x00, + 0xf0,0x20,0x40,0xf0,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80,0x40,0x40, + 0x20,0x01,0x07,0x07,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x03,0x07, + 0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x04,0x02,0x02,0x06,0x01, + 0x03,0x50,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x06,0x06,0x06,0x02,0x00, + 0x80,0x00,0x80,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xff,0x20,0x70,0xa0,0xa0, + 0x70,0x20,0x05,0x07,0x07,0x06,0x00,0xff,0x30,0x48,0x40,0xf0,0x40,0x40,0xf8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xa8,0x50,0x88,0x50,0xa8,0x05,0x06,0x06,0x06,0x00,0x00, + 0x88,0x50,0xf8,0x20,0xf8,0x20,0x01,0x07,0x07,0x06,0x02,0xff,0x80,0x80,0x80,0x00, + 0x80,0x80,0x80,0x04,0x07,0x07,0x06,0x01,0xff,0x70,0x80,0x60,0x90,0x60,0x10,0xe0, + 0x03,0x01,0x01,0x06,0x01,0x05,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0x94, + 0xa4,0x94,0x84,0x78,0x03,0x05,0x05,0x06,0x01,0x01,0x60,0xa0,0x60,0x00,0xe0,0x05, + 0x05,0x05,0x06,0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x04,0x03,0x03,0x06,0x01,0x00, + 0xf0,0x10,0x10,0x04,0x01,0x01,0x06,0x01,0x02,0xf0,0x06,0x07,0x07,0x06,0x00,0x00, + 0x78,0x84,0xb4,0xa4,0xa4,0x84,0x78,0x04,0x01,0x01,0x06,0x01,0x05,0xf0,0x04,0x03, + 0x03,0x06,0x01,0x02,0x60,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x20,0xf8, + 0x20,0x20,0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xa0,0x20,0x40,0xe0,0x03, + 0x05,0x05,0x06,0x01,0x01,0xc0,0x20,0x40,0x20,0xc0,0x02,0x02,0x02,0x06,0x02,0x04, + 0x40,0x80,0x04,0x05,0x05,0x06,0x01,0xff,0x90,0x90,0xb0,0xd0,0x80,0x05,0x06,0x06, + 0x06,0x00,0x00,0x78,0xe8,0xe8,0x68,0x28,0x28,0x01,0x01,0x01,0x06,0x02,0x02,0x80, + 0x02,0x02,0x02,0x06,0x02,0xfe,0x40,0x80,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xc0, + 0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xa0,0x40,0x00,0xe0,0x05,0x05, + 0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x08,0x08,0x06,0x00,0xff,0x40, + 0xc0,0x40,0x50,0x70,0x30,0x78,0x10,0x05,0x08,0x08,0x06,0x00,0xff,0x40,0xc0,0x40, + 0x50,0x68,0x08,0x10,0x38,0x05,0x08,0x08,0x06,0x00,0xff,0xc0,0x20,0x40,0x30,0xf0, + 0x30,0x78,0x10,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x00,0x20,0x60,0x80,0x90,0x60, + 0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x20,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x10,0x20,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00, + 0x20,0x50,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x50,0x20, + 0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x20,0x50,0x70,0x88, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x20,0x50,0x70,0x88,0x88,0x05,0x06, + 0x06,0x06,0x00,0x00,0x78,0xa0,0xf0,0xa0,0xa0,0xb8,0x04,0x08,0x08,0x06,0x01,0xfe, + 0x60,0x90,0x80,0x80,0x90,0x60,0x20,0x40,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20, + 0xf0,0x80,0xe0,0x80,0xf0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0xf0,0x80,0xe0, + 0x80,0xf0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0xf0,0x80,0xe0,0x80,0xf0,0x04, + 0x07,0x07,0x06,0x01,0x00,0x50,0x00,0xf0,0x80,0xe0,0x80,0xf0,0x03,0x07,0x07,0x06, + 0x01,0x00,0x80,0x40,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0x20, + 0x40,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xa0,0xe0,0x40, + 0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0xe0, + 0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x48,0xe8,0x48,0x48,0x70,0x04,0x07,0x07,0x06, + 0x01,0x00,0x50,0xa0,0x90,0xd0,0xb0,0x90,0x90,0x04,0x07,0x07,0x06,0x01,0x00,0x40, + 0x20,0x60,0x90,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x60,0x90, + 0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0x60,0x90,0x90,0x90,0x60, + 0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x60,0x90,0x90,0x90,0x60,0x04,0x07,0x07, + 0x06,0x01,0x00,0x50,0x00,0x60,0x90,0x90,0x90,0x60,0x05,0x05,0x05,0x06,0x00,0x00, + 0x88,0x50,0x20,0x50,0x88,0x04,0x08,0x08,0x06,0x01,0xff,0x10,0x70,0xb0,0xb0,0xd0, + 0xd0,0xe0,0x80,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x90,0x90,0x90,0x90,0x60, + 0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x90,0x90,0x90,0x90,0x60,0x04,0x07,0x07, + 0x06,0x01,0x00,0x20,0x50,0x90,0x90,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00, + 0x50,0x00,0x90,0x90,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x88, + 0x50,0x20,0x20,0x20,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0xe0,0x90,0x90,0xe0,0x80, + 0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0xa0,0xa0,0x90,0xa0,0x04,0x07,0x07,0x06, + 0x01,0x00,0x40,0x20,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20, + 0x40,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0x00,0x70, + 0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0x70,0x90,0x90,0x70, + 0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06, + 0x01,0x00,0x20,0x50,0x20,0x70,0x90,0x90,0x70,0x05,0x04,0x04,0x06,0x00,0x00,0x70, + 0xa8,0xb0,0x78,0x04,0x06,0x06,0x06,0x01,0xfe,0x70,0x80,0x80,0x70,0x20,0x40,0x04, + 0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x60,0xb0,0xc0,0x70,0x04,0x07,0x07,0x06, + 0x01,0x00,0x20,0x40,0x00,0x60,0xb0,0xc0,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20, + 0x50,0x00,0x60,0xb0,0xc0,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x60,0xb0, + 0xc0,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03, + 0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x07,0x07,0x06, + 0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06,0x06,0x01,0x00,0xa0, + 0x00,0xc0,0x40,0x40,0xe0,0x04,0x07,0x07,0x06,0x01,0x00,0x30,0x60,0x10,0x70,0x90, + 0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0xe0,0x90,0x90,0x90,0x04, + 0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06, + 0x01,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20, + 0x50,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0x60, + 0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x60,0x90,0x90,0x60,0x05, + 0x05,0x05,0x06,0x00,0x00,0x20,0x00,0xf8,0x00,0x20,0x04,0x04,0x04,0x06,0x01,0x00, + 0x70,0xb0,0xd0,0xe0,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x90,0x90,0x90, + 0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x00,0x90,0x90,0x90,0x70,0x04,0x07, + 0x07,0x06,0x01,0x00,0x20,0x50,0x00,0x90,0x90,0x90,0x70,0x04,0x06,0x06,0x06,0x01, + 0x00,0x50,0x00,0x90,0x90,0x90,0x70,0x04,0x09,0x09,0x06,0x01,0xfe,0x20,0x40,0x00, + 0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x08,0x08,0x06,0x01,0xfe,0x80,0x80,0xe0,0x90, + 0x90,0xe0,0x80,0x80,0x04,0x08,0x08,0x06,0x01,0xfe,0x50,0x00,0x90,0x90,0x90,0x70, + 0x90,0x60}; diff --git a/buildroot/share/fonts/marlin-6x9.bdf b/buildroot/share/fonts/marlin-6x9.bdf new file mode 100644 index 000000000000..0b2683471082 --- /dev/null +++ b/buildroot/share/fonts/marlin-6x9.bdf @@ -0,0 +1,16606 @@ +STARTFONT 2.1 +FONT -Misc-Fixed-Medium-R-Normal--9-90-75-75-C-60-ISO10646-1 +SIZE 9 75 75 +FONTBOUNDINGBOX 6 9 0 -2 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" +STARTPROPERTIES 24 +FONTNAME_REGISTRY "" +FOUNDRY "Misc" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Medium" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +PIXEL_SIZE 9 +POINT_SIZE 90 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 60 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +COPYRIGHT "Public domain font. Share and enjoy." +_XMBDFED_INFO "Edited with xmbdfed 4.5." +CAP_HEIGHT 6 +X_HEIGHT 4 +WEIGHT 10 +QUAD_WIDTH 6 +DEFAULT_CHAR 0 +FONT_DESCENT 2 +FONT_ASCENT 7 +ENDPROPERTIES +CHARS 1305 +STARTCHAR char0 +ENCODING 0 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +50 +80 +10 +80 +10 +A0 +ENDCHAR +STARTCHAR uni0001 +ENCODING 1 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 7 0 0 +BITMAP +40 +F0 +C8 +88 +98 +78 +10 +ENDCHAR +STARTCHAR uni0002 +ENCODING 2 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 7 0 0 +BITMAP +C0 +F8 +88 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni0003 +ENCODING 3 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 5 0 1 +BITMAP +20 +30 +F8 +30 +20 +ENDCHAR +STARTCHAR uni0004 +ENCODING 4 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 7 0 0 +BITMAP +20 +70 +F8 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR uni0005 +ENCODING 5 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +B8 +88 +70 +20 +ENDCHAR +STARTCHAR uni0006 +ENCODING 6 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 6 5 0 0 +BITMAP +B0 +D8 +6C +D8 +B0 +ENDCHAR +STARTCHAR uni0007 +ENCODING 7 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 8 0 -1 +BITMAP +F8 +A8 +88 +88 +88 +88 +A8 +F8 +ENDCHAR +STARTCHAR uni0008 +ENCODING 8 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 5 9 0 -2 +BITMAP +20 +50 +50 +50 +50 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni0009 +ENCODING 9 +SWIDTH 1000 0 +DWIDTH 0 0 +BBX 3 3 0 3 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR space +ENCODING 32 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 6 2 0 +BITMAP +80 +80 +80 +80 +00 +80 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +A0 +A0 +A0 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +50 +50 +F8 +50 +F8 +50 +50 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +20 +70 +A8 +A0 +70 +28 +A8 +70 +20 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +40 +A8 +48 +10 +20 +48 +54 +08 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +60 +90 +90 +60 +98 +90 +68 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 2 3 +BITMAP +80 +80 +80 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -1 +BITMAP +40 +80 +80 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -1 +BITMAP +80 +40 +40 +40 +40 +40 +80 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +F8 +50 +88 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 4 2 -2 +BITMAP +C0 +40 +40 +80 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 0 +BITMAP +C0 +C0 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +20 +40 +80 +80 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +10 +20 +40 +F0 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +20 +60 +10 +10 +E0 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +30 +50 +90 +F8 +10 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +E0 +10 +10 +E0 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +80 +E0 +90 +90 +60 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +10 +10 +20 +40 +40 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +60 +90 +90 +60 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 5 2 0 +BITMAP +C0 +C0 +00 +C0 +C0 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -2 +BITMAP +C0 +C0 +00 +C0 +40 +40 +80 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +18 +60 +80 +60 +18 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +00 +F8 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +30 +08 +30 +C0 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +10 +60 +40 +00 +40 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +90 +A8 +B0 +80 +70 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +80 +80 +90 +60 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +90 +90 +90 +90 +E0 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +80 +B0 +90 +60 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +90 +F0 +90 +90 +90 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +90 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +D8 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +D0 +B0 +90 +90 +90 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +60 +90 +90 +D0 +B0 +60 +10 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +90 +90 +E0 +90 +90 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +40 +20 +90 +60 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +90 +90 +F0 +60 +60 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +A8 +A8 +D8 +88 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +20 +50 +88 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +10 +20 +40 +80 +F0 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +40 +20 +10 +10 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +20 +50 +88 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 -2 +BITMAP +F8 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 4 +BITMAP +80 +40 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +90 +90 +70 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +80 +80 +70 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +70 +90 +90 +70 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +50 +40 +E0 +40 +40 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 1 -2 +BITMAP +20 +00 +60 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +C0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +D0 +A8 +A8 +88 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +E0 +90 +90 +90 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +70 +90 +90 +70 +10 +10 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +A0 +D0 +80 +80 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +40 +40 +E0 +40 +50 +20 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +90 +90 +70 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +90 +60 +60 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +60 +60 +90 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +90 +90 +90 +70 +90 +60 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +F0 +20 +40 +F0 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +40 +40 +80 +40 +40 +20 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +40 +40 +20 +40 +40 +80 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 3 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR space +ENCODING 160 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 6 2 0 +BITMAP +80 +00 +80 +80 +80 +80 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +20 +70 +A0 +A0 +70 +20 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +30 +48 +40 +F0 +40 +40 +F8 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A8 +50 +88 +50 +A8 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +F8 +20 +F8 +20 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 2 -1 +BITMAP +80 +80 +80 +00 +80 +80 +80 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +70 +80 +60 +90 +60 +10 +E0 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 5 +BITMAP +A0 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +94 +A4 +94 +84 +78 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +60 +A0 +60 +00 +E0 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 0 +BITMAP +F0 +10 +10 +ENDCHAR +STARTCHAR hyphen +ENCODING 173 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 1 1 2 +BITMAP +F0 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 7 0 0 +BITMAP +78 +84 +B4 +A4 +A4 +84 +78 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 1 1 5 +BITMAP +F0 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 2 +BITMAP +60 +90 +60 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +20 +F8 +20 +20 +00 +F8 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +A0 +20 +40 +E0 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 4 +BITMAP +40 +80 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 1 -1 +BITMAP +90 +90 +B0 +D0 +80 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +78 +E8 +E8 +68 +28 +28 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 2 +BITMAP +80 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +A0 +40 +00 +E0 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +C0 +40 +50 +70 +30 +78 +10 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +C0 +40 +50 +68 +08 +10 +38 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +C0 +20 +40 +30 +F0 +30 +78 +10 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +20 +60 +80 +90 +60 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +28 +50 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +78 +A0 +F0 +A0 +A0 +B8 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +80 +80 +90 +60 +20 +40 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +00 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +40 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +40 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +48 +E8 +48 +48 +70 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +90 +D0 +B0 +90 +90 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +00 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +50 +20 +50 +88 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +10 +70 +B0 +B0 +D0 +D0 +E0 +80 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +00 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +E0 +90 +90 +E0 +80 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +A0 +A0 +90 +A0 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +50 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +20 +70 +90 +90 +70 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +A8 +B0 +78 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +70 +80 +80 +70 +20 +40 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +50 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +80 +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +30 +60 +10 +70 +90 +90 +60 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +50 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +00 +F8 +00 +20 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +B0 +D0 +E0 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +50 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +20 +40 +00 +90 +90 +90 +70 +90 +60 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +80 +80 +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +50 +00 +90 +90 +90 +70 +90 +60 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +70 +00 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +70 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +90 +60 +20 +50 +70 +88 +88 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +20 +50 +88 +F8 +88 +88 +10 +08 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +70 +90 +90 +70 +20 +10 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +70 +80 +80 +70 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +70 +80 +80 +70 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +00 +70 +80 +80 +70 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +60 +90 +80 +90 +60 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +00 +70 +80 +80 +70 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +E0 +90 +90 +90 +E0 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +50 +10 +70 +90 +90 +70 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +48 +E8 +48 +48 +70 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +10 +38 +70 +90 +90 +70 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +00 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +40 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +F0 +80 +E0 +80 +80 +F0 +40 +20 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +60 +B0 +C0 +70 +40 +20 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +70 +80 +B0 +90 +60 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +20 +50 +00 +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +70 +80 +B0 +90 +60 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +90 +60 +00 +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +70 +80 +B0 +90 +60 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +20 +00 +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +80 +B0 +90 +60 +20 +40 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +20 +40 +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +90 +F0 +90 +90 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +A8 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +50 +70 +50 +50 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +E0 +70 +48 +48 +48 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +70 +20 +20 +20 +70 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +60 +20 +20 +70 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +70 +20 +20 +70 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +60 +20 +20 +70 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 1 -2 +BITMAP +E0 +40 +40 +40 +40 +E0 +40 +20 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 1 -2 +BITMAP +40 +00 +C0 +40 +40 +E0 +40 +20 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +B8 +88 +88 +88 +A8 +90 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +88 +00 +98 +88 +88 +88 +28 +10 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +28 +38 +10 +10 +90 +60 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +20 +50 +00 +60 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +90 +A0 +C0 +A0 +90 +90 +40 +80 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +80 +80 +A0 +C0 +A0 +90 +40 +80 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +B0 +C0 +A0 +90 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +80 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +80 +80 +80 +80 +80 +F0 +20 +40 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 1 -2 +BITMAP +C0 +40 +40 +40 +40 +E0 +40 +80 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +80 +80 +80 +80 +F0 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +40 +C0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +A0 +80 +80 +F0 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +C0 +40 +50 +40 +40 +E0 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +40 +60 +C0 +40 +78 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +C0 +40 +60 +C0 +40 +E0 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +90 +D0 +B0 +90 +90 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +90 +D0 +B0 +90 +90 +90 +40 +80 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +E0 +90 +90 +90 +40 +80 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +90 +D0 +B0 +90 +90 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +40 +00 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +40 +B0 +28 +28 +28 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +90 +D0 +B0 +90 +90 +90 +10 +20 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +E0 +90 +90 +90 +10 +20 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +F8 +00 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +70 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +78 +A0 +B0 +A0 +A0 +78 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +50 +A8 +B0 +58 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +E0 +90 +E0 +A0 +90 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +A0 +D0 +80 +80 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +E0 +90 +90 +E0 +90 +90 +40 +80 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +A0 +D0 +80 +80 +40 +80 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +40 +E0 +90 +E0 +A0 +90 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +A0 +40 +00 +A0 +D0 +80 +80 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +70 +80 +60 +10 +E0 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +70 +80 +60 +10 +E0 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +50 +00 +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +40 +20 +90 +60 +20 +40 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +70 +C0 +30 +E0 +20 +40 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +70 +80 +60 +10 +E0 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +00 +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 354 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 355 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +40 +40 +E0 +40 +50 +20 +20 +40 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +40 +E0 +40 +50 +20 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +20 +70 +20 +20 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +40 +40 +E0 +E0 +50 +20 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +90 +90 +90 +60 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +A0 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +00 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +90 +90 +90 +60 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +60 +90 +60 +90 +90 +90 +70 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +00 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +90 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +90 +90 +90 +90 +90 +60 +40 +20 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +90 +90 +90 +70 +40 +20 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +00 +88 +A8 +D8 +88 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +00 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +50 +00 +88 +50 +20 +20 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +20 +50 +00 +90 +90 +90 +70 +90 +60 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +F0 +20 +40 +80 +F0 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +F0 +20 +40 +F0 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +F0 +20 +40 +80 +F0 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +00 +F0 +20 +40 +F0 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +F0 +20 +40 +80 +F0 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +00 +F0 +20 +40 +F0 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +50 +C0 +40 +40 +40 +ENDCHAR +STARTCHAR uni018F +ENCODING 399 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +10 +F0 +90 +60 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +20 +50 +40 +E0 +40 +40 +40 +80 +ENDCHAR +STARTCHAR Ohorn +ENCODING 416 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +64 +94 +98 +90 +90 +60 +ENDCHAR +STARTCHAR ohorn +ENCODING 417 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 1 0 +BITMAP +68 +90 +90 +60 +ENDCHAR +STARTCHAR Uhorn +ENCODING 431 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 1 0 +BITMAP +A8 +A8 +B0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uhorn +ENCODING 432 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 1 0 +BITMAP +A8 +B0 +A0 +60 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +10 +F0 +40 +80 +F0 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +F0 +F0 +40 +F0 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +60 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +00 +60 +90 +90 +60 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +20 +70 +80 +B0 +90 +60 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +50 +20 +00 +60 +90 +90 +70 +10 +60 +ENDCHAR +STARTCHAR Aringacute +ENCODING 506 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +20 +40 +A0 +40 +A0 +E0 +A0 +ENDCHAR +STARTCHAR aringacute +ENCODING 507 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +50 +70 +90 +90 +70 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +78 +A0 +F0 +A0 +B8 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +00 +70 +A8 +B0 +78 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +70 +B0 +D0 +D0 +E0 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +70 +B0 +D0 +E0 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +40 +20 +90 +60 +20 +40 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +70 +C0 +30 +E0 +20 +40 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F8 +20 +20 +20 +20 +20 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +40 +40 +E0 +40 +50 +20 +20 +40 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +D0 +30 +E0 +ENDCHAR +STARTCHAR uni0259 +ENCODING 601 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +E0 +30 +D0 +60 +ENDCHAR +STARTCHAR uni02BB +ENCODING 699 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 2 1 5 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 2 1 5 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR macron +ENCODING 713 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 5 +BITMAP +E0 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 5 +BITMAP +90 +60 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 5 +BITMAP +80 +ENDCHAR +STARTCHAR ring +ENCODING 730 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 4 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +40 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 5 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +48 +90 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 1 5 +BITMAP +80 +40 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 5 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 2 1 5 +BITMAP +40 +A0 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 5 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 6 +BITMAP +E0 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 6 +BITMAP +F8 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +88 +70 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 6 +BITMAP +80 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 6 +BITMAP +A0 +ENDCHAR +STARTCHAR hookabovecomb +ENCODING 777 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 4 +BITMAP +C0 +20 +40 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 4 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 2 1 5 +BITMAP +A0 +40 +ENDCHAR +STARTCHAR uni030D +ENCODING 781 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 2 2 5 +BITMAP +80 +80 +ENDCHAR +STARTCHAR uni030E +ENCODING 782 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 2 1 5 +BITMAP +A0 +A0 +ENDCHAR +STARTCHAR uni030F +ENCODING 783 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +90 +48 +ENDCHAR +STARTCHAR uni0310 +ENCODING 784 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +A8 +70 +ENDCHAR +STARTCHAR uni0311 +ENCODING 785 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +70 +88 +ENDCHAR +STARTCHAR uni0312 +ENCODING 786 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR uni0313 +ENCODING 787 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR uni0314 +ENCODING 788 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 4 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR dotbelowcomb +ENCODING 803 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 -2 +BITMAP +80 +ENDCHAR +STARTCHAR uni0324 +ENCODING 804 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 -2 +BITMAP +A0 +ENDCHAR +STARTCHAR uni0374 +ENCODING 884 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 5 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni0375 +ENCODING 885 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni037A +ENCODING 890 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 -2 +BITMAP +80 +C0 +ENDCHAR +STARTCHAR uni037E +ENCODING 894 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -2 +BITMAP +C0 +C0 +00 +C0 +40 +40 +80 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 2 2 5 +BITMAP +80 +80 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +20 +A8 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +B0 +48 +48 +78 +48 +48 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 2 +BITMAP +80 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +B8 +20 +30 +20 +20 +38 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +A8 +28 +38 +28 +28 +28 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +B8 +10 +10 +10 +10 +38 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +B0 +48 +48 +48 +48 +30 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +A8 +28 +28 +10 +10 +10 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +80 +B0 +48 +48 +48 +30 +78 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +00 +20 +20 +20 +10 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +10 +20 +40 +80 +F0 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +90 +F0 +90 +90 +90 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +90 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +50 +88 +88 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +D8 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +D0 +B0 +90 +90 +90 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +00 +60 +00 +00 +F0 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +90 +90 +90 +90 +90 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +40 +40 +80 +F0 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +20 +50 +88 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +00 +70 +90 +90 +70 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +00 +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +20 +00 +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +40 +80 +00 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +A8 +00 +88 +88 +88 +70 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +90 +90 +70 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +60 +90 +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +80 +70 +88 +88 +70 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +B0 +C0 +70 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +20 +40 +40 +30 +08 +30 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +B0 +C8 +88 +88 +08 +08 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +F0 +90 +90 +60 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +80 +80 +A0 +40 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +A0 +C0 +B0 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +08 +68 +98 +88 +ENDCHAR +STARTCHAR mu +ENCODING 956 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +98 +E8 +80 +80 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +88 +50 +20 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F8 +20 +40 +70 +80 +70 +08 +10 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +50 +50 +50 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +70 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +70 +88 +80 +70 +08 +30 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +78 +90 +88 +70 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +F0 +40 +50 +20 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +88 +88 +70 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +90 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +50 +20 +50 +88 +88 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +50 +88 +A8 +50 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +A0 +00 +40 +40 +50 +20 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +00 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +00 +70 +88 +88 +70 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +00 +88 +88 +88 +70 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +00 +50 +88 +A8 +50 +ENDCHAR +STARTCHAR uni03D0 +ENCODING 976 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +90 +90 +F0 +88 +70 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +38 +D0 +50 +20 +ENDCHAR +STARTCHAR Upsilon1 +ENCODING 978 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +90 +A8 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni03D3 +ENCODING 979 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +D0 +28 +60 +A0 +20 +20 +ENDCHAR +STARTCHAR uni03D4 +ENCODING 980 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +A0 +00 +90 +A8 +40 +40 +40 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR omega1 +ENCODING 982 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +88 +A8 +50 +ENDCHAR +STARTCHAR uni03D7 +ENCODING 983 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +20 +00 +88 +48 +70 +88 +08 +30 +ENDCHAR +STARTCHAR uni03DA +ENCODING 986 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +30 +48 +80 +80 +80 +70 +08 +10 +ENDCHAR +STARTCHAR uni03DB +ENCODING 987 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -2 +BITMAP +08 +70 +80 +80 +70 +08 +30 +ENDCHAR +STARTCHAR uni03DC +ENCODING 988 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni03DD +ENCODING 989 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -2 +BITMAP +F0 +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni03DE +ENCODING 990 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +88 +98 +A8 +C8 +08 +ENDCHAR +STARTCHAR uni03DF +ENCODING 991 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +20 +40 +80 +F8 +08 +10 +20 +20 +ENDCHAR +STARTCHAR uni03E0 +ENCODING 992 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +50 +98 +A8 +A8 +ENDCHAR +STARTCHAR uni03E1 +ENCODING 993 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +E0 +10 +30 +48 +18 +28 +08 +08 +ENDCHAR +STARTCHAR uni03E2 +ENCODING 994 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +A8 +A8 +A8 +A8 +78 +08 +F0 +ENDCHAR +STARTCHAR uni03E3 +ENCODING 995 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 -1 +BITMAP +A8 +A8 +78 +08 +F0 +ENDCHAR +STARTCHAR uni03E4 +ENCODING 996 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +48 +A8 +88 +78 +08 +08 +ENDCHAR +STARTCHAR uni03E5 +ENCODING 997 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +50 +90 +70 +10 +ENDCHAR +STARTCHAR uni03E6 +ENCODING 998 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +80 +80 +B0 +C8 +88 +08 +F0 +ENDCHAR +STARTCHAR uni03E7 +ENCODING 999 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +48 +08 +F0 +ENDCHAR +STARTCHAR uni03E8 +ENCODING 1000 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +08 +70 +80 +78 +ENDCHAR +STARTCHAR uni03E9 +ENCODING 1001 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +70 +80 +78 +ENDCHAR +STARTCHAR uni03EA +ENCODING 1002 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +A8 +20 +50 +88 +F8 +ENDCHAR +STARTCHAR uni03EB +ENCODING 1003 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +50 +A8 +20 +50 +70 +ENDCHAR +STARTCHAR uni03EC +ENCODING 1004 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +08 +70 +80 +F0 +88 +70 +ENDCHAR +STARTCHAR uni03ED +ENCODING 1005 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +70 +80 +D8 +70 +ENDCHAR +STARTCHAR uni03EE +ENCODING 1006 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +20 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni03EF +ENCODING 1007 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +20 +30 +20 +F8 +A0 +20 +60 +20 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +48 +70 +88 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +70 +88 +88 +F0 +80 +78 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +88 +80 +78 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +10 +00 +30 +10 +10 +90 +90 +60 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +E0 +80 +70 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +50 +00 +F0 +80 +E0 +80 +F0 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +F8 +20 +30 +28 +28 +28 +08 +10 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +F0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +E0 +80 +88 +70 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +40 +20 +90 +60 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +40 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +A0 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +A0 +B0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A0 +A0 +F0 +A8 +A8 +B0 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +30 +28 +28 +28 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +20 +90 +A0 +C0 +A0 +90 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +88 +98 +A8 +C8 +88 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +48 +30 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +88 +88 +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +88 +88 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +80 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +88 +F0 +88 +88 +F0 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +30 +50 +50 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +80 +E0 +80 +80 +F0 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +70 +A8 +A8 +A8 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +30 +08 +88 +70 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +B0 +D0 +90 +90 +90 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +90 +60 +90 +B0 +D0 +90 +90 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +A0 +C0 +A0 +90 +90 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +48 +48 +48 +48 +88 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +D8 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +90 +90 +F0 +90 +90 +90 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +80 +80 +90 +60 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +50 +20 +20 +50 +88 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +90 +90 +90 +90 +90 +F8 +08 +10 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +88 +78 +08 +08 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +A8 +A8 +A8 +A8 +A8 +F8 +08 +10 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +E8 +98 +98 +E8 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +38 +08 +88 +70 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +90 +A8 +E8 +E8 +A8 +90 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +70 +90 +90 +70 +90 +90 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +90 +90 +78 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +60 +80 +E0 +90 +90 +60 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +C0 +A0 +D0 +E0 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +F0 +80 +80 +80 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 -1 +BITMAP +30 +50 +50 +F8 +88 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +60 +90 +E0 +70 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +70 +70 +A8 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +50 +30 +E0 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +98 +A8 +C8 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +88 +70 +00 +88 +98 +A8 +C8 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +A0 +E0 +90 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +38 +48 +48 +88 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +D8 +A8 +88 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +F8 +88 +88 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +88 +88 +70 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +88 +88 +88 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +F0 +88 +88 +F0 +80 +80 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +88 +80 +78 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +20 +20 +20 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +20 +20 +70 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +90 +60 +60 +90 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +90 +90 +90 +F8 +08 +10 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +88 +78 +08 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +A8 +F8 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +A8 +A8 +A8 +F8 +08 +10 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +C0 +70 +48 +70 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +E8 +98 +E8 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +80 +E0 +90 +E0 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +E0 +50 +30 +E0 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +90 +E8 +E8 +90 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 0 0 +BITMAP +70 +90 +70 +90 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +20 +00 +60 +90 +E0 +70 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +A0 +00 +60 +90 +E0 +70 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +40 +E0 +40 +70 +48 +48 +08 +10 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +A0 +C0 +70 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +10 +00 +30 +10 +10 +10 +90 +60 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +60 +B0 +A8 +B0 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A0 +F0 +A8 +B0 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +40 +00 +90 +A0 +E0 +90 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +00 +88 +98 +A8 +C8 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +48 +30 +00 +88 +88 +78 +08 +70 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +88 +F8 +20 +20 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +40 +70 +48 +48 +70 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +40 +E0 +70 +48 +70 +ENDCHAR +STARTCHAR uni0470 +ENCODING 1136 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +A8 +A8 +A8 +70 +20 +20 +ENDCHAR +STARTCHAR uni0471 +ENCODING 1137 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +A8 +70 +20 +ENDCHAR +STARTCHAR afii10147 +ENCODING 1138 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR afii10195 +ENCODING 1139 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +A8 +D8 +70 +ENDCHAR +STARTCHAR afii10148 +ENCODING 1140 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +90 +B0 +E0 +40 +40 +ENDCHAR +STARTCHAR afii10196 +ENCODING 1141 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +80 +B0 +60 +40 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +10 +F0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +10 +F0 +80 +80 +80 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +78 +40 +F0 +40 +40 +40 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +78 +40 +E0 +40 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +A8 +A8 +70 +A8 +A8 +AC +04 +04 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +A8 +70 +70 +A8 +04 +04 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 1 -2 +BITMAP +90 +A0 +C0 +A0 +90 +90 +08 +08 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 1 -2 +BITMAP +90 +A0 +E0 +90 +08 +08 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +50 +F8 +20 +20 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +88 +88 +50 +F8 +20 +20 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +88 +50 +20 +20 +50 +88 +04 +04 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 1 -2 +BITMAP +90 +60 +60 +90 +08 +08 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +F0 +88 +88 +88 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +80 +80 +E0 +90 +90 +90 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +90 +10 +F0 +90 +60 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +E0 +30 +D0 +60 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 0 +BITMAP +E0 +00 +E0 +40 +40 +40 +E0 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +00 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +F8 +88 +88 +70 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +60 +F0 +90 +60 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +F0 +00 +90 +90 +90 +90 +60 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +00 +90 +90 +90 +70 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +90 +48 +B0 +88 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F0 +10 +10 +F8 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 0 +BITMAP +80 +40 +60 +A0 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +10 +10 +10 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +08 +88 +88 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 4 2 0 +BITMAP +C0 +40 +40 +40 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +20 +10 +10 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +48 +48 +48 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +98 +A8 +88 +F8 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +C0 +40 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +F8 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +08 +08 +F0 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +80 +80 +F8 +08 +10 +60 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +48 +48 +78 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +90 +A8 +48 +98 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 6 2 -2 +BITMAP +C0 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +30 +10 +10 +F0 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +F0 +50 +50 +60 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +D8 +48 +50 +E0 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +F8 +48 +48 +08 +08 +08 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +48 +08 +F0 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +90 +48 +50 +60 +40 +40 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +90 +48 +30 +F8 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +F8 +08 +88 +B0 +80 +80 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F0 +08 +08 +08 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +A8 +E8 +88 +F0 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +F8 +48 +48 +C8 +ENDCHAR +STARTCHAR afii57716 +ENCODING 1520 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +D8 +48 +48 +48 +ENDCHAR +STARTCHAR afii57717 +ENCODING 1521 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +D8 +48 +08 +08 +ENDCHAR +STARTCHAR afii57718 +ENCODING 1522 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +D8 +48 +ENDCHAR +STARTCHAR uni05F3 +ENCODING 1523 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 2 2 2 +BITMAP +40 +80 +ENDCHAR +STARTCHAR uni05F4 +ENCODING 1524 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +48 +90 +ENDCHAR +STARTCHAR uni1E02 +ENCODING 7682 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F0 +88 +F0 +88 +F0 +ENDCHAR +STARTCHAR uni1E03 +ENCODING 7683 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +80 +80 +E0 +90 +90 +E0 +ENDCHAR +STARTCHAR uni1E0A +ENCODING 7690 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +E0 +90 +90 +90 +E0 +ENDCHAR +STARTCHAR uni1E0B +ENCODING 7691 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +10 +10 +70 +90 +90 +70 +ENDCHAR +STARTCHAR uni1E1E +ENCODING 7710 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +F0 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni1E1F +ENCODING 7711 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +20 +50 +E0 +40 +40 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +88 +D8 +A8 +A8 +88 +88 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +00 +D0 +A8 +A8 +88 +ENDCHAR +STARTCHAR uni1E56 +ENCODING 7766 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +E0 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR uni1E57 +ENCODING 7767 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -2 +BITMAP +40 +00 +E0 +90 +90 +E0 +80 +80 +ENDCHAR +STARTCHAR uni1E60 +ENCODING 7776 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +20 +00 +70 +80 +60 +10 +E0 +ENDCHAR +STARTCHAR uni1E61 +ENCODING 7777 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +00 +70 +C0 +30 +E0 +ENDCHAR +STARTCHAR uni1E6A +ENCODING 7786 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +00 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni1E6B +ENCODING 7787 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 0 +BITMAP +40 +00 +40 +E0 +40 +50 +20 +ENDCHAR +STARTCHAR Wgrave +ENCODING 7808 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +88 +88 +A8 +D8 +88 +ENDCHAR +STARTCHAR wgrave +ENCODING 7809 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +00 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wacute +ENCODING 7810 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +88 +88 +A8 +D8 +88 +ENDCHAR +STARTCHAR wacute +ENCODING 7811 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +10 +20 +00 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Wdieresis +ENCODING 7812 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +50 +00 +88 +88 +A8 +D8 +88 +ENDCHAR +STARTCHAR wdieresis +ENCODING 7813 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +00 +88 +A8 +A8 +50 +ENDCHAR +STARTCHAR Ygrave +ENCODING 7922 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +20 +88 +50 +20 +20 +20 +ENDCHAR +STARTCHAR ygrave +ENCODING 7923 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 1 -2 +BITMAP +40 +20 +00 +90 +90 +90 +70 +90 +60 +ENDCHAR +STARTCHAR uni2010 +ENCODING 8208 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 1 1 2 +BITMAP +F0 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 1 1 2 +BITMAP +F0 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 2 +BITMAP +FC +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 2 +BITMAP +FC +ENDCHAR +STARTCHAR uni2016 +ENCODING 8214 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 -2 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +40 +80 +C0 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 -2 +BITMAP +C0 +40 +80 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +C0 +80 +40 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +48 +90 +D8 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 -2 +BITMAP +D8 +48 +90 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +D8 +90 +48 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +20 +F8 +20 +20 +20 +20 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +20 +F8 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +60 +F0 +F0 +60 +ENDCHAR +STARTCHAR uni2023 +ENCODING 8227 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +C0 +E0 +C0 +80 +ENDCHAR +STARTCHAR onedotenleader +ENCODING 8228 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 0 +BITMAP +80 +ENDCHAR +STARTCHAR twodotenleader +ENCODING 8229 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 0 +BITMAP +A0 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 0 +BITMAP +A8 +ENDCHAR +STARTCHAR uni2027 +ENCODING 8231 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 1 2 2 +BITMAP +C0 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +40 +A8 +48 +10 +20 +68 +D4 +28 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +40 +40 +80 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +48 +48 +90 +ENDCHAR +STARTCHAR uni2034 +ENCODING 8244 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +54 +54 +A8 +ENDCHAR +STARTCHAR uni2035 +ENCODING 8245 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 3 2 3 +BITMAP +80 +80 +40 +ENDCHAR +STARTCHAR uni2036 +ENCODING 8246 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 3 +BITMAP +90 +90 +48 +ENDCHAR +STARTCHAR uni2037 +ENCODING 8247 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +A8 +A8 +54 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +20 +40 +80 +40 +20 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +40 +20 +40 +80 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +A0 +A0 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni203E +ENCODING 8254 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 5 +BITMAP +FC +ENDCHAR +STARTCHAR fraction +ENCODING 8260 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +20 +40 +80 +80 +ENDCHAR +STARTCHAR zerosuperior +ENCODING 8304 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +00 +C0 +40 +E0 +ENDCHAR +STARTCHAR foursuperior +ENCODING 8308 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +A0 +E0 +20 +20 +ENDCHAR +STARTCHAR fivesuperior +ENCODING 8309 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixsuperior +ENCODING 8310 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR sevensuperior +ENCODING 8311 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightsuperior +ENCODING 8312 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR ninesuperior +ENCODING 8313 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +40 +A0 +60 +20 +40 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 2 +BITMAP +E0 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftsuperior +ENCODING 8317 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 5 1 1 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightsuperior +ENCODING 8318 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 5 2 1 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 1 +BITMAP +C0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR zeroinferior +ENCODING 8320 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +A0 +A0 +40 +ENDCHAR +STARTCHAR oneinferior +ENCODING 8321 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +C0 +40 +40 +E0 +ENDCHAR +STARTCHAR twoinferior +ENCODING 8322 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +20 +40 +E0 +ENDCHAR +STARTCHAR threeinferior +ENCODING 8323 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +C0 +20 +40 +20 +C0 +ENDCHAR +STARTCHAR fourinferior +ENCODING 8324 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +A0 +A0 +E0 +20 +20 +ENDCHAR +STARTCHAR fiveinferior +ENCODING 8325 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +80 +C0 +20 +C0 +ENDCHAR +STARTCHAR sixinferior +ENCODING 8326 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +80 +C0 +A0 +40 +ENDCHAR +STARTCHAR seveninferior +ENCODING 8327 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +E0 +20 +40 +40 +40 +ENDCHAR +STARTCHAR eightinferior +ENCODING 8328 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +40 +A0 +40 +ENDCHAR +STARTCHAR nineinferior +ENCODING 8329 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -2 +BITMAP +40 +A0 +60 +20 +40 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 -1 +BITMAP +E0 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -2 +BITMAP +E0 +00 +E0 +ENDCHAR +STARTCHAR parenleftinferior +ENCODING 8333 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 5 1 -2 +BITMAP +40 +80 +80 +80 +40 +ENDCHAR +STARTCHAR parenrightinferior +ENCODING 8334 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 5 2 -2 +BITMAP +80 +40 +40 +40 +80 +ENDCHAR +STARTCHAR franc +ENCODING 8355 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +80 +E8 +B0 +A0 +A0 +ENDCHAR +STARTCHAR lira +ENCODING 8356 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +30 +48 +E0 +40 +E0 +40 +F8 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +50 +F8 +50 +60 +40 +ENDCHAR +STARTCHAR dong +ENCODING 8363 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 1 -2 +BITMAP +10 +38 +70 +90 +90 +70 +00 +F0 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +38 +40 +F0 +F0 +40 +38 +ENDCHAR +STARTCHAR uni20AF +ENCODING 8367 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +40 +E0 +50 +48 +48 +E8 +D0 +ENDCHAR +STARTCHAR uni20D0 +ENCODING 8400 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +40 +F8 +ENDCHAR +STARTCHAR uni20D1 +ENCODING 8401 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 5 +BITMAP +10 +F8 +ENDCHAR +STARTCHAR uni20D2 +ENCODING 8402 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 9 2 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D3 +ENCODING 8403 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 6 2 -1 +BITMAP +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni20D4 +ENCODING 8404 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +B0 +C8 +E0 +ENDCHAR +STARTCHAR uni20D5 +ENCODING 8405 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +68 +98 +38 +ENDCHAR +STARTCHAR uni20D6 +ENCODING 8406 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +40 +F8 +40 +ENDCHAR +STARTCHAR uni20D7 +ENCODING 8407 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 4 +BITMAP +10 +F8 +10 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +A8 +A0 +A0 +A8 +70 +ENDCHAR +STARTCHAR afii61248 +ENCODING 8453 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +40 +80 +40 +10 +28 +10 +ENDCHAR +STARTCHAR afii61289 +ENCODING 8467 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +50 +50 +60 +40 +B0 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +C8 +E8 +E8 +D8 +D8 +C8 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 0 +BITMAP +90 +D0 +D0 +B8 +B4 +98 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +A8 +A8 +A8 +A8 +70 +18 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F0 +A8 +A8 +B0 +A8 +A8 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 3 +BITMAP +FC +5C +54 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +28 +50 +50 +A0 +F8 +ENDCHAR +STARTCHAR Omega +ENCODING 8486 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +88 +88 +88 +50 +D8 +ENDCHAR +STARTCHAR estimated +ENCODING 8494 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +F8 +C0 +70 +ENDCHAR +STARTCHAR oneeighth +ENCODING 8539 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +40 +C0 +40 +50 +68 +10 +28 +10 +ENDCHAR +STARTCHAR threeeighths +ENCODING 8540 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +C0 +20 +40 +30 +E8 +10 +28 +10 +ENDCHAR +STARTCHAR fiveeighths +ENCODING 8541 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +E0 +80 +C0 +30 +E8 +10 +28 +10 +ENDCHAR +STARTCHAR seveneighths +ENCODING 8542 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +E0 +20 +40 +50 +68 +10 +28 +10 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +40 +F8 +40 +20 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +20 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +10 +F8 +10 +20 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +48 +FC +48 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +70 +A8 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +48 +F8 +48 +20 +ENDCHAR +STARTCHAR uni21A5 +ENCODING 8613 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +A8 +20 +20 +70 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +90 +F8 +90 +20 +ENDCHAR +STARTCHAR uni21A7 +ENCODING 8615 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +70 +20 +20 +A8 +70 +20 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +70 +A8 +20 +A8 +70 +20 +F8 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +78 +80 +78 +20 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +D8 +50 +50 +50 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +F0 +08 +F0 +20 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +50 +50 +D8 +70 +20 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +78 +84 +78 +30 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +70 +D8 +50 +D8 +70 +20 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +88 +88 +F8 +88 +50 +20 +ENDCHAR +STARTCHAR uni2201 +ENCODING 8705 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +40 +A0 +80 +80 +80 +A0 +40 +ENDCHAR +STARTCHAR partialdiff +ENCODING 8706 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +60 +10 +70 +90 +90 +60 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +10 +70 +10 +10 +F0 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +40 +F0 +50 +70 +50 +50 +F0 +40 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +78 +98 +A8 +A8 +C8 +F0 +ENDCHAR +STARTCHAR Delta +ENCODING 8710 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +70 +80 +F0 +80 +70 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +20 +70 +A0 +F0 +A0 +70 +20 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 1 0 +BITMAP +E0 +10 +F0 +10 +E0 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +40 +E0 +50 +F0 +50 +E0 +40 +ENDCHAR +STARTCHAR product +ENCODING 8719 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +F8 +50 +50 +50 +50 +50 +50 +50 +ENDCHAR +STARTCHAR uni2210 +ENCODING 8720 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +50 +50 +50 +50 +50 +50 +50 +F8 +ENDCHAR +STARTCHAR summation +ENCODING 8721 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +40 +20 +20 +40 +F8 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +F8 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +00 +20 +20 +F8 +20 +20 +ENDCHAR +STARTCHAR fraction +ENCODING 8725 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +10 +10 +20 +40 +80 +80 +ENDCHAR +STARTCHAR uni2218 +ENCODING 8728 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +A0 +40 +ENDCHAR +STARTCHAR periodcentered +ENCODING 8729 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +40 +E0 +40 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +0C +08 +08 +08 +10 +D0 +30 +30 +10 +ENDCHAR +STARTCHAR proportional +ENCODING 8733 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +50 +A0 +A0 +50 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +50 +A8 +A8 +50 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +80 +80 +F8 +ENDCHAR +STARTCHAR uni2221 +ENCODING 8737 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -1 +BITMAP +50 +20 +50 +90 +F8 +10 +ENDCHAR +STARTCHAR uni2224 +ENCODING 8740 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +40 +40 +60 +C0 +40 +40 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR uni2226 +ENCODING 8742 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +58 +70 +D0 +50 +50 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +20 +50 +50 +88 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +50 +50 +20 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +70 +88 +88 +88 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 0 +BITMAP +88 +88 +88 +70 +ENDCHAR +STARTCHAR integral +ENCODING 8747 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +28 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni222E +ENCODING 8750 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +10 +28 +20 +70 +A8 +70 +20 +A0 +40 +ENDCHAR +STARTCHAR therefore +ENCODING 8756 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +20 +00 +00 +88 +ENDCHAR +STARTCHAR uni2235 +ENCODING 8757 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 4 0 1 +BITMAP +88 +00 +00 +20 +ENDCHAR +STARTCHAR uni2236 +ENCODING 8758 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 4 2 1 +BITMAP +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni2237 +ENCODING 8759 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +90 +00 +00 +90 +ENDCHAR +STARTCHAR uni2238 +ENCODING 8760 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 2 +BITMAP +20 +00 +F8 +ENDCHAR +STARTCHAR uni2239 +ENCODING 8761 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +00 +E0 +00 +08 +ENDCHAR +STARTCHAR uni223A +ENCODING 8762 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +88 +00 +F8 +00 +88 +ENDCHAR +STARTCHAR uni223B +ENCODING 8763 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +20 +00 +50 +A0 +00 +40 +ENDCHAR +STARTCHAR similar +ENCODING 8764 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 1 +BITMAP +50 +A0 +ENDCHAR +STARTCHAR uni223D +ENCODING 8765 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 2 1 1 +BITMAP +A0 +50 +ENDCHAR +STARTCHAR uni2243 +ENCODING 8771 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 0 +BITMAP +50 +A0 +00 +F0 +ENDCHAR +STARTCHAR congruent +ENCODING 8773 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 -1 +BITMAP +50 +A0 +00 +F0 +00 +F0 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +40 +A8 +50 +A8 +10 +ENDCHAR +STARTCHAR uni2249 +ENCODING 8777 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +10 +50 +A8 +70 +A8 +50 +40 +ENDCHAR +STARTCHAR uni2259 +ENCODING 8793 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +20 +50 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni225F +ENCODING 8799 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +60 +10 +20 +00 +20 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +10 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR uni2262 +ENCODING 8802 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +10 +F8 +20 +F8 +20 +F8 +40 +ENDCHAR +STARTCHAR uni2263 +ENCODING 8803 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +F8 +00 +F8 +00 +F8 +00 +F8 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +18 +60 +80 +60 +98 +60 +18 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +C0 +30 +08 +30 +C8 +30 +C0 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +28 +50 +A0 +50 +28 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +A0 +50 +28 +50 +A0 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +70 +80 +80 +70 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +E0 +10 +10 +E0 +ENDCHAR +STARTCHAR notsubset +ENCODING 8836 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +70 +A0 +A0 +70 +20 +ENDCHAR +STARTCHAR uni2285 +ENCODING 8837 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +40 +E0 +50 +50 +E0 +40 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +70 +80 +80 +70 +00 +F0 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +E0 +10 +10 +E0 +00 +F0 +ENDCHAR +STARTCHAR uni2288 +ENCODING 8840 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +20 +70 +A0 +A0 +70 +20 +F0 +20 +ENDCHAR +STARTCHAR uni2289 +ENCODING 8841 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 8 1 -1 +BITMAP +40 +E0 +50 +50 +E0 +40 +F0 +40 +ENDCHAR +STARTCHAR uni228A +ENCODING 8842 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +70 +80 +80 +70 +20 +F0 +40 +ENDCHAR +STARTCHAR uni228B +ENCODING 8843 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 7 1 -1 +BITMAP +E0 +10 +10 +E0 +20 +F0 +40 +ENDCHAR +STARTCHAR circleplus +ENCODING 8853 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +A8 +F8 +A8 +70 +ENDCHAR +STARTCHAR uni2296 +ENCODING 8854 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +F8 +88 +70 +ENDCHAR +STARTCHAR circlemultiply +ENCODING 8855 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +D8 +A8 +D8 +70 +ENDCHAR +STARTCHAR uni2298 +ENCODING 8856 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +98 +A8 +C8 +70 +ENDCHAR +STARTCHAR uni2299 +ENCODING 8857 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +A8 +88 +70 +ENDCHAR +STARTCHAR uni22A2 +ENCODING 8866 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +80 +F8 +80 +80 +ENDCHAR +STARTCHAR uni22A3 +ENCODING 8867 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +08 +08 +F8 +08 +08 +ENDCHAR +STARTCHAR uni22A4 +ENCODING 8868 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +20 +20 +20 +F8 +ENDCHAR +STARTCHAR uni22A6 +ENCODING 8870 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +80 +E0 +80 +80 +ENDCHAR +STARTCHAR uni22A7 +ENCODING 8871 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 0 +BITMAP +80 +E0 +80 +E0 +80 +ENDCHAR +STARTCHAR uni22A8 +ENCODING 8872 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +80 +F8 +80 +F8 +80 +ENDCHAR +STARTCHAR uni22C0 +ENCODING 8896 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +20 +20 +50 +50 +50 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C1 +ENCODING 8897 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +88 +88 +50 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +70 +88 +88 +88 +88 +88 +88 +88 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +88 +88 +88 +88 +88 +88 +70 +ENDCHAR +STARTCHAR dotmath +ENCODING 8901 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 2 2 +BITMAP +80 +ENDCHAR +STARTCHAR uni22EE +ENCODING 8942 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 2 -1 +BITMAP +80 +00 +00 +80 +00 +00 +80 +ENDCHAR +STARTCHAR uni22EF +ENCODING 8943 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +A8 +ENDCHAR +STARTCHAR uni22F0 +ENCODING 8944 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +08 +00 +00 +20 +00 +00 +80 +ENDCHAR +STARTCHAR uni22F1 +ENCODING 8945 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +80 +00 +00 +20 +00 +00 +08 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +78 +98 +A8 +C8 +F0 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +E0 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +80 +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +20 +20 +20 +20 +20 +E0 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 0 +BITMAP +F0 +80 +80 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 3 -2 +BITMAP +40 +A0 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 8 1 -1 +BITMAP +20 +20 +20 +20 +20 +20 +A0 +40 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 6 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 4 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 0 +BITMAP +FC +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +A0 +E0 +A0 +00 +38 +10 +10 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +80 +80 +80 +C0 +38 +20 +30 +20 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +A0 +A0 +40 +40 +38 +10 +10 +10 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +E0 +80 +C0 +80 +38 +20 +30 +20 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +60 +80 +60 +00 +30 +28 +30 +28 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -2 +BITMAP +90 +D0 +B0 +90 +20 +20 +20 +38 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 2 +BITMAP +FC +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 2 0 2 +BITMAP +FC +FC +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 9 3 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 9 2 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 3 -2 +BITMAP +E0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +F0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 3 2 +BITMAP +80 +80 +80 +80 +E0 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 0 2 +BITMAP +10 +10 +10 +10 +F0 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 9 3 -2 +BITMAP +80 +80 +80 +80 +E0 +80 +80 +80 +80 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +10 +10 +10 +10 +F0 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 2 +BITMAP +10 +10 +10 +10 +FC +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +10 +10 +10 +10 +FC +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni254C +ENCODING 9548 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 1 0 2 +BITMAP +D8 +ENDCHAR +STARTCHAR uni254D +ENCODING 9549 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 2 0 2 +BITMAP +D8 +D8 +ENDCHAR +STARTCHAR uni254E +ENCODING 9550 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 8 3 -1 +BITMAP +80 +80 +80 +80 +00 +80 +80 +80 +ENDCHAR +STARTCHAR uni254F +ENCODING 9551 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 8 2 -1 +BITMAP +C0 +C0 +C0 +C0 +00 +C0 +C0 +C0 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 3 0 1 +BITMAP +FC +00 +FC +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 9 2 -2 +BITMAP +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 3 -2 +BITMAP +E0 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 2 -2 +BITMAP +F0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 2 -2 +BITMAP +F0 +80 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 0 -2 +BITMAP +F0 +10 +F0 +10 +10 +10 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 -2 +BITMAP +F8 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 -2 +BITMAP +F8 +08 +E8 +28 +28 +28 +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 3 1 +BITMAP +80 +80 +80 +E0 +80 +E0 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 2 2 +BITMAP +A0 +A0 +A0 +A0 +F0 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 2 1 +BITMAP +A0 +A0 +A0 +B0 +80 +F0 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 0 1 +BITMAP +10 +10 +10 +F0 +10 +F0 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 2 +BITMAP +28 +28 +28 +28 +F8 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 1 +BITMAP +28 +28 +28 +E8 +08 +F8 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 9 3 -2 +BITMAP +80 +80 +80 +E0 +80 +E0 +80 +80 +80 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 2 -2 +BITMAP +A0 +A0 +A0 +A0 +B0 +A0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 2 -2 +BITMAP +A0 +A0 +A0 +B0 +80 +B0 +A0 +A0 +A0 +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +10 +10 +10 +F0 +10 +F0 +10 +10 +10 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +28 +28 +28 +28 +E8 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +28 +28 +28 +E8 +08 +E8 +28 +28 +28 +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +00 +FC +10 +10 +10 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +00 +EC +28 +28 +28 +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +10 +10 +10 +FC +00 +FC +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 2 +BITMAP +28 +28 +28 +28 +FC +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 1 +BITMAP +28 +28 +28 +EC +00 +FC +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +10 +10 +10 +FC +10 +FC +10 +10 +10 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +28 +28 +28 +28 +FC +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +28 +28 +28 +EC +00 +EC +28 +28 +28 +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 3 -2 +BITMAP +20 +40 +80 +80 +80 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 0 -2 +BITMAP +C0 +20 +10 +10 +10 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 5 0 2 +BITMAP +10 +10 +10 +20 +C0 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 3 2 +BITMAP +80 +80 +80 +40 +20 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +04 +04 +08 +10 +10 +20 +40 +40 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +80 +80 +40 +20 +20 +10 +08 +08 +04 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +84 +84 +48 +30 +30 +30 +48 +48 +84 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 4 0 3 +BITMAP +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 -2 +BITMAP +FC +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 2 0 -2 +BITMAP +FC +FC +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 4 0 -2 +BITMAP +FC +FC +FC +FC +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 -2 +BITMAP +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 6 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 7 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 9 0 -2 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 9 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 9 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 9 0 -2 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 9 0 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 9 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +A8 +00 +54 +00 +A8 +00 +54 +00 +A8 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +54 +A8 +54 +A8 +54 +A8 +54 +A8 +54 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +A8 +FC +54 +FC +A8 +FC +54 +FC +ENDCHAR +STARTCHAR uni2594 +ENCODING 9620 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 1 0 6 +BITMAP +FC +ENDCHAR +STARTCHAR uni2595 +ENCODING 9621 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 9 5 -2 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 0 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 3 -2 +BITMAP +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 0 3 +BITMAP +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +E0 +E0 +E0 +E0 +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +E0 +E0 +E0 +E0 +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +FC +FC +1C +1C +1C +1C +1C +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 3 3 +BITMAP +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +1C +1C +1C +1C +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +1C +1C +1C +1C +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR H22073 +ENCODING 9633 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +88 +88 +F8 +ENDCHAR +STARTCHAR uni25A2 +ENCODING 9634 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR uni25A3 +ENCODING 9635 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +F8 +88 +A8 +88 +F8 +ENDCHAR +STARTCHAR H18543 +ENCODING 9642 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +E0 +E0 +ENDCHAR +STARTCHAR H18551 +ENCODING 9643 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +E0 +A0 +E0 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +F8 +F8 +ENDCHAR +STARTCHAR uni25AD +ENCODING 9645 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +F8 +88 +F8 +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni25AF +ENCODING 9647 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +F0 +90 +90 +90 +90 +F0 +ENDCHAR +STARTCHAR uni25B0 +ENCODING 9648 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +78 +F8 +F0 +ENDCHAR +STARTCHAR uni25B1 +ENCODING 9649 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +78 +88 +F0 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +70 +70 +F8 +F8 +ENDCHAR +STARTCHAR uni25B3 +ENCODING 9651 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +20 +50 +50 +88 +F8 +ENDCHAR +STARTCHAR uni25B4 +ENCODING 9652 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 1 +BITMAP +40 +40 +E0 +E0 +ENDCHAR +STARTCHAR uni25B5 +ENCODING 9653 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 1 +BITMAP +40 +40 +A0 +E0 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +F0 +F8 +F0 +C0 +ENDCHAR +STARTCHAR uni25B7 +ENCODING 9655 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +C0 +B0 +88 +B0 +C0 +ENDCHAR +STARTCHAR uni25B8 +ENCODING 9656 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 1 +BITMAP +C0 +F0 +C0 +ENDCHAR +STARTCHAR uni25B9 +ENCODING 9657 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 1 +BITMAP +C0 +B0 +C0 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +E0 +F8 +E0 +ENDCHAR +STARTCHAR uni25BB +ENCODING 9659 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +E0 +98 +E0 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +F8 +70 +70 +20 +20 +ENDCHAR +STARTCHAR uni25BD +ENCODING 9661 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +F8 +88 +50 +50 +20 +20 +ENDCHAR +STARTCHAR uni25BE +ENCODING 9662 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 1 +BITMAP +E0 +E0 +40 +40 +ENDCHAR +STARTCHAR uni25BF +ENCODING 9663 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 4 1 1 +BITMAP +E0 +A0 +40 +40 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +18 +78 +F8 +78 +18 +ENDCHAR +STARTCHAR uni25C1 +ENCODING 9665 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +18 +68 +88 +68 +18 +ENDCHAR +STARTCHAR uni25C2 +ENCODING 9666 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 1 +BITMAP +30 +F0 +30 +ENDCHAR +STARTCHAR uni25C3 +ENCODING 9667 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 3 1 1 +BITMAP +30 +D0 +30 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +38 +F8 +38 +ENDCHAR +STARTCHAR uni25C5 +ENCODING 9669 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 3 0 1 +BITMAP +38 +C8 +38 +ENDCHAR +STARTCHAR uni25C6 +ENCODING 9670 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 5 0 0 +BITMAP +30 +78 +FC +78 +30 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +50 +50 +88 +50 +50 +20 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +88 +88 +88 +70 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +70 +F8 +F8 +F8 +70 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +CC +84 +84 +CC +FC +FC +FC +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 9 0 -2 +BITMAP +FC +FC +CC +B4 +B4 +CC +FC +FC +FC +ENDCHAR +STARTCHAR openbullet +ENCODING 9702 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 4 1 1 +BITMAP +60 +90 +90 +60 +ENDCHAR +STARTCHAR uni2600 +ENCODING 9728 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +A8 +70 +F8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni2639 +ENCODING 9785 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +78 +84 +CC +84 +B4 +CC +84 +78 +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +78 +84 +CC +84 +CC +B4 +84 +78 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 8 0 -1 +BITMAP +78 +FC +B4 +FC +B4 +CC +FC +78 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +A8 +70 +D8 +70 +A8 +20 +ENDCHAR +STARTCHAR uni263F +ENCODING 9791 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 8 0 -1 +BITMAP +88 +70 +88 +88 +70 +20 +F8 +20 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +70 +88 +88 +70 +20 +F8 +20 +ENDCHAR +STARTCHAR uni2641 +ENCODING 9793 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 -1 +BITMAP +20 +F8 +20 +70 +88 +88 +70 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 6 7 0 -1 +BITMAP +1C +0C +14 +70 +88 +88 +70 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +70 +F8 +F8 +20 +70 +ENDCHAR +STARTCHAR uni2661 +ENCODING 9825 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +A8 +88 +88 +50 +20 +ENDCHAR +STARTCHAR uni2662 +ENCODING 9826 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +50 +88 +50 +20 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 7 0 0 +BITMAP +20 +70 +A8 +F8 +A8 +20 +70 +ENDCHAR +STARTCHAR uni2664 +ENCODING 9828 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +20 +50 +88 +F8 +20 +70 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +50 +F8 +F8 +F8 +70 +20 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 5 0 0 +BITMAP +20 +70 +F8 +70 +20 +ENDCHAR +STARTCHAR uni2669 +ENCODING 9833 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 6 1 0 +BITMAP +20 +20 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +30 +28 +20 +20 +E0 +C0 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 6 0 0 +BITMAP +60 +58 +48 +C8 +D8 +18 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -1 +BITMAP +40 +40 +80 +80 +80 +40 +40 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 2 7 2 -1 +BITMAP +80 +80 +40 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 5 -2 +BITMAP +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 1 5 +BITMAP +80 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 1 3 +BITMAP +80 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 1 3 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 1 1 +BITMAP +80 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 1 1 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 1 1 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 1 1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 3 5 +BITMAP +80 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 5 +BITMAP +A0 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +20 +00 +80 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +A0 +00 +80 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 3 3 +BITMAP +80 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +80 +00 +20 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 3 +BITMAP +A0 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +80 +00 +A0 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +20 +00 +80 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +A0 +00 +80 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 3 3 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +A0 +00 +20 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +20 +00 +A0 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 3 +BITMAP +A0 +00 +A0 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 3 1 +BITMAP +80 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +80 +00 +20 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 1 +BITMAP +A0 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +80 +00 +A0 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 3 1 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 3 1 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +A0 +00 +20 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +20 +00 +A0 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 1 +BITMAP +A0 +00 +A0 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +80 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 3 1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +20 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 1 +BITMAP +A0 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 1 -1 +BITMAP +80 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 1 -1 +BITMAP +80 +00 +00 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 1 -1 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 1 -1 +BITMAP +80 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 1 -1 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 1 -1 +BITMAP +80 +00 +00 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 1 -1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 1 -1 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +20 +00 +80 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +A0 +00 +80 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +20 +00 +80 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +A0 +00 +80 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 1 3 -1 +BITMAP +80 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +80 +00 +20 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 3 -1 +BITMAP +80 +00 +00 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 3 -1 +BITMAP +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 3 -1 +BITMAP +80 +00 +80 +00 +00 +00 +80 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +00 +00 +20 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +80 +00 +20 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 3 3 -1 +BITMAP +80 +00 +80 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +A0 +00 +20 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 3 -1 +BITMAP +80 +00 +00 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 5 3 -1 +BITMAP +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 1 7 3 -1 +BITMAP +80 +00 +80 +00 +80 +00 +80 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +20 +00 +20 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +A0 +00 +20 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 1 1 -1 +BITMAP +A0 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +80 +00 +A0 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +00 +00 +A0 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +80 +00 +A0 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +20 +00 +A0 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 3 1 -1 +BITMAP +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +00 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +80 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +80 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +00 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +00 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +80 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +80 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +20 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +20 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 5 1 -1 +BITMAP +A0 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +80 +00 +A0 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +20 +00 +A0 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +20 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +20 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +20 +00 +A0 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 3 7 1 -1 +BITMAP +A0 +00 +A0 +00 +A0 +00 +A0 +ENDCHAR +STARTCHAR fi +ENCODING 64257 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +20 +50 +40 +F0 +50 +50 +ENDCHAR +STARTCHAR fl +ENCODING 64258 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 4 6 1 0 +BITMAP +30 +50 +50 +F0 +50 +50 +ENDCHAR +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 640 0 +DWIDTH 6 0 +BBX 5 9 0 -2 +BITMAP +70 +D8 +A8 +E8 +D8 +D8 +F8 +D8 +70 +ENDCHAR +ENDFONT From d07ad63016b0e1d58a767a531fd578e85b42f9cf Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Wed, 7 Oct 2020 20:01:01 +0200 Subject: [PATCH 217/277] More accessible PROBE_OFFSET_WIZARD (#19647) --- Marlin/src/lcd/menu/menu_advanced.cpp | 5 +++++ Marlin/src/lcd/menu/menu_bed_leveling.cpp | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 5bca89141f8b..c0a72bbe6c8a 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -486,6 +486,11 @@ void menu_backlash(); EDIT_ITEM(float31sign, MSG_ZPROBE_YOFFSET, &probe.offset.y, -(Y_BED_SIZE), Y_BED_SIZE); #endif EDIT_ITEM(LCD_Z_OFFSET_TYPE, MSG_ZPROBE_ZOFFSET, &probe.offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); + + #if ENABLED(PROBE_OFFSET_WIZARD) + SUBMENU(MSG_PROBE_WIZARD, goto_probe_offset_wizard); + #endif + END_MENU(); } #endif diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp index 8bc4f921315d..e19b04ccb517 100644 --- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp +++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp @@ -283,10 +283,6 @@ void menu_bed_leveling() { EDIT_ITEM(LCD_Z_OFFSET_TYPE, MSG_ZPROBE_ZOFFSET, &probe.offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); #endif - #if ENABLED(PROBE_OFFSET_WIZARD) - SUBMENU(MSG_PROBE_WIZARD, goto_probe_offset_wizard); - #endif - #if ENABLED(LEVEL_BED_CORNERS) SUBMENU(MSG_LEVEL_CORNERS, _lcd_level_bed_corners); #endif From 0975c487f0e636e7279864f2e81990cd58378e50 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 8 Oct 2020 00:12:06 +0000 Subject: [PATCH 218/277] [cron] Bump distribution date (2020-10-08) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 9207dedb01fb..951521db5d17 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-07" + #define STRING_DISTRIBUTION_DATE "2020-10-08" #endif /** From 32377849da8230f88d395a5d6b60321cbbd69f39 Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Thu, 8 Oct 2020 03:43:08 +0200 Subject: [PATCH 219/277] Update PROBE_OFFSET_WIZARD comment (#19652) --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 3d3e55b92ef1..8cc71ceb8632 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1075,7 +1075,7 @@ #if HAS_LCD_MENU - // Add Probe Z Offset calibration to the Bed Leveling menu + // Add Probe Z Offset calibration to the Z Probe Offsets menu #if HAS_BED_PROBE //#define PROBE_OFFSET_WIZARD #if ENABLED(PROBE_OFFSET_WIZARD) From 0f9d57e03ad0032d7a307b3fb826761c50ceb8d7 Mon Sep 17 00:00:00 2001 From: ellensp Date: Thu, 8 Oct 2020 20:30:31 +1300 Subject: [PATCH 220/277] Apply env:mega2560ext to relevant boards (#19624) --- Marlin/src/pins/pins.h | 8 ++++---- platformio.ini | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 3ec4e1a34b9b..4aff336d9c88 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -148,7 +148,7 @@ #elif MB(AZTEEG_X3_PRO) #include "ramps/pins_AZTEEG_X3_PRO.h" // ATmega2560 env:mega2560 #elif MB(ULTIMAIN_2) - #include "ramps/pins_ULTIMAIN_2.h" // ATmega2560 env:mega2560 + #include "ramps/pins_ULTIMAIN_2.h" // ATmega2560 env:mega2560ext #elif MB(FORMBOT_RAPTOR) #include "ramps/pins_FORMBOT_RAPTOR.h" // ATmega2560 env:mega2560 #elif MB(FORMBOT_RAPTOR2) @@ -164,7 +164,7 @@ #elif MB(RL200) #include "ramps/pins_RL200.h" // ATmega2560 env:mega2560 #elif MB(BQ_ZUM_MEGA_3D) - #include "ramps/pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 env:mega2560 + #include "ramps/pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 env:mega2560ext #elif MB(MAKEBOARD_MINI) #include "ramps/pins_MAKEBOARD_MINI.h" // ATmega2560 env:mega2560 #elif MB(TRIGORILLA_13) @@ -232,7 +232,7 @@ #elif MB(CNCONTROLS_15) #include "mega/pins_CNCONTROLS_15.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 #elif MB(MIGHTYBOARD_REVE) - #include "mega/pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 + #include "mega/pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560ext #elif MB(CHEAPTRONIC) #include "mega/pins_CHEAPTRONIC.h" // ATmega2560 env:mega2560 #elif MB(CHEAPTRONIC_V2) @@ -260,7 +260,7 @@ #elif MB(GT2560_V3_A20) #include "mega/pins_GT2560_V3_A20.h" // ATmega2560 env:mega2560 #elif MB(EINSTART_S) - #include "mega/pins_EINSTART-S.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 + #include "mega/pins_EINSTART-S.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560ext #elif MB(WANHAO_ONEPLUS) #include "mega/pins_WANHAO_ONEPLUS.h" // ATmega2560 env:mega2560 #elif MB(OVERLORD) diff --git a/platformio.ini b/platformio.ini index 1f2586e26b46..ac7d9804d85a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -412,6 +412,10 @@ board = megaatmega2560 # # ATmega2560 with extended pins 70-85 defined +# BOARD_BQ_ZUM_MEGA_3D +# BOARD_ULTIMAIN_2 +# BOARD_MIGHTYBOARD_REVE +# BOARD_EINSTART_S # [env:mega2560ext] platform = atmelavr From fb28c6041ad219416e13564e86228c1ba12a79db Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 8 Oct 2020 15:17:19 -0500 Subject: [PATCH 221/277] Use 0xFF (not 'ff') for byte transfer --- Marlin/src/HAL/STM32F1/HAL_SPI.cpp | 4 ++-- Marlin/src/libs/W25Qxx.cpp | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/HAL_SPI.cpp b/Marlin/src/HAL/STM32F1/HAL_SPI.cpp index 550a79deaec5..76b1c3e2468b 100644 --- a/Marlin/src/HAL/STM32F1/HAL_SPI.cpp +++ b/Marlin/src/HAL/STM32F1/HAL_SPI.cpp @@ -110,7 +110,7 @@ void spiInit(uint8_t spiRate) { * @details */ uint8_t spiRec() { - uint8_t returnByte = SPI.transfer(ff); + uint8_t returnByte = SPI.transfer(0xFF); return returnByte; } @@ -154,7 +154,7 @@ void spiSendBlock(uint8_t token, const uint8_t* buf) { #if ENABLED(SPI_EEPROM) // Read single byte from specified SPI channel -uint8_t spiRec(uint32_t chan) { return SPI.transfer(ff); } +uint8_t spiRec(uint32_t chan) { return SPI.transfer(0xFF); } // Write single byte to specified SPI channel void spiSend(uint32_t chan, byte b) { SPI.send(b); } diff --git a/Marlin/src/libs/W25Qxx.cpp b/Marlin/src/libs/W25Qxx.cpp index 9abe45fbaf7c..03e002f66f82 100644 --- a/Marlin/src/libs/W25Qxx.cpp +++ b/Marlin/src/libs/W25Qxx.cpp @@ -80,16 +80,14 @@ void W25QXXFlash::init(uint8_t spiRate) { * @brief Receive a single byte from the SPI port. * * @return Byte received - * - * @details */ uint8_t W25QXXFlash::spi_flash_Rec() { - uint8_t returnByte = SPI.transfer(ff); + const uint8_t returnByte = SPI.transfer(0xFF); return returnByte; } uint8_t W25QXXFlash::spi_flash_read_write_byte(uint8_t data) { - uint8_t returnByte = SPI.transfer(data); + const uint8_t returnByte = SPI.transfer(data); return returnByte; } From d66bc5cec2ac4844809bb50995e05a0d074240df Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 8 Oct 2020 16:59:54 -0500 Subject: [PATCH 222/277] Permit touch calibration override --- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 16 +++- Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h | 38 ++++---- Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h | 40 +++++---- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h | 58 ++++++------- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h | 20 +++-- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 87 ++++++++----------- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 50 +++++------ 7 files changed, 151 insertions(+), 158 deletions(-) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 6f9f4bcf6363..08ab5c1f4cb7 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -303,10 +303,18 @@ // Emulated DOGM have xpt calibration values independent of display resolution #if ENABLED(SPI_GRAPHICAL_TFT) - #define XPT2046_X_CALIBRATION -11245 - #define XPT2046_Y_CALIBRATION 8629 - #define XPT2046_X_OFFSET 685 - #define XPT2046_Y_OFFSET -285 + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -11245 + #endif + #ifdef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8629 + #endif + #ifdef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 685 + #endif + #ifdef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -285 + #endif #endif #elif IS_TFTGLCD_PANEL diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index 10c615e524f9..5d81d1eca9ab 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -105,8 +105,10 @@ #define FIL_RUNOUT_PIN PA15 // SPI Flash -#define SPI_FLASH_SIZE 0x200000 // 2MB #define HAS_SPI_FLASH 1 +#if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x200000 // 2MB +#endif // SPI 2 #define W25QXX_CS_PIN PB12 @@ -146,38 +148,36 @@ #endif #if HAS_TFT_LVGL_UI - // LVGL - #define HAS_SPI_FLASH_FONT 1 #define HAS_GCODE_PREVIEW 1 #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 #define HAS_LANG_SELECT_SCREEN 1 #define HAS_BAK_VIEW_IN_FLASH 0 #define HAS_LOGO_IN_FLASH 0 - - #define XPT2046_X_CALIBRATION -17181 - #define XPT2046_Y_CALIBRATION 11434 - #define XPT2046_X_OFFSET 501 - #define XPT2046_Y_OFFSET -9 - #elif ENABLED(TFT_480x320) - // Color UI - #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 - - #define XPT2046_X_CALIBRATION -17181 - #define XPT2046_Y_CALIBRATION 11434 - #define XPT2046_X_OFFSET 501 - #define XPT2046_Y_OFFSET -9 - #elif ENABLED(FSMC_GRAPHICAL_TFT) - // Emulated DOGM - #define GRAPHICAL_TFT_UPSCALE 3 +#endif + +#if EITHER(HAS_TFT_LVGL_UI, TFT_480x320) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -17181 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 11434 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 501 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -9 + #endif +#elif ENABLED(FSMC_GRAPHICAL_TFT) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -12316 #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h index f8f3225f3cd4..e6c9b33a5a29 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h @@ -120,8 +120,10 @@ #endif // SPI Flash -#define SPI_FLASH_SIZE 0x200000 // 2MB #define HAS_SPI_FLASH 1 +#if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x200000 // 2MB +#endif // SPI 2 #define W25QXX_CS_PIN PB12 @@ -158,36 +160,37 @@ #endif -// LVGL Configs #if HAS_TFT_LVGL_UI - + // LVGL #define HAS_SPI_FLASH_FONT 1 #define HAS_GCODE_PREVIEW 1 #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 #define HAS_LANG_SELECT_SCREEN 1 #define HAS_BAK_VIEW_IN_FLASH 0 #define HAS_LOGO_IN_FLASH 0 - - #define XPT2046_X_CALIBRATION -17181 - #define XPT2046_Y_CALIBRATION 11434 - #define XPT2046_X_OFFSET 501 - #define XPT2046_Y_OFFSET -9 - -// Color UI Configs #elif ENABLED(TFT_480x320) - + // Color UI #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 - - #define XPT2046_X_CALIBRATION -17181 - #define XPT2046_Y_CALIBRATION 11434 - #define XPT2046_X_OFFSET 501 - #define XPT2046_Y_OFFSET -9 - -// Emulated DOGM #elif ENABLED(FSMC_GRAPHICAL_TFT) + // Emulated DOGM #define GRAPHICAL_TFT_UPSCALE 3 +#endif +#if EITHER(HAS_TFT_LVGL_UI, TFT_480x320) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -17181 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 11434 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 501 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -9 + #endif +#elif ENABLED(FSMC_GRAPHICAL_TFT) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -12316 #endif @@ -200,7 +203,6 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -20 #endif - #endif // SPI1(PA7)=LCD & SPI3(PB5)=STUFF, are not available diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h index a530c89d2cbc..d9ba4e3c408b 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -269,32 +269,8 @@ #endif -#if ENABLED(TFT_LVGL_UI_SPI) - - // LVGL - - #define XPT2046_X_CALIBRATION -17253 - #define XPT2046_Y_CALIBRATION 11579 - #define XPT2046_X_OFFSET 514 - #define XPT2046_Y_OFFSET -24 - -#elif ENABLED(SPI_GRAPHICAL_TFT) - +#if ENABLED(SPI_GRAPHICAL_TFT) // Emulated DOGM SPI - - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION -11386 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION 8684 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET 339 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET -18 - #endif - #ifndef GRAPHICAL_TFT_UPSCALE #define GRAPHICAL_TFT_UPSCALE 3 #endif @@ -310,14 +286,36 @@ #define LCD_PINS_RS PC6 #elif ENABLED(TFT_480x320_SPI) + #define TFT_DRIVER ST7796 + #define TFT_BUFFER_SIZE 14400 +#endif + +#if EITHER(HAS_TFT_LVGL_UI, TFT_480x320_SPI) + #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17253 + #endif + #ifndef XPT2046_Y_CALIBRATION #define XPT2046_Y_CALIBRATION 11579 + #endif + #ifndef XPT2046_X_OFFSET #define XPT2046_X_OFFSET 514 + #endif + #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -24 - - #define TFT_DRIVER ST7796 - #define TFT_BUFFER_SIZE 14400 - + #endif +#elif ENABLED(SPI_GRAPHICAL_TFT) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -11386 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8684 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 339 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -18 + #endif #endif #if HAS_WIRED_LCD && !HAS_SPI_TFT @@ -364,8 +362,8 @@ #endif // HAS_WIRED_LCD && !HAS_SPI_TFT #define HAS_SPI_FLASH 1 -#define SPI_FLASH_SIZE 0x1000000 // 16MB #if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x1000000 // 16MB #define W25QXX_CS_PIN PB12 #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h index b159ae3f4c78..2b099b3e9372 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h @@ -139,10 +139,20 @@ * If the screen stays white, disable 'LCD_RESET_PIN' * to let the bootloader init the screen. */ - #define XPT2046_X_CALIBRATION 12033 - #define XPT2046_Y_CALIBRATION -9047 - #define XPT2046_X_OFFSET -30 - #define XPT2046_Y_OFFSET 254 +#if ENABLED(TOUCH_SCREEN) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION 12033 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION -9047 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET -30 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET 254 + #endif +#endif #if ENABLED(FSMC_GRAPHICAL_TFT) @@ -191,8 +201,8 @@ #endif #define HAS_SPI_FLASH 1 -#define SPI_FLASH_SIZE 0x1000000 // 16MB #if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x1000000 // 16MB #define W25QXX_CS_PIN PB12 // Flash chip-select #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index e705b7b5704d..35909ed43080 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -195,25 +195,8 @@ #define TOUCH_BUTTONS_HW_SPI_DEVICE 2 #endif -// LVGL Configs -#if ENABLED(TFT_LVGL_UI_FSMC) - - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION 17880 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION -12234 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET -45 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET 349 - #endif - -// Emulated DOGM Configs -#elif ENABLED(FSMC_GRAPHICAL_TFT) - +#if ENABLED(FSMC_GRAPHICAL_TFT) + // Emulated DOGM #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h #define DOGLCD_SCK -1 @@ -233,19 +216,6 @@ #define TFT_PIXEL_OFFSET_Y 32 #endif - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION 12149 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION -8746 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET -35 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET 256 - #endif - #elif ENABLED(TFT_320x240) // TFT32/28 #define TFT_RESET_PIN PC6 #define TFT_BACKLIGHT_PIN PD13 @@ -256,19 +226,6 @@ #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION -12246 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION 9453 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET 360 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET -22 - #endif - #define TOUCH_CS_PIN PA7 // SPI2_NSS #define TOUCH_SCK_PIN PB13 // SPI2_SCK #define TOUCH_MISO_PIN PB14 // SPI2_MISO @@ -285,6 +242,12 @@ #define ILI9341_COLOR_RGB #elif ENABLED(TFT_480x320) + #define TFT_DRIVER ILI9488 + #define TFT_BUFFER_SIZE 14400 + #define ILI9488_ORIENTATION ILI9488_MADCTL_MX | ILI9488_MADCTL_MV +#endif + +#if EITHER(TFT_LVGL_UI_FSMC, TFT_480x320) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION 17880 #endif @@ -295,17 +258,39 @@ #define XPT2046_X_OFFSET -45 #endif #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET 349 + #define XPT2046_Y_OFFSET 349 + #endif +#elif ENABLED(FSMC_GRAPHICAL_TFT) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION 12149 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION -8746 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET -35 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET 256 + #endif +#elif ENABLED(TFT_320x240) // TFT32/28 + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -12246 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 9453 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 360 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -22 #endif - - #define TFT_DRIVER ILI9488 - #define TFT_BUFFER_SIZE 14400 - #define ILI9488_ORIENTATION ILI9488_MADCTL_MX | ILI9488_MADCTL_MV #endif #define HAS_SPI_FLASH 1 -#define SPI_FLASH_SIZE 0x1000000 // 16MB #if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x1000000 // 16MB #define W25QXX_CS_PIN PB12 #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index 4e782649d3f0..b40c66496af6 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -281,32 +281,8 @@ #endif -#if ENABLED(TFT_LVGL_UI_SPI) - - // LVGL - - #define XPT2046_X_CALIBRATION -17253 - #define XPT2046_Y_CALIBRATION 11579 - #define XPT2046_X_OFFSET 514 - #define XPT2046_Y_OFFSET -24 - -#elif ENABLED(SPI_GRAPHICAL_TFT) - +#if ENABLED(SPI_GRAPHICAL_TFT) // Emulated DOGM SPI - - #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION -11386 - #endif - #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION 8684 - #endif - #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET 339 - #endif - #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET -18 - #endif - #ifndef GRAPHICAL_TFT_UPSCALE #define GRAPHICAL_TFT_UPSCALE 3 #endif @@ -322,6 +298,11 @@ #define LCD_PINS_RS PC6 #elif ENABLED(TFT_480x320_SPI) + #define TFT_DRIVER ST7796 + #define TFT_BUFFER_SIZE 14400 +#endif + +#if EITHER(TFT_LVGL_UI_SPI, TFT_480x320_SPI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17253 #endif @@ -334,10 +315,19 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -24 #endif - - #define TFT_DRIVER ST7796 - #define TFT_BUFFER_SIZE 14400 - +#elif ENABLED(SPI_GRAPHICAL_TFT) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -11386 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8684 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 339 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -18 + #endif #endif #if HAS_WIRED_LCD && !HAS_SPI_TFT @@ -393,8 +383,8 @@ #endif // HAS_WIRED_LCD && !HAS_SPI_TFT #define HAS_SPI_FLASH 1 -#define SPI_FLASH_SIZE 0x1000000 // 16MB #if HAS_SPI_FLASH + #define SPI_FLASH_SIZE 0x1000000 // 16MB #define W25QXX_CS_PIN PB12 #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 From b8700e0aa801a016a66ff1d268871c458aa4f47b Mon Sep 17 00:00:00 2001 From: Samantaz Fox Date: Fri, 9 Oct 2020 01:40:54 +0200 Subject: [PATCH 223/277] Fix and improve Makefile / CMake (#19640) --- Marlin/Makefile | 167 +++++++++++++++++++++------ buildroot/share/cmake/CMakeLists.txt | 8 +- 2 files changed, 133 insertions(+), 42 deletions(-) diff --git a/Marlin/Makefile b/Marlin/Makefile index 68dd05bdfbad..91c8889c69ce 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -22,8 +22,10 @@ # (e.g. UPLOAD_PORT = /dev/tty.USB0). If the exact name of this file # changes, you can use * as a wild card (e.g. UPLOAD_PORT = /dev/tty.usb*). # -# 3. Set the line containing "MCU" to match your board's processor. -# Older one's are atmega8 based, newer ones like Arduino Mini, Bluetooth +# 3. Set the line containing "MCU" to match your board's processor. Set +# "PROG_MCU" as the AVR part name corresponding to "MCU". You can use the +# following command to get a list of correspondences: `avrdude -c alf -p x` +# Older boards are atmega8 based, newer ones like Arduino Mini, Bluetooth # or Diecimila have the atmega168. If you're using a LilyPad Arduino, # change F_CPU to 8000000. If you are using Gen7 electronics, you # probably need to use 20000000. Either way, you must regenerate @@ -34,18 +36,18 @@ # 5. Type "make upload", reset your Arduino board, and press enter to # upload your program to the Arduino board. # -# Note that all settings at the top of this file can be overriden from +# Note that all settings at the top of this file can be overridden from # the command line with, for example, "make HARDWARE_MOTHERBOARD=71" # # To compile for RAMPS (atmega2560) with Arduino 1.6.9 at root/arduino you would use... # # make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \ -# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino +# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino # # To compile and upload simply add "upload" to the end of the line... # # make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \ -# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino upload +# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino upload # # If uploading doesn't work try adding the parameter "AVRDUDE_PROGRAMMER=wiring" or # start upload manually (using stk500) like so: @@ -57,7 +59,26 @@ # # This defines the board to compile for (see boards.h for your board's ID) -HARDWARE_MOTHERBOARD ?= 11 +HARDWARE_MOTHERBOARD ?= 1020 + +ifeq ($(OS),Windows_NT) + # Windows + ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino + ARDUINO_USER_DIR ?= ${HOME}/Arduino +else + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Linux) + # Linux + ARDUINO_INSTALL_DIR ?= /usr/share/arduino + ARDUINO_USER_DIR ?= ${HOME}/Arduino + endif + ifeq ($(UNAME_S),Darwin) + # Darwin (macOS) + ARDUINO_INSTALL_DIR ?= /Applications/Arduino.app/Contents/Java + ARDUINO_USER_DIR ?= ${HOME}/Documents/Arduino + AVR_TOOLS_PATH ?= /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/ + endif +endif # Arduino source install directory, and version number # On most linuxes this will be /usr/share/arduino @@ -67,32 +88,38 @@ ARDUINO_VERSION ?= 106 # The installed Libraries are in the User folder ARDUINO_USER_DIR ?= ${HOME}/Arduino -# You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin) +# You can optionally set a path to the avr-gcc tools. +# Requires a trailing slash. For example, /usr/local/avr-gcc/bin/ AVR_TOOLS_PATH ?= -#Programmer configuration +# Programmer configuration UPLOAD_RATE ?= 57600 AVRDUDE_PROGRAMMER ?= arduino -# on most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1 +# On most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1 UPLOAD_PORT ?= /dev/ttyUSB0 -#Directory used to build files in, contains all the build files, from object files to the final hex file -#on linux it is best to put an absolute path like /home/username/tmp . +# Directory used to build files in, contains all the build files, from object +# files to the final hex file on linux it is best to put an absolute path +# like /home/username/tmp . BUILD_DIR ?= applet # This defines whether Liquid_TWI2 support will be built LIQUID_TWI2 ?= 0 -# this defines if Wire is needed +# This defines if Wire is needed WIRE ?= 0 -# this defines if U8GLIB is needed (may require RELOC_WORKAROUND) -U8GLIB ?= 1 +# This defines if Tone is needed (i.e SPEAKER is defined in Configuration.h) +# Disabling this (and SPEAKER) saves approximatively 350 bytes of memory. +TONE ?= 1 + +# This defines if U8GLIB is needed (may require RELOC_WORKAROUND) +U8GLIB ?= 0 -# this defines whether to include the Trinamic TMCStepper library -TMC ?= 1 +# This defines whether to include the Trinamic TMCStepper library +TMC ?= 0 -# this defines whether to include the AdaFruit NeoPixel library +# This defines whether to include the AdaFruit NeoPixel library NEOPIXEL ?= 0 ############ @@ -208,7 +235,8 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1119) else ifeq ($(HARDWARE_MOTHERBOARD),1120) # Ultimaker (Older electronics. Pre 1.5.4. This is rare) else ifeq ($(HARDWARE_MOTHERBOARD),1121) - MCU ?= atmega1280 + MCU ?= atmega1280 + PROG_MCU ?= m1280 # Azteeg X3 else ifeq ($(HARDWARE_MOTHERBOARD),1122) @@ -350,9 +378,11 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1320) # Minitronics v1.0/1.1 else ifeq ($(HARDWARE_MOTHERBOARD),1400) MCU ?= atmega1281 + PROG_MCU ?= m1281 # Silvergate v1.0 else ifeq ($(HARDWARE_MOTHERBOARD),1401) MCU ?= atmega1281 + PROG_MCU ?= m1281 # # Sanguinololu and Derivatives - ATmega644P, ATmega1284P @@ -362,46 +392,57 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1401) else ifeq ($(HARDWARE_MOTHERBOARD),1500) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Sanguinololu 1.2 and above else ifeq ($(HARDWARE_MOTHERBOARD),1501) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Melzi else ifeq ($(HARDWARE_MOTHERBOARD),1502) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Melzi V2.0 else ifeq ($(HARDWARE_MOTHERBOARD),1503) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Melzi with ATmega1284 (MaKr3d version) else ifeq ($(HARDWARE_MOTHERBOARD),1504) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Melzi Creality3D board (for CR-10 etc) else ifeq ($(HARDWARE_MOTHERBOARD),1505) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Melzi Malyan M150 board else ifeq ($(HARDWARE_MOTHERBOARD),1506) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Tronxy X5S else ifeq ($(HARDWARE_MOTHERBOARD),1507) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # STB V1.1 else ifeq ($(HARDWARE_MOTHERBOARD),1508) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Azteeg X1 else ifeq ($(HARDWARE_MOTHERBOARD),1509) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # Anet 1.0 (Melzi clone) else ifeq ($(HARDWARE_MOTHERBOARD),1510) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p + PROG_MCU ?= m1284p # # Other ATmega644P, ATmega644, ATmega1284P @@ -411,50 +452,61 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1510) else ifeq ($(HARDWARE_MOTHERBOARD),1600) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Gen3+ else ifeq ($(HARDWARE_MOTHERBOARD),1601) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Gen6 else ifeq ($(HARDWARE_MOTHERBOARD),1602) HARDWARE_VARIANT ?= Gen6 MCU ?= atmega644p + PROG_MCU ?= m644p # Gen6 deluxe else ifeq ($(HARDWARE_MOTHERBOARD),1603) HARDWARE_VARIANT ?= Gen6 MCU ?= atmega644p + PROG_MCU ?= m644p # Gen7 custom (Alfons3 Version) else ifeq ($(HARDWARE_MOTHERBOARD),1604) HARDWARE_VARIANT ?= Gen7 MCU ?= atmega644 + PROG_MCU ?= m644 F_CPU ?= 20000000 # Gen7 v1.1, v1.2 else ifeq ($(HARDWARE_MOTHERBOARD),1605) HARDWARE_VARIANT ?= Gen7 MCU ?= atmega644p + PROG_MCU ?= m644p F_CPU ?= 20000000 # Gen7 v1.3 else ifeq ($(HARDWARE_MOTHERBOARD),1606) HARDWARE_VARIANT ?= Gen7 MCU ?= atmega644p + PROG_MCU ?= m644p F_CPU ?= 20000000 # Gen7 v1.4 else ifeq ($(HARDWARE_MOTHERBOARD),1607) HARDWARE_VARIANT ?= Gen7 MCU ?= atmega1284p + PROG_MCU ?= m1284p F_CPU ?= 20000000 # Alpha OMCA board else ifeq ($(HARDWARE_MOTHERBOARD),1608) HARDWARE_VARIANT ?= SanguinoA MCU ?= atmega644 + PROG_MCU ?= m644 # Final OMCA board else ifeq ($(HARDWARE_MOTHERBOARD),1609) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # Sethi 3D_1 else ifeq ($(HARDWARE_MOTHERBOARD),1610) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p + PROG_MCU ?= m644p # # Teensyduino - AT90USB1286, AT90USB1286P @@ -464,51 +516,60 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1610) else ifeq ($(HARDWARE_MOTHERBOARD),1700) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # Printrboard (AT90USB1286) else ifeq ($(HARDWARE_MOTHERBOARD),1701) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # Printrboard Revision F (AT90USB1286) else ifeq ($(HARDWARE_MOTHERBOARD),1702) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # Brainwave (AT90USB646) else ifeq ($(HARDWARE_MOTHERBOARD),1703) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb646 + PROG_MCU ?= usb646 # Brainwave Pro (AT90USB1286) else ifeq ($(HARDWARE_MOTHERBOARD),1704) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # SAV Mk-I (AT90USB1286) else ifeq ($(HARDWARE_MOTHERBOARD),1705) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # Teensy++2.0 (AT90USB1286) else ifeq ($(HARDWARE_MOTHERBOARD),1706) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # 5DPrint D8 Driver Board else ifeq ($(HARDWARE_MOTHERBOARD),1707) HARDWARE_VARIANT ?= Teensy MCU ?= at90usb1286 + PROG_MCU ?= usb1286 # UltiMachine Archim1 (with DRV8825 drivers) else ifeq ($(HARDWARE_MOTHERBOARD),3023) HARDWARE_VARIANT ?= archim MCPU = cortex-m3 - F_CPU = 84000000L + F_CPU = 84000000 IS_MCU = 0 # UltiMachine Archim2 (with TMC2130 drivers) else ifeq ($(HARDWARE_MOTHERBOARD),3024) HARDWARE_VARIANT ?= archim MCPU = cortex-m3 - F_CPU = 84000000L + F_CPU = 84000000 IS_MCU = 0 endif # Be sure to regenerate speed_lookuptable.h with create_speed_lookuptable.py # if you are setting this to something other than 16MHz +# Do not put the UL suffix, it's done later on. # Set to 16Mhz if not yet set. F_CPU ?= 16000000 @@ -518,7 +579,8 @@ IS_MCU ?= 1 ifeq ($(IS_MCU),1) # Set to arduino, ATmega2560 if not yet set. HARDWARE_VARIANT ?= arduino - MCU ?= atmega2560 + MCU ?= atmega2560 + PROG_MCU ?= m2560 TOOL_PREFIX = avr MCU_FLAGS = -mmcu=$(MCU) @@ -549,27 +611,36 @@ VPATH += $(BUILD_DIR) VPATH += $(HARDWARE_SRC) ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy Sanguino)) -VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/LiquidCrystal/src -VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/SPI + # Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8) + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI + # New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8) + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src endif ifeq ($(IS_MCU),1) VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino + # Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8) VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial + # New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8) VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial/src endif VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidCrystal/src + ifeq ($(LIQUID_TWI2), 1) -VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire -VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility -VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2 + WIRE = 1 + VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2 endif ifeq ($(WIRE), 1) -VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire -VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility + # Old libraries (avr-core 1.6.21 / Arduino < 1.6.8) + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/utility + # New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8) + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src + VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src/utility endif ifeq ($(NEOPIXEL), 1) VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Adafruit_NeoPixel @@ -641,13 +712,23 @@ ifeq ($(WIRE), 1) LIB_CXXSRC += Wire.cpp endif +ifeq ($(TONE), 1) + LIB_CXXSRC += Tone.cpp +endif + ifeq ($(U8GLIB), 1) LIB_CXXSRC += U8glib.cpp - LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c + LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c \ + u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c \ + u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c endif ifeq ($(TMC), 1) - LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp + LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp \ + CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp \ + DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp \ + SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp \ + TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp endif ifeq ($(RELOC_WORKAROUND), 1) @@ -689,17 +770,23 @@ REMOVE = rm -f MV = mv -f # Place -D or -U options here -CDEFS = -DF_CPU=$(F_CPU) ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION) +CDEFS = -DF_CPU=$(F_CPU)UL ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION) CXXDEFS = $(CDEFS) ifeq ($(HARDWARE_VARIANT), Teensy) - CDEFS += -DUSB_SERIAL + CDEFS += -DUSB_SERIAL LIB_SRC += usb.c pins_teensy.c LIB_CXXSRC += usb_api.cpp else ifeq ($(HARDWARE_VARIANT), archim) - CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSB_VID=0x27b1 -DUSB_PID=0x0001 -DUSBCON '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"' - LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp PluggableUSB.cpp USBCore.cpp + CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ + CDEFS += -DUSB_VID=0x27b1 -DUSB_PID=0x0001 -DUSBCON + CDEFS += '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"' + + LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp \ + UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp \ + PluggableUSB.cpp USBCore.cpp + LIB_SRC += cortex_handlers.c iar_calls_sam3.c syscalls_sam3.c dtostrf.c itoa.c ifeq ($(U8GLIB), 1) @@ -725,16 +812,20 @@ CTUNING = -fsigned-char -funsigned-bitfields -fno-exceptions \ ifneq ($(HARDWARE_MOTHERBOARD),) CTUNING += -DMOTHERBOARD=${HARDWARE_MOTHERBOARD} endif + #CEXTRA = -Wa,-adhlns=$(<:.c=.lst) CXXEXTRA = -fno-use-cxa-atexit -fno-threadsafe-statics -fno-rtti CFLAGS := $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CEXTRA) $(CTUNING) $(CSTANDARD) CXXFLAGS := $(CDEFS) $(CINCS) -O$(OPT) $(CXXEXTRA) $(CTUNING) $(CXXSTANDARD) ASFLAGS := $(CDEFS) #ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs + ifeq ($(HARDWARE_VARIANT), archim) LD_PREFIX = -Wl,--gc-sections,-Map,Marlin.ino.map,--cref,--check-sections,--entry=Reset_Handler,--unresolved-symbols=report-all,--warn-common,--warn-section-align LD_SUFFIX = $(LDLIBS) - LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid + + LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty + LDFLAGS += -u _lseek -u _read -u _write -u _exit -u kill -u _getpid else LD_PREFIX = -Wl,--gc-sections,--relax LDFLAGS = -lm @@ -750,7 +841,7 @@ else AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf endif AVRDUDE_FLAGS = -D -C$(AVRDUDE_CONF) \ - -p$(MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \ + -p$(PROG_MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \ -b$(UPLOAD_RATE) # Since Marlin 2.0, the source files may be distributed into several @@ -851,7 +942,7 @@ extcoff: $(TARGET).elf .elf.eep: -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ - --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ + --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ # Create extended listing file from ELF output file. .elf.lss: @@ -865,7 +956,7 @@ extcoff: $(TARGET).elf $(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h $(Pecho) " CXX $@" - $P $(CC) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX) + $P $(CXX) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX) # Object files that were found in "src" will be stored in $(BUILD_DIR) # in directories that mirror the structure of "src" diff --git a/buildroot/share/cmake/CMakeLists.txt b/buildroot/share/cmake/CMakeLists.txt index 1308f8bf9753..9d3f24f990aa 100644 --- a/buildroot/share/cmake/CMakeLists.txt +++ b/buildroot/share/cmake/CMakeLists.txt @@ -47,8 +47,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/marlin-cma # cmake .. -DARDUINO_SDK_PATH="/path/to/arduino-1.x.x" # #====================================================================# #set(ARDUINO_SDK_PATH ${CMAKE_CURRENT_LIST_DIR}/arduino-1.6.8) -#set(ARDUINO_SDK_PATH /home/tom/git/BigBox-Dual-Marlin/ArduinoAddons/Arduino_1.6.x) -#set(ARDUINO_SDK_PATH /home/tom/test/arduino-1.6.11) +#set(ARDUINO_SDK_PATH /Applications/Arduino.app/Contents/Java) +#set(ARDUINO_SDK_PATH $HOME/ArduinoAddons/Arduino_1.6.x) #====================================================================# # Set included cmake files # #====================================================================# @@ -96,8 +96,8 @@ setup_motherboard(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/../../../Marlin) # Include Marlin.ino to compile libs not included in *.cpp files # #====================================================================# -file(GLOB SOURCES "../../../src/*.cpp") -set(${PROJECT_NAME}_SRCS "${SOURCES};../../../src/Marlin.ino") +file(GLOB_RECURSE SOURCES "../../../Marlin/*.cpp") +set(${PROJECT_NAME}_SRCS "${SOURCES};../../../Marlin/Marlin.ino") #====================================================================# # Define the port for uploading code to the Arduino # From 3fca19fbab92766f57f27b13a76af711b661b843 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 9 Oct 2020 00:14:12 +0000 Subject: [PATCH 224/277] [cron] Bump distribution date (2020-10-09) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 951521db5d17..7a0242b2bc16 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-08" + #define STRING_DISTRIBUTION_DATE "2020-10-09" #endif /** From 78060f55e653b118dd27ab29f71d698720d0fe4c Mon Sep 17 00:00:00 2001 From: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Date: Fri, 9 Oct 2020 09:51:25 +0200 Subject: [PATCH 225/277] Update Italian language (#19654) --- Marlin/src/lcd/language/language_it.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index a7ddb9482021..38fffcb73b8c 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -365,6 +365,7 @@ namespace Language_it { PROGMEM Language_Str MSG_PAUSING = _UxGT("Messa in pausa..."); PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausa stampa"); PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Riprendi stampa"); + PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Host Avvio"); PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Arresta stampa"); PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Stampa Oggetto"); PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancella Oggetto"); @@ -385,10 +386,10 @@ namespace Language_it { PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Scamb. Ritrai mm"); PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ritrai V"); PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Salta mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Scamb. Unretr. mm"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V"); - PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Avanza mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Scamb. Avanza mm"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Avanza V"); + PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Scamb. Avanza V"); PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRitrai"); PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Lunghezza scambio"); PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Extra scambio"); @@ -396,7 +397,7 @@ namespace Language_it { PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Cambio utensile"); PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Risalita Z"); PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Velocità innesco"); - PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Velocità retrazione"); + PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Velocità ritrazione"); PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Parcheggia testa"); PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Recover Speed"); PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Velocità ventola"); @@ -444,6 +445,7 @@ namespace Language_it { PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Offset X sonda"); PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Offset Y sonda"); PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Offset Z sonda"); + PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Muovi ugel.su letto"); PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X"); PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y"); PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z"); @@ -648,4 +650,6 @@ namespace Language_it { PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Timeout riscaldatore"); PROGMEM Language_Str MSG_REHEAT = _UxGT("Riscalda"); PROGMEM Language_Str MSG_REHEATING = _UxGT("Riscaldando..."); + + PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Proc.guid.sonda Z"); } From 7a484959d52f4835d40eddbfc3bf54c51a6b6952 Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Fri, 9 Oct 2020 00:52:06 -0700 Subject: [PATCH 226/277] Fix touch ifndefs (#19661) --- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 08ab5c1f4cb7..8cb06824b409 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -306,13 +306,13 @@ #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -11245 #endif - #ifdef XPT2046_Y_CALIBRATION + #ifndef XPT2046_Y_CALIBRATION #define XPT2046_Y_CALIBRATION 8629 #endif - #ifdef XPT2046_X_OFFSET + #ifndef XPT2046_X_OFFSET #define XPT2046_X_OFFSET 685 #endif - #ifdef XPT2046_Y_OFFSET + #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -285 #endif #endif From 6d9709e20de11d874b567ab24fb02f17163537da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E7=AB=8B=E6=9E=AB?= <49380822+FLYmaker@users.noreply.github.com> Date: Fri, 9 Oct 2020 19:09:27 +0800 Subject: [PATCH 227/277] Support for FLY MINI (#19185) --- Marlin/src/core/boards.h | 1 + Marlin/src/pins/pins.h | 2 + Marlin/src/pins/stm32f1/pins_FLY_MINI.h | 172 ++++++++++++++++++ .../share/PlatformIO/ldscripts/fly_mini.ld | 14 ++ .../share/PlatformIO/scripts/fly_mini.py | 16 ++ .../variants/FLY_F407ZG/PeripheralPins.c | 2 +- platformio.ini | 13 ++ 7 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 Marlin/src/pins/stm32f1/pins_FLY_MINI.h create mode 100644 buildroot/share/PlatformIO/ldscripts/fly_mini.ld create mode 100644 buildroot/share/PlatformIO/scripts/fly_mini.py diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index beb348845dd2..8658c8578554 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -320,6 +320,7 @@ #define BOARD_CREALITY_V4 4034 // Creality v4.x (STM32F103RE) #define BOARD_CREALITY_V427 4035 // Creality v4.2.7 (STM32F103RE) #define BOARD_TRIGORILLA_PRO 4036 // Trigorilla Pro (STM32F103ZET6) +#define BOARD_FLY_MINI 4037 // FLY MINI (STM32F103RCT6) // // ARM Cortex-M4F diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 4aff336d9c88..82364cc54a5c 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -569,6 +569,8 @@ #include "stm32f1/pins_CREALITY_V427.h" // STM32F1 env:STM32F103RET6_creality #elif MB(TRIGORILLA_PRO) #include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro +#elif MB(FLY_MINI) + #include "stm32f1/pins_FLY_MINI.h" // STM32F1 env:FLY_MINI // // ARM Cortex-M4F diff --git a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h new file mode 100644 index 000000000000..fba1d41a94b0 --- /dev/null +++ b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h @@ -0,0 +1,172 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifndef __STM32F1__ + #error "Oops! Select an STM32F1 board in 'Tools > Board.'" +#endif + +#define BOARD_INFO_NAME "FLY_MINI" +#define BOARD_WEBSITE_URL "github.com/FLYmaker" +#define DISABLE_JTAG + +// +// Flash EEPROM Emulation +// +#define FLASH_EEPROM_EMULATION +#define EEPROM_PAGE_SIZE 0x800 // 2KB +#define EEPROM_START_ADDRESS (0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE) // 256K firmware space +#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE + +// +// Servos +// +#define SERVO0_PIN PA8 + +// +// Limit Switches +// +#define X_MIN_PIN PC12 +#define X_MAX_PIN PC11 +#define Y_MIN_PIN PC10 +#define Y_MAX_PIN PA15 +#define Z_MIN_PIN PA14 +#define Z_MAX_PIN PA13 + +// +// Steppers +// +#define X_STEP_PIN PB1 +#define X_DIR_PIN PB2 +#define X_ENABLE_PIN PB10 +#ifndef X_CS_PIN + #define X_CS_PIN PB0 +#endif + +#define Y_STEP_PIN PA2 +#define Y_DIR_PIN PC4 +#define Y_ENABLE_PIN PC5 +#ifndef Y_CS_PIN + #define Y_CS_PIN PA7 +#endif + +#define Z_STEP_PIN PA3 +#define Z_DIR_PIN PA5 +#define Z_ENABLE_PIN PA6 +#ifndef Z_CS_PIN + #define Z_CS_PIN PA4 +#endif + +#define E0_STEP_PIN PA1 +#define E0_DIR_PIN PC3 +#define E0_ENABLE_PIN PA0 +#ifndef E0_CS_PIN + #define E0_CS_PIN PC2 +#endif + +#if ENABLED(TMC_USE_SW_SPI) + #ifndef TMC_SW_MOSI + #define TMC_SW_MOSI PB15 + #endif + #ifndef TMC_SW_MISO + #define TMC_SW_MISO PB14 + #endif + #ifndef TMC_SW_SCK + #define TMC_SW_SCK PB13 + #endif +#endif + +#if HAS_TMC_UART + // + // Software serial + // + #define X_SERIAL_TX_PIN PB0 + #define X_SERIAL_RX_PIN PB0 + #define Y_SERIAL_TX_PIN PA7 + #define Y_SERIAL_RX_PIN PA7 + #define Z_SERIAL_TX_PIN PA4 + #define Z_SERIAL_RX_PIN PA4 + #define E0_SERIAL_TX_PIN PC2 + #define E0_SERIAL_RX_PIN PC2 +#endif + +// +// Heaters / Fans +// +#define HEATER_0_PIN PC6 +#define HEATER_BED_PIN PC7 +#ifndef FAN_PIN + #define FAN_PIN PC8 +#endif +#define FAN1_PIN PC9 + +// +// Temperature Sensors +// +#define TEMP_BED_PIN PC0 // Analog Input +#define TEMP_0_PIN PC1 // Analog Input + +// +// LCD Pins +// + +// +// LCD / Controller +// +#define ENABLE_SPI2 +#define SS_PIN PB12 +#define SCK_PIN PB13 +#define MISO_PIN PB14 +#define MOSI_PIN PB15 + +#define SDSS SS_PIN +#define SD_DETECT_PIN PB11 + +#define BEEPER_PIN PC14 + +#define LCD_PINS_RS PB8 +#define LCD_PINS_ENABLE PB9 +#define LCD_PINS_D4 PB7 +#define LCD_PINS_D5 PB6 +#define LCD_PINS_D6 PB5 +#define LCD_PINS_D7 PB4 + +#define BTN_EN1 PD2 +#define BTN_EN2 PB3 +#define BTN_ENC PC13 + +// +// Filament runout +// + +// +// ST7920 Delays +// +#ifndef ST7920_DELAY_1 + #define ST7920_DELAY_1 DELAY_NS(96) +#endif +#ifndef ST7920_DELAY_2 + #define ST7920_DELAY_2 DELAY_NS(48) +#endif +#ifndef ST7920_DELAY_3 + #define ST7920_DELAY_3 DELAY_NS(715) +#endif diff --git a/buildroot/share/PlatformIO/ldscripts/fly_mini.ld b/buildroot/share/PlatformIO/ldscripts/fly_mini.ld new file mode 100644 index 000000000000..2404e7cac9bc --- /dev/null +++ b/buildroot/share/PlatformIO/ldscripts/fly_mini.ld @@ -0,0 +1,14 @@ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 48K - 40 + rom (rx) : ORIGIN = 0x08005000, LENGTH = 256K - 20K - 4K +} + +/* Provide memory region aliases for common.inc */ +REGION_ALIAS("REGION_TEXT", rom); +REGION_ALIAS("REGION_DATA", ram); +REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); + +/* Let common.inc handle the real work. */ +INCLUDE common.inc diff --git a/buildroot/share/PlatformIO/scripts/fly_mini.py b/buildroot/share/PlatformIO/scripts/fly_mini.py new file mode 100644 index 000000000000..34d132958d6a --- /dev/null +++ b/buildroot/share/PlatformIO/scripts/fly_mini.py @@ -0,0 +1,16 @@ +import os +Import("env") + +# Relocate firmware from 0x08000000 to 0x08005000 +for define in env['CPPDEFINES']: + if define[0] == "VECT_TAB_ADDR": + env['CPPDEFINES'].remove(define) +env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000")) + +custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fly_mini.ld") +for i, flag in enumerate(env["LINKFLAGS"]): + if "-Wl,-T" in flag: + env["LINKFLAGS"][i] = "-Wl,-T" + custom_ld_script + elif flag == "-T": + env["LINKFLAGS"][i + 1] = custom_ld_script + diff --git a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c index bd2a47062c19..f0f2c4b80c43 100644 --- a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c +++ b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c @@ -144,7 +144,7 @@ WEAK const PinMap PinMap_PWM[] = { {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 //{PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + //{PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 diff --git a/platformio.ini b/platformio.ini index ac7d9804d85a..cf4dfc932aef 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1125,6 +1125,19 @@ build_flags = ${common_stm32.build_flags} extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py +# +# FLY MINI(stm32f103rct6) +# +[env:FLY_MINI] +platform = ${common_stm32f1.platform} +extends = common_stm32f1 +board = genericSTM32F103RC +platform_packages = tool-stm32duino +extra_scripts = ${common.extra_scripts} + buildroot/share/PlatformIO/scripts/fly_mini.py +build_flags = ${common_stm32f1.build_flags} + -DDEBUG_LEVEL=0 -DSS_TIMER=4 + # # FYSETC S6 (STM32F446VET6 ARM Cortex-M4) # From 59b6b32e6e8b3746843ddc94390b9e6c80d993f3 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Fri, 9 Oct 2020 08:25:23 -0300 Subject: [PATCH 228/277] Support for Debug Codes - Dnnn (#19225) Co-authored-by: Scott Lahteine --- Marlin/src/HAL/AVR/HAL.h | 2 + Marlin/src/HAL/DUE/HAL.h | 2 + Marlin/src/HAL/ESP32/HAL.h | 2 + Marlin/src/HAL/LINUX/HAL.h | 2 + Marlin/src/HAL/LPC1768/HAL.h | 2 + Marlin/src/HAL/SAMD51/HAL.h | 2 + Marlin/src/HAL/STM32/HAL.h | 2 + Marlin/src/HAL/STM32F1/HAL.h | 2 + Marlin/src/HAL/STM32_F4_F7/HAL.h | 2 + Marlin/src/HAL/TEENSY31_32/HAL.h | 2 + Marlin/src/HAL/TEENSY35_36/HAL.h | 2 + Marlin/src/core/macros.h | 1 + Marlin/src/feature/e_parser.h | 11 +- Marlin/src/gcode/control/T.cpp | 2 +- Marlin/src/gcode/gcode.cpp | 4 + Marlin/src/gcode/gcode.h | 5 +- Marlin/src/gcode/gcode_d.cpp | 173 +++++++++++++++++++++++++++++++ Marlin/src/gcode/parser.cpp | 49 ++++----- Marlin/src/gcode/parser.h | 34 +++++- Marlin/src/lcd/ultralcd.cpp | 6 +- 20 files changed, 269 insertions(+), 38 deletions(-) create mode 100644 Marlin/src/gcode/gcode_d.cpp diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index b606d0c231b4..ce15ed29fb3a 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -120,6 +120,8 @@ void HAL_init(); inline void HAL_clear_reset_source() { MCUSR = 0; } inline uint8_t HAL_get_reset_source() { return MCUSR; } +inline void HAL_reboot() {} // reboot the board or restart the bootloader + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" extern "C" { diff --git a/Marlin/src/HAL/DUE/HAL.h b/Marlin/src/HAL/DUE/HAL.h index dbb84e2ac717..f0650e6df805 100644 --- a/Marlin/src/HAL/DUE/HAL.h +++ b/Marlin/src/HAL/DUE/HAL.h @@ -105,6 +105,8 @@ void sei(); // Enable interrupts void HAL_clear_reset_source(); // clear reset reason uint8_t HAL_get_reset_source(); // get reset reason +inline void HAL_reboot() {} // reboot the board or restart the bootloader + // // ADC // diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index aa3bcc775d1f..81a9a0e59d20 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -96,6 +96,8 @@ void HAL_clear_reset_source(); // reset reason uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + void _delay_ms(int delay); #pragma GCC diagnostic push diff --git a/Marlin/src/HAL/LINUX/HAL.h b/Marlin/src/HAL/LINUX/HAL.h index 778ba2db4d71..2e545e03d6f3 100644 --- a/Marlin/src/HAL/LINUX/HAL.h +++ b/Marlin/src/HAL/LINUX/HAL.h @@ -101,6 +101,8 @@ uint16_t HAL_adc_get_result(); inline void HAL_clear_reset_source(void) {} inline uint8_t HAL_get_reset_source(void) { return RST_POWER_ON; } +inline void HAL_reboot() {} // reboot the board or restart the bootloader + /* ---------------- Delay in cycles */ FORCE_INLINE static void DELAY_CYCLES(uint64_t x) { Clock::delayCycles(x); diff --git a/Marlin/src/HAL/LPC1768/HAL.h b/Marlin/src/HAL/LPC1768/HAL.h index 3118aed1b246..cb637e715dda 100644 --- a/Marlin/src/HAL/LPC1768/HAL.h +++ b/Marlin/src/HAL/LPC1768/HAL.h @@ -200,6 +200,8 @@ void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size=255, void HAL_clear_reset_source(void); uint8_t HAL_get_reset_source(void); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + // Add strcmp_P if missing #ifndef strcmp_P #define strcmp_P(a, b) strcmp((a), (b)) diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index 7fd826a1b6a4..abc6c04a693b 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -88,6 +88,8 @@ typedef int8_t pin_t; void HAL_clear_reset_source(); // clear reset reason uint8_t HAL_get_reset_source(); // get reset reason +inline void HAL_reboot() {} // reboot the board or restart the bootloader + // // ADC // diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index 37919102ec1f..a1f7515d6b98 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -134,6 +134,8 @@ void HAL_clear_reset_source(); // Reset reason uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + void _delay_ms(const int delay); extern "C" char* _sbrk(int incr); diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index 5c03593eb088..c10dea0eafd1 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -185,6 +185,8 @@ void HAL_clear_reset_source(); // Reset reason uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + void _delay_ms(const int delay); #pragma GCC diagnostic push diff --git a/Marlin/src/HAL/STM32_F4_F7/HAL.h b/Marlin/src/HAL/STM32_F4_F7/HAL.h index 88e48f0fa09d..00a65de7926f 100644 --- a/Marlin/src/HAL/STM32_F4_F7/HAL.h +++ b/Marlin/src/HAL/STM32_F4_F7/HAL.h @@ -142,6 +142,8 @@ void HAL_clear_reset_source(); // Reset reason uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + void _delay_ms(const int delay); /* diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.h b/Marlin/src/HAL/TEENSY31_32/HAL.h index b434b9de7643..5fc65680d3fb 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/TEENSY31_32/HAL.h @@ -93,6 +93,8 @@ void HAL_clear_reset_source(); // Get the reason for the reset uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } #pragma GCC diagnostic push diff --git a/Marlin/src/HAL/TEENSY35_36/HAL.h b/Marlin/src/HAL/TEENSY35_36/HAL.h index f454e7af5121..30db40dfac41 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/TEENSY35_36/HAL.h @@ -99,6 +99,8 @@ void HAL_clear_reset_source(); // Reset reason uint8_t HAL_get_reset_source(); +inline void HAL_reboot() {} // reboot the board or restart the bootloader + FORCE_INLINE void _delay_ms(const int delay_ms) { delay(delay_ms); } #pragma GCC diagnostic push diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index 5fc1081019b5..72644b195ccd 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -215,6 +215,7 @@ #define WITHIN(N,L,H) ((N) >= (L) && (N) <= (H)) #define NUMERIC(a) WITHIN(a, '0', '9') #define DECIMAL(a) (NUMERIC(a) || a == '.') +#define HEXCHR(a) (NUMERIC(a) ? (a) - '0' : WITHIN(a, 'a', 'f') ? ((a) - 'a' + 10) : WITHIN(a, 'A', 'F') ? ((a) - 'A' + 10) : -1) #define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-' || (a) == '+') #define DECIMAL_SIGNED(a) (DECIMAL(a) || (a) == '-' || (a) == '+') #define COUNT(a) (sizeof(a)/sizeof(*a)) diff --git a/Marlin/src/feature/e_parser.h b/Marlin/src/feature/e_parser.h index 8d11463ecdc2..085cbd4eab0e 100644 --- a/Marlin/src/feature/e_parser.h +++ b/Marlin/src/feature/e_parser.h @@ -88,10 +88,8 @@ class EmergencyParser { case EP_N: switch (c) { - case '0': case '1': case '2': - case '3': case '4': case '5': - case '6': case '7': case '8': - case '9': case '-': case ' ': break; + case '0' ... '9': + case '-': case ' ': break; case 'M': state = EP_M; break; default: state = EP_IGNORE; } @@ -153,10 +151,7 @@ class EmergencyParser { case EP_M876S: switch (c) { case ' ': break; - case '0': case '1': case '2': - case '3': case '4': case '5': - case '6': case '7': case '8': - case '9': + case '0' ... '9': state = EP_M876SN; M876_reason = (uint8_t)(c - '0'); break; diff --git a/Marlin/src/gcode/control/T.cpp b/Marlin/src/gcode/control/T.cpp index 729f7f222341..d95e60ff8d70 100644 --- a/Marlin/src/gcode/control/T.cpp +++ b/Marlin/src/gcode/control/T.cpp @@ -46,7 +46,7 @@ * Tx Same as T?, but nozzle doesn't have to be preheated. Tc requires a preheated nozzle to finish filament load. * Tc Load to nozzle after filament was prepared by Tc and nozzle is already heated. */ -void GcodeSuite::T(const uint8_t tool_index) { +void GcodeSuite::T(const int8_t tool_index) { DEBUG_SECTION(log_T, "T", DEBUGGING(LEVELING)); if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("...(", tool_index, ")"); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 1de54259beb7..3d70b7c85c22 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -923,6 +923,10 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 'T': T(parser.codenum); break; // Tn: Tool Change + #if ENABLED(MARLIN_DEV_MODE) + case 'D': D(parser.codenum); break; // Dn: Debug codes + #endif + default: #if ENABLED(WIFI_CUSTOM_COMMAND) if (wifi_custom_command(parser.command_ptr)) break; diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 026083bcfc7b..f21b7f89b1e5 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -285,6 +285,7 @@ * M995 - Touch screen calibration for TFT display * M997 - Perform in-application firmware update * M999 - Restart after being stopped by error + * D... - Custom Development G-code. Add hooks to 'gcode_D.cpp' for developers to test features. (Requires MARLIN_DEV_MODE) * * "T" Codes * @@ -408,6 +409,8 @@ class GcodeSuite { private: + TERN_(MARLIN_DEV_MODE, static void D(const int16_t dcode)); + static void G0_G1(TERN_(HAS_FAST_MOVES, const bool fast_move=false)); TERN_(ARC_SUPPORT, static void G2_G3(const bool clockwise)); @@ -882,7 +885,7 @@ class GcodeSuite { TERN_(CONTROLLER_FAN_EDITABLE, static void M710()); - static void T(const uint8_t tool_index); + static void T(const int8_t tool_index); }; diff --git a/Marlin/src/gcode/gcode_d.cpp b/Marlin/src/gcode/gcode_d.cpp new file mode 100644 index 000000000000..4bc3b6c6c377 --- /dev/null +++ b/Marlin/src/gcode/gcode_d.cpp @@ -0,0 +1,173 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#include "../inc/MarlinConfigPre.h" + +#if ENABLED(MARLIN_DEV_MODE) + + #include "gcode.h" + #include "../module/settings.h" + #include "../libs/hex_print.h" + #include "../HAL/shared/eeprom_if.h" + + /** + * Dn: G-code for development and testing + * + * See https://reprap.org/wiki/G-code#D:_Debug_codes + * + * Put whatever else you need here to test ongoing development. + */ + void GcodeSuite::D(const int16_t dcode) { + switch (dcode) { + + case -1: + for (;;); // forever + + case 0: + HAL_reboot(); + break; + + case 1: { + // Zero or pattern-fill the EEPROM data + #if ENABLED(EEPROM_SETTINGS) + persistentStore.access_start(); + size_t total = persistentStore.capacity(); + int pos = 0; + const uint8_t value = 0x0; + while(total--) { + persistentStore.write_data(pos, &value, 1); + } + persistentStore.access_finish(); + #else + settings.reset(); + settings.save(); + #endif + HAL_reboot(); + } break; + + case 2: { // D2 Read / Write SRAM + #define SRAM_SIZE 8192 + uint8_t *pointer = parser.hex_adr_val('A'); + uint16_t len = parser.ushortval('C', 1); + uintptr_t addr = (uintptr_t)pointer; + NOMORE(addr, (size_t)(SRAM_SIZE - 1)); + NOMORE(len, SRAM_SIZE - addr); + if (parser.seenval('X')) { + // Write the hex bytes after the X + uint16_t val = parser.hex_val('X'); + while (len--) { + *pointer = val; + pointer++; + } + } + else { + while (len--) print_hex_byte(*(pointer++)); + SERIAL_EOL(); + } + } break; + + case 3: { // D3 Read / Write EEPROM + uint8_t *pointer = parser.hex_adr_val('A'); + uint16_t len = parser.ushortval('C', 1); + uintptr_t addr = (uintptr_t)pointer; + #ifndef MARLIN_EEPROM_SIZE + #define MARLIN_EEPROM_SIZE size_t(E2END + 1) + #endif + NOMORE(addr, (size_t)(MARLIN_EEPROM_SIZE - 1)); + NOMORE(len, MARLIN_EEPROM_SIZE - addr); + if (parser.seenval('X')) { + uint16_t val = parser.hex_val('X'); + #if ENABLED(EEPROM_SETTINGS) + persistentStore.access_start(); + while(len--) { + int pos = 0; + persistentStore.write_data(pos, (uint8_t *)&val, sizeof(val)); + } + SERIAL_EOL(); + persistentStore.access_finish(); + #else + SERIAL_ECHOLN("NO EEPROM"); + #endif + } + else { + while (len--) { + // Read bytes from EEPROM + #if ENABLED(EEPROM_SETTINGS) + persistentStore.access_start(); + uint8_t val; + while(len--) { + int pos = 0; + if (!persistentStore.read_data(pos, (uint8_t *)&val, sizeof(val))) { + print_hex_byte(val); + } + } + SERIAL_EOL(); + persistentStore.access_finish(); + #else + SERIAL_ECHOLN("NO EEPROM"); + #endif + } + SERIAL_EOL(); + } + } break; + + case 4: { // D4 Read / Write PIN + // const uint8_t pin = parser.byteval('P'); + // const bool is_out = parser.boolval('F'), + // val = parser.byteval('V', LOW); + if (parser.seenval('X')) { + // TODO: Write the hex bytes after the X + //while (len--) { + //} + } + else { + // while (len--) { + // TODO: Read bytes from EEPROM + // print_hex_byte(eeprom_read_byte(*(adr++)); + // } + SERIAL_EOL(); + } + } break; + + case 5: { // D4 Read / Write onboard Flash + #define FLASH_SIZE 1024 + uint8_t *pointer = parser.hex_adr_val('A'); + uint16_t len = parser.ushortval('C', 1); + uintptr_t addr = (uintptr_t)pointer; + NOMORE(addr, (size_t)(FLASH_SIZE - 1)); + NOMORE(len, FLASH_SIZE - addr); + if (parser.seenval('X')) { + // TODO: Write the hex bytes after the X + //while (len--) { + //} + } + else { + // while (len--) { + // TODO: Read bytes from EEPROM + // print_hex_byte(eeprom_read_byte(adr++)); + // } + SERIAL_EOL(); + } + } break; + } + } + +#endif diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index b3172e7f6b42..9c5085b97eca 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -147,22 +147,15 @@ void GCodeParser::parse(char *p) { starpos[1] = '\0'; } - #if ENABLED(GCODE_MOTION_MODES) - #if ENABLED(ARC_SUPPORT) - #define GTOP 3 - #else - #define GTOP 1 - #endif + #if ANY(MARLIN_DEV_MODE, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD) + #define SIGNED_CODENUM 1 #endif // Bail if the letter is not G, M, or T // (or a valid parameter for the current motion mode) switch (letter) { - case 'G': case 'M': case 'T': - #if ENABLED(CANCEL_OBJECTS) - case 'O': - #endif + case 'G': case 'M': case 'T': TERN_(MARLIN_DEV_MODE, case 'D':) // Skip spaces to get the numeric part while (*p == ' ') p++; @@ -178,22 +171,33 @@ void GCodeParser::parse(char *p) { #endif // Bail if there's no command code number - if (!NUMERIC(*p)) return; + if (!TERN(SIGNED_CODENUM, NUMERIC_SIGNED(*p), NUMERIC(*p))) return; // Save the command letter at this point // A '?' signifies an unknown command command_letter = letter; - // Get the code number - integer digits only - codenum = 0; - do { codenum *= 10, codenum += *p++ - '0'; } while (NUMERIC(*p)); + { + #if ENABLED(SIGNED_CODENUM) + int sign = 1; // Allow for a negative code like D-1 or T-1 + if (*p == '-') { sign = -1; ++p; } + #endif + + // Get the code number - integer digits only + codenum = 0; + + do { codenum = codenum * 10 + *p++ - '0'; } while (NUMERIC(*p)); + + // Apply the sign, if any + TERN_(SIGNED_CODENUM, codenum *= sign); + } // Allow for decimal point in command #if ENABLED(USE_GCODE_SUBCODES) if (*p == '.') { p++; while (NUMERIC(*p)) - subcode *= 10, subcode += *p++ - '0'; + subcode = subcode * 10 + *p++ - '0'; } #endif @@ -201,11 +205,8 @@ void GCodeParser::parse(char *p) { while (*p == ' ') p++; #if ENABLED(GCODE_MOTION_MODES) - if (letter == 'G' && (codenum <= GTOP || codenum == 5 - #if ENABLED(G38_PROBE_TARGET) - || codenum == 38 - #endif - ) + if (letter == 'G' + && (codenum <= TERN(ARC_SUPPORT, 3, 1) || codenum == 5 || TERN0(G38_PROBE_TARGET, codenum == 38)) ) { motion_mode_codenum = codenum; TERN_(USE_GCODE_SUBCODES, motion_mode_subcode = subcode); @@ -216,12 +217,12 @@ void GCodeParser::parse(char *p) { #if ENABLED(GCODE_MOTION_MODES) #if ENABLED(ARC_SUPPORT) - case 'I': case 'J': case 'R': + case 'I' ... 'J': case 'R': if (motion_mode_codenum != 2 && motion_mode_codenum != 3) return; #endif - case 'P': case 'Q': + case 'P' ... 'Q': if (motion_mode_codenum != 5) return; - case 'X': case 'Y': case 'Z': case 'E': case 'F': + case 'X' ... 'Z': case 'E' ... 'F': if (motion_mode_codenum < 0) return; command_letter = 'G'; codenum = motion_mode_codenum; @@ -247,7 +248,7 @@ void GCodeParser::parse(char *p) { #if ENABLED(EXPECTED_PRINTER_CHECK) case 16: #endif - case 23: case 28: case 30: case 33: case 117: case 118: case 928: + case 23: case 28: case 30: case 117 ... 118: case 928: string_arg = unescape_string(p); return; default: break; diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index eb614c33b4c9..42b85ca27195 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -114,6 +114,11 @@ class GCodeParser { return valid_signless(p) || ((p[0] == '-' || p[0] == '+') && valid_signless(&p[1])); // [-+]?.?[0-9] } + FORCE_INLINE static bool valid_number(const char * const p) { + // TODO: With MARLIN_DEV_MODE allow HEX values starting with "x" + return valid_float(p); + } + #if ENABLED(FASTER_GCODE_PARSER) FORCE_INLINE static bool valid_int(const char * const p) { @@ -142,8 +147,12 @@ class GCodeParser { if (ind >= COUNT(param)) return false; // Only A-Z const bool b = TEST32(codebits, ind); if (b) { - char * const ptr = command_ptr + param[ind]; - value_ptr = param[ind] && valid_float(ptr) ? ptr : nullptr; + if (param[ind]) { + char * const ptr = command_ptr + param[ind]; + value_ptr = valid_number(ptr) ? ptr : nullptr; + } + else + value_ptr = nullptr; } return b; } @@ -198,7 +207,7 @@ class GCodeParser { static inline bool seen(const char c) { char *p = strgchr(command_args, c); const bool b = !!p; - if (b) value_ptr = valid_float(&p[1]) ? &p[1] : nullptr; + if (b) value_ptr = valid_number(&p[1]) ? &p[1] : nullptr; return b; } @@ -401,6 +410,25 @@ class GCodeParser { static inline float linearval(const char c, const float dval=0) { return seenval(c) ? value_linear_units() : dval; } static inline float celsiusval(const char c, const float dval=0) { return seenval(c) ? value_celsius() : dval; } + #if ENABLED(MARLIN_DEV_MODE) + + static inline uint8_t* hex_adr_val(const char c, uint8_t * const dval=nullptr) { + if (!seen(c) || *value_ptr != 'x') return dval; + uint8_t *out = nullptr; + for (char *vp = value_ptr + 1; HEXCHR(*vp) >= 0; vp++) + out = (uint8_t*)((uintptr_t(out) << 8) | HEXCHR(*vp)); + return out; + } + + static inline uint16_t hex_val(const char c, uint16_t const dval=0) { + if (!seen(c) || *value_ptr != 'x') return dval; + uint16_t out = 0; + for (char *vp = value_ptr + 1; HEXCHR(*vp) >= 0; vp++) + out = ((out) << 8) | HEXCHR(*vp); + return out; + } + + #endif }; extern GCodeParser parser; diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index de534e40236b..92dd63389fb6 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -123,11 +123,15 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #include "lcdprint.h" #include "../sd/cardreader.h" -#include "../module/settings.h" + #include "../module/temperature.h" #include "../module/planner.h" #include "../module/motion.h" +#if HAS_LCD_MENU + #include "../module/settings.h" +#endif + #if ENABLED(AUTO_BED_LEVELING_UBL) #include "../feature/bedlevel/bedlevel.h" #endif From 454f9d631986b19add31ea172552e5567bac856e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 9 Oct 2020 16:42:23 -0500 Subject: [PATCH 229/277] Optional `M42`/`M226`; Add more features filters (#19664) --- Marlin/Configuration_adv.h | 5 ++ Marlin/src/gcode/control/M226.cpp | 6 +++ Marlin/src/gcode/control/M42.cpp | 7 ++- Marlin/src/gcode/gcode.cpp | 9 +++- Marlin/src/gcode/gcode.h | 9 ++-- Marlin/src/inc/MarlinConfig.h | 32 ++++++++---- Marlin/src/inc/MarlinConfigPre.h | 14 ++++-- Marlin/src/pins/pins.h | 2 +- .../PlatformIO/scripts/common-dependencies.h | 47 +++-------------- .../PlatformIO/scripts/common-dependencies.py | 8 ++- platformio.ini | 50 ++++++++++++++----- 11 files changed, 111 insertions(+), 78 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 8cc71ceb8632..59a1813610ff 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3559,6 +3559,11 @@ // //#define M100_FREE_MEMORY_WATCHER +// +// M42 - Set pin states +// +//#define DIRECT_PIN_CONTROL + // // M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe // diff --git a/Marlin/src/gcode/control/M226.cpp b/Marlin/src/gcode/control/M226.cpp index 52e0e57a87f0..ad717e614d8a 100644 --- a/Marlin/src/gcode/control/M226.cpp +++ b/Marlin/src/gcode/control/M226.cpp @@ -20,6 +20,10 @@ * */ +#include "../../inc/MarlinConfig.h" + +#if ENABLED(DIRECT_PIN_CONTROL) + #include "../gcode.h" #include "../../MarlinCore.h" // for pin_is_protected and idle() #include "../../module/stepper.h" @@ -50,3 +54,5 @@ void GcodeSuite::M226() { } // pin_state -1 0 1 && pin > -1 } // parser.seen('P') } + +#endif // DIRECT_PIN_CONTROL diff --git a/Marlin/src/gcode/control/M42.cpp b/Marlin/src/gcode/control/M42.cpp index c88113db49df..c635c06ec63b 100644 --- a/Marlin/src/gcode/control/M42.cpp +++ b/Marlin/src/gcode/control/M42.cpp @@ -20,9 +20,12 @@ * */ +#include "../../inc/MarlinConfig.h" + +#if ENABLED(DIRECT_PIN_CONTROL) + #include "../gcode.h" #include "../../MarlinCore.h" // for pin_is_protected -#include "../../inc/MarlinConfig.h" #if HAS_FAN #include "../../module/temperature.h" @@ -96,3 +99,5 @@ void GcodeSuite::M42() { extDigitalWrite(pin, pin_status); analogWrite(pin, pin_status); } + +#endif // DIRECT_PIN_CONTROL diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 3d70b7c85c22..cbf62e0fcf97 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -445,7 +445,10 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #endif // SDSUPPORT case 31: M31(); break; // M31: Report time since the start of SD print or last M109 - case 42: M42(); break; // M42: Change pin state + + #if ENABLED(DIRECT_PIN_CONTROL) + case 42: M42(); break; // M42: Change pin state + #endif #if ENABLED(PINS_DEBUGGING) case 43: M43(); break; // M43: Read pin state @@ -620,7 +623,9 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 221: M221(); break; // M221: Set Flow Percentage #endif - case 226: M226(); break; // M226: Wait until a pin reaches a state + #if ENABLED(DIRECT_PIN_CONTROL) + case 226: M226(); break; // M226: Wait until a pin reaches a state + #endif #if HAS_SERVOS case 280: M280(); break; // M280: Set servo position absolute diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index f21b7f89b1e5..73a372781370 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -109,7 +109,7 @@ * The '#' is necessary when calling from within sd files, as it stops buffer prereading * M33 - Get the longname version of a path. (Requires LONG_FILENAME_HOST_SUPPORT) * M34 - Set SD Card sorting options. (Requires SDCARD_SORT_ALPHA) - * M42 - Change pin status via gcode: M42 P S. LED pin assumed if P is omitted. + * M42 - Change pin status via gcode: M42 P S. LED pin assumed if P is omitted. (Requires DIRECT_PIN_CONTROL) * M43 - Display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins * M48 - Measure Z Probe repeatability: M48 P X Y V E L S. (Requires Z_MIN_PROBE_REPEATABILITY_TEST) * M73 - Set the progress percentage. (Requires LCD_SET_PROGRESS_MANUALLY) @@ -183,7 +183,7 @@ * M220 - Set Feedrate Percentage: "M220 S" (i.e., "FR" on the LCD) * Use "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it. (Requires PRUSA_MMU2) * M221 - Set Flow Percentage: "M221 S" - * M226 - Wait until a pin is in a given state: "M226 P S" + * M226 - Wait until a pin is in a given state: "M226 P S" (Requires DIRECT_PIN_CONTROL) * M240 - Trigger a camera to take a photograph. (Requires PHOTO_GCODE) * M250 - Set LCD contrast: "M250 C" (0-63). (Requires LCD support) * M260 - i2c Send Data (Requires EXPERIMENTAL_I2CBUS) @@ -544,8 +544,7 @@ class GcodeSuite { #endif #endif - static void M42(); - + TERN_(DIRECT_PIN_CONTROL, static void M42()); TERN_(PINS_DEBUGGING, static void M43()); TERN_(Z_MIN_PROBE_REPEATABILITY_TEST, static void M48()); @@ -673,7 +672,7 @@ class GcodeSuite { static void M221(); #endif - static void M226(); + TERN_(DIRECT_PIN_CONTROL, static void M226()); TERN_(PHOTO_GCODE, static void M240()); diff --git a/Marlin/src/inc/MarlinConfig.h b/Marlin/src/inc/MarlinConfig.h index d1184cff5f25..2eafa2b4171f 100644 --- a/Marlin/src/inc/MarlinConfig.h +++ b/Marlin/src/inc/MarlinConfig.h @@ -27,21 +27,31 @@ #include "MarlinConfigPre.h" -#include "../HAL/HAL.h" +#ifndef __MARLIN_DEPS__ + #include "../HAL/HAL.h" +#endif #include "../pins/pins.h" -#include HAL_PATH(../HAL, timers.h) -#include HAL_PATH(../HAL, spi_pins.h) + +#ifndef __MARLIN_DEPS__ + #include HAL_PATH(../HAL, timers.h) + #include HAL_PATH(../HAL, spi_pins.h) +#endif #include "Conditionals_post.h" -#include HAL_PATH(../HAL, inc/Conditionals_post.h) -#include "../core/types.h" // Ahead of sanity-checks +#ifndef __MARLIN_DEPS__ + + #include HAL_PATH(../HAL, inc/Conditionals_post.h) + + #include "../core/types.h" // Ahead of sanity-checks + + #include "SanityCheck.h" + #include HAL_PATH(../HAL, inc/SanityCheck.h) -#include "SanityCheck.h" -#include HAL_PATH(../HAL, inc/SanityCheck.h) + // Include all core headers + #include "../core/language.h" + #include "../core/utility.h" + #include "../core/serial.h" -// Include all core headers -#include "../core/language.h" -#include "../core/utility.h" -#include "../core/serial.h" +#endif diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h index 1b15d4981730..dfa0adba1bd7 100644 --- a/Marlin/src/inc/MarlinConfigPre.h +++ b/Marlin/src/inc/MarlinConfigPre.h @@ -30,7 +30,9 @@ // #include -#include "../HAL/platforms.h" +#ifndef __MARLIN_DEPS__ + #include "../HAL/platforms.h" +#endif #include "../core/boards.h" #include "../core/macros.h" @@ -45,10 +47,16 @@ #include "Version.h" #include "Conditionals_LCD.h" -#include HAL_PATH(../HAL, inc/Conditionals_LCD.h) + +#ifndef __MARLIN_DEPS__ + #include HAL_PATH(../HAL, inc/Conditionals_LCD.h) +#endif #include "../core/drivers.h" #include "../../Configuration_adv.h" #include "Conditionals_adv.h" -#include HAL_PATH(../HAL, inc/Conditionals_adv.h) + +#ifndef __MARLIN_DEPS__ + #include HAL_PATH(../HAL, inc/Conditionals_adv.h) +#endif diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 82364cc54a5c..a7888e54d4a6 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -52,7 +52,7 @@ #define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)) // Test the target within the included pins file -#ifdef __MARLIN_PREBUILD__ +#ifdef __MARLIN_DEPS__ #define NOT_TARGET(V...) 0 #else #define NOT_TARGET(V...) NONE(V) diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index 02a4502e3fae..c96907bb3ff1 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -19,7 +19,6 @@ * along with this program. If not, see . * */ -#pragma once /** * The purpose of this file is just include Marlin Configuration files, @@ -27,44 +26,9 @@ * Used by common-dependencies.py */ -#include +#define NUM_SERIAL 1 // Normally provided by HAL/HAL.h -// Include platform headers -//#include "../../../../Marlin/src/HAL/platforms.h" - -#include "../../../../Marlin/src/core/boards.h" -#include "../../../../Marlin/src/core/macros.h" -#include "../../../../Marlin/Configuration.h" - -#include "../../../../Marlin/Version.h" - -#include "../../../../Marlin/src/inc/Conditionals_LCD.h" - -#ifdef HAL_PATH - #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_LCD.h) -#endif - -#include "../../../../Marlin/src/core/drivers.h" -#include "../../../../Marlin/Configuration_adv.h" - -#include "../../../../Marlin/src/inc/Conditionals_adv.h" - -#ifdef HAL_PATH - #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_adv.h) -#endif - -//#include "../../../../Marlin/src/pins/pins.h" - -#ifdef HAL_PATH - #include HAL_PATH(../../../../Marlin/src/HAL, timers.h) - #include HAL_PATH(../../../../Marlin/src/HAL, spi_pins.h) -#endif - -#include "../../../../Marlin/src/inc/Conditionals_post.h" - -#ifdef HAL_PATH - #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_post.h) -#endif +#include "../../../../Marlin/src/inc/MarlinConfig.h" // // Conditionals only used for [features] @@ -89,6 +53,10 @@ #define HAS_EXTRUDERS #endif +#if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) + #define HAS_SMART_EFF_MOD +#endif + #if HAS_LCD_MENU #if ENABLED(BACKLASH_GCODE) #define HAS_MENU_BACKLASH @@ -145,6 +113,3 @@ #define HAS_MENU_UBL #endif #endif - -// Include pins for the current board. Platform tests will be skipped. No HAL-defined pins. -#include "../../../../Marlin/src/pins/pins.h" diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.py b/buildroot/share/PlatformIO/scripts/common-dependencies.py index 6005855156a8..4b4bba625874 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.py +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.py @@ -39,6 +39,12 @@ def parse_pkg_uri(spec): FEATURE_CONFIG = {} def add_to_feat_cnf(feature, flines): + + try: + feat = FEATURE_CONFIG[feature] + except: + FEATURE_CONFIG[feature] = {} + feat = FEATURE_CONFIG[feature] atoms = re.sub(',\\s*', '\n', flines).strip().split('\n') for dep in atoms: @@ -238,7 +244,7 @@ def load_marlin_features(): else: cmd += ['-D' + s] - cmd += ['-D__MARLIN_PREBUILD__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] + cmd += ['-D__MARLIN_DEPS__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] cmd = ' '.join(cmd) blab(cmd) define_list = subprocess.check_output(cmd, shell=True).splitlines() diff --git a/platformio.ini b/platformio.ini index cf4dfc932aef..d4beca6519be 100644 --- a/platformio.ini +++ b/platformio.ini @@ -27,6 +27,7 @@ include_dir = Marlin [common] default_src_filter = + - - + - - - - - + - - - - - - - - @@ -53,10 +54,13 @@ default_src_filter = + - - + - - - - - + - - - - - + - - + - + - - - - - - @@ -65,7 +69,7 @@ default_src_filter = + - - + - - - - - - - - + - - - - - - - @@ -80,6 +84,7 @@ default_src_filter = + - - + - - - + - - - - @@ -95,7 +100,7 @@ default_src_filter = + - - + - - - - - - + - - - - - - - @@ -106,7 +111,7 @@ default_src_filter = + - - + - - - - - + - - - - @@ -114,14 +119,19 @@ default_src_filter = + - - + - - - + - - - - - - - + - - + - - - + - + - - - - @@ -169,8 +179,10 @@ default_src_filter = + - - + - - - + - - - + - - - - - - @@ -214,9 +226,13 @@ HAS_WIRED_LCD = src_filter=+ HAS_MARLINUI_HD44780 = src_filter=+ HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 src_filter=+ +HAS_(FSMC|SPI)_TFT = src_filter=+ + +HAS_FSMC_TFT = src_filter=+ + +HAS_SPI_TFT = src_filter=+ + HAS_GRAPHICAL_TFT = src_filter=+ DWIN_CREALITY_LCD = src_filter=+ IS_TFTGLCD_PANEL = src_filter=+ +HAS_TOUCH_XPT2046 = src_filter=+ HAS_LCD_MENU = src_filter=+ HAS_GAMES = src_filter=+ MARLIN_BRICKOUT = src_filter=+ @@ -242,7 +258,7 @@ HAS_MENU_TEMPERATURE = src_filter=+ HAS_MENU_TMC = src_filter=+ HAS_MENU_TOUCH_SCREEN = src_filter=+ HAS_MENU_UBL = src_filter=+ -ANYCUBIC_LCD_CHIRON = src_filter=+ +ANYCUBIC_LCD_CHIRON = src_filter=+ + ANYCUBIC_LCD_I3MEGA = src_filter=+ + HAS_DGUS_LCD = src_filter=+ + TOUCH_UI_FTDI_EVE = src_filter=+ @@ -258,13 +274,15 @@ BARICUDA = src_filter=+ + + BLTOUCH = src_filter=+ CANCEL_OBJECTS = src_filter=+ + -CASE_LIGHT_ENABLE = src_filter=+ + +CASE_LIGHT_ENABLE = src_filter=+ + EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+ + USE_CONTROLLER_FAN = src_filter=+ DAC_STEPPER_CURRENT = src_filter=+ DIRECT_STEPPING = src_filter=+ + EMERGENCY_PARSER = src_filter=+ - I2C_POSITION_ENCODERS = src_filter=+ +IIC_BL24CXX_EEPROM = src_filter=+ +HAS_SPI_FLASH = src_filter=+ HAS_FANMUX = src_filter=+ FILAMENT_WIDTH_SENSOR = src_filter=+ + FWRETRACT = src_filter=+ + @@ -285,10 +303,10 @@ ADVANCED_PAUSE_FEATURE = src_filter=+ + HAS_POWER_MONITOR = src_filter=+ + POWER_LOSS_RECOVERY = src_filter=+ + -PROBE_TEMP_COMPENSATION = src_filter=+ + +PROBE_TEMP_COMPENSATION = src_filter=+ + HAS_FILAMENT_SENSOR = src_filter=+ + MK2_MULTIPLEXER = src_filter=+ -EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ +EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ + HAS_CUTTER = src_filter=+ + EXPERIMENTAL_I2CBUS = src_filter=+ + Z_STEPPER_AUTO_ALIGN = src_filter=+ + @@ -304,14 +322,19 @@ BACKLASH_GCODE = src_filter=+ IS_KINEMATIC = src_filter=+ HAS_EXTRA_ENDSTOPS = src_filter=+ SKEW_CORRECTION_GCODE = src_filter=+ -PINS_DEBUGGING = src_filter=- +DIRECT_PIN_CONTROL = src_filter=+ + +PINS_DEBUGGING = src_filter=+ NO_VOLUMETRICS = src_filter=- HAS_MULTI_EXTRUDER = src_filter=+ HAS_HOTEND_OFFSET = src_filter=+ EDITABLE_SERVO_ANGLES = src_filter=+ +PIDTEMP = src_filter=+ PREVENT_COLD_EXTRUSION = src_filter=+ +PIDTEMPBED = src_filter=+ HAS_USER_THERMISTORS = src_filter=+ SD_ABORT_ON_ENDSTOP_HIT = src_filter=+ +BAUD_RATE_GCODE = src_filter=+ +HAS_SMART_EFF_MOD = src_filter=+ COOLANT_CONTROL = src_filter=+ HAS_SOFTWARE_ENDSTOPS = src_filter=+ HAS_DUPLICATION_MODE = src_filter=+ @@ -336,12 +359,13 @@ LCD_SET_PROGRESS_MANUALLY = src_filter=+ TOUCH_SCREEN_CALIBRATION = src_filter=+ ARC_SUPPORT = src_filter=+ GCODE_MOTION_MODES = src_filter=+ -BABYSTEPPING = src_filter=+ +BABYSTEPPING = src_filter=+ + Z_PROBE_SLED = src_filter=+ G38_PROBE_TARGET = src_filter=+ MAGNETIC_PARKING_EXTRUDER = src_filter=+ SDSUPPORT = src_filter=+ HAS_EXTRUDERS = src_filter=+ + +AUTO_REPORT_TEMPERATURES = src_filter=+ INCH_MODE_SUPPORT = src_filter=+ TEMPERATURE_UNITS_SUPPORT = src_filter=+ NEED_HEX_PRINT = src_filter=+ @@ -559,7 +583,7 @@ extends = env:at90usb1286_cdc [env:DUE] platform = atmelsam board = due -src_filter = ${common.default_src_filter} + +src_filter = ${common.default_src_filter} + + [env:DUE_USB] platform = atmelsam @@ -635,7 +659,7 @@ lib_ldf_mode = off lib_compat_mode = strict extra_scripts = ${common.extra_scripts} Marlin/src/HAL/LPC1768/upload_extra_script.py -src_filter = ${common.default_src_filter} + +src_filter = ${common.default_src_filter} + + lib_deps = ${common.lib_deps} Servo custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0 @@ -674,7 +698,7 @@ build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 build_unflags = -std=gnu++11 -src_filter = ${common.default_src_filter} + +src_filter = ${common.default_src_filter} + + # # HAL/STM32F1 Common Environment values From 5070fae231d5019249f37e882c25f1e1d7f5761b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 9 Oct 2020 16:50:17 -0500 Subject: [PATCH 230/277] Batch appercase hex values --- Marlin/Makefile | 2 +- Marlin/src/HAL/AVR/fast_pwm.cpp | 4 +- Marlin/src/HAL/DUE/HAL.h | 2 +- Marlin/src/HAL/DUE/eeprom_flash.cpp | 2 +- Marlin/src/HAL/DUE/usb/compiler.h | 126 +- Marlin/src/HAL/ESP32/HAL.h | 4 +- Marlin/src/HAL/SAMD51/QSPIFlash.cpp | 2 +- .../src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp | 58 +- Marlin/src/HAL/TEENSY31_32/HAL.h | 2 +- Marlin/src/HAL/TEENSY35_36/HAL.h | 2 +- Marlin/src/HAL/TEENSY40_41/HAL.h | 2 +- Marlin/src/feature/dac/dac_mcp4728.h | 2 +- Marlin/src/feature/tmc_util.h | 2 +- Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp | 4 +- Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp | 4 +- .../lcd/dogm/fontdata/fontdata_6x9_marlin.h | 244 +- .../lcd/dogm/fontdata/fontdata_ISO10646_1.h | 424 +-- Marlin/src/lcd/dogm/fontdata/langdata_bg.h | 74 +- Marlin/src/lcd/dogm/fontdata/langdata_cz.h | 42 +- Marlin/src/lcd/dogm/fontdata/langdata_el.h | 92 +- Marlin/src/lcd/dogm/fontdata/langdata_el_gr.h | 92 +- Marlin/src/lcd/dogm/fontdata/langdata_hr.h | 18 +- Marlin/src/lcd/dogm/fontdata/langdata_hu.h | 2 +- .../src/lcd/dogm/fontdata/langdata_jp_kana.h | 130 +- Marlin/src/lcd/dogm/fontdata/langdata_ko_KR.h | 582 ++-- Marlin/src/lcd/dogm/fontdata/langdata_pl.h | 32 +- Marlin/src/lcd/dogm/fontdata/langdata_ru.h | 86 +- Marlin/src/lcd/dogm/fontdata/langdata_sk.h | 42 +- Marlin/src/lcd/dogm/fontdata/langdata_test.h | 394 +-- Marlin/src/lcd/dogm/fontdata/langdata_tr.h | 18 +- Marlin/src/lcd/dogm/fontdata/langdata_uk.h | 96 +- Marlin/src/lcd/dogm/fontdata/langdata_vi.h | 168 +- Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h | 2180 +++++++-------- Marlin/src/lcd/dogm/fontdata/langdata_zh_TW.h | 1814 ++++++------- .../lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h | 2 +- .../ftdi_eve_lib/basic/commands.cpp | 4 +- .../ftdi_eve_lib/basic/registers_ft800.h | 2 +- .../ftdi_eve_lib/basic/registers_ft810.h | 2 +- .../ftdi_eve_lib/basic/resolutions.h | 10 +- .../unicode/western_char_set_bitmap_31.h | 2336 ++++++++--------- .../lcd/extui/lib/mks_ui/draw_keyboard.cpp | 6 +- .../lcd/extui/lib/mks_ui/draw_print_file.cpp | 8 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp | 14 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h | 2 +- .../extui/lib/mks_ui/mks_hardware_test.cpp | 2 +- .../src/lcd/extui/lib/mks_ui/pic_manager.cpp | 2 +- Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h | 2 +- .../lib/mks_ui/tft_lvgl_configuration.cpp | 40 +- .../src/lcd/extui/lib/mks_ui/wifi_module.cpp | 46 +- .../src/lcd/extui/lib/mks_ui/wifi_upload.cpp | 54 +- Marlin/src/lcd/lcdprint.h | 2 +- .../lcd/tft/fontdata/fontdata_ISO10646_1.cpp | 428 +-- Marlin/src/lcd/tft/images/back_32x32x4.cpp | 46 +- .../lcd/tft/images/background_320x30x16.cpp | 60 +- .../lcd/tft/images/bootscreen_195x59x16.cpp | 118 +- .../lcd/tft/images/bootscreen_228x255x2.cpp | 510 ++-- .../lcd/tft/images/bootscreen_228x255x4.cpp | 510 ++-- .../lcd/tft/images/bootscreen_320x240x16.cpp | 480 ++-- .../lcd/tft/images/bootscreen_480x320x16.cpp | 638 ++--- .../lcd/tft/images/btn_rounded_64x52x4.cpp | 92 +- Marlin/src/lcd/tft/images/cancel_64x64x4.cpp | 72 +- Marlin/src/lcd/tft/images/chamber_64x64x4.cpp | 152 +- Marlin/src/lcd/tft/images/confirm_64x64x4.cpp | 68 +- .../src/lcd/tft/images/decrease_64x64x4.cpp | 18 +- .../src/lcd/tft/images/directory_32x32x4.cpp | 42 +- Marlin/src/lcd/tft/images/down_32x32x4.cpp | 30 +- Marlin/src/lcd/tft/images/fan_64x64x4.cpp | 192 +- .../src/lcd/tft/images/fan_fast_64x64x4.cpp | 208 +- .../src/lcd/tft/images/fan_slow_64x64x4.cpp | 220 +- .../src/lcd/tft/images/feedrate_32x32x4.cpp | 56 +- .../src/lcd/tft/images/flowrate_32x32x4.cpp | 48 +- .../src/lcd/tft/images/heated_bed_64x64x4.cpp | 64 +- Marlin/src/lcd/tft/images/home_64x64x4.cpp | 102 +- Marlin/src/lcd/tft/images/hotend_64x64x4.cpp | 78 +- .../src/lcd/tft/images/increase_64x64x4.cpp | 68 +- Marlin/src/lcd/tft/images/left_32x32x4.cpp | 50 +- .../src/lcd/tft/images/leveling_32x32x4.cpp | 28 +- Marlin/src/lcd/tft/images/menu_64x64x4.cpp | 60 +- Marlin/src/lcd/tft/images/pause_64x64x4.cpp | 72 +- Marlin/src/lcd/tft/images/refresh_32x32x4.cpp | 44 +- Marlin/src/lcd/tft/images/right_32x32x4.cpp | 50 +- Marlin/src/lcd/tft/images/sd_64x64x4.cpp | 96 +- .../src/lcd/tft/images/settings_64x64x4.cpp | 96 +- Marlin/src/lcd/tft/images/slider_8x16x4.cpp | 32 +- Marlin/src/lcd/tft/images/up_32x32x4.cpp | 30 +- Marlin/src/lcd/ultralcd.cpp | 2 +- Marlin/src/pins/stm32f1/pins_FLY_MINI.h | 2 +- .../src/sd/usb_flashdrive/lib-uhs2/UsbCore.h | 24 +- .../src/sd/usb_flashdrive/lib-uhs2/macros.h | 18 +- .../sd/usb_flashdrive/lib-uhs2/masstorage.cpp | 12 +- .../sd/usb_flashdrive/lib-uhs2/masstorage.h | 2 +- .../src/sd/usb_flashdrive/lib-uhs2/max3421e.h | 26 +- .../src/sd/usb_flashdrive/lib-uhs2/printhex.h | 4 +- .../sd/usb_flashdrive/lib-uhs2/usbhost.cpp | 2 +- .../UHS_BULK_STORAGE_INLINE.h | 10 +- .../UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h | 2 +- .../lib-uhs3/UHS_host/UHS_UsbCore.h | 4 +- .../lib-uhs3/UHS_host/UHS_host_INLINE.h | 2 +- .../lib-uhs3/UHS_host/UHS_macros.h | 18 +- .../lib-uhs3/UHS_host/UHS_printhex.h | 4 +- .../lib-uhs3/UHS_host/UHS_usb_ch9.h | 12 +- .../UHS_host/USB_HOST_SHIELD/UHS_max3421e.h | 26 +- .../USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h | 12 +- .../usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h | 2 +- .../share/PlatformIO/scripts/chitu_crypt.py | 4 +- .../PlatformIO/variants/archim/variant.h | 56 +- 106 files changed, 7192 insertions(+), 7192 deletions(-) diff --git a/Marlin/Makefile b/Marlin/Makefile index 91c8889c69ce..49cb960b92fe 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -780,7 +780,7 @@ ifeq ($(HARDWARE_VARIANT), Teensy) else ifeq ($(HARDWARE_VARIANT), archim) CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ - CDEFS += -DUSB_VID=0x27b1 -DUSB_PID=0x0001 -DUSBCON + CDEFS += -DUSB_VID=0x27B1 -DUSB_PID=0x0001 -DUSBCON CDEFS += '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"' LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp \ diff --git a/Marlin/src/HAL/AVR/fast_pwm.cpp b/Marlin/src/HAL/AVR/fast_pwm.cpp index 29866bccf924..238c1124adeb 100644 --- a/Marlin/src/HAL/AVR/fast_pwm.cpp +++ b/Marlin/src/HAL/AVR/fast_pwm.cpp @@ -185,8 +185,8 @@ void set_pwm_frequency(const pin_t pin, int f_desired) { res_temp_phase_correct = rtf / 2; } - LIMIT(res_temp_fast, 1u, size); - LIMIT(res_temp_phase_correct, 1u, size); + LIMIT(res_temp_fast, 1U, size); + LIMIT(res_temp_phase_correct, 1U, size); // Calculate frequencies of test prescaler and resolution values const int f_temp_fast = (F_CPU) / (prescaler[i] * (1 + res_temp_fast)), f_temp_phase_correct = (F_CPU) / (2 * prescaler[i] * res_temp_phase_correct), diff --git a/Marlin/src/HAL/DUE/HAL.h b/Marlin/src/HAL/DUE/HAL.h index f0650e6df805..88ace5957535 100644 --- a/Marlin/src/HAL/DUE/HAL.h +++ b/Marlin/src/HAL/DUE/HAL.h @@ -113,7 +113,7 @@ inline void HAL_reboot() {} // reboot the board or restart the bootloader extern uint16_t HAL_adc_result; // result of last ADC conversion #ifndef analogInputToDigitalPin - #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) + #define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #endif #define HAL_ANALOG_SELECT(ch) diff --git a/Marlin/src/HAL/DUE/eeprom_flash.cpp b/Marlin/src/HAL/DUE/eeprom_flash.cpp index 67f1f9e40f46..6f38da0967cb 100644 --- a/Marlin/src/HAL/DUE/eeprom_flash.cpp +++ b/Marlin/src/HAL/DUE/eeprom_flash.cpp @@ -60,7 +60,7 @@ #define EEPROMSize 4096 #define PagesPerGroup 128 #define GroupCount 2 -#define PageSize 256u +#define PageSize 256U /* Flash storage */ typedef struct FLASH_SECTOR { diff --git a/Marlin/src/HAL/DUE/usb/compiler.h b/Marlin/src/HAL/DUE/usb/compiler.h index 879007fa2a90..f89e554c4562 100644 --- a/Marlin/src/HAL/DUE/usb/compiler.h +++ b/Marlin/src/HAL/DUE/usb/compiler.h @@ -609,37 +609,37 @@ typedef struct # define clz(u) ((u) ? __CLZ(u) : 32) #else # define clz(u) (((u) == 0) ? 32 : \ - ((u) & (1ul << 31)) ? 0 : \ - ((u) & (1ul << 30)) ? 1 : \ - ((u) & (1ul << 29)) ? 2 : \ - ((u) & (1ul << 28)) ? 3 : \ - ((u) & (1ul << 27)) ? 4 : \ - ((u) & (1ul << 26)) ? 5 : \ - ((u) & (1ul << 25)) ? 6 : \ - ((u) & (1ul << 24)) ? 7 : \ - ((u) & (1ul << 23)) ? 8 : \ - ((u) & (1ul << 22)) ? 9 : \ - ((u) & (1ul << 21)) ? 10 : \ - ((u) & (1ul << 20)) ? 11 : \ - ((u) & (1ul << 19)) ? 12 : \ - ((u) & (1ul << 18)) ? 13 : \ - ((u) & (1ul << 17)) ? 14 : \ - ((u) & (1ul << 16)) ? 15 : \ - ((u) & (1ul << 15)) ? 16 : \ - ((u) & (1ul << 14)) ? 17 : \ - ((u) & (1ul << 13)) ? 18 : \ - ((u) & (1ul << 12)) ? 19 : \ - ((u) & (1ul << 11)) ? 20 : \ - ((u) & (1ul << 10)) ? 21 : \ - ((u) & (1ul << 9)) ? 22 : \ - ((u) & (1ul << 8)) ? 23 : \ - ((u) & (1ul << 7)) ? 24 : \ - ((u) & (1ul << 6)) ? 25 : \ - ((u) & (1ul << 5)) ? 26 : \ - ((u) & (1ul << 4)) ? 27 : \ - ((u) & (1ul << 3)) ? 28 : \ - ((u) & (1ul << 2)) ? 29 : \ - ((u) & (1ul << 1)) ? 30 : \ + ((u) & (1UL << 31)) ? 0 : \ + ((u) & (1UL << 30)) ? 1 : \ + ((u) & (1UL << 29)) ? 2 : \ + ((u) & (1UL << 28)) ? 3 : \ + ((u) & (1UL << 27)) ? 4 : \ + ((u) & (1UL << 26)) ? 5 : \ + ((u) & (1UL << 25)) ? 6 : \ + ((u) & (1UL << 24)) ? 7 : \ + ((u) & (1UL << 23)) ? 8 : \ + ((u) & (1UL << 22)) ? 9 : \ + ((u) & (1UL << 21)) ? 10 : \ + ((u) & (1UL << 20)) ? 11 : \ + ((u) & (1UL << 19)) ? 12 : \ + ((u) & (1UL << 18)) ? 13 : \ + ((u) & (1UL << 17)) ? 14 : \ + ((u) & (1UL << 16)) ? 15 : \ + ((u) & (1UL << 15)) ? 16 : \ + ((u) & (1UL << 14)) ? 17 : \ + ((u) & (1UL << 13)) ? 18 : \ + ((u) & (1UL << 12)) ? 19 : \ + ((u) & (1UL << 11)) ? 20 : \ + ((u) & (1UL << 10)) ? 21 : \ + ((u) & (1UL << 9)) ? 22 : \ + ((u) & (1UL << 8)) ? 23 : \ + ((u) & (1UL << 7)) ? 24 : \ + ((u) & (1UL << 6)) ? 25 : \ + ((u) & (1UL << 5)) ? 26 : \ + ((u) & (1UL << 4)) ? 27 : \ + ((u) & (1UL << 3)) ? 28 : \ + ((u) & (1UL << 2)) ? 29 : \ + ((u) & (1UL << 1)) ? 30 : \ 31) #endif #endif @@ -654,38 +654,38 @@ typedef struct #if (defined __GNUC__) || (defined __CC_ARM) # define ctz(u) ((u) ? __builtin_ctz(u) : 32) #else -# define ctz(u) ((u) & (1ul << 0) ? 0 : \ - (u) & (1ul << 1) ? 1 : \ - (u) & (1ul << 2) ? 2 : \ - (u) & (1ul << 3) ? 3 : \ - (u) & (1ul << 4) ? 4 : \ - (u) & (1ul << 5) ? 5 : \ - (u) & (1ul << 6) ? 6 : \ - (u) & (1ul << 7) ? 7 : \ - (u) & (1ul << 8) ? 8 : \ - (u) & (1ul << 9) ? 9 : \ - (u) & (1ul << 10) ? 10 : \ - (u) & (1ul << 11) ? 11 : \ - (u) & (1ul << 12) ? 12 : \ - (u) & (1ul << 13) ? 13 : \ - (u) & (1ul << 14) ? 14 : \ - (u) & (1ul << 15) ? 15 : \ - (u) & (1ul << 16) ? 16 : \ - (u) & (1ul << 17) ? 17 : \ - (u) & (1ul << 18) ? 18 : \ - (u) & (1ul << 19) ? 19 : \ - (u) & (1ul << 20) ? 20 : \ - (u) & (1ul << 21) ? 21 : \ - (u) & (1ul << 22) ? 22 : \ - (u) & (1ul << 23) ? 23 : \ - (u) & (1ul << 24) ? 24 : \ - (u) & (1ul << 25) ? 25 : \ - (u) & (1ul << 26) ? 26 : \ - (u) & (1ul << 27) ? 27 : \ - (u) & (1ul << 28) ? 28 : \ - (u) & (1ul << 29) ? 29 : \ - (u) & (1ul << 30) ? 30 : \ - (u) & (1ul << 31) ? 31 : \ +# define ctz(u) ((u) & (1UL << 0) ? 0 : \ + (u) & (1UL << 1) ? 1 : \ + (u) & (1UL << 2) ? 2 : \ + (u) & (1UL << 3) ? 3 : \ + (u) & (1UL << 4) ? 4 : \ + (u) & (1UL << 5) ? 5 : \ + (u) & (1UL << 6) ? 6 : \ + (u) & (1UL << 7) ? 7 : \ + (u) & (1UL << 8) ? 8 : \ + (u) & (1UL << 9) ? 9 : \ + (u) & (1UL << 10) ? 10 : \ + (u) & (1UL << 11) ? 11 : \ + (u) & (1UL << 12) ? 12 : \ + (u) & (1UL << 13) ? 13 : \ + (u) & (1UL << 14) ? 14 : \ + (u) & (1UL << 15) ? 15 : \ + (u) & (1UL << 16) ? 16 : \ + (u) & (1UL << 17) ? 17 : \ + (u) & (1UL << 18) ? 18 : \ + (u) & (1UL << 19) ? 19 : \ + (u) & (1UL << 20) ? 20 : \ + (u) & (1UL << 21) ? 21 : \ + (u) & (1UL << 22) ? 22 : \ + (u) & (1UL << 23) ? 23 : \ + (u) & (1UL << 24) ? 24 : \ + (u) & (1UL << 25) ? 25 : \ + (u) & (1UL << 26) ? 26 : \ + (u) & (1UL << 27) ? 27 : \ + (u) & (1UL << 28) ? 28 : \ + (u) & (1UL << 29) ? 29 : \ + (u) & (1UL << 30) ? 30 : \ + (u) & (1UL << 31) ? 31 : \ 32) #endif #endif diff --git a/Marlin/src/HAL/ESP32/HAL.h b/Marlin/src/HAL/ESP32/HAL.h index 81a9a0e59d20..ebc16c9525e7 100644 --- a/Marlin/src/HAL/ESP32/HAL.h +++ b/Marlin/src/HAL/ESP32/HAL.h @@ -157,14 +157,14 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) { if (stop >= start) { // no overflow, so only loop while in between start and stop: - // 0x00000000 -----------------start****stop-- 0xffffffff + // 0x00000000 -----------------start****stop-- 0xFFFFFFFF while (ccount >= start && ccount < stop) { __asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) ); } } else { // stop did overflow, so only loop while outside of stop and start: - // 0x00000000 **stop-------------------start** 0xffffffff + // 0x00000000 **stop-------------------start** 0xFFFFFFFF while (ccount >= start || ccount < stop) { __asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) ); } diff --git a/Marlin/src/HAL/SAMD51/QSPIFlash.cpp b/Marlin/src/HAL/SAMD51/QSPIFlash.cpp index 161c04084f36..307eb3fd45f2 100644 --- a/Marlin/src/HAL/SAMD51/QSPIFlash.cpp +++ b/Marlin/src/HAL/SAMD51/QSPIFlash.cpp @@ -26,7 +26,7 @@ #include "QSPIFlash.h" -#define INVALID_ADDR 0xffffffff +#define INVALID_ADDR 0xFFFFFFFF #define SECTOR_OF(a) (a & ~(SFLASH_SECTOR_SIZE - 1)) #define OFFSET_OF(a) (a & (SFLASH_SECTOR_SIZE - 1)) diff --git a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp index df3d40f159a7..e67808c3c458 100644 --- a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp +++ b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp @@ -45,8 +45,8 @@ #define DEFAULT_MICROSTEPPING_VALUE 32 //TMC26X register definitions -#define DRIVER_CONTROL_REGISTER 0x0ul -#define CHOPPER_CONFIG_REGISTER 0x80000ul +#define DRIVER_CONTROL_REGISTER 0x0UL +#define CHOPPER_CONFIG_REGISTER 0x80000UL #define COOL_STEP_REGISTER 0xA0000ul #define STALL_GUARD2_LOAD_MEASURE_REGISTER 0xC0000ul #define DRIVER_CONFIG_REGISTER 0xE0000ul @@ -55,58 +55,58 @@ //definitions for the driver control register #define MICROSTEPPING_PATTERN 0xFul -#define STEP_INTERPOLATION 0x200ul -#define DOUBLE_EDGE_STEP 0x100ul -#define VSENSE 0x40ul -#define READ_MICROSTEP_POSTION 0x0ul -#define READ_STALL_GUARD_READING 0x10ul -#define READ_STALL_GUARD_AND_COOL_STEP 0x20ul -#define READ_SELECTION_PATTERN 0x30ul +#define STEP_INTERPOLATION 0x200UL +#define DOUBLE_EDGE_STEP 0x100UL +#define VSENSE 0x40UL +#define READ_MICROSTEP_POSTION 0x0UL +#define READ_STALL_GUARD_READING 0x10UL +#define READ_STALL_GUARD_AND_COOL_STEP 0x20UL +#define READ_SELECTION_PATTERN 0x30UL //definitions for the chopper config register -#define CHOPPER_MODE_STANDARD 0x0ul -#define CHOPPER_MODE_T_OFF_FAST_DECAY 0x4000ul +#define CHOPPER_MODE_STANDARD 0x0UL +#define CHOPPER_MODE_T_OFF_FAST_DECAY 0x4000UL #define T_OFF_PATTERN 0xFul -#define RANDOM_TOFF_TIME 0x2000ul -#define BLANK_TIMING_PATTERN 0x18000ul +#define RANDOM_TOFF_TIME 0x2000UL +#define BLANK_TIMING_PATTERN 0x18000UL #define BLANK_TIMING_SHIFT 15 -#define HYSTERESIS_DECREMENT_PATTERN 0x1800ul +#define HYSTERESIS_DECREMENT_PATTERN 0x1800UL #define HYSTERESIS_DECREMENT_SHIFT 11 -#define HYSTERESIS_LOW_VALUE_PATTERN 0x780ul +#define HYSTERESIS_LOW_VALUE_PATTERN 0x780UL #define HYSTERESIS_LOW_SHIFT 7 -#define HYSTERESIS_START_VALUE_PATTERN 0x78ul +#define HYSTERESIS_START_VALUE_PATTERN 0x78UL #define HYSTERESIS_START_VALUE_SHIFT 4 #define T_OFF_TIMING_PATERN 0xFul //definitions for cool step register -#define MINIMUM_CURRENT_FOURTH 0x8000ul -#define CURRENT_DOWN_STEP_SPEED_PATTERN 0x6000ul +#define MINIMUM_CURRENT_FOURTH 0x8000UL +#define CURRENT_DOWN_STEP_SPEED_PATTERN 0x6000UL #define SE_MAX_PATTERN 0xF00ul -#define SE_CURRENT_STEP_WIDTH_PATTERN 0x60ul +#define SE_CURRENT_STEP_WIDTH_PATTERN 0x60UL #define SE_MIN_PATTERN 0xFul //definitions for StallGuard2 current register -#define STALL_GUARD_FILTER_ENABLED 0x10000ul +#define STALL_GUARD_FILTER_ENABLED 0x10000UL #define STALL_GUARD_TRESHHOLD_VALUE_PATTERN 0x17F00ul #define CURRENT_SCALING_PATTERN 0x1Ful #define STALL_GUARD_CONFIG_PATTERN 0x17F00ul #define STALL_GUARD_VALUE_PATTERN 0x7F00ul //definitions for the input from the TMC2660 -#define STATUS_STALL_GUARD_STATUS 0x1ul -#define STATUS_OVER_TEMPERATURE_SHUTDOWN 0x2ul -#define STATUS_OVER_TEMPERATURE_WARNING 0x4ul -#define STATUS_SHORT_TO_GROUND_A 0x8ul -#define STATUS_SHORT_TO_GROUND_B 0x10ul -#define STATUS_OPEN_LOAD_A 0x20ul -#define STATUS_OPEN_LOAD_B 0x40ul -#define STATUS_STAND_STILL 0x80ul +#define STATUS_STALL_GUARD_STATUS 0x1UL +#define STATUS_OVER_TEMPERATURE_SHUTDOWN 0x2UL +#define STATUS_OVER_TEMPERATURE_WARNING 0x4UL +#define STATUS_SHORT_TO_GROUND_A 0x8UL +#define STATUS_SHORT_TO_GROUND_B 0x10UL +#define STATUS_OPEN_LOAD_A 0x20UL +#define STATUS_OPEN_LOAD_B 0x40UL +#define STATUS_STAND_STILL 0x80UL #define READOUT_VALUE_PATTERN 0xFFC00ul #define CPU_32_BIT //default values -#define INITIAL_MICROSTEPPING 0x3ul //32th microstepping +#define INITIAL_MICROSTEPPING 0x3UL //32th microstepping SPIClass SPI_6(SPI6, SPI6_MOSI_PIN, SPI6_MISO_PIN, SPI6_SCK_PIN); diff --git a/Marlin/src/HAL/TEENSY31_32/HAL.h b/Marlin/src/HAL/TEENSY31_32/HAL.h index 5fc65680d3fb..8ab358e9e1e5 100644 --- a/Marlin/src/HAL/TEENSY31_32/HAL.h +++ b/Marlin/src/HAL/TEENSY31_32/HAL.h @@ -65,7 +65,7 @@ typedef int8_t pin_t; #ifndef analogInputToDigitalPin - #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) + #define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #endif #define CRITICAL_SECTION_START() uint32_t primask = __get_PRIMASK(); __disable_irq() diff --git a/Marlin/src/HAL/TEENSY35_36/HAL.h b/Marlin/src/HAL/TEENSY35_36/HAL.h index 30db40dfac41..2b735d6224f4 100644 --- a/Marlin/src/HAL/TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/TEENSY35_36/HAL.h @@ -68,7 +68,7 @@ typedef int8_t pin_t; #ifndef analogInputToDigitalPin - #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) + #define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #endif #define CRITICAL_SECTION_START() uint32_t primask = __get_primask(); __disable_irq() diff --git a/Marlin/src/HAL/TEENSY40_41/HAL.h b/Marlin/src/HAL/TEENSY40_41/HAL.h index 1aff6eed8e91..75c10e93958e 100644 --- a/Marlin/src/HAL/TEENSY40_41/HAL.h +++ b/Marlin/src/HAL/TEENSY40_41/HAL.h @@ -78,7 +78,7 @@ typedef int8_t pin_t; #ifndef analogInputToDigitalPin - #define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) + #define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #endif #define CRITICAL_SECTION_START() uint32_t primask = __get_primask(); __disable_irq() diff --git a/Marlin/src/feature/dac/dac_mcp4728.h b/Marlin/src/feature/dac/dac_mcp4728.h index 6cce77856acd..fc69bd8ff4eb 100644 --- a/Marlin/src/feature/dac/dac_mcp4728.h +++ b/Marlin/src/feature/dac/dac_mcp4728.h @@ -40,7 +40,7 @@ #endif #ifndef lowByte - #define lowByte(w) ((uint8_t) ((w) & 0xff)) + #define lowByte(w) ((uint8_t) ((w) & 0xFF)) #endif #ifndef highByte diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index d96939c91611..b65a1254c656 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -38,7 +38,7 @@ #define CHOPPER_09STEP_24V { 3, -1, 5 } #if ENABLED(MONITOR_DRIVER_STATUS) && !defined(MONITOR_DRIVER_STATUS_INTERVAL_MS) - #define MONITOR_DRIVER_STATUS_INTERVAL_MS 500u + #define MONITOR_DRIVER_STATUS_INTERVAL_MS 500U #endif constexpr uint16_t _tmc_thrs(const uint16_t msteps, const uint32_t thrs, const uint32_t spmm) { diff --git a/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp index 6cf660a6a99d..51681a800953 100644 --- a/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/lcdprint_TFTGLCD.cpp @@ -461,8 +461,8 @@ static const TFTGLCD_charmap_t g_TFTGLCD_charmap_device[] PROGMEM = { #ifdef CONVERT_TO_EXT_ASCII {IV('°'), 0x01, 0}, // 00B0, Marlin special: '°' LCD_STR_DEGREE (0x09) - {IV('²'), 0x0e, 0}, // 0x32 if no special symbol in panel font - {IV('³'), 0x0f, 0}, // 0x33 if no special symbol in panel font + {IV('²'), 0x0E, 0}, // 0x32 if no special symbol in panel font + {IV('³'), 0x0F, 0}, // 0x33 if no special symbol in panel font // translate to cp866 codepage //first ASCII symbols in panel font must be replaced with Marlin special symbols diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp index fd1b6858e8f8..a537d92081d1 100644 --- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp @@ -70,14 +70,14 @@ TFTGLCD lcd; #define ICON_BED B00010000 #define ICON_FAN B00100000 #define ICON_HOT B01000000 //when any T > 50deg -#define PIC_MASK 0x7f +#define PIC_MASK 0x7F //LEDs not used, for compatibility with Smoothieware #define LED_HOTEND_ON B00000001 #define LED_BED_ON B00000010 #define LED_FAN_ON B00000100 #define LED_HOT B00001000 -#define LED_MASK 0x0f +#define LED_MASK 0x0F #define FBSIZE (LCD_WIDTH * LCD_HEIGHT + 2) diff --git a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h index 7a354aa73811..cd9cb3cdc968 100644 --- a/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h +++ b/Marlin/src/lcd/dogm/fontdata/fontdata_6x9_marlin.h @@ -34,156 +34,156 @@ */ #include const u8g_fntpgm_uint8_t u8g_font_6x9[2434] U8G_FONT_SECTION(".progmem.u8g_font_6x9") = { - 0x00,0x06,0x09,0x00,0xfe,0x06,0x02,0x0f,0x03,0x84,0x01,0xff,0xfe,0x07,0xfe,0x06, - 0xfe,0x05,0x07,0x07,0x00,0x00,0x00,0x40,0xf0,0xc8,0x88,0x98,0x78,0x10,0x05,0x07, - 0x07,0x00,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05,0x00,0x00, - 0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xf8,0x20, - 0x20,0x20,0xe0,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xa8,0xb8,0x88,0x70,0x20, - 0x06,0x05,0x05,0x00,0x00,0x00,0xb0,0xd8,0x6c,0xd8,0xb0,0x05,0x08,0x08,0x00,0x00, - 0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05,0x09,0x09,0x00,0x00,0xfe,0x20, - 0x50,0x50,0x50,0x50,0x88,0xa8,0x88,0x70,0x03,0x03,0x03,0x00,0x00,0x03,0x40,0xa0, - 0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x06,0x06, - 0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x03,0xa0, - 0xa0,0xa0,0x05,0x07,0x07,0x06,0x00,0xff,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x05, - 0x09,0x09,0x06,0x00,0xfe,0x20,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x20,0x06,0x08, - 0x08,0x06,0x00,0xff,0x40,0xa8,0x48,0x10,0x20,0x48,0x54,0x08,0x05,0x07,0x07,0x06, - 0x00,0xff,0x60,0x90,0x90,0x60,0x98,0x90,0x68,0x01,0x03,0x03,0x06,0x02,0x03,0x80, - 0x80,0x80,0x02,0x07,0x07,0x06,0x02,0xff,0x40,0x80,0x80,0x80,0x80,0x80,0x40,0x02, - 0x07,0x07,0x06,0x02,0xff,0x80,0x40,0x40,0x40,0x40,0x40,0x80,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x50,0xf8,0x50,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x20,0x20,0xf8, - 0x20,0x20,0x02,0x04,0x04,0x06,0x02,0xfe,0xc0,0x40,0x40,0x80,0x05,0x01,0x01,0x06, - 0x00,0x02,0xf8,0x02,0x02,0x02,0x06,0x02,0x00,0xc0,0xc0,0x04,0x06,0x06,0x06,0x01, + 0x00,0x06,0x09,0x00,0xFE,0x06,0x02,0x0F,0x03,0x84,0x01,0xFF,0xFE,0x07,0xFE,0x06, + 0xFE,0x05,0x07,0x07,0x00,0x00,0x00,0x40,0xF0,0xC8,0x88,0x98,0x78,0x10,0x05,0x07, + 0x07,0x00,0x00,0x00,0xC0,0xF8,0x88,0x88,0x88,0x88,0xF8,0x05,0x05,0x05,0x00,0x00, + 0x01,0x20,0x30,0xF8,0x30,0x20,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xF8,0x20, + 0x20,0x20,0xE0,0x05,0x07,0x07,0x00,0x00,0x00,0x20,0x70,0xA8,0xB8,0x88,0x70,0x20, + 0x06,0x05,0x05,0x00,0x00,0x00,0xB0,0xD8,0x6C,0xD8,0xB0,0x05,0x08,0x08,0x00,0x00, + 0xFF,0xF8,0xA8,0x88,0x88,0x88,0x88,0xA8,0xF8,0x05,0x09,0x09,0x00,0x00,0xFE,0x20, + 0x50,0x50,0x50,0x50,0x88,0xA8,0x88,0x70,0x03,0x03,0x03,0x00,0x00,0x03,0x40,0xA0, + 0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x06,0x05,0xFF,0x01,0x06,0x06, + 0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x03,0xA0, + 0xA0,0xA0,0x05,0x07,0x07,0x06,0x00,0xFF,0x50,0x50,0xF8,0x50,0xF8,0x50,0x50,0x05, + 0x09,0x09,0x06,0x00,0xFE,0x20,0x70,0xA8,0xA0,0x70,0x28,0xA8,0x70,0x20,0x06,0x08, + 0x08,0x06,0x00,0xFF,0x40,0xA8,0x48,0x10,0x20,0x48,0x54,0x08,0x05,0x07,0x07,0x06, + 0x00,0xFF,0x60,0x90,0x90,0x60,0x98,0x90,0x68,0x01,0x03,0x03,0x06,0x02,0x03,0x80, + 0x80,0x80,0x02,0x07,0x07,0x06,0x02,0xFF,0x40,0x80,0x80,0x80,0x80,0x80,0x40,0x02, + 0x07,0x07,0x06,0x02,0xFF,0x80,0x40,0x40,0x40,0x40,0x40,0x80,0x05,0x05,0x05,0x06, + 0x00,0x00,0x88,0x50,0xF8,0x50,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x20,0x20,0xF8, + 0x20,0x20,0x02,0x04,0x04,0x06,0x02,0xFE,0xC0,0x40,0x40,0x80,0x05,0x01,0x01,0x06, + 0x00,0x02,0xF8,0x02,0x02,0x02,0x06,0x02,0x00,0xC0,0xC0,0x04,0x06,0x06,0x06,0x01, 0x00,0x10,0x10,0x20,0x40,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x90, - 0x90,0x90,0x60,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0xe0,0x04, - 0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x10,0x20,0x40,0xf0,0x04,0x06,0x06,0x06,0x01, - 0x00,0xf0,0x20,0x60,0x10,0x10,0xe0,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0x30,0x50, - 0x90,0xf8,0x10,0x04,0x06,0x06,0x06,0x01,0x00,0xf0,0x80,0xe0,0x10,0x10,0xe0,0x04, - 0x06,0x06,0x06,0x01,0x00,0x60,0x80,0xe0,0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01, - 0x00,0xf0,0x10,0x10,0x20,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x60, + 0x90,0x90,0x60,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0xC0,0x40,0x40,0x40,0xE0,0x04, + 0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x10,0x20,0x40,0xF0,0x04,0x06,0x06,0x06,0x01, + 0x00,0xF0,0x20,0x60,0x10,0x10,0xE0,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xF8,0x10,0x04,0x06,0x06,0x06,0x01,0x00,0xF0,0x80,0xE0,0x10,0x10,0xE0,0x04, + 0x06,0x06,0x06,0x01,0x00,0x60,0x80,0xE0,0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01, + 0x00,0xF0,0x10,0x10,0x20,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x60, 0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x90,0x70,0x10,0x60,0x02, - 0x05,0x05,0x06,0x02,0x00,0xc0,0xc0,0x00,0xc0,0xc0,0x02,0x07,0x07,0x06,0x02,0xfe, - 0xc0,0xc0,0x00,0xc0,0x40,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x18,0x60,0x80, - 0x60,0x18,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x00,0xf8,0x05,0x05,0x05,0x06,0x00, - 0x00,0xc0,0x30,0x08,0x30,0xc0,0x04,0x07,0x07,0x06,0x01,0x00,0x60,0x90,0x10,0x60, - 0x40,0x00,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x90,0xa8,0xb0,0x80,0x70,0x05, - 0x06,0x06,0x06,0x00,0x00,0x20,0x50,0x88,0xf8,0x88,0x88,0x05,0x06,0x06,0x06,0x00, - 0x00,0xf0,0x88,0xf0,0x88,0x88,0xf0,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, - 0x80,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0xe0,0x90,0x90,0x90,0x90,0xe0,0x04, - 0x06,0x06,0x06,0x01,0x00,0xf0,0x80,0xe0,0x80,0x80,0xf0,0x04,0x06,0x06,0x06,0x01, - 0x00,0xf0,0x80,0xe0,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, - 0xb0,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0x90,0xf0,0x90,0x90,0x90,0x03, - 0x06,0x06,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0xe0,0x05,0x06,0x06,0x06,0x00, - 0x00,0x38,0x10,0x10,0x10,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0xa0,0xc0, - 0xa0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x80,0xf0,0x05, - 0x06,0x06,0x06,0x00,0x00,0x88,0xd8,0xa8,0xa8,0x88,0x88,0x04,0x06,0x06,0x06,0x01, - 0x00,0x90,0xd0,0xb0,0x90,0x90,0x90,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x88, - 0x88,0x88,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0xe0,0x90,0x90,0xe0,0x80,0x80,0x04, - 0x07,0x07,0x06,0x01,0xff,0x60,0x90,0x90,0xd0,0xb0,0x60,0x10,0x04,0x06,0x06,0x06, - 0x01,0x00,0xe0,0x90,0x90,0xe0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90, - 0x40,0x20,0x90,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20, + 0x05,0x05,0x06,0x02,0x00,0xC0,0xC0,0x00,0xC0,0xC0,0x02,0x07,0x07,0x06,0x02,0xFE, + 0xC0,0xC0,0x00,0xC0,0x40,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x18,0x60,0x80, + 0x60,0x18,0x05,0x03,0x03,0x06,0x00,0x01,0xF8,0x00,0xF8,0x05,0x05,0x05,0x06,0x00, + 0x00,0xC0,0x30,0x08,0x30,0xC0,0x04,0x07,0x07,0x06,0x01,0x00,0x60,0x90,0x10,0x60, + 0x40,0x00,0x40,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x90,0xA8,0xB0,0x80,0x70,0x05, + 0x06,0x06,0x06,0x00,0x00,0x20,0x50,0x88,0xF8,0x88,0x88,0x05,0x06,0x06,0x06,0x00, + 0x00,0xF0,0x88,0xF0,0x88,0x88,0xF0,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, + 0x80,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0xE0,0x90,0x90,0x90,0x90,0xE0,0x04, + 0x06,0x06,0x06,0x01,0x00,0xF0,0x80,0xE0,0x80,0x80,0xF0,0x04,0x06,0x06,0x06,0x01, + 0x00,0xF0,0x80,0xE0,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0x80, + 0xB0,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0x90,0xF0,0x90,0x90,0x90,0x03, + 0x06,0x06,0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0xE0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x38,0x10,0x10,0x10,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x90,0xA0,0xC0, + 0xA0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x80,0x80,0x80,0xF0,0x05, + 0x06,0x06,0x06,0x00,0x00,0x88,0xD8,0xA8,0xA8,0x88,0x88,0x04,0x06,0x06,0x06,0x01, + 0x00,0x90,0xD0,0xB0,0x90,0x90,0x90,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x88,0x88, + 0x88,0x88,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0xE0,0x90,0x90,0xE0,0x80,0x80,0x04, + 0x07,0x07,0x06,0x01,0xFF,0x60,0x90,0x90,0xD0,0xB0,0x60,0x10,0x04,0x06,0x06,0x06, + 0x01,0x00,0xE0,0x90,0x90,0xE0,0x90,0x90,0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90, + 0x40,0x20,0x90,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20, 0x04,0x06,0x06,0x06,0x01,0x00,0x90,0x90,0x90,0x90,0x90,0x60,0x04,0x06,0x06,0x06, - 0x01,0x00,0x90,0x90,0x90,0xf0,0x60,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x88, - 0xa8,0xa8,0xd8,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x50,0x20,0x20,0x50,0x88, + 0x01,0x00,0x90,0x90,0x90,0xF0,0x60,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x88, + 0xA8,0xA8,0xD8,0x88,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x50,0x20,0x20,0x50,0x88, 0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x04,0x06,0x06,0x06, - 0x01,0x00,0xf0,0x10,0x20,0x40,0x80,0xf0,0x03,0x06,0x06,0x06,0x01,0x00,0xe0,0x80, - 0x80,0x80,0x80,0xe0,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x40,0x20,0x10,0x10, - 0x03,0x06,0x06,0x06,0x01,0x00,0xe0,0x20,0x20,0x20,0x20,0xe0,0x05,0x03,0x03,0x06, - 0x00,0x03,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00,0xfe,0xf8,0x02,0x02,0x02,0x06, + 0x01,0x00,0xF0,0x10,0x20,0x40,0x80,0xF0,0x03,0x06,0x06,0x06,0x01,0x00,0xE0,0x80, + 0x80,0x80,0x80,0xE0,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0x40,0x20,0x10,0x10, + 0x03,0x06,0x06,0x06,0x01,0x00,0xE0,0x20,0x20,0x20,0x20,0xE0,0x05,0x03,0x03,0x06, + 0x00,0x03,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00,0xFE,0xF8,0x02,0x02,0x02,0x06, 0x02,0x04,0x80,0x40,0x04,0x04,0x04,0x06,0x01,0x00,0x70,0x90,0x90,0x70,0x04,0x06, - 0x06,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0x90,0xe0,0x04,0x04,0x04,0x06,0x01,0x00, + 0x06,0x06,0x01,0x00,0x80,0x80,0xE0,0x90,0x90,0xE0,0x04,0x04,0x04,0x06,0x01,0x00, 0x70,0x80,0x80,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0x10,0x10,0x70,0x90,0x90,0x70, - 0x04,0x04,0x04,0x06,0x01,0x00,0x60,0xb0,0xc0,0x70,0x04,0x06,0x06,0x06,0x01,0x00, - 0x20,0x50,0x40,0xe0,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0xfe,0x60,0x90,0x90,0x70, - 0x10,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0x90,0x90,0x03,0x06, - 0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0xfe, - 0x20,0x00,0x60,0x20,0x20,0x20,0xa0,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80, - 0xa0,0xc0,0xa0,0x90,0x03,0x06,0x06,0x06,0x01,0x00,0xc0,0x40,0x40,0x40,0x40,0xe0, - 0x05,0x04,0x04,0x06,0x00,0x00,0xd0,0xa8,0xa8,0x88,0x04,0x04,0x04,0x06,0x01,0x00, - 0xe0,0x90,0x90,0x90,0x04,0x04,0x04,0x06,0x01,0x00,0x60,0x90,0x90,0x60,0x04,0x06, - 0x06,0x06,0x01,0xfe,0xe0,0x90,0x90,0xe0,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xfe, - 0x70,0x90,0x90,0x70,0x10,0x10,0x04,0x04,0x04,0x06,0x01,0x00,0xa0,0xd0,0x80,0x80, - 0x04,0x04,0x04,0x06,0x01,0x00,0x70,0xc0,0x30,0xe0,0x04,0x06,0x06,0x06,0x01,0x00, - 0x40,0x40,0xe0,0x40,0x50,0x20,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x90,0x90,0x70, + 0x04,0x04,0x04,0x06,0x01,0x00,0x60,0xB0,0xC0,0x70,0x04,0x06,0x06,0x06,0x01,0x00, + 0x20,0x50,0x40,0xE0,0x40,0x40,0x04,0x06,0x06,0x06,0x01,0xFE,0x60,0x90,0x90,0x70, + 0x10,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80,0xE0,0x90,0x90,0x90,0x03,0x06, + 0x06,0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0xE0,0x03,0x08,0x08,0x06,0x01,0xFE, + 0x20,0x00,0x60,0x20,0x20,0x20,0xA0,0x40,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0x80, + 0xA0,0xC0,0xA0,0x90,0x03,0x06,0x06,0x06,0x01,0x00,0xC0,0x40,0x40,0x40,0x40,0xE0, + 0x05,0x04,0x04,0x06,0x00,0x00,0xD0,0xA8,0xA8,0x88,0x04,0x04,0x04,0x06,0x01,0x00, + 0xE0,0x90,0x90,0x90,0x04,0x04,0x04,0x06,0x01,0x00,0x60,0x90,0x90,0x60,0x04,0x06, + 0x06,0x06,0x01,0xFE,0xE0,0x90,0x90,0xE0,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xFE, + 0x70,0x90,0x90,0x70,0x10,0x10,0x04,0x04,0x04,0x06,0x01,0x00,0xA0,0xD0,0x80,0x80, + 0x04,0x04,0x04,0x06,0x01,0x00,0x70,0xC0,0x30,0xE0,0x04,0x06,0x06,0x06,0x01,0x00, + 0x40,0x40,0xE0,0x40,0x50,0x20,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x90,0x90,0x70, 0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x90,0x60,0x60,0x05,0x04,0x04,0x06,0x00,0x00, - 0x88,0xa8,0xa8,0x50,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x60,0x60,0x90,0x04,0x06, - 0x06,0x06,0x01,0xfe,0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x04,0x04,0x06,0x01,0x00, - 0xf0,0x20,0x40,0xf0,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80,0x40,0x40, - 0x20,0x01,0x07,0x07,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x03,0x07, + 0x88,0xA8,0xA8,0x50,0x04,0x04,0x04,0x06,0x01,0x00,0x90,0x60,0x60,0x90,0x04,0x06, + 0x06,0x06,0x01,0xFE,0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x04,0x04,0x06,0x01,0x00, + 0xF0,0x20,0x40,0xF0,0x03,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x40,0x80,0x40,0x40, + 0x20,0x01,0x07,0x07,0x06,0x02,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x03,0x07, 0x07,0x06,0x01,0x00,0x80,0x40,0x40,0x20,0x40,0x40,0x80,0x04,0x02,0x02,0x06,0x01, - 0x03,0x50,0xa0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06,0x05,0xff,0x01,0x06,0x06,0x06,0x02,0x00, - 0x80,0x00,0x80,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xff,0x20,0x70,0xa0,0xa0, - 0x70,0x20,0x05,0x07,0x07,0x06,0x00,0xff,0x30,0x48,0x40,0xf0,0x40,0x40,0xf8,0x05, - 0x05,0x05,0x06,0x00,0x00,0xa8,0x50,0x88,0x50,0xa8,0x05,0x06,0x06,0x06,0x00,0x00, - 0x88,0x50,0xf8,0x20,0xf8,0x20,0x01,0x07,0x07,0x06,0x02,0xff,0x80,0x80,0x80,0x00, - 0x80,0x80,0x80,0x04,0x07,0x07,0x06,0x01,0xff,0x70,0x80,0x60,0x90,0x60,0x10,0xe0, - 0x03,0x01,0x01,0x06,0x01,0x05,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0x94, - 0xa4,0x94,0x84,0x78,0x03,0x05,0x05,0x06,0x01,0x01,0x60,0xa0,0x60,0x00,0xe0,0x05, - 0x05,0x05,0x06,0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x04,0x03,0x03,0x06,0x01,0x00, - 0xf0,0x10,0x10,0x04,0x01,0x01,0x06,0x01,0x02,0xf0,0x06,0x07,0x07,0x06,0x00,0x00, - 0x78,0x84,0xb4,0xa4,0xa4,0x84,0x78,0x04,0x01,0x01,0x06,0x01,0x05,0xf0,0x04,0x03, - 0x03,0x06,0x01,0x02,0x60,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x20,0xf8, - 0x20,0x20,0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xa0,0x20,0x40,0xe0,0x03, - 0x05,0x05,0x06,0x01,0x01,0xc0,0x20,0x40,0x20,0xc0,0x02,0x02,0x02,0x06,0x02,0x04, - 0x40,0x80,0x04,0x05,0x05,0x06,0x01,0xff,0x90,0x90,0xb0,0xd0,0x80,0x05,0x06,0x06, - 0x06,0x00,0x00,0x78,0xe8,0xe8,0x68,0x28,0x28,0x01,0x01,0x01,0x06,0x02,0x02,0x80, - 0x02,0x02,0x02,0x06,0x02,0xfe,0x40,0x80,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xc0, - 0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xa0,0x40,0x00,0xe0,0x05,0x05, - 0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x08,0x08,0x06,0x00,0xff,0x40, - 0xc0,0x40,0x50,0x70,0x30,0x78,0x10,0x05,0x08,0x08,0x06,0x00,0xff,0x40,0xc0,0x40, - 0x50,0x68,0x08,0x10,0x38,0x05,0x08,0x08,0x06,0x00,0xff,0xc0,0x20,0x40,0x30,0xf0, + 0x03,0x50,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x06,0x05,0xFF,0x01,0x06,0x06,0x06,0x02,0x00, + 0x80,0x00,0x80,0x80,0x80,0x80,0x04,0x06,0x06,0x06,0x01,0xFF,0x20,0x70,0xA0,0xA0, + 0x70,0x20,0x05,0x07,0x07,0x06,0x00,0xFF,0x30,0x48,0x40,0xF0,0x40,0x40,0xF8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xA8,0x50,0x88,0x50,0xA8,0x05,0x06,0x06,0x06,0x00,0x00, + 0x88,0x50,0xF8,0x20,0xF8,0x20,0x01,0x07,0x07,0x06,0x02,0xFF,0x80,0x80,0x80,0x00, + 0x80,0x80,0x80,0x04,0x07,0x07,0x06,0x01,0xFF,0x70,0x80,0x60,0x90,0x60,0x10,0xE0, + 0x03,0x01,0x01,0x06,0x01,0x05,0xA0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0x94, + 0xA4,0x94,0x84,0x78,0x03,0x05,0x05,0x06,0x01,0x01,0x60,0xA0,0x60,0x00,0xE0,0x05, + 0x05,0x05,0x06,0x00,0x00,0x28,0x50,0xA0,0x50,0x28,0x04,0x03,0x03,0x06,0x01,0x00, + 0xF0,0x10,0x10,0x04,0x01,0x01,0x06,0x01,0x02,0xF0,0x06,0x07,0x07,0x06,0x00,0x00, + 0x78,0x84,0xB4,0xA4,0xA4,0x84,0x78,0x04,0x01,0x01,0x06,0x01,0x05,0xF0,0x04,0x03, + 0x03,0x06,0x01,0x02,0x60,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0xFF,0x20,0x20,0xF8, + 0x20,0x20,0x00,0xF8,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xA0,0x20,0x40,0xE0,0x03, + 0x05,0x05,0x06,0x01,0x01,0xC0,0x20,0x40,0x20,0xC0,0x02,0x02,0x02,0x06,0x02,0x04, + 0x40,0x80,0x04,0x05,0x05,0x06,0x01,0xFF,0x90,0x90,0xB0,0xD0,0x80,0x05,0x06,0x06, + 0x06,0x00,0x00,0x78,0xE8,0xE8,0x68,0x28,0x28,0x01,0x01,0x01,0x06,0x02,0x02,0x80, + 0x02,0x02,0x02,0x06,0x02,0xFE,0x40,0x80,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xC0, + 0x40,0x40,0xE0,0x03,0x05,0x05,0x06,0x01,0x01,0x40,0xA0,0x40,0x00,0xE0,0x05,0x05, + 0x05,0x06,0x00,0x00,0xA0,0x50,0x28,0x50,0xA0,0x05,0x08,0x08,0x06,0x00,0xFF,0x40, + 0xC0,0x40,0x50,0x70,0x30,0x78,0x10,0x05,0x08,0x08,0x06,0x00,0xFF,0x40,0xC0,0x40, + 0x50,0x68,0x08,0x10,0x38,0x05,0x08,0x08,0x06,0x00,0xFF,0xC0,0x20,0x40,0x30,0xF0, 0x30,0x78,0x10,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x00,0x20,0x60,0x80,0x90,0x60, 0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x20,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07, 0x06,0x00,0x00,0x10,0x20,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00, 0x20,0x50,0x20,0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x28,0x50,0x20, 0x50,0x70,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x20,0x50,0x70,0x88, 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x50,0x20,0x50,0x70,0x88,0x88,0x05,0x06, - 0x06,0x06,0x00,0x00,0x78,0xa0,0xf0,0xa0,0xa0,0xb8,0x04,0x08,0x08,0x06,0x01,0xfe, + 0x06,0x06,0x00,0x00,0x78,0xA0,0xF0,0xA0,0xA0,0xB8,0x04,0x08,0x08,0x06,0x01,0xFE, 0x60,0x90,0x80,0x80,0x90,0x60,0x20,0x40,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20, - 0xf0,0x80,0xe0,0x80,0xf0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0xf0,0x80,0xe0, - 0x80,0xf0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0xf0,0x80,0xe0,0x80,0xf0,0x04, - 0x07,0x07,0x06,0x01,0x00,0x50,0x00,0xf0,0x80,0xe0,0x80,0xf0,0x03,0x07,0x07,0x06, - 0x01,0x00,0x80,0x40,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0x20, - 0x40,0xe0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xa0,0xe0,0x40, - 0x40,0x40,0xe0,0x03,0x07,0x07,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0xe0, - 0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x48,0xe8,0x48,0x48,0x70,0x04,0x07,0x07,0x06, - 0x01,0x00,0x50,0xa0,0x90,0xd0,0xb0,0x90,0x90,0x04,0x07,0x07,0x06,0x01,0x00,0x40, + 0xF0,0x80,0xE0,0x80,0xF0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0xF0,0x80,0xE0, + 0x80,0xF0,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0xF0,0x80,0xE0,0x80,0xF0,0x04, + 0x07,0x07,0x06,0x01,0x00,0x50,0x00,0xF0,0x80,0xE0,0x80,0xF0,0x03,0x07,0x07,0x06, + 0x01,0x00,0x80,0x40,0xE0,0x40,0x40,0x40,0xE0,0x03,0x07,0x07,0x06,0x01,0x00,0x20, + 0x40,0xE0,0x40,0x40,0x40,0xE0,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xA0,0xE0,0x40, + 0x40,0x40,0xE0,0x03,0x07,0x07,0x06,0x01,0x00,0xA0,0x00,0xE0,0x40,0x40,0x40,0xE0, + 0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x48,0xE8,0x48,0x48,0x70,0x04,0x07,0x07,0x06, + 0x01,0x00,0x50,0xA0,0x90,0xD0,0xB0,0x90,0x90,0x04,0x07,0x07,0x06,0x01,0x00,0x40, 0x20,0x60,0x90,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x60,0x90, 0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0x60,0x90,0x90,0x90,0x60, - 0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x60,0x90,0x90,0x90,0x60,0x04,0x07,0x07, + 0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xA0,0x60,0x90,0x90,0x90,0x60,0x04,0x07,0x07, 0x06,0x01,0x00,0x50,0x00,0x60,0x90,0x90,0x90,0x60,0x05,0x05,0x05,0x06,0x00,0x00, - 0x88,0x50,0x20,0x50,0x88,0x04,0x08,0x08,0x06,0x01,0xff,0x10,0x70,0xb0,0xb0,0xd0, - 0xd0,0xe0,0x80,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x90,0x90,0x90,0x90,0x60, + 0x88,0x50,0x20,0x50,0x88,0x04,0x08,0x08,0x06,0x01,0xFF,0x10,0x70,0xB0,0xB0,0xD0, + 0xD0,0xE0,0x80,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x90,0x90,0x90,0x90,0x60, 0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x90,0x90,0x90,0x90,0x60,0x04,0x07,0x07, 0x06,0x01,0x00,0x20,0x50,0x90,0x90,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00, 0x50,0x00,0x90,0x90,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x20,0x88, - 0x50,0x20,0x20,0x20,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0xe0,0x90,0x90,0xe0,0x80, - 0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0xa0,0xa0,0x90,0xa0,0x04,0x07,0x07,0x06, + 0x50,0x20,0x20,0x20,0x04,0x06,0x06,0x06,0x01,0x00,0x80,0xE0,0x90,0x90,0xE0,0x80, + 0x04,0x06,0x06,0x06,0x01,0x00,0x60,0x90,0xA0,0xA0,0x90,0xA0,0x04,0x07,0x07,0x06, 0x01,0x00,0x40,0x20,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20, 0x40,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x50,0x00,0x70, - 0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0x70,0x90,0x90,0x70, + 0x90,0x90,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xA0,0x00,0x70,0x90,0x90,0x70, 0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x70,0x90,0x90,0x70,0x04,0x07,0x07,0x06, 0x01,0x00,0x20,0x50,0x20,0x70,0x90,0x90,0x70,0x05,0x04,0x04,0x06,0x00,0x00,0x70, - 0xa8,0xb0,0x78,0x04,0x06,0x06,0x06,0x01,0xfe,0x70,0x80,0x80,0x70,0x20,0x40,0x04, - 0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x60,0xb0,0xc0,0x70,0x04,0x07,0x07,0x06, - 0x01,0x00,0x20,0x40,0x00,0x60,0xb0,0xc0,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20, - 0x50,0x00,0x60,0xb0,0xc0,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x60,0xb0, - 0xc0,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03, - 0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x07,0x07,0x06, - 0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06,0x06,0x01,0x00,0xa0, - 0x00,0xc0,0x40,0x40,0xe0,0x04,0x07,0x07,0x06,0x01,0x00,0x30,0x60,0x10,0x70,0x90, - 0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0xe0,0x90,0x90,0x90,0x04, + 0xA8,0xB0,0x78,0x04,0x06,0x06,0x06,0x01,0xFE,0x70,0x80,0x80,0x70,0x20,0x40,0x04, + 0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x60,0xB0,0xC0,0x70,0x04,0x07,0x07,0x06, + 0x01,0x00,0x20,0x40,0x00,0x60,0xB0,0xC0,0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20, + 0x50,0x00,0x60,0xB0,0xC0,0x70,0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x60,0xB0, + 0xC0,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x80,0x40,0x00,0xC0,0x40,0x40,0xE0,0x03, + 0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x00,0xC0,0x40,0x40,0xE0,0x03,0x07,0x07,0x06, + 0x01,0x00,0x40,0xA0,0x00,0xC0,0x40,0x40,0xE0,0x03,0x06,0x06,0x06,0x01,0x00,0xA0, + 0x00,0xC0,0x40,0x40,0xE0,0x04,0x07,0x07,0x06,0x01,0x00,0x30,0x60,0x10,0x70,0x90, + 0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xA0,0x00,0xE0,0x90,0x90,0x90,0x04, 0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06, 0x01,0x00,0x20,0x40,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x20, - 0x50,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xa0,0x00,0x60, + 0x50,0x00,0x60,0x90,0x90,0x60,0x04,0x07,0x07,0x06,0x01,0x00,0x50,0xA0,0x00,0x60, 0x90,0x90,0x60,0x04,0x06,0x06,0x06,0x01,0x00,0x50,0x00,0x60,0x90,0x90,0x60,0x05, - 0x05,0x05,0x06,0x00,0x00,0x20,0x00,0xf8,0x00,0x20,0x04,0x04,0x04,0x06,0x01,0x00, - 0x70,0xb0,0xd0,0xe0,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x90,0x90,0x90, + 0x05,0x05,0x06,0x00,0x00,0x20,0x00,0xF8,0x00,0x20,0x04,0x04,0x04,0x06,0x01,0x00, + 0x70,0xB0,0xD0,0xE0,0x04,0x07,0x07,0x06,0x01,0x00,0x40,0x20,0x00,0x90,0x90,0x90, 0x70,0x04,0x07,0x07,0x06,0x01,0x00,0x20,0x40,0x00,0x90,0x90,0x90,0x70,0x04,0x07, 0x07,0x06,0x01,0x00,0x20,0x50,0x00,0x90,0x90,0x90,0x70,0x04,0x06,0x06,0x06,0x01, - 0x00,0x50,0x00,0x90,0x90,0x90,0x70,0x04,0x09,0x09,0x06,0x01,0xfe,0x20,0x40,0x00, - 0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x08,0x08,0x06,0x01,0xfe,0x80,0x80,0xe0,0x90, - 0x90,0xe0,0x80,0x80,0x04,0x08,0x08,0x06,0x01,0xfe,0x50,0x00,0x90,0x90,0x90,0x70, + 0x00,0x50,0x00,0x90,0x90,0x90,0x70,0x04,0x09,0x09,0x06,0x01,0xFE,0x20,0x40,0x00, + 0x90,0x90,0x90,0x70,0x90,0x60,0x04,0x08,0x08,0x06,0x01,0xFE,0x80,0x80,0xE0,0x90, + 0x90,0xE0,0x80,0x80,0x04,0x08,0x08,0x06,0x01,0xFE,0x50,0x00,0x90,0x90,0x90,0x70, 0x90,0x60}; diff --git a/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h b/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h index 276cae522ae7..b4b615da4d0f 100644 --- a/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h +++ b/Marlin/src/lcd/dogm/fontdata/fontdata_ISO10646_1.h @@ -33,89 +33,89 @@ Max Font ascent = 8 descent=-2 */ const u8g_fntpgm_uint8_t ISO10646_1_5x7[1324] U8G_FONT_SECTION("ISO10646_1_5x7") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x25,0x03,0xbb,0x01,0x7f,0xfe,0x08,0xfe,0x08, - 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, - 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, - 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xd8,0x6c,0x36,0x6c,0xd8, - 0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05, - 0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70,0x03, - 0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00, - 0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, - 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00,0x00, - 0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0, - 0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20,0x40, - 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68,0x01, - 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40, - 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, - 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70,0x20, - 0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03, - 0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02, - 0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, - 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70, - 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, - 0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x07,0x02,0x25,0x03,0xBB,0x01,0x7F,0xFE,0x08,0xFE,0x08, + 0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xC0,0xF8,0x88,0x88,0x88,0x88,0x88,0xF8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xF8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xF8,0x20,0x20,0x20,0x20,0xE0,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA8, + 0xB8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xD8,0x6C,0x36,0x6C,0xD8, + 0x05,0x09,0x09,0x06,0x00,0xFF,0xF8,0xA8,0x88,0x88,0x88,0x88,0x88,0xA8,0xF8,0x05, + 0x0A,0x0A,0x06,0x00,0xFE,0x20,0x50,0x50,0x50,0x50,0x88,0xA8,0xA8,0x88,0x70,0x03, + 0x03,0x03,0x06,0x00,0x03,0x40,0xA0,0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00, + 0x00,0x06,0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, + 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xA0,0xA0,0xA0,0x05,0x06,0x06,0x06,0x00,0x00, + 0x50,0xF8,0x50,0x50,0xF8,0x50,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA0, + 0x70,0x28,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xC8,0xC8,0x10,0x20,0x40, + 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68,0x01, + 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40, + 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40, + 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xA8,0x70,0x20, + 0x70,0xA8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xF8,0x20,0x20,0x02,0x03, + 0x03,0x06,0x01,0xFF,0xC0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xF8,0x02,0x02, + 0x02,0x06,0x01,0x00,0xC0,0xC0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, + 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xA8,0xC8,0x88,0x70, + 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xC0,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xF8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xF8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0xF0,0x08,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xF0,0x88,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, - 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0,0xc0, - 0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05,0x06, - 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8, + 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xC0,0xC0,0x00,0xC0,0xC0, + 0x02,0x06,0x06,0x06,0x01,0xFF,0xC0,0xC0,0x00,0xC0,0x40,0x80,0x03,0x05,0x05,0x06, + 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xF8,0x00,0xF8, 0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, - 0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88, - 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05, + 0xB8,0xA8,0xB8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0xF0,0x05, 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, - 0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0, + 0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF8, + 0x80,0x80,0xF0,0x80,0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0, 0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07,0x07, - 0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, - 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, - 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, - 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88, - 0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8, - 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0, + 0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88, + 0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xA8, + 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88,0x05, 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, 0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, - 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8,0x50, + 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xA8,0xA8,0x50, 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07, 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, - 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, - 0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88, - 0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, + 0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, + 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0xE0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, + 0xFE,0xF8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88, + 0x88,0x88,0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, 0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xe0, - 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, - 0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01,0xfe, + 0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xE0, + 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x88,0x88,0x78,0x08,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x04,0x09,0x09,0x06,0x01,0xFE, 0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80, - 0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05,0x05, - 0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, - 0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, - 0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x80,0x88,0x90,0xE0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xC0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x05,0x05, + 0x05,0x06,0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0,0x80, + 0x80,0x05,0x07,0x07,0x06,0x00,0xFE,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, + 0x80,0x70,0x08,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x20, 0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xa8, - 0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, - 0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40,0x80, - 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40,0x40, - 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff}; + 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xA8, + 0xA8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, + 0x06,0x00,0xFE,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0xF8,0x10,0x20,0x40,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40,0x40,0x40,0x80, + 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xFF,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40,0x40,0x20,0x40,0x40, + 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xA8,0x90,0xFF}; #else // extended (original) font (symbols 1 - 255) @@ -131,171 +131,171 @@ const u8g_fntpgm_uint8_t ISO10646_1_5x7[1324] U8G_FONT_SECTION("ISO10646_1_5x7") Max Font ascent =10 descent=-2 */ const u8g_fntpgm_uint8_t ISO10646_1_5x7[2647] U8G_FONT_SECTION("ISO10646_1_5x7") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x07,0x02,0x25,0x03,0xbb,0x01,0xff,0xfe,0x0a,0xfe,0x08, - 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, - 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, - 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xd8,0x6c,0x36,0x6c,0xd8, - 0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8,0x05, - 0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70,0x03, - 0x03,0x03,0x06,0x00,0x03,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00, - 0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, - 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00,0x00, - 0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0, - 0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20,0x40, - 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68,0x01, - 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40, - 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40, - 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70,0x20, - 0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02,0x03, - 0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02,0x02, - 0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, - 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70, - 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, - 0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x07,0x02,0x25,0x03,0xBB,0x01,0xFF,0xFE,0x0A,0xFE,0x08, + 0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xC0,0xF8,0x88,0x88,0x88,0x88,0x88,0xF8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xF8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xF8,0x20,0x20,0x20,0x20,0xE0,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA8, + 0xB8,0x88,0x88,0x70,0x20,0x07,0x05,0x05,0x07,0x00,0x01,0xD8,0x6C,0x36,0x6C,0xD8, + 0x05,0x09,0x09,0x06,0x00,0xFF,0xF8,0xA8,0x88,0x88,0x88,0x88,0x88,0xA8,0xF8,0x05, + 0x0A,0x0A,0x06,0x00,0xFE,0x20,0x50,0x50,0x50,0x50,0x88,0xA8,0xA8,0x88,0x70,0x03, + 0x03,0x03,0x06,0x00,0x03,0x40,0xA0,0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00, + 0x00,0x06,0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80,0x00, + 0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xA0,0xA0,0xA0,0x05,0x06,0x06,0x06,0x00,0x00, + 0x50,0xF8,0x50,0x50,0xF8,0x50,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA0, + 0x70,0x28,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xC8,0xC8,0x10,0x20,0x40, + 0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68,0x01, + 0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40, + 0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40, + 0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xA8,0x70,0x20, + 0x70,0xA8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xF8,0x20,0x20,0x02,0x03, + 0x03,0x06,0x01,0xFF,0xC0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xF8,0x02,0x02, + 0x02,0x06,0x01,0x00,0xC0,0xC0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10,0x20, + 0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xA8,0xC8,0x88,0x70, + 0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xC0,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07, + 0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xF8,0x05,0x07,0x07,0x06,0x00,0x00, + 0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30,0x50, + 0x90,0xF8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0xF0,0x08,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xF0,0x88,0x88,0x70,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, - 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0,0xc0, - 0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05,0x06, - 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00,0xf8, + 0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xC0,0xC0,0x00,0xC0,0xC0, + 0x02,0x06,0x06,0x06,0x01,0xFF,0xC0,0xC0,0x00,0xC0,0x40,0x80,0x03,0x05,0x05,0x06, + 0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xF8,0x00,0xF8, 0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, - 0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88, - 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,0x05, + 0xB8,0xA8,0xB8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0xF0,0x05, 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, - 0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0, + 0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF8, + 0x80,0x80,0xF0,0x80,0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0, 0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07,0x07, - 0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00, - 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, - 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, - 0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88, - 0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xa8, - 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88,0x05, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00, + 0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0, + 0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88, + 0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0xA8, + 0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88,0x05, 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88, 0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, - 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8,0x50, + 0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xA8,0xA8,0x50, 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07,0x07, 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, - 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, - 0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88, - 0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, + 0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40,0x20, + 0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0xE0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06,0x00, + 0xFE,0xF8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06,0x00, + 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88, + 0x88,0x88,0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05,0x07, 0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06,0x00, - 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xe0, - 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, - 0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01,0xfe, + 0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40,0xE0, + 0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x88,0x88,0x78,0x08,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x88,0x03,0x07,0x07, + 0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x04,0x09,0x09,0x06,0x01,0xFE, 0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80, - 0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05,0x05, - 0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, - 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, - 0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, - 0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x80,0x88,0x90,0xE0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xC0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x05,0x05, + 0x05,0x06,0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70, + 0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0,0x80, + 0x80,0x05,0x07,0x07,0x06,0x00,0xFE,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x78, + 0x80,0x70,0x08,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x20, 0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05,0x06, - 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xa8, - 0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, - 0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40,0x80, - 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40,0x40, - 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x06, - 0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x05, - 0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,0x07,0x07,0x06, - 0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05,0x06,0x00,0x00,0xa8, - 0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xf8,0x20,0xf8,0x20, + 0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xA8, + 0xA8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07, + 0x06,0x00,0xFE,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0xF8,0x10,0x20,0x40,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40,0x40,0x40,0x80, + 0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xFF,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40,0x40,0x20,0x40,0x40, + 0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xA8,0x90,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x06, + 0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x05, + 0x07,0x07,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA0,0xA8,0x70,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x30,0x48,0x40,0xE0,0x40,0x48,0xB0,0x05,0x05,0x05,0x06,0x00,0x00,0xA8, + 0x50,0x88,0x50,0xA8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xF8,0x20,0xF8,0x20, 0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x04,0x08, - 0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0,0x03,0x01,0x01,0x06, - 0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4,0xb4,0x84,0x78, - 0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05,0x05,0x05,0x06,0x00, - 0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x08,0x08,0x03, - 0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4, - 0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04,0x04,0x06,0x01,0x05, - 0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x00, - 0xf8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xa0,0x20,0x40,0xe0,0x03,0x05,0x05,0x06, - 0x01,0x04,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40,0x80, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x08,0x08, - 0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06,0x02, - 0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03,0x05,0x05,0x06,0x01, - 0x04,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x40,0x00, - 0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x0a,0x0a,0x06, - 0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10,0x05,0x0a,0x0a,0x06, - 0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38,0x05,0x0a,0x0a,0x06, - 0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10,0x05,0x07,0x07,0x06, - 0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, - 0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, - 0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, - 0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x68, - 0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x50, - 0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50, - 0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0xa0, - 0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x80,0x80, - 0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80,0xf0, - 0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00,0xe0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40,0x40, - 0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,0x48,0x70,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xE0,0x03,0x01,0x01,0x06, + 0x01,0x07,0xA0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xB4,0xA4,0xB4,0x84,0x78, + 0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xA0,0x60,0x00,0xE0,0x05,0x05,0x05,0x06,0x00, + 0x00,0x28,0x50,0xA0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xF8,0x08,0x08,0x03, + 0x01,0x01,0x06,0x01,0x03,0xE0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xB4,0xA4, + 0xA4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xF8,0x04,0x04,0x04,0x06,0x01,0x05, + 0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x00, + 0xF8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xA0,0x20,0x40,0xE0,0x03,0x05,0x05,0x06, + 0x01,0x04,0xC0,0x20,0x40,0x20,0xC0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40,0x80, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x98,0xE8,0x80,0x80,0x05,0x08,0x08, + 0x06,0x00,0x00,0x78,0xE8,0xE8,0xE8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06,0x02, + 0x03,0xC0,0xC0,0x03,0x02,0x02,0x06,0x01,0xFE,0x20,0xC0,0x03,0x05,0x05,0x06,0x01, + 0x04,0x40,0xC0,0x40,0x40,0xE0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xA0,0x40,0x00, + 0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xA0,0x50,0x28,0x50,0xA0,0x05,0x0A,0x0A,0x06, + 0x00,0x00,0x40,0xC0,0x48,0x50,0x60,0x50,0xB0,0x50,0x78,0x10,0x05,0x0A,0x0A,0x06, + 0x00,0x00,0x40,0xC0,0x48,0x50,0x60,0x50,0xA8,0x08,0x10,0x38,0x05,0x0A,0x0A,0x06, + 0x00,0x00,0xC0,0x20,0x48,0x30,0xE0,0x50,0xB0,0x50,0x78,0x10,0x05,0x07,0x07,0x06, + 0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40, + 0x20,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10, + 0x20,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20, + 0x50,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x68, + 0xB0,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x50, + 0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20,0x50, + 0x20,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0xA0, + 0xA0,0xF0,0xA0,0xA0,0xB8,0x05,0x09,0x09,0x06,0x00,0xFE,0x70,0x88,0x80,0x80,0x80, + 0x88,0x70,0x10,0x60,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x20,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0xF8,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0xF8,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20,0x50,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0xF8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xF8,0x80,0x80,0xF0, + 0x80,0x80,0xF8,0x03,0x0A,0x0A,0x06,0x01,0x00,0x80,0x40,0x00,0xE0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x03,0x0A,0x0A,0x06,0x01,0x00,0x20,0x40,0x00,0xE0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x03,0x0A,0x0A,0x06,0x01,0x00,0x40,0xA0,0x00,0xE0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x03,0x09,0x09,0x06,0x01,0x00,0xA0,0x00,0xE0,0x40,0x40,0x40,0x40, + 0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xE8,0x48,0x48,0x70,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x68,0xB0,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x68,0xB0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, 0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x05, - 0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xff,0x08, - 0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20, - 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20, - 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50, + 0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xFF,0x08, + 0x70,0x98,0xA8,0xA8,0xA8,0xC8,0x70,0x80,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x20, + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20, + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20,0x50, 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00, - 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00, - 0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xe0,0x90, - 0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xa0,0x90,0x88, - 0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05, + 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00, + 0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xE0,0x90, + 0x90,0x90,0xE0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xA0,0x90,0x88, + 0xB0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05, 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08, 0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00, - 0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x50, + 0x00,0x68,0xB0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x50, 0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x70, - 0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xa0,0x78,0x05, - 0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08,0x06, - 0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00, - 0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50, - 0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88, - 0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40,0x40, - 0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03, - 0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03,0x07,0x07, - 0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09,0x09,0x06,0x00,0x00, + 0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xA0,0x78,0x05, + 0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08,0x06, + 0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00, + 0x10,0x20,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50, + 0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88, + 0xF0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xC0,0x40,0x40,0x40, + 0xE0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x03, + 0x08,0x08,0x06,0x01,0x00,0x40,0xA0,0x00,0xC0,0x40,0x40,0x40,0xE0,0x03,0x07,0x07, + 0x06,0x01,0x00,0xA0,0x00,0xC0,0x40,0x40,0x40,0xE0,0x05,0x09,0x09,0x06,0x00,0x00, 0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68, - 0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, + 0xB0,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, 0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88, 0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88, - 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x70,0x05, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xB0,0x00,0x70,0x88,0x88,0x88,0x70,0x05, 0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98,0xa8, - 0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88,0x70, + 0x00,0x01,0x20,0x00,0xF8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98,0xA8, + 0xC8,0xF0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88,0x70, 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x08, 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x10, - 0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x80, - 0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x50,0x00, + 0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0xFE,0x10, + 0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xFE,0x80, + 0x80,0xF0,0x88,0x88,0x88,0xF0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xFE,0x50,0x00, 0x88,0x88,0x88,0x50,0x20,0x40,0x80}; #endif diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_bg.h b/Marlin/src/lcd/dogm/fontdata/langdata_bg.h index 5fd7931f230b..c506f879335b 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_bg.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_bg.h @@ -6,62 +6,62 @@ #include const u8g_fntpgm_uint8_t fontpage_8_144_149[96] U8G_FONT_SECTION("fontpage_8_144_149") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x95,0x00,0x07,0xff,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, - 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, - 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x95,0x00,0x07,0xFF,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF0,0x80,0x80,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xFF,0x30,0x50,0x50,0x50,0x50, + 0x50,0xF8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8 }; const u8g_fntpgm_uint8_t fontpage_8_151_152[43] U8G_FONT_SECTION("fontpage_8_151_152") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x98,0x00,0x07,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x98,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88}; + 0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xA8,0xC8,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_8_154_164[160] U8G_FONT_SECTION("fontpage_8_154_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0xa4,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0xA4,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88, - 0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8, + 0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88, + 0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF8, 0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88, - 0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20 + 0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xA8,0xA8,0xA8,0x70,0x20 }; const u8g_fntpgm_uint8_t fontpage_8_166_166[32] U8G_FONT_SECTION("fontpage_8_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x07,0xFE,0x00, + 0x00,0x05,0x09,0x09,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0x90,0x90,0xF8,0x08,0x08 }; const u8g_fntpgm_uint8_t fontpage_8_175_195[260] U8G_FONT_SECTION("fontpage_8_175_195") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc3,0x00,0x08,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xC3,0x00,0x08,0xFE,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, - 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x80,0xF0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF0,0x88,0xF0,0x88, + 0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xFF,0x30,0x50,0x50,0x50,0xF8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xF0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0x70,0x20,0x70,0xA8,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, - 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, - 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8, - 0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, - 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x98,0xA8,0xC8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xA8, + 0xC8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xD8, + 0xA8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xF8,0x88,0x88,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF8, + 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0,0x80, 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, + 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88, 0x88,0x78,0x08,0x70}; const u8g_fntpgm_uint8_t fontpage_8_197_200[63] U8G_FONT_SECTION("fontpage_8_197_200") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc8,0x00,0x05,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC8,0x00,0x05,0xFE,0x00, 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07,0x07,0x06, - 0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xf8}; + 0x00,0xFE,0x90,0x90,0x90,0x90,0xF8,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8,0xF8}; const u8g_fntpgm_uint8_t fontpage_8_202_202[28] U8G_FONT_SECTION("fontpage_8_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0xC0,0x40,0x70,0x48,0x70}; const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCE,0xCF,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xA8,0xE8,0xA8,0x90,0x04,0x05,0x05,0x06, 0x01,0x00,0x70,0x90,0x70,0x50,0x90}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_cz.h b/Marlin/src/lcd/dogm/fontdata/langdata_cz.h index 998536fea106..754459d9af2a 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_cz.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_cz.h @@ -6,39 +6,39 @@ #include const u8g_fntpgm_uint8_t fontpage_2_140_141[47] U8G_FONT_SECTION("fontpage_2_140_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8D,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_2_143_143[33] U8G_FONT_SECTION("fontpage_2_143_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0x00,0x00, - 0x00,0x06,0x0a,0x0a,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x8F,0x00,0x0A,0x00,0x00, + 0x00,0x06,0x0A,0x0A,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88, 0x78}; const u8g_fntpgm_uint8_t fontpage_2_154_155[47] U8G_FONT_SECTION("fontpage_2_154_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9b,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0xf0,0x80,0x70}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9B,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, + 0xF8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0xF0,0x80,0x70}; const u8g_fntpgm_uint8_t fontpage_2_200_200[31] U8G_FONT_SECTION("fontpage_2_200_200") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xB0,0xC8,0x88,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_2_216_217[47] U8G_FONT_SECTION("fontpage_2_216_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd9,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90, - 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x80,0x80,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD9,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0xF0,0x88,0x88,0xF0,0xA0,0x90, + 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xB0,0xC8,0x80,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_2_224_225[47] U8G_FONT_SECTION("fontpage_2_224_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe1,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, - 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE1,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xF0}; const u8g_fntpgm_uint8_t fontpage_2_229_229[33] U8G_FONT_SECTION("fontpage_2_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xF8,0x20,0x20,0x20, 0x18}; const u8g_fntpgm_uint8_t fontpage_2_239_239[31] U8G_FONT_SECTION("fontpage_2_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20,0x88,0x88,0x88,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_2_253_254[47] U8G_FONT_SECTION("fontpage_2_253_254") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0x80, - 0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x10,0x20,0x40,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFE,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x08,0x10,0x20,0x40,0x80, + 0xF8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x10,0x20,0x40,0xF8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_el.h b/Marlin/src/lcd/dogm/fontdata/langdata_el.h index 6d864c9c9a89..4b545f228436 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_el.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_el.h @@ -6,74 +6,74 @@ #include const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x80,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x80,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, + 0xF8}; const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, - 0x50,0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0, - 0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0, - 0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x9D,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, + 0x50,0x50,0x88,0x88,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80, + 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xE0, + 0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0, + 0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0xA1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80}; + 0x07,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF0,0x88,0x88,0xF0,0x80,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_7_163_167[82] U8G_FONT_SECTION("fontpage_7_163_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x40,0x20,0x10,0x20,0x40,0xf8,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA3,0xA7,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x40,0x20,0x10,0x20,0x40,0xF8,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70, - 0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, + 0xA8,0xA8,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, 0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAF,0x00,0x08,0xFE,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x68,0x90,0x90,0x90,0x68,0x05, - 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0a,0x0a, - 0x06,0x00,0xfe,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, - 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xa0,0x40}; + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0A,0x0A, + 0x06,0x00,0xFE,0x10,0x20,0x00,0xB0,0xC8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, + 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xA0,0x40}; const u8g_fntpgm_uint8_t fontpage_7_177_181[80] U8G_FONT_SECTION("fontpage_7_177_181") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb5,0x00,0x07,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB5,0x00,0x07,0xFE,0x00, 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x68,0x05,0x09,0x09,0x06, - 0x00,0xfe,0x60,0x90,0x90,0xb0,0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, - 0xfe,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, + 0x00,0xFE,0x60,0x90,0x90,0xB0,0x88,0x88,0xF0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, + 0xFE,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, 0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_7_183_199[226] U8G_FONT_SECTION("fontpage_7_183_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xc7,0x00,0x09,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x04,0x07, - 0x07,0x06,0x01,0x00,0x60,0x90,0x90,0xf0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02, - 0x00,0x80,0x80,0x80,0xa0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xC7,0x00,0x09,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xFE,0xB0,0xC8,0x88,0x88,0x88,0x08,0x08,0x04,0x07, + 0x07,0x06,0x01,0x00,0x60,0x90,0x90,0xF0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02, + 0x00,0x80,0x80,0x80,0xA0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0, 0x90,0x05,0x09,0x09,0x06,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x50,0x50,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0xf8,0x20, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x98,0xE8,0x80,0x80,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xFE,0xF8,0x20, 0x40,0x70,0x80,0x80,0x70,0x08,0x10,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88, - 0x88,0x70,0x06,0x05,0x05,0x06,0x00,0x00,0xf8,0x50,0x50,0x54,0x48,0x05,0x07,0x07, - 0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe, + 0x88,0x70,0x06,0x05,0x05,0x06,0x00,0x00,0xF8,0x50,0x50,0x54,0x48,0x05,0x07,0x07, + 0x06,0x00,0xFE,0x70,0x88,0x88,0xC8,0xB0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xFE, 0x70,0x88,0x80,0x80,0x70,0x08,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x90,0x88, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x28,0x10,0x05,0x05,0x05, - 0x06,0x00,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x10,0xa8, - 0xa8,0xa8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x50,0x20,0x50, + 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x20,0x20,0x28,0x10,0x05,0x05,0x05, + 0x06,0x00,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0x10,0xA8, + 0xA8,0xA8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x50,0x20,0x50, 0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xA8,0xA8,0x50}; const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCE,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05, 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x08,0x08, - 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xa8,0xa8,0x50}; + 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xA8,0xA8,0x50}; const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x01,0x00,0x00, - 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xa8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x01,0x00,0x00, + 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xA8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_el_gr.h b/Marlin/src/lcd/dogm/fontdata/langdata_el_gr.h index 6d864c9c9a89..4b545f228436 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_el_gr.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_el_gr.h @@ -6,74 +6,74 @@ #include const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x80,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x80,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, + 0xF8}; const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x9d,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, - 0x50,0x50,0x88,0x88,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0, - 0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0, - 0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x9D,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, + 0x50,0x50,0x88,0x88,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80, + 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xE0, + 0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0, + 0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa1,0x00,0x07,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0xA1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80}; + 0x07,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF0,0x88,0x88,0xF0,0x80,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_7_163_167[82] U8G_FONT_SECTION("fontpage_7_163_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa7,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x40,0x20,0x10,0x20,0x40,0xf8,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA3,0xA7,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x40,0x20,0x10,0x20,0x40,0xF8,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70, - 0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, + 0xA8,0xA8,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50, 0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_172_175[75] U8G_FONT_SECTION("fontpage_7_172_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xaf,0x00,0x08,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAF,0x00,0x08,0xFE,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x68,0x90,0x90,0x90,0x68,0x05, - 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0a,0x0a, - 0x06,0x00,0xfe,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, - 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xa0,0x40}; + 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x60,0x88,0x70,0x05,0x0A,0x0A, + 0x06,0x00,0xFE,0x10,0x20,0x00,0xB0,0xC8,0x88,0x88,0x88,0x08,0x08,0x03,0x08,0x08, + 0x06,0x01,0x00,0x40,0x80,0x00,0x80,0x80,0x80,0xA0,0x40}; const u8g_fntpgm_uint8_t fontpage_7_177_181[80] U8G_FONT_SECTION("fontpage_7_177_181") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb5,0x00,0x07,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB5,0x00,0x07,0xFE,0x00, 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x68,0x90,0x90,0x90,0x68,0x05,0x09,0x09,0x06, - 0x00,0xfe,0x60,0x90,0x90,0xb0,0x88,0x88,0xf0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, - 0xfe,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, + 0x00,0xFE,0x60,0x90,0x90,0xB0,0x88,0x88,0xF0,0x80,0x80,0x05,0x07,0x07,0x06,0x00, + 0xFE,0x88,0x88,0x50,0x50,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x80, 0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x60,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_7_183_199[226] U8G_FONT_SECTION("fontpage_7_183_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xc7,0x00,0x09,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0xb0,0xc8,0x88,0x88,0x88,0x08,0x08,0x04,0x07, - 0x07,0x06,0x01,0x00,0x60,0x90,0x90,0xf0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02, - 0x00,0x80,0x80,0x80,0xa0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xC7,0x00,0x09,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xFE,0xB0,0xC8,0x88,0x88,0x88,0x08,0x08,0x04,0x07, + 0x07,0x06,0x01,0x00,0x60,0x90,0x90,0xF0,0x90,0x90,0x60,0x03,0x05,0x05,0x06,0x02, + 0x00,0x80,0x80,0x80,0xA0,0x40,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0, 0x90,0x05,0x09,0x09,0x06,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x50,0x50,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0xf8,0x20, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x98,0xE8,0x80,0x80,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xFE,0xF8,0x20, 0x40,0x70,0x80,0x80,0x70,0x08,0x10,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88, - 0x88,0x70,0x06,0x05,0x05,0x06,0x00,0x00,0xf8,0x50,0x50,0x54,0x48,0x05,0x07,0x07, - 0x06,0x00,0xfe,0x70,0x88,0x88,0xc8,0xb0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe, + 0x88,0x70,0x06,0x05,0x05,0x06,0x00,0x00,0xF8,0x50,0x50,0x54,0x48,0x05,0x07,0x07, + 0x06,0x00,0xFE,0x70,0x88,0x88,0xC8,0xB0,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xFE, 0x70,0x88,0x80,0x80,0x70,0x08,0x30,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x90,0x88, - 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x28,0x10,0x05,0x05,0x05, - 0x06,0x00,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x10,0xa8, - 0xa8,0xa8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x50,0x20,0x50, + 0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x20,0x20,0x28,0x10,0x05,0x05,0x05, + 0x06,0x00,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0x10,0xA8, + 0xA8,0xA8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x50,0x20,0x50, 0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_201_201[28] U8G_FONT_SECTION("fontpage_7_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xA8,0xA8,0x50}; const u8g_fntpgm_uint8_t fontpage_7_204_206[59] U8G_FONT_SECTION("fontpage_7_204_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xce,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCE,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x70,0x05, 0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x90,0x88,0x88,0x88,0x70,0x05,0x08,0x08, - 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xa8,0xa8,0x50}; + 0x06,0x00,0x00,0x10,0x20,0x00,0x50,0x88,0xA8,0xA8,0x50}; const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x01,0x00,0x00, - 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xa8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x01,0x00,0x00, + 0x00,0x05,0x01,0x01,0x06,0x00,0x00,0xA8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_hr.h b/Marlin/src/lcd/dogm/fontdata/langdata_hr.h index 6337c9226a46..cdb2cc7d1ade 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_hr.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_hr.h @@ -6,21 +6,21 @@ #include const u8g_fntpgm_uint8_t fontpage_2_135_135[31] U8G_FONT_SECTION("fontpage_2_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_2_140_141[47] U8G_FONT_SECTION("fontpage_2_140_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8D,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_2_145_145[31] U8G_FONT_SECTION("fontpage_2_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x08,0x00,0x00, - 0x00,0x06,0x08,0x08,0x06,0x00,0x00,0x08,0x1c,0x08,0x78,0x88,0x88,0x88,0x78}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x08,0x00,0x00, + 0x00,0x06,0x08,0x08,0x06,0x00,0x00,0x08,0x1C,0x08,0x78,0x88,0x88,0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_2_225_225[31] U8G_FONT_SECTION("fontpage_2_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xF0}; const u8g_fntpgm_uint8_t fontpage_2_254_254[31] U8G_FONT_SECTION("fontpage_2_254_254") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x08,0x00,0x00, - 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x10,0x20,0x40,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x00,0x08,0x00,0x00, + 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x10,0x20,0x40,0xF8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_hu.h b/Marlin/src/lcd/dogm/fontdata/langdata_hu.h index 29060b252a5f..8c15a3890ab0 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_hu.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_hu.h @@ -6,7 +6,7 @@ #include const u8g_fntpgm_uint8_t fontpage_2_241_241[31] U8G_FONT_SECTION("fontpage_2_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x48,0x90,0x00,0x88,0x88,0x88,0x88,0x70}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_jp_kana.h b/Marlin/src/lcd/dogm/fontdata/langdata_jp_kana.h index 97d82c0293dc..01316d4c1311 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_jp_kana.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_jp_kana.h @@ -6,92 +6,92 @@ #include const u8g_fntpgm_uint8_t fontpage_97_161_164[65] U8G_FONT_SECTION("fontpage_97_161_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa4,0x00,0x07,0x00,0x00, - 0x00,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,0x10,0x60,0x40,0x80,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf8,0x08,0x28,0x30,0x20,0x20,0x40,0x04,0x05,0x05,0x06,0x00,0x00,0x10, - 0x20,0x60,0xa0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x20,0x60,0xa0,0x20, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA4,0x00,0x07,0x00,0x00, + 0x00,0x04,0x05,0x05,0x06,0x00,0x00,0xF0,0x10,0x60,0x40,0x80,0x05,0x07,0x07,0x06, + 0x00,0x00,0xF8,0x08,0x28,0x30,0x20,0x20,0x40,0x04,0x05,0x05,0x06,0x00,0x00,0x10, + 0x20,0x60,0xA0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x20,0x60,0xA0,0x20, 0x20}; const u8g_fntpgm_uint8_t fontpage_97_166_166[30] U8G_FONT_SECTION("fontpage_97_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xf8,0x88,0x88,0x08,0x10,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xF8,0x88,0x88,0x08,0x10,0x60}; const u8g_fntpgm_uint8_t fontpage_97_168_168[29] U8G_FONT_SECTION("fontpage_97_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x06,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x06,0x00,0x00, + 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0xF8}; const u8g_fntpgm_uint8_t fontpage_97_170_187[268] U8G_FONT_SECTION("fontpage_97_170_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xbb,0x00,0x0d,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0xf8,0x10,0x30,0x50,0x90,0x10,0x05,0x07, - 0x07,0x06,0x00,0x00,0x40,0xf8,0x48,0x48,0x48,0x48,0x98,0x05,0x09,0x09,0x06,0x00, - 0x00,0x28,0x08,0x40,0xf8,0x48,0x48,0x48,0x48,0x98,0x05,0x07,0x07,0x06,0x00,0x00, - 0x20,0xf8,0x20,0x20,0xf8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20, - 0xf8,0x20,0x20,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x78,0x48,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAA,0xBB,0x00,0x0D,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0xF8,0x10,0x30,0x50,0x90,0x10,0x05,0x07, + 0x07,0x06,0x00,0x00,0x40,0xF8,0x48,0x48,0x48,0x48,0x98,0x05,0x09,0x09,0x06,0x00, + 0x00,0x28,0x08,0x40,0xF8,0x48,0x48,0x48,0x48,0x98,0x05,0x07,0x07,0x06,0x00,0x00, + 0x20,0xF8,0x20,0x20,0xF8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20, + 0xF8,0x20,0x20,0xF8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x78,0x48,0x88, 0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x40,0x78,0x48,0x88,0x08, - 0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0xf8,0x90,0x90,0x10,0x10,0x20,0x05, - 0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x80,0xf8,0x90,0x90,0x10,0x10,0x20,0x05,0x06, - 0x06,0x06,0x00,0x00,0xf8,0x08,0x08,0x08,0x08,0xf8,0x05,0x09,0x09,0x06,0x00,0x00, - 0x28,0x28,0x00,0xf8,0x08,0x08,0x08,0x08,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x50, - 0xf8,0x50,0x50,0x50,0x10,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x50,0xf8, - 0x50,0x50,0x50,0x10,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xc0,0x08,0xc8,0x08,0x10, - 0xe0,0x07,0x0d,0x0d,0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x28,0x28,0x00,0xc0,0x08, - 0xc8,0x08,0x10,0xe0,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x10,0x10,0x20,0x50,0x88, + 0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0xF8,0x90,0x90,0x10,0x10,0x20,0x05, + 0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x80,0xF8,0x90,0x90,0x10,0x10,0x20,0x05,0x06, + 0x06,0x06,0x00,0x00,0xF8,0x08,0x08,0x08,0x08,0xF8,0x05,0x09,0x09,0x06,0x00,0x00, + 0x28,0x28,0x00,0xF8,0x08,0x08,0x08,0x08,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x50, + 0xF8,0x50,0x50,0x50,0x10,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x50,0xF8, + 0x50,0x50,0x50,0x10,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xC0,0x08,0xC8,0x08,0x10, + 0xE0,0x07,0x0D,0x0D,0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x28,0x28,0x00,0xC0,0x08, + 0xC8,0x08,0x10,0xE0,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x10,0x10,0x20,0x50,0x88, 0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x70,0x10,0x10,0x20,0x50,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xf8,0x48,0x50,0x40,0x38}; + 0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xF8,0x48,0x50,0x40,0x38}; const u8g_fntpgm_uint8_t fontpage_97_189_193[85] U8G_FONT_SECTION("fontpage_97_189_193") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xc1,0x00,0x09,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBD,0xC1,0x00,0x09,0x00,0x00, 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x48,0x48,0x10,0x10,0x20,0x05,0x09,0x09, 0x06,0x00,0x00,0x28,0x28,0x00,0x88,0x48,0x48,0x10,0x10,0x20,0x05,0x07,0x07,0x06, - 0x00,0x00,0x40,0x78,0x48,0xa8,0x18,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28, - 0x08,0x40,0x78,0x48,0xa8,0x18,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x60, - 0x20,0xf8,0x20,0x20,0x40}; + 0x00,0x00,0x40,0x78,0x48,0xA8,0x18,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28, + 0x08,0x40,0x78,0x48,0xA8,0x18,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x60, + 0x20,0xF8,0x20,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_97_195_211[241] U8G_FONT_SECTION("fontpage_97_195_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xd3,0x00,0x09,0x00,0x00, - 0x00,0x05,0x04,0x04,0x06,0x00,0x00,0xa8,0xa8,0x08,0x30,0x05,0x06,0x06,0x06,0x00, - 0x00,0xa8,0xa8,0xa8,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00, - 0xa8,0xa8,0xa8,0x08,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xf8,0x20, - 0x20,0x20,0x40,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x70,0x00,0xf8,0x20,0x20, - 0x20,0x40,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0x80,0xc0,0xa0,0x90,0x80,0x80,0x04, - 0x09,0x09,0x06,0x01,0x00,0x50,0x10,0x80,0x80,0xc0,0xa0,0x90,0x80,0x80,0x05,0x07, - 0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x40,0x80,0x05,0x06,0x06,0x06,0x00, - 0x00,0x70,0x00,0x00,0x00,0x00,0xf8,0x05,0x06,0x06,0x06,0x00,0x00,0x78,0x08,0x28, - 0x10,0x28,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0x10,0x20,0x70,0xa8,0x20, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC3,0xD3,0x00,0x09,0x00,0x00, + 0x00,0x05,0x04,0x04,0x06,0x00,0x00,0xA8,0xA8,0x08,0x30,0x05,0x06,0x06,0x06,0x00, + 0x00,0xA8,0xA8,0xA8,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00, + 0xA8,0xA8,0xA8,0x08,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xF8,0x20, + 0x20,0x20,0x40,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x70,0x00,0xF8,0x20,0x20, + 0x20,0x40,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0x80,0xC0,0xA0,0x90,0x80,0x80,0x04, + 0x09,0x09,0x06,0x01,0x00,0x50,0x10,0x80,0x80,0xC0,0xA0,0x90,0x80,0x80,0x05,0x07, + 0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x40,0x80,0x05,0x06,0x06,0x06,0x00, + 0x00,0x70,0x00,0x00,0x00,0x00,0xF8,0x05,0x06,0x06,0x06,0x00,0x00,0x78,0x08,0x28, + 0x10,0x28,0xC0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0x10,0x20,0x70,0xA8,0x20, 0x03,0x06,0x06,0x06,0x01,0x00,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x06,0x06,0x06, 0x00,0x00,0x10,0x50,0x50,0x48,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28, 0x00,0x10,0x50,0x50,0x48,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x18,0x18,0x00, - 0x10,0x50,0x50,0x48,0x88,0x88,0x04,0x06,0x06,0x06,0x00,0x00,0x80,0x90,0xe0,0x80, - 0x80,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x80,0x90,0xe0,0x80,0x80, + 0x10,0x50,0x50,0x48,0x88,0x88,0x04,0x06,0x06,0x06,0x00,0x00,0x80,0x90,0xE0,0x80, + 0x80,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x80,0x90,0xE0,0x80,0x80, 0x70}; const u8g_fntpgm_uint8_t fontpage_97_213_217[84] U8G_FONT_SECTION("fontpage_97_213_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd9,0x00,0x09,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09, - 0x06,0x00,0x00,0x28,0x28,0x00,0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06, - 0x00,0x00,0x18,0x18,0x00,0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x05,0x05,0x06,0x00, - 0x01,0x60,0xa0,0x10,0x10,0x08,0x05,0x08,0x08,0x06,0x00,0x01,0x28,0x28,0x00,0x60, - 0xa0,0x10,0x10,0x08}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD5,0xD9,0x00,0x09,0x00,0x00, + 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09, + 0x06,0x00,0x00,0x28,0x28,0x00,0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06, + 0x00,0x00,0x18,0x18,0x00,0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x05,0x05,0x06,0x00, + 0x01,0x60,0xA0,0x10,0x10,0x08,0x05,0x08,0x08,0x06,0x00,0x01,0x28,0x28,0x00,0x60, + 0xA0,0x10,0x10,0x08}; const u8g_fntpgm_uint8_t fontpage_97_219_220[45] U8G_FONT_SECTION("fontpage_97_219_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdc,0x00,0x09,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xf8,0x20,0xa8,0xa8,0xa8,0x20,0x05,0x09, - 0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xf8,0x20,0xa8,0xa8,0xa8,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDB,0xDC,0x00,0x09,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xF8,0x20,0xA8,0xA8,0xA8,0x20,0x05,0x09, + 0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xF8,0x20,0xA8,0xA8,0xA8,0x20}; const u8g_fntpgm_uint8_t fontpage_97_222_223[41] U8G_FONT_SECTION("fontpage_97_222_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xdf,0x00,0x06,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0x08,0x50,0x20,0x10,0x04,0x06,0x06, - 0x06,0x01,0x00,0xe0,0x00,0xe0,0x00,0xc0,0x30}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDF,0x00,0x06,0x00,0x00, + 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x08,0x08,0x50,0x20,0x10,0x04,0x06,0x06, + 0x06,0x01,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x30}; const u8g_fntpgm_uint8_t fontpage_97_225_237[174] U8G_FONT_SECTION("fontpage_97_225_237") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xed,0x00,0x07,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x48,0x30,0x10,0x28,0xc0,0x05,0x06,0x06, - 0x06,0x00,0x00,0xf0,0x40,0xf8,0x40,0x40,0x38,0x05,0x05,0x05,0x06,0x00,0x00,0x40, - 0xf8,0x48,0x50,0x40,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xf8,0x48,0x50,0x40, - 0x40,0x04,0x05,0x05,0x06,0x00,0x00,0x60,0x20,0x20,0x20,0xf0,0x05,0x06,0x06,0x06, - 0x00,0x00,0x70,0x10,0x10,0x10,0x10,0xf8,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,0x10, - 0xf0,0x10,0xf0,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0x08,0xf8,0x05, - 0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xf8,0x08,0x08,0x10,0x60,0x04,0x07,0x07,0x06, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xED,0x00,0x07,0x00,0x00, + 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0x08,0x48,0x30,0x10,0x28,0xC0,0x05,0x06,0x06, + 0x06,0x00,0x00,0xF0,0x40,0xF8,0x40,0x40,0x38,0x05,0x05,0x05,0x06,0x00,0x00,0x40, + 0xF8,0x48,0x50,0x40,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xF8,0x48,0x50,0x40, + 0x40,0x04,0x05,0x05,0x06,0x00,0x00,0x60,0x20,0x20,0x20,0xF0,0x05,0x06,0x06,0x06, + 0x00,0x00,0x70,0x10,0x10,0x10,0x10,0xF8,0x04,0x05,0x05,0x06,0x00,0x00,0xF0,0x10, + 0xF0,0x10,0xF0,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x08,0xF8,0x08,0x08,0xF8,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xF8,0x08,0x08,0x10,0x60,0x04,0x07,0x07,0x06, 0x00,0x00,0x10,0x90,0x90,0x90,0x90,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20, - 0x20,0xa0,0xa0,0xa8,0xa8,0xb0,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0x80,0x88, - 0xb0,0xc0,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0xf8}; + 0x20,0xA0,0xA0,0xA8,0xA8,0xB0,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0x80,0x88, + 0xB0,0xC0,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xF8}; const u8g_fntpgm_uint8_t fontpage_97_242_243[41] U8G_FONT_SECTION("fontpage_97_242_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf3,0x00,0x06,0x00,0x00, - 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0x10,0x60,0x05,0x06,0x06, - 0x06,0x00,0x00,0xc0,0x08,0x08,0x08,0x10,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF3,0x00,0x06,0x00,0x00, + 0x00,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x08,0xF8,0x08,0x10,0x60,0x05,0x06,0x06, + 0x06,0x00,0x00,0xC0,0x08,0x08,0x08,0x10,0xE0}; const u8g_fntpgm_uint8_t fontpage_97_252_252[25] U8G_FONT_SECTION("fontpage_97_252_252") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x05,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x05,0x00,0x00, 0x00,0x05,0x02,0x02,0x06,0x00,0x03,0x80,0x78}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_ko_KR.h b/Marlin/src/lcd/dogm/fontdata/langdata_ko_KR.h index e920b61631eb..6b48434a6f58 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_ko_KR.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_ko_KR.h @@ -6,434 +6,434 @@ #include const u8g_fntpgm_uint8_t fontpage_344_240_240[34] U8G_FONT_SECTION("fontpage_344_240_240") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0x11,0x17,0x21,0x41,0x81,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0x11,0x17,0x21,0x41,0x81,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_345_224_224[41] U8G_FONT_SECTION("fontpage_345_224_224") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x08, - 0x80,0x08,0x80,0x09,0x00,0x08,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x08, + 0x80,0x08,0x80,0x09,0x00,0x08,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_347_248_248[41] U8G_FONT_SECTION("fontpage_347_248_248") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00, - 0x80,0x01,0x00,0x01,0x00,0x01,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00, + 0x80,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_348_137_137[45] U8G_FONT_SECTION("fontpage_348_137_137") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x00,0x80,0x00,0x80,0x01,0x00,0xff, - 0xc0,0x00,0x00,0x20,0x80,0x20,0x80,0x3f,0x00,0x20,0x80,0x3f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x00,0x80,0x00,0x80,0x01,0x00,0xFF, + 0xC0,0x00,0x00,0x20,0x80,0x20,0x80,0x3F,0x00,0x20,0x80,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_348_176_176[34] U8G_FONT_SECTION("fontpage_348_176_176") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0x11,0x11,0x21,0x41,0x81,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0x11,0x11,0x21,0x41,0x81,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_348_197_197[34] U8G_FONT_SECTION("fontpage_348_197_197") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0x11,0x21,0xc1,0x1e,0x21,0x41, - 0x21,0x1e}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0x11,0x21,0xC1,0x1E,0x21,0x41, + 0x21,0x1E}; const u8g_fntpgm_uint8_t fontpage_352_196_196[41] U8G_FONT_SECTION("fontpage_352_196_196") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x7f,0x80,0x08,0x80,0x08,0x80,0x08,0x80,0x08, - 0x80,0x08,0x80,0x10,0x80,0x11,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x7F,0x80,0x08,0x80,0x08,0x80,0x08,0x80,0x08, + 0x80,0x08,0x80,0x10,0x80,0x11,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_353_180_180[34] U8G_FONT_SECTION("fontpage_353_180_180") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x85,0x85,0x85,0x85,0x87,0x85,0x85,0xfd,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB4,0xB4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x85,0x85,0x85,0x85,0x87,0x85,0x85,0xFD,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_354_248_248[41] U8G_FONT_SECTION("fontpage_354_248_248") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3f, - 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3F, + 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_356_132_132[43] U8G_FONT_SECTION("fontpage_356_132_132") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xff,0x00, - 0x00,0x0a,0x0a,0x14,0x0a,0x00,0xff,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3f, - 0x80,0x00,0x00,0xff,0xc0,0x04,0x00,0x04,0x00,0x04,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xFF,0x00, + 0x00,0x0A,0x0A,0x14,0x0A,0x00,0xFF,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3F, + 0x80,0x00,0x00,0xFF,0xC0,0x04,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_356_244_244[43] U8G_FONT_SECTION("fontpage_356_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0xff,0x00, - 0x00,0x0a,0x0a,0x14,0x0a,0x00,0xff,0x20,0x00,0x20,0x00,0x20,0x00,0x3f,0x80,0x00, - 0x00,0x00,0x00,0xff,0xc0,0x12,0x00,0x12,0x00,0x12,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0xFF,0x00, + 0x00,0x0A,0x0A,0x14,0x0A,0x00,0xFF,0x20,0x00,0x20,0x00,0x20,0x00,0x3F,0x80,0x00, + 0x00,0x00,0x00,0xFF,0xC0,0x12,0x00,0x12,0x00,0x12,0x00}; const u8g_fntpgm_uint8_t fontpage_357_200_200[34] U8G_FONT_SECTION("fontpage_357_200_200") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x7d,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x7D,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_357_228_228[45] U8G_FONT_SECTION("fontpage_357_228_228") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x81,0x00,0x81,0x00,0x81,0x00,0x81, - 0x80,0x81,0x00,0x81,0x00,0xfd,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xE4,0xE4,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x81,0x00,0x81,0x00,0x81,0x00,0x81, + 0x80,0x81,0x00,0x81,0x00,0xFD,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_357_249_249[45] U8G_FONT_SECTION("fontpage_357_249_249") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x81,0x00,0x81,0x00,0x81,0x80,0x81, - 0x00,0xfd,0x00,0x00,0x00,0x3e,0x00,0x41,0x00,0x41,0x00,0x3e,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x81,0x00,0x81,0x00,0x81,0x80,0x81, + 0x00,0xFD,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x41,0x00,0x3E,0x00}; const u8g_fntpgm_uint8_t fontpage_359_196_196[41] U8G_FONT_SECTION("fontpage_359_196_196") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x20,0x00,0x20,0x00,0x20,0x00,0x3f, - 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x20,0x00,0x20,0x00,0x20,0x00,0x3F, + 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_359_204_204[45] U8G_FONT_SECTION("fontpage_359_204_204") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x20,0x00,0x3f,0x80,0x04,0x00,0xff, - 0xc0,0x00,0x00,0x3f,0x00,0x00,0x80,0x3f,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x20,0x00,0x3F,0x80,0x04,0x00,0xFF, + 0xC0,0x00,0x00,0x3F,0x00,0x00,0x80,0x3F,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_359_217_217[45] U8G_FONT_SECTION("fontpage_359_217_217") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x20,0x00,0x20,0x00,0x3f,0x80,0x04, - 0x00,0xff,0xc0,0x00,0x00,0x1f,0x00,0x20,0x80,0x20,0x80,0x1f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x3F,0x80,0x04, + 0x00,0xFF,0xC0,0x00,0x00,0x1F,0x00,0x20,0x80,0x20,0x80,0x1F,0x00}; const u8g_fntpgm_uint8_t fontpage_360_152_152[45] U8G_FONT_SECTION("fontpage_360_152_152") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x7c,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7e, - 0x80,0x10,0x80,0x10,0x80,0xff,0x80,0x00,0x80,0x00,0x80,0x00,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x7C,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7E, + 0x80,0x10,0x80,0x10,0x80,0xFF,0x80,0x00,0x80,0x00,0x80,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_360_156_156[45] U8G_FONT_SECTION("fontpage_360_156_156") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x7c,0x80,0x40,0x80,0x40,0x80,0x7c,0x80,0x10, - 0x80,0x10,0x80,0xff,0x80,0x00,0x80,0x20,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x7C,0x80,0x40,0x80,0x40,0x80,0x7C,0x80,0x10, + 0x80,0x10,0x80,0xFF,0x80,0x00,0x80,0x20,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_360_168_168[34] U8G_FONT_SECTION("fontpage_360_168_168") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x81,0x81,0xf9,0x21,0xff,0x00,0x7f,0x41, - 0x41,0x7f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x81,0x81,0xF9,0x21,0xFF,0x00,0x7F,0x41, + 0x41,0x7F}; const u8g_fntpgm_uint8_t fontpage_361_164_164[45] U8G_FONT_SECTION("fontpage_361_164_164") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x7c,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7c, - 0x80,0x00,0x80,0xfe,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x7C,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7C, + 0x80,0x00,0x80,0xFE,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; const u8g_fntpgm_uint8_t fontpage_361_220_220[41] U8G_FONT_SECTION("fontpage_361_220_220") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x20,0x00,0x20,0x00,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x20,0x00,0x20,0x00,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_362_148_148[34] U8G_FONT_SECTION("fontpage_362_148_148") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x81,0x81,0x81,0x81,0x81,0x81,0xfd,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x81,0x81,0x81,0x81,0x81,0x81,0xFD,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_366_252_252[45] U8G_FONT_SECTION("fontpage_366_252_252") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x09,0x00,0x09,0x00,0xf9,0x00,0x81, - 0x80,0x81,0x00,0x81,0x00,0xfd,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x09,0x00,0x09,0x00,0xF9,0x00,0x81, + 0x80,0x81,0x00,0x81,0x00,0xFD,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_367_236_236[34] U8G_FONT_SECTION("fontpage_367_236_236") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xec,0xec,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf1,0x09,0x09,0xf1,0x87,0x81,0x81,0xf9,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xEC,0xEC,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF1,0x09,0x09,0xF1,0x87,0x81,0x81,0xF9,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_368_136_136[34] U8G_FONT_SECTION("fontpage_368_136_136") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf5,0x15,0x15,0xf5,0x8d,0x85,0x85,0xfd,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF5,0x15,0x15,0xF5,0x8D,0x85,0x85,0xFD,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_368_165_165[34] U8G_FONT_SECTION("fontpage_368_165_165") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf1,0x17,0xf1,0x87,0x81,0xf9,0x00,0x7f,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF1,0x17,0xF1,0x87,0x81,0xF9,0x00,0x7F,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_368_220_220[41] U8G_FONT_SECTION("fontpage_368_220_220") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x00,0x80,0x3f,0x80,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x00,0x80,0x3F,0x80,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_369_204_204[41] U8G_FONT_SECTION("fontpage_369_204_204") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x00,0x80,0x3f,0x80,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x12,0x00,0x12,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x00,0x80,0x3F,0x80,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x12,0x00,0x12,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_370_244_244[41] U8G_FONT_SECTION("fontpage_370_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x00,0x80,0x3f,0x80,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x00,0x80,0x3F,0x80,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_371_172_172[34] U8G_FONT_SECTION("fontpage_371_172_172") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0xf9,0x81,0x81,0x81,0xfd,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0xF9,0x81,0x81,0x81,0xFD,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_371_176_176[34] U8G_FONT_SECTION("fontpage_371_176_176") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0xf9,0x81,0x81,0xfd,0x01,0x20, - 0x20,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0xF9,0x81,0x81,0xFD,0x01,0x20, + 0x20,0x3F}; const u8g_fntpgm_uint8_t fontpage_371_189_189[34] U8G_FONT_SECTION("fontpage_371_189_189") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0xf9,0x81,0x81,0xfd,0x00,0x41,0x3f, - 0x41,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xBD,0xBD,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0xF9,0x81,0x81,0xFD,0x00,0x41,0x3F, + 0x41,0x3F}; const u8g_fntpgm_uint8_t fontpage_371_193_193[34] U8G_FONT_SECTION("fontpage_371_193_193") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc1,0xc1,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0xf9,0x81,0x81,0xfd,0x01,0x3e,0x21, - 0x21,0x3e}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC1,0xC1,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0xF9,0x81,0x81,0xFD,0x01,0x3E,0x21, + 0x21,0x3E}; const u8g_fntpgm_uint8_t fontpage_372_200_200[34] U8G_FONT_SECTION("fontpage_372_200_200") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x89,0x89,0x8f,0x89,0xf9,0x00,0x3f,0x41, - 0x41,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x89,0x89,0x8F,0x89,0xF9,0x00,0x3F,0x41, + 0x41,0x3F}; const u8g_fntpgm_uint8_t fontpage_372_212_212[34] U8G_FONT_SECTION("fontpage_372_212_212") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf5,0x95,0x95,0x9d,0x95,0x95,0x95,0xf5,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF5,0x95,0x95,0x9D,0x95,0x95,0x95,0xF5,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_372_244_244[34] U8G_FONT_SECTION("fontpage_372_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x89,0x8f,0x89,0x8f,0xf9,0x01,0x21,0x20, - 0x20,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x89,0x8F,0x89,0x8F,0xF9,0x01,0x21,0x20, + 0x20,0x3F}; const u8g_fntpgm_uint8_t fontpage_373_168_168[41] U8G_FONT_SECTION("fontpage_373_168_168") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x3f, - 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x3F, + 0x80,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_373_187_187[45] U8G_FONT_SECTION("fontpage_373_187_187") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x20,0x80,0x20,0x80,0x3f,0x00,0x04, - 0x00,0xff,0xc0,0x00,0x00,0x04,0x00,0x0c,0x00,0x1a,0x00,0x61,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xBB,0xBB,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x20,0x80,0x20,0x80,0x3F,0x00,0x04, + 0x00,0xFF,0xC0,0x00,0x00,0x04,0x00,0x0C,0x00,0x1A,0x00,0x61,0x80}; const u8g_fntpgm_uint8_t fontpage_375_248_248[34] U8G_FONT_SECTION("fontpage_375_248_248") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x89,0x89,0x89,0x89,0x89,0x89,0xf9,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x89,0x89,0x89,0x89,0x89,0x89,0xF9,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_376_128_128[34] U8G_FONT_SECTION("fontpage_376_128_128") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x89,0x89,0x89,0xf9,0x00,0x3f,0x01,0x3f, - 0x40,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x89,0x89,0x89,0xF9,0x00,0x3F,0x01,0x3F, + 0x40,0x3F}; const u8g_fntpgm_uint8_t fontpage_376_148_148[45] U8G_FONT_SECTION("fontpage_376_148_148") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x89,0x00,0x89,0x00,0x89,0x00,0xf9,0x00,0x89, - 0x80,0x89,0x00,0x89,0x00,0xf9,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x89,0x00,0x89,0x00,0x89,0x00,0xF9,0x00,0x89, + 0x80,0x89,0x00,0x89,0x00,0xF9,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_377_132_132[34] U8G_FONT_SECTION("fontpage_377_132_132") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x89,0x89,0x89,0xff,0x89,0x89,0x89,0xf9,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x89,0x89,0x89,0xFF,0x89,0x89,0x89,0xF9,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_377_160_160[34] U8G_FONT_SECTION("fontpage_377_160_160") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x95,0x95,0x95,0xf5,0x9d,0x95,0x95,0xf5,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x95,0x95,0x95,0xF5,0x9D,0x95,0x95,0xF5,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_377_168_168[34] U8G_FONT_SECTION("fontpage_377_168_168") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x95,0x95,0xfd,0x95,0xf5,0x00,0x3f,0x01,0x3f, - 0x40,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x95,0x95,0xFD,0x95,0xF5,0x00,0x3F,0x01,0x3F, + 0x40,0x3F}; const u8g_fntpgm_uint8_t fontpage_377_248_248[45] U8G_FONT_SECTION("fontpage_377_248_248") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x20,0x80,0x20,0x80,0x3f,0x00,0x20,0x80,0x3f, - 0x00,0x04,0x00,0xff,0xc0,0x00,0x00,0x20,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x20,0x80,0x20,0x80,0x3F,0x00,0x20,0x80,0x3F, + 0x00,0x04,0x00,0xFF,0xC0,0x00,0x00,0x20,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_380_196_196[34] U8G_FONT_SECTION("fontpage_380_196_196") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x89,0x89,0x89,0xf9,0x89,0x89,0x89,0xf9,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x89,0x89,0x89,0xF9,0x89,0x89,0x89,0xF9,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_385_172_172[45] U8G_FONT_SECTION("fontpage_385_172_172") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x61, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x61, 0x80,0x51,0x00,0x99,0x00,0x89,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_385_189_189[45] U8G_FONT_SECTION("fontpage_385_189_189") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x21,0x00,0x21,0x00,0x21,0x00,0x51,0x80,0xd9, - 0x00,0x89,0x00,0x00,0x00,0x41,0x00,0x7e,0x00,0x41,0x00,0x7e,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xBD,0xBD,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x21,0x00,0x21,0x00,0x21,0x00,0x51,0x80,0xD9, + 0x00,0x89,0x00,0x00,0x00,0x41,0x00,0x7E,0x00,0x41,0x00,0x7E,0x00}; const u8g_fntpgm_uint8_t fontpage_385_200_200[34] U8G_FONT_SECTION("fontpage_385_200_200") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x25,0x25,0x25,0x45,0x67,0x65,0x95,0x95,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x25,0x25,0x25,0x45,0x67,0x65,0x95,0x95,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_386_164_164[34] U8G_FONT_SECTION("fontpage_386_164_164") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x21,0x21,0x27,0x51,0x89,0x00,0x3f,0x01,0x3f, - 0x40,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x21,0x21,0x27,0x51,0x89,0x00,0x3F,0x01,0x3F, + 0x40,0x3F}; const u8g_fntpgm_uint8_t fontpage_387_140_141[69] U8G_FONT_SECTION("fontpage_387_140_141") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x8c,0x8d,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x04,0x00,0x0c,0x00,0x0c,0x00,0x12,0x00,0x31, - 0x00,0x44,0x80,0x04,0x00,0x04,0x00,0xff,0xc0,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x04, - 0x00,0x0c,0x00,0x13,0x00,0x65,0x80,0x04,0x00,0xff,0xc0,0x00,0x00,0x3f,0x00,0x00, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x8C,0x8D,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x04,0x00,0x0C,0x00,0x0C,0x00,0x12,0x00,0x31, + 0x00,0x44,0x80,0x04,0x00,0x04,0x00,0xFF,0xC0,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x04, + 0x00,0x0C,0x00,0x13,0x00,0x65,0x80,0x04,0x00,0xFF,0xC0,0x00,0x00,0x3F,0x00,0x00, 0x80,0x00,0x80,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_389_164_164[41] U8G_FONT_SECTION("fontpage_389_164_164") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x04,0x00,0x0c,0x00,0x0c,0x00,0x12,0x00,0x31, - 0x00,0x40,0x80,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x04,0x00,0x0C,0x00,0x0C,0x00,0x12,0x00,0x31, + 0x00,0x40,0x80,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_389_172_172[45] U8G_FONT_SECTION("fontpage_389_172_172") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x04,0x00,0x1a,0x00,0x61,0x80,0x00,0x00,0xff, - 0xc0,0x00,0x00,0x3f,0x00,0x00,0x80,0x3f,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x04,0x00,0x1A,0x00,0x61,0x80,0x00,0x00,0xFF, + 0xC0,0x00,0x00,0x3F,0x00,0x00,0x80,0x3F,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_389_220_221[51] U8G_FONT_SECTION("fontpage_389_220_221") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xdc,0xdd,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x21,0x21,0x21,0x21,0x21,0x51,0xc9,0x89,0x01, - 0x01,0x01,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x21,0x21,0x21,0x51,0xd9,0x89,0x00,0x7f, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xDC,0xDD,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x21,0x21,0x21,0x21,0x21,0x51,0xC9,0x89,0x01, + 0x01,0x01,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x21,0x21,0x21,0x51,0xD9,0x89,0x00,0x7F, 0x01,0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_395_180_180[34] U8G_FONT_SECTION("fontpage_395_180_180") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x89,0x89,0x8f,0x89,0x89,0x89,0x71,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB4,0xB4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x89,0x89,0x8F,0x89,0x89,0x89,0x71,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_395_198_198[45] U8G_FONT_SECTION("fontpage_395_198_198") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x71,0x00,0x89,0x00,0x8f,0x00,0x89,0x00,0x89, - 0x00,0x71,0x00,0x00,0x00,0x4a,0x00,0x72,0x00,0x4d,0x00,0x74,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x71,0x00,0x89,0x00,0x8F,0x00,0x89,0x00,0x89, + 0x00,0x71,0x00,0x00,0x00,0x4A,0x00,0x72,0x00,0x4D,0x00,0x74,0x80}; const u8g_fntpgm_uint8_t fontpage_395_209_209[34] U8G_FONT_SECTION("fontpage_395_209_209") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x65,0x95,0x95,0x9d,0x95,0x65,0x00,0x7f,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x65,0x95,0x95,0x9D,0x95,0x65,0x00,0x7F,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_395_212_212[45] U8G_FONT_SECTION("fontpage_395_212_212") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x65,0x00,0x95,0x00,0x95,0x00,0x9d,0x00,0x95, - 0x00,0x65,0x00,0x05,0x00,0x25,0x00,0x20,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x65,0x00,0x95,0x00,0x95,0x00,0x9D,0x00,0x95, + 0x00,0x65,0x00,0x05,0x00,0x25,0x00,0x20,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_395_244_244[34] U8G_FONT_SECTION("fontpage_395_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x8f,0x89,0x8f,0x71,0x00,0x3f,0x01,0x3f, - 0x40,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x8F,0x89,0x8F,0x71,0x00,0x3F,0x01,0x3F, + 0x40,0x3F}; const u8g_fntpgm_uint8_t fontpage_396_136_136[34] U8G_FONT_SECTION("fontpage_396_136_136") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x65,0x95,0x9d,0x95,0x95,0x9d,0x95,0x65,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x65,0x95,0x9D,0x95,0x95,0x9D,0x95,0x65,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_396_164_164[41] U8G_FONT_SECTION("fontpage_396_164_164") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x1e,0x00,0x21,0x00,0x20,0x80,0x20,0x80,0x21, - 0x00,0x1e,0x00,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x1E,0x00,0x21,0x00,0x20,0x80,0x20,0x80,0x21, + 0x00,0x1E,0x00,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_396_168_168[45] U8G_FONT_SECTION("fontpage_396_168_168") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x1f,0x00,0x20,0x80,0x20,0x80,0x1f,0x00,0x04, - 0x00,0x04,0x00,0xff,0xc0,0x00,0x00,0x20,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x1F,0x00,0x20,0x80,0x20,0x80,0x1F,0x00,0x04, + 0x00,0x04,0x00,0xFF,0xC0,0x00,0x00,0x20,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_396_196_196[45] U8G_FONT_SECTION("fontpage_396_196_196") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x38,0x80,0x44,0x80,0x44,0x80,0x44,0x80,0x38, - 0xc0,0x10,0x80,0xfe,0x80,0x00,0x80,0x20,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x38,0x80,0x44,0x80,0x44,0x80,0x44,0x80,0x38, + 0xC0,0x10,0x80,0xFE,0x80,0x00,0x80,0x20,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_397_208_208[34] U8G_FONT_SECTION("fontpage_397_208_208") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x89,0x89,0x71,0x01,0xff,0x21,0x27,0x41, - 0x40,0x7f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x89,0x89,0x71,0x01,0xFF,0x21,0x27,0x41, + 0x40,0x7F}; const u8g_fntpgm_uint8_t fontpage_398_132_132[45] U8G_FONT_SECTION("fontpage_398_132_132") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x38,0x80,0x44,0x80,0x42,0x80,0x44,0x80,0x38, - 0x80,0x00,0x80,0xfe,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x38,0x80,0x44,0x80,0x42,0x80,0x44,0x80,0x38, + 0x80,0x00,0x80,0xFE,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; const u8g_fntpgm_uint8_t fontpage_398_188_188[41] U8G_FONT_SECTION("fontpage_398_188_188") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x1e,0x00,0x21,0x00,0x20,0x80,0x20,0x80,0x21, - 0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x1E,0x00,0x21,0x00,0x20,0x80,0x20,0x80,0x21, + 0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_398_204_204[45] U8G_FONT_SECTION("fontpage_398_204_204") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x1e,0x00,0x21,0x00,0x21,0x00,0x1e,0x00,0x00, - 0x00,0xff,0xc0,0x00,0x00,0x3f,0x00,0x20,0x80,0x20,0x80,0x3f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x1E,0x00,0x21,0x00,0x21,0x00,0x1E,0x00,0x00, + 0x00,0xFF,0xC0,0x00,0x00,0x3F,0x00,0x20,0x80,0x20,0x80,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_398_244_244[34] U8G_FONT_SECTION("fontpage_398_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x49,0x89,0x89,0x89,0x89,0x49,0x71,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x49,0x89,0x89,0x89,0x89,0x49,0x71,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_398_252_253[51] U8G_FONT_SECTION("fontpage_398_252_253") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xfc,0xfd,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x89,0x89,0x89,0x71,0x00,0x3f,0x01,0x3f, - 0x40,0x3f,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x89,0x89,0x89,0x71,0x00,0x77,0x11, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xFC,0xFD,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x89,0x89,0x89,0x71,0x00,0x3F,0x01,0x3F, + 0x40,0x3F,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x89,0x89,0x89,0x71,0x00,0x77,0x11, 0x71,0x41,0x79}; const u8g_fntpgm_uint8_t fontpage_399_133_133[34] U8G_FONT_SECTION("fontpage_399_133_133") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x89,0x89,0x89,0x89,0x71,0x00,0x41,0x3f, - 0x41,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x89,0x89,0x89,0x89,0x71,0x00,0x41,0x3F, + 0x41,0x3F}; const u8g_fntpgm_uint8_t fontpage_399_144_145[73] U8G_FONT_SECTION("fontpage_399_144_145") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x90,0x91,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x09,0x00,0x11,0x00,0x11,0x00,0x21, - 0x80,0x71,0x00,0xc9,0x00,0x85,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x0b,0x16, - 0x0a,0x01,0xfe,0xf9,0x00,0x09,0x00,0x11,0x00,0x31,0x80,0x49,0x00,0x85,0x00,0x00, - 0x00,0x7e,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x90,0x91,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x09,0x00,0x11,0x00,0x11,0x00,0x21, + 0x80,0x71,0x00,0xC9,0x00,0x85,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x0B,0x16, + 0x0A,0x01,0xFE,0xF9,0x00,0x09,0x00,0x11,0x00,0x31,0x80,0x49,0x00,0x85,0x00,0x00, + 0x00,0x7E,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_399_152_152[45] U8G_FONT_SECTION("fontpage_399_152_152") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x11,0x00,0x11,0x80,0x79,0x00,0x85, - 0x00,0x00,0x00,0x7e,0x00,0x01,0x00,0x7e,0x00,0x40,0x00,0x7f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x11,0x00,0x11,0x80,0x79,0x00,0x85, + 0x00,0x00,0x00,0x7E,0x00,0x01,0x00,0x7E,0x00,0x40,0x00,0x7F,0x00}; const u8g_fntpgm_uint8_t fontpage_399_165_165[45] U8G_FONT_SECTION("fontpage_399_165_165") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x09,0x00,0x11,0x00,0x31,0x80,0x79, - 0x00,0x85,0x00,0x00,0x00,0x3e,0x00,0x41,0x00,0x41,0x00,0x3e,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x09,0x00,0x11,0x00,0x31,0x80,0x79, + 0x00,0x85,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x41,0x00,0x3E,0x00}; const u8g_fntpgm_uint8_t fontpage_399_172_172[45] U8G_FONT_SECTION("fontpage_399_172_172") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x7a,0x80,0x0a,0x80,0x0a,0x80,0x12,0x80,0x13, - 0x80,0x2a,0x80,0x6a,0x80,0xc6,0x80,0x02,0x80,0x02,0x80,0x02,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x7A,0x80,0x0A,0x80,0x0A,0x80,0x12,0x80,0x13, + 0x80,0x2A,0x80,0x6A,0x80,0xC6,0x80,0x02,0x80,0x02,0x80,0x02,0x80}; const u8g_fntpgm_uint8_t fontpage_400_128_128[34] U8G_FONT_SECTION("fontpage_400_128_128") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x11,0x17,0x31,0x71,0xc9,0x85,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x11,0x17,0x31,0x71,0xC9,0x85,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_400_132_132[34] U8G_FONT_SECTION("fontpage_400_132_132") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x17,0x31,0x49,0x85,0x01,0x21,0x20, - 0x20,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x17,0x31,0x49,0x85,0x01,0x21,0x20, + 0x20,0x3F}; const u8g_fntpgm_uint8_t fontpage_400_149_149[34] U8G_FONT_SECTION("fontpage_400_149_149") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x17,0x31,0x49,0x85,0x00,0x3e,0x21, - 0x21,0x3e}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x17,0x31,0x49,0x85,0x00,0x3E,0x21, + 0x21,0x3E}; const u8g_fntpgm_uint8_t fontpage_400_156_156[45] U8G_FONT_SECTION("fontpage_400_156_156") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x7a,0x80,0x0a,0x80,0x0a,0x80,0x16,0x80,0x12, - 0x80,0x2a,0x80,0x4a,0x80,0x86,0x80,0x02,0x80,0x02,0x80,0x02,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x7A,0x80,0x0A,0x80,0x0A,0x80,0x16,0x80,0x12, + 0x80,0x2A,0x80,0x4A,0x80,0x86,0x80,0x02,0x80,0x02,0x80,0x02,0x80}; const u8g_fntpgm_uint8_t fontpage_401_253_253[45] U8G_FONT_SECTION("fontpage_401_253_253") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x01,0x00,0x0e,0x00,0x71,0x80,0x00, - 0x00,0xff,0xc0,0x04,0x00,0x3f,0x00,0x00,0x80,0x00,0x80,0x00,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x01,0x00,0x0E,0x00,0x71,0x80,0x00, + 0x00,0xFF,0xC0,0x04,0x00,0x3F,0x00,0x00,0x80,0x00,0x80,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_402_128_128[45] U8G_FONT_SECTION("fontpage_402_128_128") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x01,0x00,0x0e,0x00,0x71,0x80,0x00, - 0x00,0xff,0xc0,0x04,0x00,0x24,0x00,0x24,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x01,0x00,0x0E,0x00,0x71,0x80,0x00, + 0x00,0xFF,0xC0,0x04,0x00,0x24,0x00,0x24,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_402_145_145[45] U8G_FONT_SECTION("fontpage_402_145_145") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x01,0x00,0x0e,0x00,0x71,0x80,0x00, - 0x00,0xff,0xc0,0x04,0x00,0x1f,0x00,0x20,0x80,0x20,0x80,0x1f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x01,0x00,0x0E,0x00,0x71,0x80,0x00, + 0x00,0xFF,0xC0,0x04,0x00,0x1F,0x00,0x20,0x80,0x20,0x80,0x1F,0x00}; const u8g_fntpgm_uint8_t fontpage_403_144_144[45] U8G_FONT_SECTION("fontpage_403_144_144") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x3f,0x00,0x0e,0x00,0x71,0x80,0x00,0x00,0xff, - 0xc0,0x00,0x00,0x3f,0x00,0x00,0x80,0x3f,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x3F,0x00,0x0E,0x00,0x71,0x80,0x00,0x00,0xFF, + 0xC0,0x00,0x00,0x3F,0x00,0x00,0x80,0x3F,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_403_192_192[34] U8G_FONT_SECTION("fontpage_403_192_192") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x09,0x11,0x31,0x31,0xc9,0x85,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x09,0x11,0x31,0x31,0xC9,0x85,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_409_152_152[34] U8G_FONT_SECTION("fontpage_409_152_152") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x01,0xf9,0x11,0x17,0x31,0x49,0x85,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x01,0xF9,0x11,0x17,0x31,0x49,0x85,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_410_136_136[41] U8G_FONT_SECTION("fontpage_410_136_136") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x1e,0x00,0x00,0x00,0x3f,0x00,0x02,0x00,0x0e, - 0x00,0x71,0x80,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x1E,0x00,0x00,0x00,0x3F,0x00,0x02,0x00,0x0E, + 0x00,0x71,0x80,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_411_149_149[45] U8G_FONT_SECTION("fontpage_411_149_149") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x1e,0x00,0x00,0x00,0x3f,0x00,0x0c,0x00,0x73, - 0x80,0x00,0x00,0xff,0xc0,0x04,0x00,0x3f,0x00,0x00,0x80,0x00,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x1E,0x00,0x00,0x00,0x3F,0x00,0x0C,0x00,0x73, + 0x80,0x00,0x00,0xFF,0xC0,0x04,0x00,0x3F,0x00,0x00,0x80,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_411_156_156[47] U8G_FONT_SECTION("fontpage_411_156_156") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x09,0xfd,0x00, - 0x00,0x0a,0x0c,0x18,0x0a,0x00,0xfd,0x1e,0x00,0x00,0x00,0x3f,0x00,0x1a,0x00,0x21, - 0x00,0xff,0xc0,0x04,0x00,0x3f,0x00,0x00,0x80,0x3f,0x00,0x20,0x00,0x3f,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x09,0xFD,0x00, + 0x00,0x0A,0x0C,0x18,0x0A,0x00,0xFD,0x1E,0x00,0x00,0x00,0x3F,0x00,0x1A,0x00,0x21, + 0x00,0xFF,0xC0,0x04,0x00,0x3F,0x00,0x00,0x80,0x3F,0x00,0x20,0x00,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_411_164_164[45] U8G_FONT_SECTION("fontpage_411_164_164") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x1e,0x00,0x00,0x00,0x3f,0x00,0x0c,0x00,0x73, - 0x80,0x00,0x00,0xff,0xc0,0x04,0x00,0x3f,0x00,0x20,0x80,0x3f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x1E,0x00,0x00,0x00,0x3F,0x00,0x0C,0x00,0x73, + 0x80,0x00,0x00,0xFF,0xC0,0x04,0x00,0x3F,0x00,0x20,0x80,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_411_232_232[45] U8G_FONT_SECTION("fontpage_411_232_232") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x00,0xfe,0x38,0x80,0x00,0x80,0x7c,0x80,0x18,0x80,0x66, - 0x80,0x00,0x80,0xfe,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x00,0xFE,0x38,0x80,0x00,0x80,0x7C,0x80,0x18,0x80,0x66, + 0x80,0x00,0x80,0xFE,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80}; const u8g_fntpgm_uint8_t fontpage_412_216_216[34] U8G_FONT_SECTION("fontpage_412_216_216") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x01,0xf9,0x09,0x11,0x31,0x49,0x85,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x01,0xF9,0x09,0x11,0x31,0x49,0x85,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_412_232_232[34] U8G_FONT_SECTION("fontpage_412_232_232") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x01,0xf9,0x09,0x31,0xcd,0x00,0x3f,0x41, - 0x41,0x3f}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x01,0xF9,0x09,0x31,0xCD,0x00,0x3F,0x41, + 0x41,0x3F}; const u8g_fntpgm_uint8_t fontpage_412_244_244[45] U8G_FONT_SECTION("fontpage_412_244_244") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x09,0x00,0x09,0x00,0xf1,0x00,0x11, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x09,0x00,0x09,0x00,0xF1,0x00,0x11, 0x80,0x21,0x00,0x41,0x00,0x81,0x00,0x01,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_414_156_156[34] U8G_FONT_SECTION("fontpage_414_156_156") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x09,0x0f,0xf1,0x11,0x2f,0x41,0x81,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x09,0x0F,0xF1,0x11,0x2F,0x41,0x81,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_417_209_209[45] U8G_FONT_SECTION("fontpage_417_209_209") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0xf9,0x00,0x81,0x00,0xf9,0x80,0x81,0x00,0x81, - 0x00,0xfd,0x00,0x00,0x00,0x41,0x00,0x7e,0x00,0x41,0x00,0x7e,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0xF9,0x00,0x81,0x00,0xF9,0x80,0x81,0x00,0x81, + 0x00,0xFD,0x00,0x00,0x00,0x41,0x00,0x7E,0x00,0x41,0x00,0x7E,0x00}; const u8g_fntpgm_uint8_t fontpage_418_176_176[34] U8G_FONT_SECTION("fontpage_418_176_176") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf9,0x81,0x81,0xf7,0x81,0x81,0x81,0xf9,0x01, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF9,0x81,0x81,0xF7,0x81,0x81,0x81,0xF9,0x01, 0x01,0x01}; const u8g_fntpgm_uint8_t fontpage_418_204_204[34] U8G_FONT_SECTION("fontpage_418_204_204") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0xf5,0x85,0x85,0xed,0x85,0x85,0x85,0xfd,0x05, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0xF5,0x85,0x85,0xED,0x85,0x85,0x85,0xFD,0x05, 0x05,0x05}; const u8g_fntpgm_uint8_t fontpage_419_160_160[41] U8G_FONT_SECTION("fontpage_419_160_160") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x20,0x00,0x3f,0x00,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x04,0x00,0x04,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x20,0x00,0x3F,0x00,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_421_184_184[41] U8G_FONT_SECTION("fontpage_421_184_184") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xb8,0xb8,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x20,0x00,0x3f,0x00,0x20,0x00,0x20, - 0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xB8,0xB8,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x20,0x00,0x3F,0x00,0x20,0x00,0x20, + 0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_423_156_156[45] U8G_FONT_SECTION("fontpage_423_156_156") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0xfa,0x80,0x4a,0x80,0x4e,0x80,0x4a,0x80,0x4a, - 0x80,0xfe,0x80,0x02,0x80,0x12,0x80,0x10,0x00,0x10,0x00,0x1f,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0xFA,0x80,0x4A,0x80,0x4E,0x80,0x4A,0x80,0x4A, + 0x80,0xFE,0x80,0x02,0x80,0x12,0x80,0x10,0x00,0x10,0x00,0x1F,0xC0}; const u8g_fntpgm_uint8_t fontpage_426_132_132[41] U8G_FONT_SECTION("fontpage_426_132_132") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0x00,0x00, - 0x00,0x0a,0x09,0x12,0x0a,0x00,0x00,0x3f,0x80,0x12,0x00,0x12,0x00,0x12,0x00,0x12, - 0x00,0x7f,0x80,0x00,0x00,0x00,0x00,0xff,0xc0}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x09,0x00,0x00, + 0x00,0x0A,0x09,0x12,0x0A,0x00,0x00,0x3F,0x80,0x12,0x00,0x12,0x00,0x12,0x00,0x12, + 0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_426_216_216[45] U8G_FONT_SECTION("fontpage_426_216_216") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x71,0x00,0x01,0x00,0xfd,0x00,0x01,0x00,0x71, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x71,0x00,0x01,0x00,0xFD,0x00,0x01,0x00,0x71, 0x80,0x89,0x00,0x89,0x00,0x89,0x00,0x71,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_426_233_233[45] U8G_FONT_SECTION("fontpage_426_233_233") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x09,0xfe,0x00, - 0x00,0x09,0x0b,0x16,0x0a,0x01,0xfe,0x71,0x00,0x01,0x00,0xfd,0x00,0x49,0x80,0x89, - 0x00,0x79,0x00,0x00,0x00,0x41,0x00,0x7e,0x00,0x41,0x00,0x7e,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x09,0xFE,0x00, + 0x00,0x09,0x0B,0x16,0x0A,0x01,0xFE,0x71,0x00,0x01,0x00,0xFD,0x00,0x49,0x80,0x89, + 0x00,0x79,0x00,0x00,0x00,0x41,0x00,0x7E,0x00,0x41,0x00,0x7E,0x00}; const u8g_fntpgm_uint8_t fontpage_428_200_200[45] U8G_FONT_SECTION("fontpage_428_200_200") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x0e,0x00,0x00,0x00,0x7f,0x80,0x21,0x00,0x1e, - 0x00,0x04,0x00,0xff,0xc0,0x00,0x00,0x3f,0x00,0x20,0x80,0x3f,0x00}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x0E,0x00,0x00,0x00,0x7F,0x80,0x21,0x00,0x1E, + 0x00,0x04,0x00,0xFF,0xC0,0x00,0x00,0x3F,0x00,0x20,0x80,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_428_212_212[45] U8G_FONT_SECTION("fontpage_428_212_212") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x09,0xfe,0x00, - 0x00,0x0a,0x0b,0x16,0x0a,0x00,0xfe,0x38,0x80,0x00,0x80,0x7e,0x80,0x00,0x80,0x38, - 0x80,0x44,0xc0,0x3c,0x80,0x10,0x80,0xfe,0x80,0x00,0x80,0x00,0x80}; + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x09,0xFE,0x00, + 0x00,0x0A,0x0B,0x16,0x0A,0x00,0xFE,0x38,0x80,0x00,0x80,0x7E,0x80,0x00,0x80,0x38, + 0x80,0x44,0xC0,0x3C,0x80,0x10,0x80,0xFE,0x80,0x00,0x80,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_431_136_136[34] U8G_FONT_SECTION("fontpage_431_136_136") = { - 0x00,0x0b,0x0d,0x00,0xfd,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xfe,0x00, - 0x00,0x08,0x0b,0x0b,0x0a,0x01,0xfe,0x71,0x01,0xfd,0x01,0x71,0x49,0x89,0x49,0x71, + 0x00,0x0B,0x0D,0x00,0xFD,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x09,0xFE,0x00, + 0x00,0x08,0x0B,0x0B,0x0A,0x01,0xFE,0x71,0x01,0xFD,0x01,0x71,0x49,0x89,0x49,0x71, 0x01,0x01}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_pl.h b/Marlin/src/lcd/dogm/fontdata/langdata_pl.h index 9a41b13a5a37..926f07529537 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_pl.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_pl.h @@ -6,28 +6,28 @@ #include const u8g_fntpgm_uint8_t fontpage_2_132_133[45] U8G_FONT_SECTION("fontpage_2_132_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x10,0x08, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x08,0x78,0x88,0x78,0x20,0x30}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x07,0xFE,0x00, + 0x00,0x05,0x09,0x09,0x06,0x00,0xFE,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x10,0x08, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x08,0x78,0x88,0x78,0x20,0x30}; const u8g_fntpgm_uint8_t fontpage_2_135_135[31] U8G_FONT_SECTION("fontpage_2_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_2_153_153[30] U8G_FONT_SECTION("fontpage_2_153_153") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x05,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0xf0,0x80,0x70,0x20,0x30}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x05,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0xF0,0x80,0x70,0x20,0x30}; const u8g_fntpgm_uint8_t fontpage_2_193_196[73] U8G_FONT_SECTION("fontpage_2_193_196") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc4,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0x60,0xc0,0x40,0x40,0x78,0x03,0x07, - 0x07,0x06,0x01,0x00,0xc0,0x40,0x60,0xc0,0x40,0x40,0xe0,0x05,0x0a,0x0a,0x06,0x00, - 0x00,0x10,0x20,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x08,0x08,0x06,0x00, - 0x00,0x10,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC1,0xC4,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0x60,0xC0,0x40,0x40,0x78,0x03,0x07, + 0x07,0x06,0x01,0x00,0xC0,0x40,0x60,0xC0,0x40,0x40,0xE0,0x05,0x0A,0x0A,0x06,0x00, + 0x00,0x10,0x20,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05,0x08,0x08,0x06,0x00, + 0x00,0x10,0x20,0x00,0xB0,0xC8,0x88,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_2_218_219[47] U8G_FONT_SECTION("fontpage_2_218_219") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xdb,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, - 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDA,0xDB,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x78,0x80,0x70,0x08,0xF0}; const u8g_fntpgm_uint8_t fontpage_2_252_252[30] U8G_FONT_SECTION("fontpage_2_252_252") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x00,0xf8,0x10,0x20,0x40,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x00,0xF8,0x10,0x20,0x40,0xF8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_ru.h b/Marlin/src/lcd/dogm/fontdata/langdata_ru.h index 87e3d422a578..4edd6e74e304 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_ru.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_ru.h @@ -6,63 +6,63 @@ #include const u8g_fntpgm_uint8_t fontpage_8_144_168[348] U8G_FONT_SECTION("fontpage_8_144_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0xa8,0x00,0x0a,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, - 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, - 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, - 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x70,0xa8,0xa8,0x05,0x07,0x07, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0xA8,0x00,0x0A,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF0,0x80,0x80,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xFF,0x30,0x50,0x50,0x50,0x50, + 0x50,0xF8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8, + 0x05,0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0x70,0x20,0x70,0xA8,0xA8,0x05,0x07,0x07, 0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88,0x70,0x00, - 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, - 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, - 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, - 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80, + 0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x88,0x70,0x00, + 0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0, + 0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x88, + 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x80, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, 0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20, - 0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, - 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8, + 0x70,0xA8,0xA8,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, + 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0x90,0x90,0xF8, 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x05, - 0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8}; + 0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xF8}; const u8g_fntpgm_uint8_t fontpage_8_171_173[56] U8G_FONT_SECTION("fontpage_8_171_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xad,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x04,0x07, - 0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAD,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xC8,0xA8,0xA8,0xC8,0x04,0x07, + 0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xE0,0x90,0x90,0xE0,0x05,0x07,0x07,0x06,0x00, 0x00,0x70,0x88,0x08,0x78,0x08,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_8_175_207[400] U8G_FONT_SECTION("fontpage_8_175_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xcf,0x00,0x08,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xCF,0x00,0x08,0xFE,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, - 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x80,0xF0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF0,0x88,0xF0,0x88, + 0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xFF,0x30,0x50,0x50,0x50,0xF8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xF0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0x70,0x20,0x70,0xA8,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, - 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, - 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8, - 0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, - 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x98,0xA8,0xC8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xA8, + 0xC8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xD8, + 0xA8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xF8,0x88,0x88,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF8, + 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0,0x80, 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, - 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8,0xa8,0xa8, + 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xFE,0x20,0x20,0x70,0xA8,0xA8,0xA8, 0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, - 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, - 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08,0x05,0x05, - 0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x88,0xc8,0xa8,0xc8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0xe0,0x04, - 0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70,0x10,0xe0,0x05,0x05,0x05,0x06,0x00,0x00, - 0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70,0x50,0x90 + 0x07,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0xF8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8, + 0xF8,0x05,0x07,0x07,0x06,0x00,0xFE,0xA8,0xA8,0xA8,0xA8,0xF8,0x08,0x08,0x05,0x05, + 0x05,0x06,0x00,0x00,0xC0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, + 0x88,0xC8,0xA8,0xC8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xE0,0x90,0xE0,0x04, + 0x05,0x05,0x06,0x01,0x00,0xE0,0x10,0x70,0x10,0xE0,0x05,0x05,0x05,0x06,0x00,0x00, + 0x90,0xA8,0xE8,0xA8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70,0x50,0x90 }; const u8g_fntpgm_uint8_t fontpage_8_209_209[30] U8G_FONT_SECTION("fontpage_8_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x07,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf0,0x80,0x70}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xF0,0x80,0x70}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_sk.h b/Marlin/src/lcd/dogm/fontdata/langdata_sk.h index 6bcafb64ed3e..d2e7ec2c56db 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_sk.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_sk.h @@ -6,35 +6,35 @@ #include const u8g_fntpgm_uint8_t fontpage_2_140_143[79] U8G_FONT_SECTION("fontpage_2_140_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8f,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8F,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x80,0x80,0x88, 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x88,0x70,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x06, - 0x0a,0x0a,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78}; + 0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0xF0,0x06, + 0x0A,0x0A,0x06,0x00,0x00,0x14,0x08,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_2_186_186[33] U8G_FONT_SECTION("fontpage_2_186_186") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0x00,0x00, - 0x00,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0x40,0x40, - 0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBA,0xBA,0x00,0x0A,0x00,0x00, + 0x00,0x03,0x0A,0x0A,0x06,0x01,0x00,0x20,0x40,0x00,0xC0,0x40,0x40,0x40,0x40,0x40, + 0xE0}; const u8g_fntpgm_uint8_t fontpage_2_190_190[33] U8G_FONT_SECTION("fontpage_2_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0x00,0x00, - 0x00,0x03,0x0a,0x0a,0x06,0x01,0x00,0xa0,0x40,0x00,0xc0,0x40,0x40,0x40,0x40,0x40, - 0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0x00,0x00, + 0x00,0x03,0x0A,0x0A,0x06,0x01,0x00,0xA0,0x40,0x00,0xC0,0x40,0x40,0x40,0x40,0x40, + 0xE0}; const u8g_fntpgm_uint8_t fontpage_2_199_200[47] U8G_FONT_SECTION("fontpage_2_199_200") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc8,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88, - 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xb0,0xc8,0x88,0x88,0x88}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC8,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88, + 0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xB0,0xC8,0x88,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_2_224_225[47] U8G_FONT_SECTION("fontpage_2_224_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe1,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, - 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xf0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE1,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x70,0x88,0x80,0x70,0x08,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0x78,0x80,0x70,0x08,0xF0}; const u8g_fntpgm_uint8_t fontpage_2_229_229[33] U8G_FONT_SECTION("fontpage_2_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xf8,0x20,0x20,0x20, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0x20,0x20,0xF8,0x20,0x20,0x20, 0x18}; const u8g_fntpgm_uint8_t fontpage_2_253_254[47] U8G_FONT_SECTION("fontpage_2_253_254") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfe,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x08,0x10,0x20,0x40,0x80, - 0xf8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xf8,0x10,0x20,0x40,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFE,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x08,0x10,0x20,0x40,0x80, + 0xF8,0x05,0x08,0x08,0x06,0x00,0x00,0x50,0x20,0x00,0xF8,0x10,0x20,0x40,0xF8}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_test.h b/Marlin/src/lcd/dogm/fontdata/langdata_test.h index 85a3cf5553d8..c397d8b4b95b 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_test.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_test.h @@ -6,222 +6,222 @@ #include const u8g_fntpgm_uint8_t fontpage_8_128_255[1677] U8G_FONT_SECTION("fontpage_8_128_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0x0a,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80, - 0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, - 0x05,0x09,0x09,0x06,0x00,0xfe,0xe0,0x40,0x40,0x70,0x48,0x48,0x48,0x08,0x30,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05, - 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0xf0,0x80,0x88,0x70,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xe0, - 0x40,0x40,0x40,0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40, - 0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10, - 0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0xa0,0xa0,0xb0,0xa8,0xa8,0xb0,0x05, - 0x07,0x07,0x06,0x00,0x00,0xa0,0xa0,0xa0,0xf0,0xa8,0xa8,0xb0,0x05,0x07,0x07,0x06, - 0x00,0x00,0xe0,0x40,0x40,0x70,0x48,0x48,0x48,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, - 0x20,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, - 0x20,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88, - 0x70,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x88, - 0x88,0x88,0x88,0x88,0x88,0xf8,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, - 0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88, - 0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06, - 0x00,0xff,0x30,0x50,0x50,0x50,0x50,0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70, - 0x20,0x70,0xa8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a, - 0x0a,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8, - 0xa8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x0A,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x20,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, + 0xF8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8, + 0x05,0x09,0x09,0x06,0x00,0xFE,0xE0,0x40,0x40,0x70,0x48,0x48,0x48,0x08,0x30,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05, + 0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0xF0,0x80,0x88,0x70,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xE0, + 0x40,0x40,0x40,0x40,0x40,0xE0,0x03,0x09,0x09,0x06,0x01,0x00,0xA0,0x00,0xE0,0x40, + 0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x10,0x10,0x10,0x10, + 0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x60,0xA0,0xA0,0xB0,0xA8,0xA8,0xB0,0x05, + 0x07,0x07,0x06,0x00,0x00,0xA0,0xA0,0xA0,0xF0,0xA8,0xA8,0xB0,0x05,0x07,0x07,0x06, + 0x00,0x00,0xE0,0x40,0x40,0x70,0x48,0x48,0x48,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10, + 0x20,0x00,0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40, + 0x20,0x00,0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x88, + 0x70,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xFE,0x88, + 0x88,0x88,0x88,0x88,0x88,0xF8,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88, + 0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x80,0x80,0xF0,0x88, + 0x88,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06, + 0x00,0xFF,0x30,0x50,0x50,0x50,0x50,0x50,0xF8,0x88,0x05,0x07,0x07,0x06,0x00,0x00, + 0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0x70, + 0x20,0x70,0xA8,0xA8,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x0A, + 0x0A,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x38,0x48,0x48,0x48,0x48,0x48,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8, + 0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88, 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0xF0,0x88,0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x20,0x20,0x20, 0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xfe, - 0x90,0x90,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88, - 0x88,0x88,0x78,0x08,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, - 0xa8,0xa8,0xf8,0x05,0x09,0x09,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8, - 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xc0,0x40,0x40,0x70,0x48,0x48,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xc8,0xa8,0xa8,0xc8,0x04,0x07,0x07,0x06, - 0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x08,0x78,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0xa8,0xa8,0xe8, - 0xa8,0xa8,0x90,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x70,0xA8,0xA8,0xA8,0x70,0x20,0x05,0x07,0x07, + 0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xFE, + 0x90,0x90,0x90,0x90,0x90,0x90,0xF8,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88, + 0x88,0x88,0x78,0x08,0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8, + 0xA8,0xA8,0xF8,0x05,0x09,0x09,0x06,0x00,0xFE,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xF8, + 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xC8,0xA8,0xA8,0xC8,0x04,0x07,0x07,0x06, + 0x01,0x00,0x80,0x80,0x80,0xE0,0x90,0x90,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x08,0x78,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0xA8,0xA8,0xE8, + 0xA8,0xA8,0x90,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88, 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88, - 0xf0,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06, - 0x06,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x70,0x88,0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8, + 0x00,0x70,0x80,0xF0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF0,0x88, + 0xF0,0x88,0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x05,0x06, + 0x06,0x06,0x00,0xFF,0x30,0x50,0x50,0x50,0xF8,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0xF0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0x70,0x20,0x70,0xA8, 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0x88,0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05, + 0x00,0x88,0x98,0xA8,0xC8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88, + 0x98,0xA8,0xC8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0,0x90,0x05, 0x05,0x05,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x88,0xd8,0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88, + 0x88,0xD8,0xA8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xF8,0x88,0x88, 0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88, - 0xf0,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05, - 0x05,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88, - 0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8, - 0xa8,0xa8,0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05, - 0x06,0x00,0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8, - 0xa8,0xa8,0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08, - 0x05,0x05,0x05,0x06,0x00,0x00,0xc0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00, - 0x00,0x88,0x88,0xc8,0xa8,0xc8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90, - 0xe0,0x04,0x05,0x05,0x06,0x01,0x00,0xe0,0x10,0x70,0x10,0xe0,0x05,0x05,0x05,0x06, - 0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70, - 0x50,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70, - 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x09,0x09, - 0x06,0x00,0xfe,0x40,0xe0,0x40,0x70,0x48,0x48,0x48,0x08,0x10,0x05,0x08,0x08,0x06, - 0x00,0x00,0x10,0x20,0x00,0xf8,0x80,0x80,0x80,0x80,0x04,0x05,0x05,0x06,0x01,0x00, - 0x70,0x80,0xe0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x80,0x70,0x08,0xf0, - 0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06,0x06, - 0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0xe0,0x04,0x08,0x08,0x06,0x01,0xfe,0x10,0x00, - 0x30,0x10,0x10,0x10,0x90,0x60,0x05,0x05,0x05,0x06,0x00,0x00,0x60,0xa0,0xb0,0xa8, - 0xb0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0xa0,0xf0,0xa8,0xb0,0x05,0x07,0x07,0x06, - 0x00,0x00,0x40,0xe0,0x40,0x70,0x48,0x48,0x48,0x04,0x08,0x08,0x06,0x01,0x00,0x20, - 0x40,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, - 0x88,0x98,0xa8,0xc8,0x88,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x88,0x70,0x00,0x88,0x88, - 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x88,0xf8, - 0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x88,0x88,0xa8,0xa8,0xa8,0x50,0x05, - 0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xa8,0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00, - 0x40,0xf0,0x40,0x70,0x48,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xf0, - 0x40,0x70,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x98,0xa0,0xa0,0xf8,0xa0,0xa0, - 0x98,0x05,0x05,0x05,0x06,0x00,0x00,0x98,0xa0,0xf8,0xa0,0x98,0x05,0x07,0x07,0x06, - 0x00,0x00,0x20,0x50,0x50,0x88,0xf8,0xa8,0xa8,0x05,0x06,0x06,0x06,0x00,0x00,0x20, - 0x50,0x50,0x88,0xf8,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0x90,0xb8,0xf8,0xb8, - 0xb8,0xb8,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0x90,0xf8,0xb8,0xb8,0x05,0x08,0x08, - 0x06,0x00,0x00,0xf8,0x88,0x50,0x50,0x70,0xa8,0xa8,0xa8,0x05,0x06,0x06,0x06,0x00, - 0x00,0xf8,0x88,0x50,0x70,0xa8,0xa8,0x06,0x08,0x08,0x06,0x00,0x00,0xfc,0xc4,0xa8, - 0x90,0xf8,0xb8,0xb8,0xa8,0x06,0x06,0x06,0x06,0x00,0x00,0xfc,0xa8,0x90,0xf8,0xb8, - 0xa8,0x05,0x0c,0x0c,0x06,0x00,0xfe,0x50,0x20,0x00,0x70,0x88,0x08,0x30,0x08,0x08, - 0x70,0x80,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x50,0x20,0x00,0x70,0x88,0x30,0x08, - 0x70,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0x70,0x20,0x20,0x20, - 0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf8,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0x90,0x50,0x50,0x50,0x20, - 0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x0a,0x0a,0x06,0x00, + 0x00,0xF8,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88, + 0xF0,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05, + 0x05,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88, + 0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xFE,0x20,0x20,0x70,0xA8, + 0xA8,0xA8,0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0xF8,0x08,0x08,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0xA8, + 0xA8,0xA8,0xF8,0x05,0x07,0x07,0x06,0x00,0xFE,0xA8,0xA8,0xA8,0xA8,0xF8,0x08,0x08, + 0x05,0x05,0x05,0x06,0x00,0x00,0xC0,0x40,0x70,0x48,0x70,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0xC8,0xA8,0xC8,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xE0,0x90, + 0xE0,0x04,0x05,0x05,0x06,0x01,0x00,0xE0,0x10,0x70,0x10,0xE0,0x05,0x05,0x05,0x06, + 0x00,0x00,0x90,0xA8,0xE8,0xA8,0x90,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x90,0x70, + 0x50,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xF0,0x80,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x09,0x09, + 0x06,0x00,0xFE,0x40,0xE0,0x40,0x70,0x48,0x48,0x48,0x08,0x10,0x05,0x08,0x08,0x06, + 0x00,0x00,0x10,0x20,0x00,0xF8,0x80,0x80,0x80,0x80,0x04,0x05,0x05,0x06,0x01,0x00, + 0x70,0x80,0xE0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x80,0x70,0x08,0xF0, + 0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0xE0,0x03,0x06,0x06,0x06, + 0x01,0x00,0xA0,0x00,0xC0,0x40,0x40,0xE0,0x04,0x08,0x08,0x06,0x01,0xFE,0x10,0x00, + 0x30,0x10,0x10,0x10,0x90,0x60,0x05,0x05,0x05,0x06,0x00,0x00,0x60,0xA0,0xB0,0xA8, + 0xB0,0x05,0x05,0x05,0x06,0x00,0x00,0xA0,0xA0,0xF0,0xA8,0xB0,0x05,0x07,0x07,0x06, + 0x00,0x00,0x40,0xE0,0x40,0x70,0x48,0x48,0x48,0x04,0x08,0x08,0x06,0x01,0x00,0x20, + 0x40,0x00,0x90,0xA0,0xC0,0xA0,0x90,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00, + 0x88,0x98,0xA8,0xC8,0x88,0x05,0x0A,0x0A,0x06,0x00,0xFE,0x88,0x70,0x00,0x88,0x88, + 0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x88,0xF8, + 0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x88,0x88,0xA8,0xA8,0xA8,0x50,0x05, + 0x05,0x05,0x06,0x00,0x00,0x50,0x88,0xA8,0xA8,0x50,0x05,0x07,0x07,0x06,0x00,0x00, + 0x40,0xF0,0x40,0x70,0x48,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xF0, + 0x40,0x70,0x48,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x98,0xA0,0xA0,0xF8,0xA0,0xA0, + 0x98,0x05,0x05,0x05,0x06,0x00,0x00,0x98,0xA0,0xF8,0xA0,0x98,0x05,0x07,0x07,0x06, + 0x00,0x00,0x20,0x50,0x50,0x88,0xF8,0xA8,0xA8,0x05,0x06,0x06,0x06,0x00,0x00,0x20, + 0x50,0x50,0x88,0xF8,0xA8,0x05,0x07,0x07,0x06,0x00,0x00,0x90,0x90,0xB8,0xF8,0xB8, + 0xB8,0xB8,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0x90,0xF8,0xB8,0xB8,0x05,0x08,0x08, + 0x06,0x00,0x00,0xF8,0x88,0x50,0x50,0x70,0xA8,0xA8,0xA8,0x05,0x06,0x06,0x06,0x00, + 0x00,0xF8,0x88,0x50,0x70,0xA8,0xA8,0x06,0x08,0x08,0x06,0x00,0x00,0xFC,0xC4,0xA8, + 0x90,0xF8,0xB8,0xB8,0xA8,0x06,0x06,0x06,0x06,0x00,0x00,0xFC,0xA8,0x90,0xF8,0xB8, + 0xA8,0x05,0x0C,0x0C,0x06,0x00,0xFE,0x50,0x20,0x00,0x70,0x88,0x08,0x30,0x08,0x08, + 0x70,0x80,0x70,0x05,0x0A,0x0A,0x06,0x00,0xFE,0x50,0x20,0x00,0x70,0x88,0x30,0x08, + 0x70,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0xA8,0x70,0x20,0x20,0x20, + 0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0xA8,0x70,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xF8,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0x90,0x50,0x50,0x50,0x20, + 0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x0A,0x0A,0x06,0x00, 0x00,0x90,0x48,0x00,0x88,0x90,0x90,0x50,0x50,0x50,0x20,0x05,0x08,0x08,0x06,0x00, - 0x00,0x90,0x48,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xfe,0x40, - 0xa0,0xa0,0xb8,0xb8,0xb8,0x58,0x08,0x10,0x05,0x07,0x07,0x06,0x00,0xfe,0x58,0xb8, - 0xb8,0xb8,0x58,0x08,0x10,0x05,0x0a,0x0a,0x06,0x00,0xff,0x20,0x70,0xa8,0x88,0x88, - 0x88,0x88,0xa8,0x70,0x20,0x05,0x08,0x08,0x06,0x00,0xff,0x20,0x70,0xa8,0x88,0x88, - 0xa8,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x70,0x00,0x20,0x20,0x88,0x88,0x88, - 0xa8,0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0x20,0xa8,0x88,0xa8,0x50,0x05, - 0x0a,0x0a,0x06,0x00,0x00,0xf8,0xa8,0x00,0x50,0x88,0x88,0xa8,0xa8,0xa8,0x50,0x05, - 0x08,0x08,0x06,0x00,0x00,0xf8,0xa8,0x00,0x50,0x88,0xa8,0xa8,0x50}; + 0x00,0x90,0x48,0x00,0x88,0x90,0x50,0x50,0x20,0x05,0x09,0x09,0x06,0x00,0xFE,0x40, + 0xA0,0xA0,0xB8,0xB8,0xB8,0x58,0x08,0x10,0x05,0x07,0x07,0x06,0x00,0xFE,0x58,0xB8, + 0xB8,0xB8,0x58,0x08,0x10,0x05,0x0A,0x0A,0x06,0x00,0xFF,0x20,0x70,0xA8,0x88,0x88, + 0x88,0x88,0xA8,0x70,0x20,0x05,0x08,0x08,0x06,0x00,0xFF,0x20,0x70,0xA8,0x88,0x88, + 0xA8,0x70,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x70,0x00,0x20,0x20,0x88,0x88,0x88, + 0xA8,0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0x20,0xA8,0x88,0xA8,0x50,0x05, + 0x0A,0x0A,0x06,0x00,0x00,0xF8,0xA8,0x00,0x50,0x88,0x88,0xA8,0xA8,0xA8,0x50,0x05, + 0x08,0x08,0x06,0x00,0x00,0xF8,0xA8,0x00,0x50,0x88,0xA8,0xA8,0x50}; const u8g_fntpgm_uint8_t fontpage_97_129_191[911] U8G_FONT_SECTION("fontpage_97_129_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0xbf,0x00,0x0d,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x04,0x00,0x4e,0x00,0x55,0x00,0x64, - 0x80,0x48,0x40,0xa8,0x40,0x90,0x40,0x90,0x80,0x61,0x00,0x06,0x00,0x08,0x0b,0x0b, - 0x0c,0x01,0xff,0x20,0x10,0x70,0x1c,0x28,0xe2,0x39,0x21,0x21,0x12,0x0c,0x08,0x07, - 0x07,0x0c,0x02,0xff,0x28,0x2e,0xf5,0x21,0x16,0x10,0x10,0x0b,0x0b,0x16,0x0c,0x00, - 0xff,0x02,0x00,0x37,0x00,0x20,0x00,0x13,0xc0,0x9c,0x20,0x70,0x20,0x09,0xc0,0x08, - 0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x07,0x07,0x07,0x0c,0x03,0xff,0x10,0x9c,0xb2, - 0xd2,0x9c,0x10,0x20,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x82,0x00,0x47,0x80, - 0x4a,0x40,0x52,0x20,0x62,0x20,0x6a,0x40,0x47,0x80,0x42,0x00,0x04,0x00,0x08,0x00, - 0x07,0x07,0x07,0x0c,0x02,0xff,0x10,0x1c,0x10,0x10,0x78,0x96,0x60,0x09,0x0b,0x16, - 0x0c,0x01,0xff,0x10,0x00,0x08,0x00,0x09,0x80,0x0e,0x00,0x08,0x00,0x08,0x00,0x08, - 0x00,0x78,0x00,0x8e,0x00,0x89,0x80,0x70,0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20, - 0x18,0x40,0x80,0x80,0xbc,0xc2,0x82,0x02,0x0c,0x70,0x07,0x0b,0x0b,0x0c,0x02,0xff, - 0x88,0x54,0x52,0x62,0x62,0x42,0x42,0x04,0x04,0x08,0x10,0x08,0x0a,0x0a,0x0c,0x01, - 0xff,0x4e,0x34,0x08,0x10,0x3e,0x61,0x81,0x19,0x26,0x1c,0x0b,0x0b,0x16,0x0c,0x00, - 0xff,0x20,0x00,0x10,0x00,0x13,0x00,0x34,0x80,0xd8,0x80,0x10,0x80,0x10,0x80,0x30, - 0x80,0x50,0x80,0xb0,0x60,0x10,0x00,0x08,0x0a,0x0a,0x0c,0x01,0xff,0x4e,0x34,0x08, - 0x10,0x3e,0x61,0x81,0x01,0x06,0x18,0x08,0x07,0x07,0x0c,0x02,0xff,0x40,0x30,0xee, - 0x31,0x61,0xa2,0x24,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x10,0x00,0x10,0x00, - 0x9b,0x80,0x7c,0x40,0x10,0x20,0x10,0x20,0x30,0x20,0x50,0x40,0xb1,0x80,0x10,0x00, - 0x0a,0x0a,0x14,0x0c,0x01,0xff,0x4e,0x00,0x34,0x00,0x04,0x00,0x1f,0x00,0x28,0x80, - 0x48,0x40,0x90,0x40,0x96,0x40,0x69,0x80,0x47,0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff, - 0x20,0x00,0x1f,0x00,0x04,0x00,0x1f,0x00,0x20,0x80,0x4c,0x80,0x13,0x00,0x0c,0x00, - 0x00,0x00,0x59,0x80,0x86,0x40,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00, - 0x9e,0x00,0x70,0x00,0x21,0x80,0x72,0x00,0x8c,0x00,0x14,0x00,0x24,0x00,0x20,0x00, - 0x1f,0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0x10,0x00,0x08,0x00,0x08,0x00,0x10,0x00, - 0x10,0x00,0x38,0x00,0x24,0x00,0x44,0x40,0x44,0x80,0x83,0x00,0x0a,0x0b,0x16,0x0c, - 0x00,0xff,0x10,0x00,0x0c,0x80,0x00,0x40,0x1d,0x00,0xe2,0x80,0x02,0x00,0x02,0x00, - 0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0xff,0xff,0xff,0xff,0x04,0x03,0x03,0x06, - 0x00,0x05,0x20,0x90,0x40,0xff,0x04,0x03,0x03,0x06,0x00,0x05,0x20,0x90,0x40,0x03, - 0x03,0x03,0x06,0x00,0x05,0x40,0xa0,0x40,0xff,0xff,0xff,0x05,0x03,0x03,0x06,0x00, - 0x03,0xf8,0x00,0xf8,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,0x10,0x60,0x40,0x80,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x28,0x30,0x20,0x20,0x40,0x04,0x05,0x05,0x06, - 0x00,0x00,0x10,0x20,0x60,0xa0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x20, - 0x60,0xa0,0x20,0x20,0x04,0x05,0x05,0x06,0x00,0x00,0x20,0xf0,0x90,0x10,0x20,0x05, - 0x07,0x07,0x06,0x00,0x00,0x20,0xf8,0x88,0x88,0x08,0x10,0x60,0x03,0x04,0x04,0x06, - 0x00,0x00,0xe0,0x40,0x40,0xe0,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x20,0x20,0x20, - 0x20,0xf8,0x04,0x05,0x05,0x06,0x00,0x00,0x20,0xf0,0x20,0x60,0xa0,0x05,0x07,0x07, - 0x06,0x00,0x00,0x10,0xf8,0x10,0x30,0x50,0x90,0x10,0x05,0x07,0x07,0x06,0x00,0x00, - 0x40,0xf8,0x48,0x48,0x48,0x48,0x98,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x40, - 0xf8,0x48,0x48,0x48,0x48,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xf8,0x20,0x20, - 0xf8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xf8,0x20,0x20,0xf8, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x81,0xBF,0x00,0x0D,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x04,0x00,0x4E,0x00,0x55,0x00,0x64, + 0x80,0x48,0x40,0xA8,0x40,0x90,0x40,0x90,0x80,0x61,0x00,0x06,0x00,0x08,0x0B,0x0B, + 0x0C,0x01,0xFF,0x20,0x10,0x70,0x1C,0x28,0xE2,0x39,0x21,0x21,0x12,0x0C,0x08,0x07, + 0x07,0x0C,0x02,0xFF,0x28,0x2E,0xF5,0x21,0x16,0x10,0x10,0x0B,0x0B,0x16,0x0C,0x00, + 0xFF,0x02,0x00,0x37,0x00,0x20,0x00,0x13,0xC0,0x9C,0x20,0x70,0x20,0x09,0xC0,0x08, + 0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x07,0x07,0x07,0x0C,0x03,0xFF,0x10,0x9C,0xB2, + 0xD2,0x9C,0x10,0x20,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x82,0x00,0x47,0x80, + 0x4A,0x40,0x52,0x20,0x62,0x20,0x6A,0x40,0x47,0x80,0x42,0x00,0x04,0x00,0x08,0x00, + 0x07,0x07,0x07,0x0C,0x02,0xFF,0x10,0x1C,0x10,0x10,0x78,0x96,0x60,0x09,0x0B,0x16, + 0x0C,0x01,0xFF,0x10,0x00,0x08,0x00,0x09,0x80,0x0E,0x00,0x08,0x00,0x08,0x00,0x08, + 0x00,0x78,0x00,0x8E,0x00,0x89,0x80,0x70,0x00,0x07,0x0B,0x0B,0x0C,0x02,0xFF,0x20, + 0x18,0x40,0x80,0x80,0xBC,0xC2,0x82,0x02,0x0C,0x70,0x07,0x0B,0x0B,0x0C,0x02,0xFF, + 0x88,0x54,0x52,0x62,0x62,0x42,0x42,0x04,0x04,0x08,0x10,0x08,0x0A,0x0A,0x0C,0x01, + 0xFF,0x4E,0x34,0x08,0x10,0x3E,0x61,0x81,0x19,0x26,0x1C,0x0B,0x0B,0x16,0x0C,0x00, + 0xFF,0x20,0x00,0x10,0x00,0x13,0x00,0x34,0x80,0xD8,0x80,0x10,0x80,0x10,0x80,0x30, + 0x80,0x50,0x80,0xB0,0x60,0x10,0x00,0x08,0x0A,0x0A,0x0C,0x01,0xFF,0x4E,0x34,0x08, + 0x10,0x3E,0x61,0x81,0x01,0x06,0x18,0x08,0x07,0x07,0x0C,0x02,0xFF,0x40,0x30,0xEE, + 0x31,0x61,0xA2,0x24,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x10,0x00,0x10,0x00, + 0x9B,0x80,0x7C,0x40,0x10,0x20,0x10,0x20,0x30,0x20,0x50,0x40,0xB1,0x80,0x10,0x00, + 0x0A,0x0A,0x14,0x0C,0x01,0xFF,0x4E,0x00,0x34,0x00,0x04,0x00,0x1F,0x00,0x28,0x80, + 0x48,0x40,0x90,0x40,0x96,0x40,0x69,0x80,0x47,0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF, + 0x20,0x00,0x1F,0x00,0x04,0x00,0x1F,0x00,0x20,0x80,0x4C,0x80,0x13,0x00,0x0C,0x00, + 0x00,0x00,0x59,0x80,0x86,0x40,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00, + 0x9E,0x00,0x70,0x00,0x21,0x80,0x72,0x00,0x8C,0x00,0x14,0x00,0x24,0x00,0x20,0x00, + 0x1F,0x00,0x0A,0x0A,0x14,0x0C,0x01,0xFF,0x10,0x00,0x08,0x00,0x08,0x00,0x10,0x00, + 0x10,0x00,0x38,0x00,0x24,0x00,0x44,0x40,0x44,0x80,0x83,0x00,0x0A,0x0B,0x16,0x0C, + 0x00,0xFF,0x10,0x00,0x0C,0x80,0x00,0x40,0x1D,0x00,0xE2,0x80,0x02,0x00,0x02,0x00, + 0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0xFF,0xFF,0xFF,0xFF,0x04,0x03,0x03,0x06, + 0x00,0x05,0x20,0x90,0x40,0xFF,0x04,0x03,0x03,0x06,0x00,0x05,0x20,0x90,0x40,0x03, + 0x03,0x03,0x06,0x00,0x05,0x40,0xA0,0x40,0xFF,0xFF,0xFF,0x05,0x03,0x03,0x06,0x00, + 0x03,0xF8,0x00,0xF8,0x04,0x05,0x05,0x06,0x00,0x00,0xF0,0x10,0x60,0x40,0x80,0x05, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x28,0x30,0x20,0x20,0x40,0x04,0x05,0x05,0x06, + 0x00,0x00,0x10,0x20,0x60,0xA0,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x20, + 0x60,0xA0,0x20,0x20,0x04,0x05,0x05,0x06,0x00,0x00,0x20,0xF0,0x90,0x10,0x20,0x05, + 0x07,0x07,0x06,0x00,0x00,0x20,0xF8,0x88,0x88,0x08,0x10,0x60,0x03,0x04,0x04,0x06, + 0x00,0x00,0xE0,0x40,0x40,0xE0,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x20,0x20,0x20, + 0x20,0xF8,0x04,0x05,0x05,0x06,0x00,0x00,0x20,0xF0,0x20,0x60,0xA0,0x05,0x07,0x07, + 0x06,0x00,0x00,0x10,0xF8,0x10,0x30,0x50,0x90,0x10,0x05,0x07,0x07,0x06,0x00,0x00, + 0x40,0xF8,0x48,0x48,0x48,0x48,0x98,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x40, + 0xF8,0x48,0x48,0x48,0x48,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xF8,0x20,0x20, + 0xF8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xF8,0x20,0x20,0xF8, 0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x78,0x48,0x88,0x08,0x10,0x60,0x05, 0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x40,0x78,0x48,0x88,0x08,0x10,0x60,0x05,0x07, - 0x07,0x06,0x00,0x00,0x80,0xf8,0x90,0x90,0x10,0x10,0x20,0x05,0x09,0x09,0x06,0x00, - 0x00,0x28,0x28,0x80,0xf8,0x90,0x90,0x10,0x10,0x20,0x05,0x06,0x06,0x06,0x00,0x00, - 0xf8,0x08,0x08,0x08,0x08,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xf8, - 0x08,0x08,0x08,0x08,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0xf8,0x50,0x50,0x50, - 0x10,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x50,0xf8,0x50,0x50,0x50,0x10, - 0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xc0,0x08,0xc8,0x08,0x10,0xe0,0x07,0x0d,0x0d, - 0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x28,0x28,0x00,0xc0,0x08,0xc8,0x08,0x10,0xe0, + 0x07,0x06,0x00,0x00,0x80,0xF8,0x90,0x90,0x10,0x10,0x20,0x05,0x09,0x09,0x06,0x00, + 0x00,0x28,0x28,0x80,0xF8,0x90,0x90,0x10,0x10,0x20,0x05,0x06,0x06,0x06,0x00,0x00, + 0xF8,0x08,0x08,0x08,0x08,0xF8,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xF8, + 0x08,0x08,0x08,0x08,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0xF8,0x50,0x50,0x50, + 0x10,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x50,0xF8,0x50,0x50,0x50,0x10, + 0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xC0,0x08,0xC8,0x08,0x10,0xE0,0x07,0x0D,0x0D, + 0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x28,0x28,0x00,0xC0,0x08,0xC8,0x08,0x10,0xE0, 0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x10,0x10,0x20,0x50,0x88,0x05,0x09,0x09,0x06, 0x00,0x00,0x28,0x28,0x00,0x70,0x10,0x10,0x20,0x50,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x40,0x40,0xf8,0x48,0x50,0x40,0x38,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08, - 0x40,0x40,0xf8,0x48,0x50,0x40,0x38,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x48,0x48, + 0x00,0x40,0x40,0xF8,0x48,0x50,0x40,0x38,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08, + 0x40,0x40,0xF8,0x48,0x50,0x40,0x38,0x05,0x06,0x06,0x06,0x00,0x00,0x88,0x48,0x48, 0x10,0x10,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x88,0x48,0x48,0x10, - 0x10,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x78,0x48,0xa8,0x18,0x10,0x60}; + 0x10,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x78,0x48,0xA8,0x18,0x10,0x60}; const u8g_fntpgm_uint8_t fontpage_97_193_255[822] U8G_FONT_SECTION("fontpage_97_193_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xff,0x00,0x09,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x60,0x20,0xf8,0x20,0x20,0x40,0x05,0x09, - 0x09,0x06,0x00,0x00,0x28,0x08,0x10,0x60,0x20,0xf8,0x20,0x20,0x40,0x05,0x04,0x04, - 0x06,0x00,0x00,0xa8,0xa8,0x08,0x30,0x05,0x06,0x06,0x06,0x00,0x00,0xa8,0xa8,0xa8, - 0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xa8,0xa8,0xa8,0x08, - 0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xf8,0x20,0x20,0x20,0x40,0x05, - 0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x70,0x00,0xf8,0x20,0x20,0x20,0x40,0x04,0x07, - 0x07,0x06,0x01,0x00,0x80,0x80,0xc0,0xa0,0x90,0x80,0x80,0x04,0x09,0x09,0x06,0x01, - 0x00,0x50,0x10,0x80,0x80,0xc0,0xa0,0x90,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00, - 0x20,0x20,0xf8,0x20,0x20,0x40,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x00,0x00, - 0x00,0x00,0xf8,0x05,0x06,0x06,0x06,0x00,0x00,0x78,0x08,0x28,0x10,0x28,0xc0,0x05, - 0x07,0x07,0x06,0x00,0x00,0x20,0x70,0x10,0x20,0x70,0xa8,0x20,0x03,0x06,0x06,0x06, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC1,0xFF,0x00,0x09,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x60,0x20,0xF8,0x20,0x20,0x40,0x05,0x09, + 0x09,0x06,0x00,0x00,0x28,0x08,0x10,0x60,0x20,0xF8,0x20,0x20,0x40,0x05,0x04,0x04, + 0x06,0x00,0x00,0xA8,0xA8,0x08,0x30,0x05,0x06,0x06,0x06,0x00,0x00,0xA8,0xA8,0xA8, + 0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xA8,0xA8,0xA8,0x08, + 0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x00,0xF8,0x20,0x20,0x20,0x40,0x05, + 0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x70,0x00,0xF8,0x20,0x20,0x20,0x40,0x04,0x07, + 0x07,0x06,0x01,0x00,0x80,0x80,0xC0,0xA0,0x90,0x80,0x80,0x04,0x09,0x09,0x06,0x01, + 0x00,0x50,0x10,0x80,0x80,0xC0,0xA0,0x90,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00, + 0x20,0x20,0xF8,0x20,0x20,0x40,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x00,0x00, + 0x00,0x00,0xF8,0x05,0x06,0x06,0x06,0x00,0x00,0x78,0x08,0x28,0x10,0x28,0xC0,0x05, + 0x07,0x07,0x06,0x00,0x00,0x20,0x70,0x10,0x20,0x70,0xA8,0x20,0x03,0x06,0x06,0x06, 0x01,0x00,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x06,0x06,0x06,0x00,0x00,0x10,0x50, 0x50,0x48,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x10,0x50,0x50, 0x48,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00,0x18,0x18,0x00,0x10,0x50,0x50,0x48, - 0x88,0x88,0x04,0x06,0x06,0x06,0x00,0x00,0x80,0x90,0xe0,0x80,0x80,0x70,0x05,0x09, - 0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x80,0x90,0xe0,0x80,0x80,0x70,0x05,0x09,0x09, - 0x06,0x00,0x00,0x18,0x18,0x00,0x80,0x90,0xe0,0x80,0x80,0x70,0x05,0x06,0x06,0x06, - 0x00,0x00,0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28, - 0x00,0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x18,0x18,0x00, - 0xf8,0x08,0x08,0x08,0x10,0x60,0x05,0x05,0x05,0x06,0x00,0x01,0x60,0xa0,0x10,0x10, - 0x08,0x05,0x08,0x08,0x06,0x00,0x01,0x28,0x28,0x00,0x60,0xa0,0x10,0x10,0x08,0x05, - 0x08,0x08,0x06,0x00,0x01,0x18,0x18,0x00,0x60,0xa0,0x10,0x10,0x08,0x05,0x07,0x07, - 0x06,0x00,0x00,0x20,0xf8,0x20,0xa8,0xa8,0xa8,0x20,0x05,0x09,0x09,0x06,0x00,0x00, - 0x28,0x08,0x20,0xf8,0x20,0xa8,0xa8,0xa8,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x18, - 0x18,0x20,0xf8,0x20,0xa8,0xa8,0xa8,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x08, - 0x08,0x50,0x20,0x10,0x04,0x06,0x06,0x06,0x01,0x00,0xe0,0x00,0xe0,0x00,0xc0,0x30, - 0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x20,0x40,0x48,0xf8,0x08,0x05,0x06,0x06, - 0x06,0x00,0x00,0x08,0x48,0x30,0x10,0x28,0xc0,0x05,0x06,0x06,0x06,0x00,0x00,0xf0, - 0x40,0xf8,0x40,0x40,0x38,0x05,0x05,0x05,0x06,0x00,0x00,0x40,0xf8,0x48,0x50,0x40, - 0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xf8,0x48,0x50,0x40,0x40,0x04,0x05,0x05, - 0x06,0x00,0x00,0x60,0x20,0x20,0x20,0xf0,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x10, - 0x10,0x10,0x10,0xf8,0x04,0x05,0x05,0x06,0x00,0x00,0xf0,0x10,0xf0,0x10,0xf0,0x05, - 0x06,0x06,0x06,0x00,0x00,0xf8,0x08,0xf8,0x08,0x08,0xf8,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x00,0xf8,0x08,0x08,0x10,0x60,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x90, - 0x90,0x90,0x90,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xa0,0xa0,0xa8, - 0xa8,0xb0,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0x80,0x88,0xb0,0xc0,0x05,0x06, - 0x06,0x06,0x00,0x00,0xf8,0x88,0x88,0x88,0x88,0xf8,0x04,0x05,0x05,0x06,0x00,0x00, - 0xf0,0x90,0x10,0x10,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xf8,0x88,0x88,0x08,0x10, - 0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0xf8,0x50,0x50,0xf8,0x10,0x10,0x05,0x06, - 0x06,0x06,0x00,0x00,0x70,0x10,0x20,0x20,0x20,0xf8,0x05,0x06,0x06,0x06,0x00,0x00, - 0xf8,0x08,0xf8,0x08,0x10,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xc0,0x08,0x08,0x08, - 0x10,0xe0,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xf8,0x88,0x88,0x08,0x10, - 0x60,0x04,0x05,0x05,0x06,0x00,0x00,0x40,0xf0,0x50,0x50,0xb0,0x04,0x05,0x05,0x06, - 0x00,0x00,0x80,0xf0,0xa0,0x20,0x40,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00, - 0xf8,0x88,0x88,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x10,0xf8, - 0x50,0x50,0xf8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x70,0x10, - 0x20,0x20,0x20,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xf8,0x08,0xf8, - 0x08,0x10,0x60,0x02,0x02,0x02,0x06,0x02,0x03,0xc0,0xc0,0x05,0x02,0x02,0x06,0x00, + 0x88,0x88,0x04,0x06,0x06,0x06,0x00,0x00,0x80,0x90,0xE0,0x80,0x80,0x70,0x05,0x09, + 0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x80,0x90,0xE0,0x80,0x80,0x70,0x05,0x09,0x09, + 0x06,0x00,0x00,0x18,0x18,0x00,0x80,0x90,0xE0,0x80,0x80,0x70,0x05,0x06,0x06,0x06, + 0x00,0x00,0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28, + 0x00,0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x18,0x18,0x00, + 0xF8,0x08,0x08,0x08,0x10,0x60,0x05,0x05,0x05,0x06,0x00,0x01,0x60,0xA0,0x10,0x10, + 0x08,0x05,0x08,0x08,0x06,0x00,0x01,0x28,0x28,0x00,0x60,0xA0,0x10,0x10,0x08,0x05, + 0x08,0x08,0x06,0x00,0x01,0x18,0x18,0x00,0x60,0xA0,0x10,0x10,0x08,0x05,0x07,0x07, + 0x06,0x00,0x00,0x20,0xF8,0x20,0xA8,0xA8,0xA8,0x20,0x05,0x09,0x09,0x06,0x00,0x00, + 0x28,0x08,0x20,0xF8,0x20,0xA8,0xA8,0xA8,0x20,0x05,0x09,0x09,0x06,0x00,0x00,0x18, + 0x18,0x20,0xF8,0x20,0xA8,0xA8,0xA8,0x20,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x08, + 0x08,0x50,0x20,0x10,0x04,0x06,0x06,0x06,0x01,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x30, + 0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x20,0x40,0x48,0xF8,0x08,0x05,0x06,0x06, + 0x06,0x00,0x00,0x08,0x48,0x30,0x10,0x28,0xC0,0x05,0x06,0x06,0x06,0x00,0x00,0xF0, + 0x40,0xF8,0x40,0x40,0x38,0x05,0x05,0x05,0x06,0x00,0x00,0x40,0xF8,0x48,0x50,0x40, + 0x05,0x07,0x07,0x06,0x00,0x00,0x40,0x40,0xF8,0x48,0x50,0x40,0x40,0x04,0x05,0x05, + 0x06,0x00,0x00,0x60,0x20,0x20,0x20,0xF0,0x05,0x06,0x06,0x06,0x00,0x00,0x70,0x10, + 0x10,0x10,0x10,0xF8,0x04,0x05,0x05,0x06,0x00,0x00,0xF0,0x10,0xF0,0x10,0xF0,0x05, + 0x06,0x06,0x06,0x00,0x00,0xF8,0x08,0xF8,0x08,0x08,0xF8,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x00,0xF8,0x08,0x08,0x10,0x60,0x04,0x07,0x07,0x06,0x00,0x00,0x10,0x90, + 0x90,0x90,0x90,0x10,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xA0,0xA0,0xA8, + 0xA8,0xB0,0x05,0x06,0x06,0x06,0x00,0x00,0x80,0x80,0x80,0x88,0xB0,0xC0,0x05,0x06, + 0x06,0x06,0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xF8,0x04,0x05,0x05,0x06,0x00,0x00, + 0xF0,0x90,0x10,0x10,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xF8,0x88,0x88,0x08,0x10, + 0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0xF8,0x50,0x50,0xF8,0x10,0x10,0x05,0x06, + 0x06,0x06,0x00,0x00,0x70,0x10,0x20,0x20,0x20,0xF8,0x05,0x06,0x06,0x06,0x00,0x00, + 0xF8,0x08,0xF8,0x08,0x10,0x60,0x05,0x06,0x06,0x06,0x00,0x00,0xC0,0x08,0x08,0x08, + 0x10,0xE0,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x20,0xF8,0x88,0x88,0x08,0x10, + 0x60,0x04,0x05,0x05,0x06,0x00,0x00,0x40,0xF0,0x50,0x50,0xB0,0x04,0x05,0x05,0x06, + 0x00,0x00,0x80,0xF0,0xA0,0x20,0x40,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00, + 0xF8,0x88,0x88,0x08,0x10,0x60,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x08,0x10,0xF8, + 0x50,0x50,0xF8,0x10,0x10,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0x70,0x10, + 0x20,0x20,0x20,0xF8,0x05,0x09,0x09,0x06,0x00,0x00,0x28,0x28,0x00,0xF8,0x08,0xF8, + 0x08,0x10,0x60,0x02,0x02,0x02,0x06,0x02,0x03,0xC0,0xC0,0x05,0x02,0x02,0x06,0x00, 0x03,0x80,0x78,0x05,0x04,0x04,0x06,0x00,0x02,0x80,0x60,0x10,0x08,0x05,0x07,0x07, 0x06,0x00,0x02,0x28,0x28,0x00,0x80,0x60,0x10,0x08,0x05,0x06,0x06,0x06,0x00,0x00, - 0xf8,0x08,0x08,0x08,0x08,0x08}; + 0xF8,0x08,0x08,0x08,0x08,0x08}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_tr.h b/Marlin/src/lcd/dogm/fontdata/langdata_tr.h index 454fc7cc67d8..a4068e10d092 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_tr.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_tr.h @@ -6,18 +6,18 @@ #include const u8g_fntpgm_uint8_t fontpage_2_158_159[49] U8G_FONT_SECTION("fontpage_2_158_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9e,0x9f,0x00,0x0a,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88,0x70,0x00,0x70,0x88,0x80,0x80,0x98,0x88, - 0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe,0x88,0x70,0x00,0x70,0x88,0x88,0x88,0x78,0x08, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9E,0x9F,0x00,0x0A,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x88,0x70,0x00,0x70,0x88,0x80,0x80,0x98,0x88, + 0x70,0x05,0x0A,0x0A,0x06,0x00,0xFE,0x88,0x70,0x00,0x70,0x88,0x88,0x88,0x78,0x08, 0x70}; const u8g_fntpgm_uint8_t fontpage_2_176_177[43] U8G_FONT_SECTION("fontpage_2_176_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb1,0x00,0x09,0x00,0x00, - 0x00,0x03,0x09,0x09,0x06,0x01,0x00,0x40,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0, - 0x03,0x05,0x05,0x06,0x01,0x00,0xc0,0x40,0x40,0x40,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB1,0x00,0x09,0x00,0x00, + 0x00,0x03,0x09,0x09,0x06,0x01,0x00,0x40,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0, + 0x03,0x05,0x05,0x06,0x01,0x00,0xC0,0x40,0x40,0x40,0xE0}; const u8g_fntpgm_uint8_t fontpage_2_222_223[45] U8G_FONT_SECTION("fontpage_2_222_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xdf,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x10,0x60, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x80,0x70,0x08,0xf0,0x10,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDF,0x00,0x07,0xFE,0x00, + 0x00,0x05,0x09,0x09,0x06,0x00,0xFE,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x10,0x60, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x78,0x80,0x70,0x08,0xF0,0x10,0x60}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_uk.h b/Marlin/src/lcd/dogm/fontdata/langdata_uk.h index e3800eb6bb85..47ec93992fc2 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_uk.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_uk.h @@ -6,71 +6,71 @@ #include const u8g_fntpgm_uint8_t fontpage_8_134_134[30] U8G_FONT_SECTION("fontpage_8_134_134") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x07,0x00,0x00, - 0x00,0x03,0x07,0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x07,0x00,0x00, + 0x00,0x03,0x07,0x07,0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0}; const u8g_fntpgm_uint8_t fontpage_8_144_169[363] U8G_FONT_SECTION("fontpage_8_144_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0xa9,0x00,0x0a,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0xf0,0x80,0x80,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80, - 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xff,0x30,0x50,0x50,0x50,0x50, - 0x50,0xf8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8, - 0x05,0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0x70,0x20,0x70,0xa8,0xa8,0x05,0x07,0x07, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0xA9,0x00,0x0A,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0xF0,0x80,0x80,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80, + 0x80,0x80,0x80,0x80,0x80,0x05,0x08,0x08,0x06,0x00,0xFF,0x30,0x50,0x50,0x50,0x50, + 0x50,0xF8,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8, + 0x05,0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0x70,0x20,0x70,0xA8,0xA8,0x05,0x07,0x07, 0x06,0x00,0x00,0x70,0x88,0x08,0x70,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00, - 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x88,0x70,0x00, - 0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xa0, - 0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, - 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05,0x07, - 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, - 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x88, - 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80, + 0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x88,0x70,0x00, + 0x88,0x88,0x98,0xA8,0xC8,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0, + 0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x48,0x48, + 0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00, + 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x88, + 0x88,0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x80, 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06, 0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x08,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x20, - 0x70,0xa8,0xa8,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, - 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0x90,0x90,0xf8, + 0x70,0xA8,0xA8,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20, + 0x50,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0x90,0x90,0xF8, 0x08,0x08,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x05, - 0x07,0x07,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x05,0x09,0x09,0x06, - 0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; + 0x07,0x07,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xF8,0x05,0x09,0x09,0x06, + 0x00,0xFE,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xF8,0x08,0x08}; const u8g_fntpgm_uint8_t fontpage_8_172_172[30] U8G_FONT_SECTION("fontpage_8_172_172") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x07,0x00,0x00, - 0x00,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xe0,0x90,0x90,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x07,0x00,0x00, + 0x00,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0x80,0x80,0xE0,0x90,0x90,0xE0}; const u8g_fntpgm_uint8_t fontpage_8_175_201[334] U8G_FONT_SECTION("fontpage_8_175_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xc9,0x00,0x08,0xfe,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xC9,0x00,0x08,0xFE,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x78,0x88,0x88,0x78,0x28,0x48,0x88,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x80,0xf0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf0,0x88,0xf0,0x88, - 0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0xf8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, - 0x00,0xff,0x30,0x50,0x50,0x50,0xf8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, - 0xf0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0x70,0x20,0x70,0xa8,0x05,0x05, + 0x80,0xF0,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF0,0x88,0xF0,0x88, + 0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0xF8,0x80,0x80,0x80,0x80,0x05,0x06,0x06,0x06, + 0x00,0xFF,0x30,0x50,0x50,0x50,0xF8,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88, + 0xF0,0x80,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0x70,0x20,0x70,0xA8,0x05,0x05, 0x05,0x06,0x00,0x00,0x70,0x88,0x30,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0x88, - 0x98,0xa8,0xc8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xa8, - 0xc8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xa0,0xc0,0xa0,0x90,0x05,0x05,0x05, - 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xd8, - 0xa8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xf8,0x88,0x88,0x05,0x05, - 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xf8, - 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0,0x80, + 0x98,0xA8,0xC8,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x88,0x98,0xA8, + 0xC8,0x88,0x04,0x05,0x05,0x06,0x01,0x00,0x90,0xA0,0xC0,0xA0,0x90,0x05,0x05,0x05, + 0x06,0x00,0x00,0x38,0x48,0x48,0x48,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0xD8, + 0xA8,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0xF8,0x88,0x88,0x05,0x05, + 0x05,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05,0x06,0x00,0x00,0xF8, + 0x88,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0,0x80, 0x80,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x05,0x05,0x05,0x06, - 0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88, - 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xfe,0x20,0x20,0x70,0xa8,0xa8,0xa8, + 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88, + 0x88,0x78,0x08,0x70,0x05,0x09,0x09,0x06,0x00,0xFE,0x20,0x20,0x70,0xA8,0xA8,0xA8, 0x70,0x20,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x90,0x90,0x90,0x90,0xf8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, - 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xa8,0xa8,0xa8,0xa8, - 0xf8,0x05,0x07,0x07,0x06,0x00,0xfe,0xa8,0xa8,0xa8,0xa8,0xf8,0x08,0x08}; + 0x07,0x06,0x00,0xFE,0x90,0x90,0x90,0x90,0xF8,0x08,0x08,0x05,0x05,0x05,0x06,0x00, + 0x00,0x88,0x88,0x78,0x08,0x08,0x05,0x05,0x05,0x06,0x00,0x00,0xA8,0xA8,0xA8,0xA8, + 0xF8,0x05,0x07,0x07,0x06,0x00,0xFE,0xA8,0xA8,0xA8,0xA8,0xF8,0x08,0x08}; const u8g_fntpgm_uint8_t fontpage_8_204_204[28] U8G_FONT_SECTION("fontpage_8_204_204") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x05,0x00,0x00, - 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xe0,0x90,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x05,0x00,0x00, + 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x80,0x80,0xE0,0x90,0xE0}; const u8g_fntpgm_uint8_t fontpage_8_206_207[39] U8G_FONT_SECTION("fontpage_8_206_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xcf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xa8,0xe8,0xa8,0x90,0x04,0x05,0x05,0x06, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCE,0xCF,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x90,0xA8,0xE8,0xA8,0x90,0x04,0x05,0x05,0x06, 0x01,0x00,0x70,0x90,0x70,0x50,0x90}; const u8g_fntpgm_uint8_t fontpage_8_212_212[28] U8G_FONT_SECTION("fontpage_8_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x05,0x00,0x00, - 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x80,0xe0,0x80,0x70}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x05,0x00,0x00, + 0x00,0x04,0x05,0x05,0x06,0x01,0x00,0x70,0x80,0xE0,0x80,0x70}; const u8g_fntpgm_uint8_t fontpage_8_214_215[41] U8G_FONT_SECTION("fontpage_8_214_215") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd7,0x00,0x06,0x00,0x00, - 0x00,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x03,0x06,0x06, - 0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD6,0xD7,0x00,0x06,0x00,0x00, + 0x00,0x03,0x06,0x06,0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0xE0,0x03,0x06,0x06, + 0x06,0x01,0x00,0xA0,0x00,0xC0,0x40,0x40,0xE0}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_vi.h b/Marlin/src/lcd/dogm/fontdata/langdata_vi.h index bebf3251c155..a8a0c5c121e6 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_vi.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_vi.h @@ -6,175 +6,175 @@ #include const u8g_fntpgm_uint8_t fontpage_2_131_131[31] U8G_FONT_SECTION("fontpage_2_131_131") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x88,0x70,0x00,0x70,0x08,0x78,0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_2_144_145[44] U8G_FONT_SECTION("fontpage_2_144_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x91,0x00,0x08,0x00,0x00, - 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0xe8,0x48,0x48,0xf0,0x06,0x08, - 0x08,0x06,0x00,0x00,0x08,0x1c,0x08,0x78,0x88,0x88,0x88,0x78}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x91,0x00,0x08,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x48,0x48,0xE8,0x48,0x48,0xF0,0x06,0x08, + 0x08,0x06,0x00,0x00,0x08,0x1C,0x08,0x78,0x88,0x88,0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_2_169_169[31] U8G_FONT_SECTION("fontpage_2_169_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x08,0x00,0x00, - 0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x50,0xa0,0x00,0x60,0x20,0x20,0x20,0x70}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xA9,0x00,0x08,0x00,0x00, + 0x00,0x04,0x08,0x08,0x06,0x00,0x00,0x50,0xA0,0x00,0x60,0x20,0x20,0x20,0x70}; const u8g_fntpgm_uint8_t fontpage_3_161_161[30] U8G_FONT_SECTION("fontpage_3_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x07,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x70,0x88,0x88,0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_3_175_176[43] U8G_FONT_SECTION("fontpage_3_175_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xb0,0x00,0x08,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xB0,0x00,0x08,0x00,0x00, 0x00,0x05,0x08,0x08,0x06,0x00,0x00,0x08,0x98,0x90,0x90,0x90,0x90,0x90,0x60,0x05, - 0x06,0x06,0x06,0x00,0x00,0x08,0x98,0x90,0x90,0xb0,0x50}; + 0x06,0x06,0x06,0x00,0x00,0x08,0x98,0x90,0x90,0xB0,0x50}; const u8g_fntpgm_uint8_t fontpage_6_131_131[25] U8G_FONT_SECTION("fontpage_6_131_131") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x02,0x02,0x06,0x00,0x08,0x68,0xb0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x02,0x02,0x06,0x00,0x08,0x68,0xB0}; const u8g_fntpgm_uint8_t fontpage_6_137_137[26] U8G_FONT_SECTION("fontpage_6_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0x00,0x00, - 0x00,0x03,0x03,0x03,0x06,0x01,0x07,0xc0,0x20,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0x00,0x00, + 0x00,0x03,0x03,0x03,0x06,0x01,0x07,0xC0,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_6_163_163[24] U8G_FONT_SECTION("fontpage_6_163_163") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa3,0x00,0x00,0xfe,0x00, - 0x00,0x01,0x01,0x01,0x06,0x02,0xfe,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA3,0xA3,0x00,0x00,0xFE,0x00, + 0x00,0x01,0x01,0x01,0x06,0x02,0xFE,0x80}; const u8g_fntpgm_uint8_t fontpage_6_192_193[33] U8G_FONT_SECTION("fontpage_6_192_193") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc1,0x00,0x0a,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC1,0x00,0x0A,0x00,0x00, 0x00,0x02,0x02,0x02,0x06,0x01,0x08,0x80,0x40,0x02,0x02,0x02,0x06,0x02,0x08,0x40, 0x80}; const u8g_fntpgm_uint8_t fontpage_61_161_161[30] U8G_FONT_SECTION("fontpage_61_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x05,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x07,0x00,0xfe,0x70,0x08,0x78,0x88,0x78,0x00,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x05,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x07,0x00,0xFE,0x70,0x08,0x78,0x88,0x78,0x00,0x20}; const u8g_fntpgm_uint8_t fontpage_61_163_163[32] U8G_FONT_SECTION("fontpage_61_163_163") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa3,0x00,0x09,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA3,0xA3,0x00,0x09,0x00,0x00, 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x30,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78 }; const u8g_fntpgm_uint8_t fontpage_61_165_165[33] U8G_FONT_SECTION("fontpage_61_165_165") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0x00,0x00, - 0x00,0x06,0x0a,0x0a,0x07,0x00,0x00,0x04,0x08,0x30,0x48,0x00,0x70,0x08,0x78,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x0A,0x00,0x00, + 0x00,0x06,0x0A,0x0A,0x07,0x00,0x00,0x04,0x08,0x30,0x48,0x00,0x70,0x08,0x78,0x88, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_167_167[33] U8G_FONT_SECTION("fontpage_61_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x10,0x08,0x30,0x48,0x00,0x70,0x08,0x78,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x10,0x08,0x30,0x48,0x00,0x70,0x08,0x78,0x88, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_169_169[34] U8G_FONT_SECTION("fontpage_61_169_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x0c,0x04,0x08,0x30,0x48,0x00,0x70,0x08,0x78, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xA9,0x00,0x0B,0x00,0x00, + 0x00,0x06,0x0B,0x0B,0x07,0x00,0x00,0x0C,0x04,0x08,0x30,0x48,0x00,0x70,0x08,0x78, 0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_61_173_173[33] U8G_FONT_SECTION("fontpage_61_173_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0xfe,0x30,0x48,0x00,0x70,0x08,0x78,0x88,0x78,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAD,0xAD,0x00,0x08,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0xFE,0x30,0x48,0x00,0x70,0x08,0x78,0x88,0x78,0x00, 0x20}; const u8g_fntpgm_uint8_t fontpage_61_175_175[33] U8G_FONT_SECTION("fontpage_61_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x08,0x10,0x48,0x30,0x00,0x70,0x08,0x78,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x08,0x10,0x48,0x30,0x00,0x70,0x08,0x78,0x88, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_177_177[33] U8G_FONT_SECTION("fontpage_61_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x40,0x20,0x48,0x30,0x00,0x70,0x08,0x78,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x40,0x20,0x48,0x30,0x00,0x70,0x08,0x78,0x88, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_179_179[34] U8G_FONT_SECTION("fontpage_61_179_179") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb3,0xb3,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x0b,0x0b,0x07,0x00,0x00,0x18,0x08,0x10,0x48,0x30,0x00,0x70,0x08,0x78, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB3,0xB3,0x00,0x0B,0x00,0x00, + 0x00,0x05,0x0B,0x0B,0x07,0x00,0x00,0x18,0x08,0x10,0x48,0x30,0x00,0x70,0x08,0x78, 0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_61_181_181[34] U8G_FONT_SECTION("fontpage_61_181_181") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb5,0xb5,0x00,0x0b,0x00,0x00, - 0x00,0x06,0x0b,0x0b,0x07,0x00,0x00,0x14,0x28,0x00,0x48,0x30,0x00,0x70,0x08,0x78, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB5,0xB5,0x00,0x0B,0x00,0x00, + 0x00,0x06,0x0B,0x0B,0x07,0x00,0x00,0x14,0x28,0x00,0x48,0x30,0x00,0x70,0x08,0x78, 0x88,0x78}; const u8g_fntpgm_uint8_t fontpage_61_183_183[33] U8G_FONT_SECTION("fontpage_61_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0xfe,0x48,0x30,0x00,0x70,0x08,0x78,0x88,0x78,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x08,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0xFE,0x48,0x30,0x00,0x70,0x08,0x78,0x88,0x78,0x00, 0x20}; const u8g_fntpgm_uint8_t fontpage_61_191_191[33] U8G_FONT_SECTION("fontpage_61_191_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0x00,0x00, - 0x00,0x06,0x0a,0x0a,0x07,0x00,0x00,0x04,0x08,0x20,0x50,0x00,0x70,0x88,0xf0,0x80, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x00,0x0A,0x00,0x00, + 0x00,0x06,0x0A,0x0A,0x07,0x00,0x00,0x04,0x08,0x20,0x50,0x00,0x70,0x88,0xF0,0x80, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_193_193[33] U8G_FONT_SECTION("fontpage_61_193_193") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc1,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x10,0x08,0x20,0x50,0x00,0x70,0x88,0xf0,0x80, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC1,0xC1,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x10,0x08,0x20,0x50,0x00,0x70,0x88,0xF0,0x80, 0x78}; const u8g_fntpgm_uint8_t fontpage_61_195_195[34] U8G_FONT_SECTION("fontpage_61_195_195") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x0b,0x0b,0x07,0x00,0x00,0x18,0x08,0x10,0x60,0x90,0x00,0x60,0x90,0xf0, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0x00,0x0B,0x00,0x00, + 0x00,0x05,0x0B,0x0B,0x07,0x00,0x00,0x18,0x08,0x10,0x60,0x90,0x00,0x60,0x90,0xF0, 0x80,0x70}; const u8g_fntpgm_uint8_t fontpage_61_199_199[33] U8G_FONT_SECTION("fontpage_61_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0xfe,0x20,0x50,0x00,0x70,0x88,0xf0,0x80,0x78,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x08,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0xFE,0x20,0x50,0x00,0x70,0x88,0xF0,0x80,0x78,0x00, 0x20}; const u8g_fntpgm_uint8_t fontpage_61_201_201[32] U8G_FONT_SECTION("fontpage_61_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x09,0x00,0x00, - 0x00,0x03,0x09,0x09,0x07,0x02,0x00,0x60,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x09,0x00,0x00, + 0x00,0x03,0x09,0x09,0x07,0x02,0x00,0x60,0x20,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0 }; const u8g_fntpgm_uint8_t fontpage_61_203_203[32] U8G_FONT_SECTION("fontpage_61_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x07,0xfe,0x00, - 0x00,0x03,0x09,0x09,0x07,0x02,0xfe,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x00,0x40 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x07,0xFE,0x00, + 0x00,0x03,0x09,0x09,0x07,0x02,0xFE,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x00,0x40 }; const u8g_fntpgm_uint8_t fontpage_61_205_205[30] U8G_FONT_SECTION("fontpage_61_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x05,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x07,0x00,0xfe,0x70,0x88,0x88,0x88,0x70,0x00,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x05,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x07,0x00,0xFE,0x70,0x88,0x88,0x88,0x70,0x00,0x20}; const u8g_fntpgm_uint8_t fontpage_61_207_207[32] U8G_FONT_SECTION("fontpage_61_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x09,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x09,0x00,0x00, 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x30,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_209_209[33] U8G_FONT_SECTION("fontpage_61_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0x00,0x00, - 0x00,0x06,0x0a,0x0a,0x07,0x00,0x00,0x04,0x08,0x20,0x50,0x00,0x70,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x0A,0x00,0x00, + 0x00,0x06,0x0A,0x0A,0x07,0x00,0x00,0x04,0x08,0x20,0x50,0x00,0x70,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_211_211[33] U8G_FONT_SECTION("fontpage_61_211_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x10,0x08,0x20,0x50,0x00,0x70,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD3,0xD3,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x10,0x08,0x20,0x50,0x00,0x70,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_213_213[33] U8G_FONT_SECTION("fontpage_61_213_213") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x18,0x08,0x30,0x50,0x00,0x70,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD5,0xD5,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x18,0x08,0x30,0x50,0x00,0x70,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_215_215[34] U8G_FONT_SECTION("fontpage_61_215_215") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0b,0x00,0x00, - 0x00,0x05,0x0b,0x0b,0x07,0x00,0x00,0x28,0x50,0x00,0x20,0x50,0x00,0x70,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD7,0xD7,0x00,0x0B,0x00,0x00, + 0x00,0x05,0x0B,0x0B,0x07,0x00,0x00,0x28,0x50,0x00,0x20,0x50,0x00,0x70,0x88,0x88, 0x88,0x70}; const u8g_fntpgm_uint8_t fontpage_61_217_217[33] U8G_FONT_SECTION("fontpage_61_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x08,0xfe,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0xfe,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x08,0xFE,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0xFE,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x00, 0x20}; const u8g_fntpgm_uint8_t fontpage_61_219_219[32] U8G_FONT_SECTION("fontpage_61_219_219") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x09,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDB,0xDB,0x00,0x09,0x00,0x00, 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x20,0x40,0x10,0x08,0x70,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_221_221[32] U8G_FONT_SECTION("fontpage_61_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x09,0x00,0x00, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x09,0x00,0x00, 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x80,0x40,0x10,0x08,0x70,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_223_223[33] U8G_FONT_SECTION("fontpage_61_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x60,0x20,0x40,0x10,0x08,0x70,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x60,0x20,0x40,0x10,0x08,0x70,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_225_225[32] U8G_FONT_SECTION("fontpage_61_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x09,0x00,0x00, - 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x50,0xa0,0x10,0x08,0x70,0x88,0x88,0x88,0x70 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x09,0x00,0x00, + 0x00,0x05,0x09,0x09,0x07,0x00,0x00,0x50,0xA0,0x10,0x08,0x70,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_227_227[32] U8G_FONT_SECTION("fontpage_61_227_227") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe3,0xe3,0x00,0x07,0xfe,0x00, - 0x00,0x05,0x09,0x09,0x00,0x00,0xfe,0x10,0x08,0x70,0x88,0x88,0x88,0x70,0x00,0x20 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE3,0xE3,0x00,0x07,0xFE,0x00, + 0x00,0x05,0x09,0x09,0x00,0x00,0xFE,0x10,0x08,0x70,0x88,0x88,0x88,0x70,0x00,0x20 }; const u8g_fntpgm_uint8_t fontpage_61_229_229[30] U8G_FONT_SECTION("fontpage_61_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x05,0xfe,0x00, - 0x00,0x05,0x07,0x07,0x07,0x00,0xfe,0x88,0x88,0x88,0x88,0x70,0x00,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x05,0xFE,0x00, + 0x00,0x05,0x07,0x07,0x07,0x00,0xFE,0x88,0x88,0x88,0x88,0x70,0x00,0x20}; const u8g_fntpgm_uint8_t fontpage_61_231_231[33] U8G_FONT_SECTION("fontpage_61_231_231") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0x00,0x00, - 0x00,0x05,0x0a,0x0a,0x07,0x00,0x00,0x30,0x10,0x20,0x00,0x00,0x88,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE7,0xE7,0x00,0x0A,0x00,0x00, + 0x00,0x05,0x0A,0x0A,0x07,0x00,0x00,0x30,0x10,0x20,0x00,0x00,0x88,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_233_233[32] U8G_FONT_SECTION("fontpage_61_233_233") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x09,0x00,0x00, - 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x10,0x20,0x0c,0x04,0x88,0x88,0x88,0x88,0x70 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x09,0x00,0x00, + 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x10,0x20,0x0C,0x04,0x88,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_235_235[32] U8G_FONT_SECTION("fontpage_61_235_235") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x09,0x00,0x00, - 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x40,0x20,0x0c,0x04,0x88,0x88,0x88,0x88,0x70 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEB,0xEB,0x00,0x09,0x00,0x00, + 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x40,0x20,0x0C,0x04,0x88,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_237_237[33] U8G_FONT_SECTION("fontpage_61_237_237") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0x00,0x00, - 0x00,0x06,0x0a,0x0a,0x07,0x00,0x00,0x30,0x10,0x20,0x0c,0x04,0x88,0x88,0x88,0x88, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xED,0xED,0x00,0x0A,0x00,0x00, + 0x00,0x06,0x0A,0x0A,0x07,0x00,0x00,0x30,0x10,0x20,0x0C,0x04,0x88,0x88,0x88,0x88, 0x70}; const u8g_fntpgm_uint8_t fontpage_61_239_239[32] U8G_FONT_SECTION("fontpage_61_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x09,0x00,0x00, - 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x28,0x50,0x0c,0x04,0x88,0x88,0x88,0x88,0x70 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x09,0x00,0x00, + 0x00,0x06,0x09,0x09,0x07,0x00,0x00,0x28,0x50,0x0C,0x04,0x88,0x88,0x88,0x88,0x70 }; const u8g_fntpgm_uint8_t fontpage_61_241_241[32] U8G_FONT_SECTION("fontpage_61_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x07,0xfe,0x00, - 0x00,0x06,0x09,0x09,0x07,0x00,0xfe,0x0c,0x04,0x88,0x88,0x88,0x88,0x70,0x00,0x20 + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x07,0xFE,0x00, + 0x00,0x06,0x09,0x09,0x07,0x00,0xFE,0x0C,0x04,0x88,0x88,0x88,0x88,0x70,0x00,0x20 }; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h index 9d8ee47fabe4..491d480a0150 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_zh_CN.h @@ -6,1461 +6,1461 @@ #include const u8g_fntpgm_uint8_t fontpage_64_157_157[26] U8G_FONT_SECTION("fontpage_64_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x07,0x00,0x00, - 0x00,0x05,0x03,0x03,0x06,0x00,0x04,0xd8,0x48,0x90}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x07,0x00,0x00, + 0x00,0x05,0x03,0x03,0x06,0x00,0x04,0xD8,0x48,0x90}; const u8g_fntpgm_uint8_t fontpage_69_191_191[28] U8G_FONT_SECTION("fontpage_69_191_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xF8}; const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, - 0x00,0x0b,0x02,0x04,0x0c,0x00,0x04,0x00,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, + 0x00,0x0B,0x02,0x04,0x0C,0x00,0x04,0x00,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156_137_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, - 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x0b,0x0b,0x16,0x0c,0x00, - 0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x04,0x00,0x04, - 0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, + 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x0B,0x0B,0x16,0x0C,0x00, + 0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xC0,0x04,0x00,0x04,0x00,0x04, + 0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0xFF,0xE0,0x04, 0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04, 0x00}; const u8g_fntpgm_uint8_t fontpage_156_141_141[45] U8G_FONT_SECTION("fontpage_156_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x02,0x00,0x02,0x00,0x04,0x00,0x0d, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x02,0x00,0x02,0x00,0x04,0x00,0x0D, 0x00,0x14,0x80,0x24,0x40,0x44,0x20,0x84,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_156_147_147[45] U8G_FONT_SECTION("fontpage_156_147_147") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x3f,0xc0,0x04,0x00,0x04,0x00,0xff, - 0xe0,0x08,0x00,0x1f,0xc0,0x00,0x80,0x0d,0x00,0x02,0x00,0x01,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x3F,0xC0,0x04,0x00,0x04,0x00,0xFF, + 0xE0,0x08,0x00,0x1F,0xC0,0x00,0x80,0x0D,0x00,0x02,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_156_157_157[45] U8G_FONT_SECTION("fontpage_156_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x29,0x40,0x4a,0x40,0xf7, - 0x80,0x10,0x80,0x21,0x00,0x42,0x00,0xf7,0xc0,0x00,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x29,0x40,0x4A,0x40,0xF7, + 0x80,0x10,0x80,0x21,0x00,0x42,0x00,0xF7,0xC0,0x00,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_170_170[45] U8G_FONT_SECTION("fontpage_156_170_170") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x49, - 0x00,0x88,0xc0,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAA,0xAA,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x49, + 0x00,0x88,0xC0,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_156_173_173[45] U8G_FONT_SECTION("fontpage_156_173_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0x88, - 0x80,0x88,0x80,0xff,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAD,0xAD,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0xFF,0x80,0x88,0x80,0x88, + 0x80,0x88,0x80,0xFF,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_156_186_187[73] U8G_FONT_SECTION("fontpage_156_186_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xbb,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x48,0x00,0x28,0x00,0x08,0x00,0xff,0x80,0x08, - 0x80,0x0c,0x80,0x12,0x80,0x12,0x80,0x20,0x80,0x44,0x80,0x83,0x00,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x7f, - 0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBA,0xBB,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x48,0x00,0x28,0x00,0x08,0x00,0xFF,0x80,0x08, + 0x80,0x0C,0x80,0x12,0x80,0x12,0x80,0x20,0x80,0x44,0x80,0x83,0x00,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x7F, + 0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_201_201[45] U8G_FONT_SECTION("fontpage_156_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x80,0x24,0x80,0x24,0x80,0x21,0x00,0x11, - 0x00,0x12,0x00,0x0a,0x00,0x04,0x00,0x0a,0x00,0x31,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x80,0x24,0x80,0x24,0x80,0x21,0x00,0x11, + 0x00,0x12,0x00,0x0A,0x00,0x04,0x00,0x0A,0x00,0x31,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_156_203_203[45] U8G_FONT_SECTION("fontpage_156_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0x7f,0xc0,0x00,0x80,0x01, - 0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0x7F,0xC0,0x00,0x80,0x01, + 0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_134_134[45] U8G_FONT_SECTION("fontpage_157_134_134") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0xff,0x80,0x01,0x00,0x02,0x00,0x0c,0x00,0x08, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0x80,0x01,0x00,0x02,0x00,0x0C,0x00,0x08, 0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x28,0x00,0x10,0x00}; const u8g_fntpgm_uint8_t fontpage_157_140_140[39] U8G_FONT_SECTION("fontpage_157_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x08,0x00,0x00, - 0x00,0x0b,0x08,0x10,0x0c,0x00,0x00,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x08,0x00,0x00, + 0x00,0x0B,0x08,0x10,0x0C,0x00,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_142_142[45] U8G_FONT_SECTION("fontpage_157_142_142") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff, - 0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x1c,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8E,0x8E,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF, + 0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x1C,0x00}; const u8g_fntpgm_uint8_t fontpage_157_164_164[45] U8G_FONT_SECTION("fontpage_157_164_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20, - 0x80,0x51,0x40,0x11,0x00,0x0a,0x00,0x04,0x00,0x1b,0x00,0x60,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x00,0x00,0x11,0x00,0x20, + 0x80,0x51,0x40,0x11,0x00,0x0A,0x00,0x04,0x00,0x1B,0x00,0x60,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_174_174[45] U8G_FONT_SECTION("fontpage_157_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x11,0x00,0x1f,0x00,0x00, - 0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x00,0x21,0x20,0xc0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x11,0x00,0x1F,0x00,0x00, + 0x00,0xFF,0xE0,0x80,0x20,0x1F,0x00,0x11,0x00,0x21,0x20,0xC0,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_206_206[45] U8G_FONT_SECTION("fontpage_157_206_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11, - 0x00,0x11,0x00,0x2a,0x80,0x2a,0x80,0x44,0x40,0x88,0x40,0x10,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCE,0xCE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11, + 0x00,0x11,0x00,0x2A,0x80,0x2A,0x80,0x44,0x40,0x88,0x40,0x10,0x20}; const u8g_fntpgm_uint8_t fontpage_157_228_229[73] U8G_FONT_SECTION("fontpage_157_228_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x0a,0x00,0x11,0x00,0x24, - 0x80,0xc2,0x60,0x3f,0x80,0x01,0x00,0x0a,0x00,0x04,0x00,0x02,0x00,0x0a,0x0b,0x16, - 0x0c,0x01,0xff,0x01,0x00,0x81,0x00,0x91,0x00,0x89,0x00,0x89,0x00,0x81,0x00,0x91, - 0x00,0xa1,0x00,0xc2,0x80,0x84,0x40,0x18,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE4,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x24, + 0x80,0xC2,0x60,0x3F,0x80,0x01,0x00,0x0A,0x00,0x04,0x00,0x02,0x00,0x0A,0x0B,0x16, + 0x0C,0x01,0xFF,0x01,0x00,0x81,0x00,0x91,0x00,0x89,0x00,0x89,0x00,0x81,0x00,0x91, + 0x00,0xA1,0x00,0xC2,0x80,0x84,0x40,0x18,0x40}; const u8g_fntpgm_uint8_t fontpage_157_246_246[45] U8G_FONT_SECTION("fontpage_157_246_246") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x15,0x00,0x25,0x00,0x2f,0xc0,0x71, - 0x00,0xa1,0x00,0x2f,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF6,0xF6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x15,0x00,0x25,0x00,0x2F,0xC0,0x71, + 0x00,0xA1,0x00,0x2F,0xE0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_157_253_253[45] U8G_FONT_SECTION("fontpage_157_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68, - 0x20,0xa7,0xc0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68, + 0x20,0xA7,0xC0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_158_145_145[45] U8G_FONT_SECTION("fontpage_158_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x21,0x00,0x3f,0xe0,0x61, - 0x00,0xa3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x21,0x00,0x3F,0xE0,0x61, + 0x00,0xA3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_158_160_160[45] U8G_FONT_SECTION("fontpage_158_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x27,0xe0,0x21,0x00,0x6f, - 0xe0,0xa2,0x00,0x27,0xe0,0x20,0x40,0x22,0x80,0x21,0x00,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x27,0xE0,0x21,0x00,0x6F, + 0xE0,0xA2,0x00,0x27,0xE0,0x20,0x40,0x22,0x80,0x21,0x00,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_158_205_206[73] U8G_FONT_SECTION("fontpage_158_205_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x20,0x00,0x2f,0xe0,0x60, - 0x00,0xa4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x10,0xc0,0x1f,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xaf,0xe0,0x29, - 0x00,0x29,0x20,0x2a,0xa0,0x2d,0x60,0x28,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x11,0x00,0x20,0x00,0x2F,0xE0,0x60, + 0x00,0xA4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2F,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x10,0xC0,0x1F,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xAF,0xE0,0x29, + 0x00,0x29,0x20,0x2A,0xA0,0x2D,0x60,0x28,0xA0}; const u8g_fntpgm_uint8_t fontpage_158_211_211[45] U8G_FONT_SECTION("fontpage_158_211_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x22,0x00,0x5f,0xc0,0x42,0x00,0xc7, - 0x00,0x4a,0x80,0x52,0x40,0x62,0x20,0x4f,0x80,0x42,0x00,0x42,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD3,0xD3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x22,0x00,0x5F,0xC0,0x42,0x00,0xC7, + 0x00,0x4A,0x80,0x52,0x40,0x62,0x20,0x4F,0x80,0x42,0x00,0x42,0x00}; const u8g_fntpgm_uint8_t fontpage_158_217_217[45] U8G_FONT_SECTION("fontpage_158_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf, - 0x60,0x04,0x00,0x7f,0xc0,0x04,0x00,0x15,0x00,0x24,0x80,0x4c,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xDF, + 0x60,0x04,0x00,0x7F,0xC0,0x04,0x00,0x15,0x00,0x24,0x80,0x4C,0x40}; const u8g_fntpgm_uint8_t fontpage_158_220_220[45] U8G_FONT_SECTION("fontpage_158_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x14,0x00,0x27,0xe0,0x2a,0x00,0x72, - 0x00,0xa3,0xc0,0x22,0x00,0x22,0x00,0x23,0xe0,0x22,0x00,0x22,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x14,0x00,0x14,0x00,0x27,0xE0,0x2A,0x00,0x72, + 0x00,0xA3,0xC0,0x22,0x00,0x22,0x00,0x23,0xE0,0x22,0x00,0x22,0x00}; const u8g_fntpgm_uint8_t fontpage_158_255_255[45] U8G_FONT_SECTION("fontpage_158_255_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x1f,0xe0,0x21,0x00,0x2f,0xe0,0x69, - 0x20,0xaf,0xe0,0x29,0x00,0x25,0x00,0x22,0x00,0x25,0x80,0x38,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x1F,0xE0,0x21,0x00,0x2F,0xE0,0x69, + 0x20,0xAF,0xE0,0x29,0x00,0x25,0x00,0x22,0x00,0x25,0x80,0x38,0x60}; const u8g_fntpgm_uint8_t fontpage_159_155_155[45] U8G_FONT_SECTION("fontpage_159_155_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x80,0x14,0x80,0x24,0x80,0x2f,0xe0,0x64, - 0x80,0xa4,0x80,0x3f,0xe0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9B,0x9B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x14,0x80,0x14,0x80,0x24,0x80,0x2F,0xE0,0x64, + 0x80,0xA4,0x80,0x3F,0xE0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20}; const u8g_fntpgm_uint8_t fontpage_159_181_181[45] U8G_FONT_SECTION("fontpage_159_181_181") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb5,0xb5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xc0,0x20,0x40,0x4f,0xc0,0x40,0x40,0xdf, - 0xe0,0x50,0x20,0x4f,0xc0,0x44,0x80,0x43,0x00,0x44,0x80,0x58,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB5,0xB5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xC0,0x20,0x40,0x4F,0xC0,0x40,0x40,0xDF, + 0xE0,0x50,0x20,0x4F,0xC0,0x44,0x80,0x43,0x00,0x44,0x80,0x58,0x60}; const u8g_fntpgm_uint8_t fontpage_159_221_221[45] U8G_FONT_SECTION("fontpage_159_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x14,0x40,0x24,0x40,0x27,0xc0,0x61, - 0x00,0xaf,0xe0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x17,0xC0,0x14,0x40,0x24,0x40,0x27,0xC0,0x61, + 0x00,0xAF,0xE0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_159_225_225[45] U8G_FONT_SECTION("fontpage_159_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x2f,0xe0,0x20,0x00,0x67, - 0xc0,0xa0,0x00,0x27,0xc0,0x20,0x00,0x27,0xc0,0x24,0x40,0x27,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x11,0x00,0x2F,0xE0,0x20,0x00,0x67, + 0xC0,0xA0,0x00,0x27,0xC0,0x20,0x00,0x27,0xC0,0x24,0x40,0x27,0xC0}; const u8g_fntpgm_uint8_t fontpage_160_188_188[45] U8G_FONT_SECTION("fontpage_160_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x1f,0xe0,0x22,0x00,0x27,0xc0,0x64, - 0x40,0xa7,0xc0,0x24,0x40,0x27,0x40,0x25,0xc0,0x24,0x40,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x1F,0xE0,0x22,0x00,0x27,0xC0,0x64, + 0x40,0xA7,0xC0,0x24,0x40,0x27,0x40,0x25,0xC0,0x24,0x40,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_160_190_190[45] U8G_FONT_SECTION("fontpage_160_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x13,0xe0,0x19,0x00,0x2b,0xe0,0x2e,0x20,0x6a, - 0xa0,0xaa,0xa0,0x2a,0xa0,0x2e,0xa0,0x2a,0xa0,0x21,0x40,0x26,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x13,0xE0,0x19,0x00,0x2B,0xE0,0x2E,0x20,0x6A, + 0xA0,0xAA,0xA0,0x2A,0xA0,0x2E,0xA0,0x2A,0xA0,0x21,0x40,0x26,0x20}; const u8g_fntpgm_uint8_t fontpage_160_207_207[45] U8G_FONT_SECTION("fontpage_160_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x28,0x20,0x2f,0xe0,0x68, - 0x00,0xaf,0xe0,0x2a,0xa0,0x2f,0xe0,0x2a,0xa0,0x3a,0xa0,0x28,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x28,0x20,0x2F,0xE0,0x68, + 0x00,0xAF,0xE0,0x2A,0xA0,0x2F,0xE0,0x2A,0xA0,0x3A,0xA0,0x28,0x60}; const u8g_fntpgm_uint8_t fontpage_160_220_220[45] U8G_FONT_SECTION("fontpage_160_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x20,0x00,0x4f,0xc0,0x48, - 0x40,0xdf,0xe0,0x50,0x20,0x4f,0xc0,0x41,0x00,0x41,0x00,0x47,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x3F,0xE0,0x20,0x00,0x4F,0xC0,0x48, + 0x40,0xDF,0xE0,0x50,0x20,0x4F,0xC0,0x41,0x00,0x41,0x00,0x47,0x00}; const u8g_fntpgm_uint8_t fontpage_161_168_168[45] U8G_FONT_SECTION("fontpage_161_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x61,0x20,0x57,0xc0,0x41,0x40,0x77,0xe0,0xd1, - 0x00,0x53,0xc0,0x56,0x40,0x53,0xc0,0x5a,0x40,0x52,0x40,0x43,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x61,0x20,0x57,0xC0,0x41,0x40,0x77,0xE0,0xD1, + 0x00,0x53,0xC0,0x56,0x40,0x53,0xC0,0x5A,0x40,0x52,0x40,0x43,0xC0}; const u8g_fntpgm_uint8_t fontpage_161_207_207[45] U8G_FONT_SECTION("fontpage_161_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x13,0xc0,0x14,0x80,0x2f,0xe0,0x35,0x20,0x67, - 0xe0,0xa2,0x20,0x2d,0x40,0x22,0x80,0x2d,0xc0,0x22,0xa0,0x2d,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x13,0xC0,0x14,0x80,0x2F,0xE0,0x35,0x20,0x67, + 0xE0,0xA2,0x20,0x2D,0x40,0x22,0x80,0x2D,0xC0,0x22,0xA0,0x2D,0x80}; const u8g_fntpgm_uint8_t fontpage_162_197_197[45] U8G_FONT_SECTION("fontpage_162_197_197") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0xff,0xc0,0x08,0x00,0x11,0x00,0x7f, - 0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xc1,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x04,0x00,0xFF,0xC0,0x08,0x00,0x11,0x00,0x7F, + 0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xC1,0xC0}; const u8g_fntpgm_uint8_t fontpage_162_200_201[73] U8G_FONT_SECTION("fontpage_162_200_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x84, - 0x00,0xff,0xe0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0xff,0xe0,0x12,0x00,0x12, - 0x00,0x12,0x20,0x12,0x20,0x22,0x20,0xc1,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC8,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x84, + 0x00,0xFF,0xE0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xC1,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0xFF,0xE0,0x12,0x00,0x12, + 0x00,0x12,0x20,0x12,0x20,0x22,0x20,0xC1,0xE0}; const u8g_fntpgm_uint8_t fontpage_162_229_229[45] U8G_FONT_SECTION("fontpage_162_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0a, - 0x00,0x0a,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0A, + 0x00,0x0A,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20}; const u8g_fntpgm_uint8_t fontpage_162_232_232[45] U8G_FONT_SECTION("fontpage_162_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf, - 0x60,0x04,0x00,0x04,0x00,0x1f,0x00,0x04,0x00,0x04,0x00,0x7f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xDF, + 0x60,0x04,0x00,0x04,0x00,0x1F,0x00,0x04,0x00,0x04,0x00,0x7F,0xC0}; const u8g_fntpgm_uint8_t fontpage_162_241_241[45] U8G_FONT_SECTION("fontpage_162_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11, - 0x00,0x11,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x7F,0xC0,0x11,0x00,0x11, + 0x00,0x11,0x00,0xFF,0xE0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40}; const u8g_fntpgm_uint8_t fontpage_162_243_243[45] U8G_FONT_SECTION("fontpage_162_243_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0x7f,0xc0,0x04,0x00,0x04, - 0x00,0xff,0xc0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF3,0xF3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x11,0x00,0x7F,0xC0,0x04,0x00,0x04, + 0x00,0xFF,0xC0,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_162_247_247[45] U8G_FONT_SECTION("fontpage_162_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f, - 0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0,0x11,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F, + 0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF,0xE0,0x11,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_151_151[43] U8G_FONT_SECTION("fontpage_163_151_151") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x09,0xff,0x00, - 0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x11,0x00,0x11, - 0x00,0x11,0x00,0x11,0x00,0x21,0x20,0x41,0x20,0x80,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x09,0xFF,0x00, + 0x00,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0x7F,0xE0,0x40,0x20,0x9F,0x40,0x11,0x00,0x11, + 0x00,0x11,0x00,0x11,0x00,0x21,0x20,0x41,0x20,0x80,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_183_183[45] U8G_FONT_SECTION("fontpage_163_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32, - 0x60,0x41,0x00,0x4f,0xc0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32, + 0x60,0x41,0x00,0x4F,0xC0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_163_198_198[45] U8G_FONT_SECTION("fontpage_163_198_198") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x89,0x00,0x4f,0xe0,0x59,0x00,0x09, - 0x00,0x2f,0xc0,0x29,0x00,0xcf,0xc0,0x49,0x00,0x49,0x00,0x4f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0A,0x00,0x89,0x00,0x4F,0xE0,0x59,0x00,0x09, + 0x00,0x2F,0xC0,0x29,0x00,0xCF,0xC0,0x49,0x00,0x49,0x00,0x4F,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_250_251[73] U8G_FONT_SECTION("fontpage_163_250_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f, - 0xc0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xff,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04, - 0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7F, + 0xC0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFF,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04, + 0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7F,0xC0}; const u8g_fntpgm_uint8_t fontpage_164_134_135[73] U8G_FONT_SECTION("fontpage_164_134_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40, - 0x40,0xbf,0xa0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xc3,0x00,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0x21,0x20,0x39,0x20,0xe1,0x20,0x21,0x20,0x29, - 0x20,0x32,0x20,0x22,0x20,0x04,0x20,0x08,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x86,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40, + 0x40,0xBF,0xA0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xC3,0x00,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x20,0x00,0x27,0xE0,0x21,0x20,0x39,0x20,0xE1,0x20,0x21,0x20,0x29, + 0x20,0x32,0x20,0x22,0x20,0x04,0x20,0x08,0xC0}; const u8g_fntpgm_uint8_t fontpage_164_155_155[45] U8G_FONT_SECTION("fontpage_164_155_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x18,0x20,0x24,0xa0,0x42,0xa0,0xbc, - 0xa0,0x24,0xa0,0x24,0xa0,0x38,0xa0,0x22,0x20,0x22,0x20,0x1e,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9B,0x9B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x20,0x18,0x20,0x24,0xA0,0x42,0xA0,0xBC, + 0xA0,0x24,0xA0,0x24,0xA0,0x38,0xA0,0x22,0x20,0x22,0x20,0x1E,0x60}; const u8g_fntpgm_uint8_t fontpage_164_157_157[45] U8G_FONT_SECTION("fontpage_164_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x27,0xe0,0xf9,0x20,0x11,0x20,0x21, - 0x20,0x69,0x20,0xb1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x27,0xE0,0xF9,0x20,0x11,0x20,0x21, + 0x20,0x69,0x20,0xB1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_164_171_171[45] U8G_FONT_SECTION("fontpage_164_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7c,0x20,0x44,0x20,0x44,0xa0,0x7c,0xa0,0x10, - 0xa0,0xfe,0xa0,0x12,0xa0,0x22,0xa0,0x22,0x20,0x42,0x20,0x8c,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7C,0x20,0x44,0x20,0x44,0xA0,0x7C,0xA0,0x10, + 0xA0,0xFE,0xA0,0x12,0xA0,0x22,0xA0,0x22,0x20,0x42,0x20,0x8C,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_176_176[45] U8G_FONT_SECTION("fontpage_164_176_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfe,0x20,0x10,0x20,0x20,0xa0,0x44,0xa0,0xfe, - 0xa0,0x10,0xa0,0x7c,0xa0,0x10,0xa0,0x10,0x20,0x1e,0x20,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFE,0x20,0x10,0x20,0x20,0xA0,0x44,0xA0,0xFE, + 0xA0,0x10,0xA0,0x7C,0xA0,0x10,0xA0,0x10,0x20,0x1E,0x20,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_182_183[73] U8G_FONT_SECTION("fontpage_164_182_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x50,0xa0,0x7e,0xa0,0x90,0xa0,0xfe, - 0xa0,0x10,0xa0,0x7e,0xa0,0x52,0xa0,0x52,0x20,0x56,0x20,0x10,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x7e,0x20,0x42,0x20,0x7e,0xa0,0x48,0xa0,0x48,0xa0,0x7e,0xa0,0x6a, - 0xa0,0xaa,0xa0,0xaa,0xa0,0x2e,0x20,0x08,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x20,0x50,0xA0,0x7E,0xA0,0x90,0xA0,0xFE, + 0xA0,0x10,0xA0,0x7E,0xA0,0x52,0xA0,0x52,0x20,0x56,0x20,0x10,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x7E,0x20,0x42,0x20,0x7E,0xA0,0x48,0xA0,0x48,0xA0,0x7E,0xA0,0x6A, + 0xA0,0xAA,0xA0,0xAA,0xA0,0x2E,0x20,0x08,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_242_242[45] U8G_FONT_SECTION("fontpage_164_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0xfe,0x20,0x92,0xa0,0x7c,0xa0,0x10, - 0xa0,0x7c,0xa0,0x10,0xa0,0xfe,0xa0,0x44,0x20,0x44,0x20,0x7c,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x20,0xFE,0x20,0x92,0xA0,0x7C,0xA0,0x10, + 0xA0,0x7C,0xA0,0x10,0xA0,0xFE,0xA0,0x44,0x20,0x44,0x20,0x7C,0xE0}; const u8g_fntpgm_uint8_t fontpage_165_155_155[45] U8G_FONT_SECTION("fontpage_165_155_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0xff,0x80,0x08, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9B,0x9B,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0x08,0x00,0xFF,0x80,0x08, 0x80,0x08,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00}; const u8g_fntpgm_uint8_t fontpage_165_159_160[73] U8G_FONT_SECTION("fontpage_165_159_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0x01,0x00,0xf9,0x00,0x27,0xe0,0x21, - 0x20,0x21,0x20,0x21,0x20,0x3a,0x20,0xc2,0x20,0x04,0x20,0x18,0xc0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x20,0x00,0x20,0x00,0xfd,0xe0,0x25,0x20,0x25,0x20,0x25,0x20,0x25, - 0x20,0x25,0x20,0x45,0x20,0x55,0xe0,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0x01,0x00,0xF9,0x00,0x27,0xE0,0x21, + 0x20,0x21,0x20,0x21,0x20,0x3A,0x20,0xC2,0x20,0x04,0x20,0x18,0xC0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x20,0x00,0x20,0x00,0xFD,0xE0,0x25,0x20,0x25,0x20,0x25,0x20,0x25, + 0x20,0x25,0x20,0x45,0x20,0x55,0xE0,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_165_168_168[45] U8G_FONT_SECTION("fontpage_165_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0x79,0x00,0x01,0x00,0x03,0xe0,0xfd, - 0x20,0x21,0x20,0x21,0x20,0x49,0x20,0xfa,0x20,0x0a,0x20,0x04,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0x79,0x00,0x01,0x00,0x03,0xE0,0xFD, + 0x20,0x21,0x20,0x21,0x20,0x49,0x20,0xFA,0x20,0x0A,0x20,0x04,0xC0}; const u8g_fntpgm_uint8_t fontpage_166_150_150[45] U8G_FONT_SECTION("fontpage_166_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63, - 0x00,0xa2,0x00,0x26,0x00,0x2a,0x00,0x22,0x20,0x22,0x20,0x21,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63, + 0x00,0xA2,0x00,0x26,0x00,0x2A,0x00,0x22,0x20,0x22,0x20,0x21,0xE0}; const u8g_fntpgm_uint8_t fontpage_166_199_199[45] U8G_FONT_SECTION("fontpage_166_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x0d,0x00,0x71,0x00,0x11,0x00,0x11,0x00,0x11, - 0x00,0xff,0xc0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00,0x81,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x0D,0x00,0x71,0x00,0x11,0x00,0x11,0x00,0x11, + 0x00,0xFF,0xC0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00,0x81,0x00}; const u8g_fntpgm_uint8_t fontpage_166_202_202[45] U8G_FONT_SECTION("fontpage_166_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7f, - 0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7F, + 0xC0,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_166_207_207[45] U8G_FONT_SECTION("fontpage_166_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x42,0x00,0x4f,0x80,0xe2,0x80,0x42, - 0x80,0x4a,0xc0,0x52,0xa0,0x44,0x80,0x44,0x80,0x4a,0x80,0x51,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x42,0x00,0x4F,0x80,0xE2,0x80,0x42, + 0x80,0x4A,0xC0,0x52,0xA0,0x44,0x80,0x44,0x80,0x4A,0x80,0x51,0x00}; const u8g_fntpgm_uint8_t fontpage_166_213_213[45] U8G_FONT_SECTION("fontpage_166_213_213") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x0a,0x00,0x7f,0xc0,0x44,0x40,0x7f, - 0xc0,0x44,0x40,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD5,0xD5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x0A,0x00,0x7F,0xC0,0x44,0x40,0x7F, + 0xC0,0x44,0x40,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_166_225_225[45] U8G_FONT_SECTION("fontpage_166_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x0f,0x80,0x08,0x00,0x08,0x00,0xff, - 0xe0,0x08,0x00,0x0a,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x0F,0x80,0x08,0x00,0x08,0x00,0xFF, + 0xE0,0x08,0x00,0x0A,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_166_240_241[73] U8G_FONT_SECTION("fontpage_166_240_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0xe7,0xc0,0x84,0x40,0x84,0x40,0xf4, - 0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xe5,0x80,0x84,0x00,0x04,0x00,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x10,0x00,0x1f,0x80,0x21,0x00,0x7f,0xe0,0x20,0x00,0x2f,0x80,0x28, - 0x80,0x28,0x80,0x2b,0x20,0x48,0x20,0x87,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x10,0x00,0xE7,0xC0,0x84,0x40,0x84,0x40,0xF4, + 0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xE5,0x80,0x84,0x00,0x04,0x00,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x10,0x00,0x1F,0x80,0x21,0x00,0x7F,0xE0,0x20,0x00,0x2F,0x80,0x28, + 0x80,0x28,0x80,0x2B,0x20,0x48,0x20,0x87,0xE0}; const u8g_fntpgm_uint8_t fontpage_166_244_244[45] U8G_FONT_SECTION("fontpage_166_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x11,0xe0,0x7d,0x20,0x11,0x20,0x11, - 0x20,0xff,0x20,0x11,0x20,0x21,0x20,0x4d,0x60,0x75,0x00,0x01,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x11,0xE0,0x7D,0x20,0x11,0x20,0x11, + 0x20,0xFF,0x20,0x11,0x20,0x21,0x20,0x4D,0x60,0x75,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_166_248_248[45] U8G_FONT_SECTION("fontpage_166_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7d,0xe0,0x91,0x20,0x11,0x20,0xff, - 0x20,0x11,0x20,0x5d,0x20,0x51,0x20,0x51,0xa0,0x5d,0x40,0xe1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x7D,0xE0,0x91,0x20,0x11,0x20,0xFF, + 0x20,0x11,0x20,0x5D,0x20,0x51,0x20,0x51,0xA0,0x5D,0x40,0xE1,0x00}; const u8g_fntpgm_uint8_t fontpage_167_139_139[45] U8G_FONT_SECTION("fontpage_167_139_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x20,0x00,0x22,0x00,0x22,0x00,0x22, - 0x00,0x3f,0xc0,0x22,0x00,0x22,0x80,0x42,0x40,0x42,0x00,0xbf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8B,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xE0,0x20,0x00,0x22,0x00,0x22,0x00,0x22, + 0x00,0x3F,0xC0,0x22,0x00,0x22,0x80,0x42,0x40,0x42,0x00,0xBF,0xE0}; const u8g_fntpgm_uint8_t fontpage_167_159_159[45] U8G_FONT_SECTION("fontpage_167_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x22,0x00,0x2f,0xc0,0x28,0x40,0x2f, - 0xc0,0x28,0x40,0x2f,0xc0,0x22,0x00,0x2a,0x80,0x52,0x60,0xa6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xE0,0x22,0x00,0x2F,0xC0,0x28,0x40,0x2F, + 0xC0,0x28,0x40,0x2F,0xC0,0x22,0x00,0x2A,0x80,0x52,0x60,0xA6,0x20}; const u8g_fntpgm_uint8_t fontpage_167_204_205[71] U8G_FONT_SECTION("fontpage_167_204_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x0a,0x40,0x4a,0x40,0x2a,0x40,0x11, - 0x40,0x11,0x40,0x28,0x80,0x45,0x80,0x82,0x40,0x04,0x20,0x0b,0x0b,0x16,0x0c,0x00, - 0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x20,0x00,0x3f,0xc0,0x28,0x80,0x25,0x00,0x22, - 0x00,0x45,0x00,0x48,0x80,0xb0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0xFF,0xE0,0x0A,0x40,0x4A,0x40,0x2A,0x40,0x11, + 0x40,0x11,0x40,0x28,0x80,0x45,0x80,0x82,0x40,0x04,0x20,0x0B,0x0B,0x16,0x0C,0x00, + 0xFF,0x01,0xC0,0x3E,0x00,0x20,0x00,0x20,0x00,0x3F,0xC0,0x28,0x80,0x25,0x00,0x22, + 0x00,0x45,0x00,0x48,0x80,0xB0,0x60}; const u8g_fntpgm_uint8_t fontpage_167_214_214[45] U8G_FONT_SECTION("fontpage_167_214_214") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfc,0x00,0x4b,0xe0,0x4a,0x20,0x7a,0x20,0x49, - 0x40,0x79,0x40,0x48,0x80,0x4c,0x80,0xf9,0x40,0x0a,0x40,0x0c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD6,0xD6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFC,0x00,0x4B,0xE0,0x4A,0x20,0x7A,0x20,0x49, + 0x40,0x79,0x40,0x48,0x80,0x4C,0x80,0xF9,0x40,0x0A,0x40,0x0C,0x20}; const u8g_fntpgm_uint8_t fontpage_167_216_216[45] U8G_FONT_SECTION("fontpage_167_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x12,0x00,0x52,0x80,0x92, - 0x40,0x00,0x00,0x7f,0x80,0x12,0x00,0x0c,0x00,0x12,0x00,0xe1,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0xFF,0xC0,0x12,0x00,0x52,0x80,0x92, + 0x40,0x00,0x00,0x7F,0x80,0x12,0x00,0x0C,0x00,0x12,0x00,0xE1,0xC0}; const u8g_fntpgm_uint8_t fontpage_167_240_240[45] U8G_FONT_SECTION("fontpage_167_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xff, - 0x80,0x00,0x80,0x7f,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7f,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xFF, + 0x80,0x00,0x80,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00}; const u8g_fntpgm_uint8_t fontpage_168_131_131[45] U8G_FONT_SECTION("fontpage_168_131_131") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xf2,0x00,0x97,0xe0,0x98,0x00,0x97, - 0xc0,0x90,0x80,0x91,0x00,0xf2,0x00,0x94,0x20,0x04,0x20,0x03,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0xF2,0x00,0x97,0xE0,0x98,0x00,0x97, + 0xC0,0x90,0x80,0x91,0x00,0xF2,0x00,0x94,0x20,0x04,0x20,0x03,0xE0}; const u8g_fntpgm_uint8_t fontpage_168_136_136[45] U8G_FONT_SECTION("fontpage_168_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf, - 0x60,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xDF, + 0x60,0x00,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x3F,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_168_141_142[73] U8G_FONT_SECTION("fontpage_168_141_142") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8e,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0xc0,0x10,0x80,0x29,0x00,0x46, - 0x00,0x04,0x00,0x1f,0xc0,0xf0,0x40,0x10,0x40,0x10,0x40,0x1f,0xc0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x3f,0xe0,0x20,0x00,0x20,0x00,0x2f, - 0xc0,0x28,0x40,0x48,0x40,0x4f,0xc0,0x88,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8E,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x1F,0xC0,0x10,0x80,0x29,0x00,0x46, + 0x00,0x04,0x00,0x1F,0xC0,0xF0,0x40,0x10,0x40,0x10,0x40,0x1F,0xC0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x01,0xC0,0x3E,0x00,0x20,0x00,0x3F,0xE0,0x20,0x00,0x20,0x00,0x2F, + 0xC0,0x28,0x40,0x48,0x40,0x4F,0xC0,0x88,0x40}; const u8g_fntpgm_uint8_t fontpage_168_145_145[45] U8G_FONT_SECTION("fontpage_168_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x10,0x00,0xff,0xc0,0x80,0x40,0x9e, - 0x40,0x92,0x40,0x92,0x40,0x9e,0x40,0x80,0x40,0x80,0x40,0x81,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x10,0x00,0xFF,0xC0,0x80,0x40,0x9E, + 0x40,0x92,0x40,0x92,0x40,0x9E,0x40,0x80,0x40,0x80,0x40,0x81,0xC0}; const u8g_fntpgm_uint8_t fontpage_168_166_166[45] U8G_FONT_SECTION("fontpage_168_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x0d,0x80,0x34,0x40,0xc4, - 0x20,0x04,0x00,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,0xc0,0x20,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x04,0x00,0x0D,0x80,0x34,0x40,0xC4, + 0x20,0x04,0x00,0x3F,0xC0,0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_168_175_175[45] U8G_FONT_SECTION("fontpage_168_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f, - 0xc0,0x20,0x00,0x3f,0xc0,0x30,0x40,0x50,0x40,0x5f,0xc0,0x90,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x3F,0xC0,0x20,0x40,0x20,0x40,0x3F, + 0xC0,0x20,0x00,0x3F,0xC0,0x30,0x40,0x50,0x40,0x5F,0xC0,0x90,0x40}; const u8g_fntpgm_uint8_t fontpage_168_202_202[45] U8G_FONT_SECTION("fontpage_168_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04, - 0x00,0xff,0xe0,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x04, + 0x00,0xFF,0xE0,0x00,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_168_232_232[45] U8G_FONT_SECTION("fontpage_168_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x22,0x20,0x2f,0xa0,0x22,0x20,0x3f, - 0xe0,0x20,0x20,0x2f,0xa0,0x28,0xa0,0x4f,0xa0,0x40,0x20,0x80,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xE0,0x22,0x20,0x2F,0xA0,0x22,0x20,0x3F, + 0xE0,0x20,0x20,0x2F,0xA0,0x28,0xA0,0x4F,0xA0,0x40,0x20,0x80,0x60}; const u8g_fntpgm_uint8_t fontpage_168_253_253[45] U8G_FONT_SECTION("fontpage_168_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0xee,0xe0,0x00, - 0x00,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7a,0x40,0x4a,0xc0,0x02,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0xEE,0xE0,0x00, + 0x00,0x7B,0xC0,0x4A,0x40,0x4A,0x40,0x7A,0x40,0x4A,0xC0,0x02,0x00}; const u8g_fntpgm_uint8_t fontpage_169_140_140[45] U8G_FONT_SECTION("fontpage_169_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0c,0x00,0x70,0x00,0x11,0xe0,0xfd,0x20,0x11, - 0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xe0,0x10,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0C,0x00,0x70,0x00,0x11,0xE0,0xFD,0x20,0x11, + 0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xE0,0x10,0x00}; const u8g_fntpgm_uint8_t fontpage_169_205_205[45] U8G_FONT_SECTION("fontpage_169_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0x02,0x00,0xef,0xe0,0xa8,0x20,0xab, - 0xa0,0xaa,0xa0,0xaa,0xa0,0xeb,0xa0,0x08,0x20,0x08,0x20,0x08,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0x02,0x00,0xEF,0xE0,0xA8,0x20,0xAB, + 0xA0,0xAA,0xA0,0xAA,0xA0,0xEB,0xA0,0x08,0x20,0x08,0x20,0x08,0x60}; const u8g_fntpgm_uint8_t fontpage_171_183_183[45] U8G_FONT_SECTION("fontpage_171_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4, - 0x40,0xaf,0xe0,0xe8,0x20,0xa9,0x20,0x09,0x20,0x02,0x80,0x0c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0xEF,0xE0,0xA5,0x40,0xAF,0xE0,0xA4, + 0x40,0xAF,0xE0,0xE8,0x20,0xA9,0x20,0x09,0x20,0x02,0x80,0x0C,0x60}; const u8g_fntpgm_uint8_t fontpage_172_180_180[45] U8G_FONT_SECTION("fontpage_172_180_180") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0xa0,0xeb,0xc0,0xaa,0xa0,0xbf,0xe0,0xa4, - 0x80,0xaf,0xe0,0xf9,0x20,0x0f,0xe0,0x09,0x20,0x0f,0xe0,0x11,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB4,0xB4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0xA0,0xEB,0xC0,0xAA,0xA0,0xBF,0xE0,0xA4, + 0x80,0xAF,0xE0,0xF9,0x20,0x0F,0xE0,0x09,0x20,0x0F,0xE0,0x11,0x20}; const u8g_fntpgm_uint8_t fontpage_172_232_232[45] U8G_FONT_SECTION("fontpage_172_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7b,0xc0,0x04, - 0x80,0xff,0xe0,0x11,0x00,0xfb,0xe0,0x4a,0x40,0x4a,0x40,0x7b,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7B,0xC0,0x4A,0x40,0x4A,0x40,0x7B,0xC0,0x04, + 0x80,0xFF,0xE0,0x11,0x00,0xFB,0xE0,0x4A,0x40,0x4A,0x40,0x7B,0xC0}; const u8g_fntpgm_uint8_t fontpage_172_244_244[45] U8G_FONT_SECTION("fontpage_172_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4, - 0x40,0xa7,0xc0,0xe4,0x40,0x07,0xc0,0x04,0x40,0x07,0xc0,0x0c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0xEF,0xE0,0xA5,0x40,0xAF,0xE0,0xA4, + 0x40,0xA7,0xC0,0xE4,0x40,0x07,0xC0,0x04,0x40,0x07,0xC0,0x0C,0x60}; const u8g_fntpgm_uint8_t fontpage_173_222_222[45] U8G_FONT_SECTION("fontpage_173_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x80,0x40,0x9e,0x40,0x92, - 0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0x80,0x40,0xff,0xc0,0x80,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x80,0x40,0x80,0x40,0x9E,0x40,0x92, + 0x40,0x92,0x40,0x9E,0x40,0x92,0x40,0x80,0x40,0xFF,0xC0,0x80,0x40}; const u8g_fntpgm_uint8_t fontpage_173_224_224[45] U8G_FONT_SECTION("fontpage_173_224_224") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x84,0x20,0x84,0x20,0xbf,0xa0,0x84, - 0x20,0x84,0x20,0x8a,0x20,0x91,0x20,0xa0,0xa0,0x80,0x20,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x84,0x20,0x84,0x20,0xBF,0xA0,0x84, + 0x20,0x84,0x20,0x8A,0x20,0x91,0x20,0xA0,0xA0,0x80,0x20,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_173_250_250[45] U8G_FONT_SECTION("fontpage_173_250_250") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x88,0x40,0x88,0x40,0xff,0x40,0x88, - 0x40,0xbe,0x40,0xa2,0x40,0xa2,0x40,0xbe,0x40,0x80,0x40,0xff,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x88,0x40,0x88,0x40,0xFF,0x40,0x88, + 0x40,0xBE,0x40,0xA2,0x40,0xA2,0x40,0xBE,0x40,0x80,0x40,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_173_254_254[45] U8G_FONT_SECTION("fontpage_173_254_254") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x90,0x40,0x9f,0x40,0xb2,0x40,0xcc, - 0x40,0x92,0x40,0xe9,0xc0,0x84,0x40,0x88,0x40,0x84,0x40,0xff,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x90,0x40,0x9F,0x40,0xB2,0x40,0xCC, + 0x40,0x92,0x40,0xE9,0xC0,0x84,0x40,0x88,0x40,0x84,0x40,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_174_168_168[45] U8G_FONT_SECTION("fontpage_174_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0xc0,0x10,0x00,0x22, - 0x00,0x62,0x00,0xaf,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0xFF,0xC0,0x10,0x00,0x22, + 0x00,0x62,0x00,0xAF,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3F,0xC0}; const u8g_fntpgm_uint8_t fontpage_174_207_207[45] U8G_FONT_SECTION("fontpage_174_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x2f,0xe0,0x20,0x80,0xf8,0x80,0x21, - 0x00,0x21,0x80,0x23,0x40,0x35,0x20,0xc9,0x20,0x01,0x00,0x01,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x2F,0xE0,0x20,0x80,0xF8,0x80,0x21, + 0x00,0x21,0x80,0x23,0x40,0x35,0x20,0xC9,0x20,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_174_215_215[45] U8G_FONT_SECTION("fontpage_174_215_215") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x27,0xc0,0xf9,0x40,0x21, - 0x40,0x21,0x40,0x2f,0xe0,0x31,0x00,0xc2,0x80,0x04,0x40,0x18,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD7,0xD7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x27,0xC0,0xF9,0x40,0x21, + 0x40,0x21,0x40,0x2F,0xE0,0x31,0x00,0xC2,0x80,0x04,0x40,0x18,0x20}; const u8g_fntpgm_uint8_t fontpage_175_139_139[45] U8G_FONT_SECTION("fontpage_175_139_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x40,0x29,0x40,0x29,0x40,0xff,0x40,0x29, - 0x40,0x28,0x40,0x4c,0xc0,0x04,0x00,0x3f,0x80,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8B,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7E,0x40,0x29,0x40,0x29,0x40,0xFF,0x40,0x29, + 0x40,0x28,0x40,0x4C,0xC0,0x04,0x00,0x3F,0x80,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_175_171_171[45] U8G_FONT_SECTION("fontpage_175_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xff,0x80,0x22,0x80,0x36,0xa0,0xe3, - 0xa0,0x2c,0xe0,0x64,0x00,0x04,0x00,0x3f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0xFF,0x80,0x22,0x80,0x36,0xA0,0xE3, + 0xA0,0x2C,0xE0,0x64,0x00,0x04,0x00,0x3F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_176_235_235[45] U8G_FONT_SECTION("fontpage_176_235_235") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x21,0x00,0xf7,0xc0,0x24, - 0x40,0x27,0x40,0x25,0xc0,0x34,0x40,0xef,0xe0,0x02,0x80,0x0c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEB,0xEB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x21,0x00,0xF7,0xC0,0x24, + 0x40,0x27,0x40,0x25,0xC0,0x34,0x40,0xEF,0xE0,0x02,0x80,0x0C,0x60}; const u8g_fntpgm_uint8_t fontpage_177_243_243[45] U8G_FONT_SECTION("fontpage_177_243_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0xc0,0x00, - 0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x20,0x21,0x20,0xc0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF3,0xF3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x04,0x00,0x3F,0xC0,0x00, + 0x00,0xFF,0xE0,0x80,0x20,0x1F,0x00,0x11,0x20,0x21,0x20,0xC0,0xE0}; const u8g_fntpgm_uint8_t fontpage_178_135_135[45] U8G_FONT_SECTION("fontpage_178_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x80,0x31,0x00,0x4e,0x00,0x0b, - 0x00,0x30,0xe0,0xff,0x80,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x1F,0x80,0x31,0x00,0x4E,0x00,0x0B, + 0x00,0x30,0xE0,0xFF,0x80,0x24,0x80,0x3F,0x80,0x24,0x80,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_178_141_141[45] U8G_FONT_SECTION("fontpage_178_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x3f,0xe0,0x60,0x80,0xbf,0x80,0x20, - 0x80,0x3f,0x80,0x10,0x00,0x3f,0x80,0xc9,0x00,0x06,0x00,0xf9,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x3F,0xE0,0x60,0x80,0xBF,0x80,0x20, + 0x80,0x3F,0x80,0x10,0x00,0x3F,0x80,0xC9,0x00,0x06,0x00,0xF9,0xE0}; const u8g_fntpgm_uint8_t fontpage_178_150_150[45] U8G_FONT_SECTION("fontpage_178_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x3d,0x00,0x25,0x00,0x45, - 0x80,0xa5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x3D,0x00,0x25,0x00,0x45, + 0x80,0xA5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_178_154_154[45] U8G_FONT_SECTION("fontpage_178_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x1f,0x00,0x21,0x00,0x52,0x00,0x0c, - 0x00,0x34,0x00,0xcf,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xf8,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x1F,0x00,0x21,0x00,0x52,0x00,0x0C, + 0x00,0x34,0x00,0xCF,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xF8,0x00}; const u8g_fntpgm_uint8_t fontpage_178_167_167[45] U8G_FONT_SECTION("fontpage_178_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04, - 0x00,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04, + 0x00,0x04,0x00,0x0A,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_178_169_170[73] U8G_FONT_SECTION("fontpage_178_169_170") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff, - 0xe0,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x0a, - 0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xc4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xAA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF, + 0xE0,0x04,0x00,0x0A,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x0A,0x00,0x0A, + 0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xC4,0x60}; const u8g_fntpgm_uint8_t fontpage_178_177_177[45] U8G_FONT_SECTION("fontpage_178_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_178_180_180[45] U8G_FONT_SECTION("fontpage_178_180_180") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x0a,0x00,0x22,0x00,0x12,0x00,0x02, - 0x00,0xff,0xe0,0x02,0x00,0x05,0x00,0x08,0x80,0x10,0x40,0x60,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB4,0xB4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x0A,0x00,0x22,0x00,0x12,0x00,0x02, + 0x00,0xFF,0xE0,0x02,0x00,0x05,0x00,0x08,0x80,0x10,0x40,0x60,0x20}; const u8g_fntpgm_uint8_t fontpage_178_253_253[45] U8G_FONT_SECTION("fontpage_178_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x23,0xe0,0xf8,0x40,0x28,0x80,0x28, - 0x80,0x4f,0xe0,0x50,0x80,0x30,0x80,0x28,0x80,0x48,0x80,0x83,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x23,0xE0,0xF8,0x40,0x28,0x80,0x28, + 0x80,0x4F,0xE0,0x50,0x80,0x30,0x80,0x28,0x80,0x48,0x80,0x83,0x80}; const u8g_fntpgm_uint8_t fontpage_179_203_203[45] U8G_FONT_SECTION("fontpage_179_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xfa,0x40,0x2a,0x20,0x2f, - 0xe0,0x48,0x00,0x53,0xe0,0x32,0x20,0x2a,0x20,0x4b,0xe0,0x82,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0xFA,0x40,0x2A,0x20,0x2F, + 0xE0,0x48,0x00,0x53,0xE0,0x32,0x20,0x2A,0x20,0x4B,0xE0,0x82,0x20}; const u8g_fntpgm_uint8_t fontpage_182_208_208[45] U8G_FONT_SECTION("fontpage_182_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_182_216_216[45] U8G_FONT_SECTION("fontpage_182_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0xc0,0x20, - 0x80,0x61,0x00,0xbf,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0xFF,0xE0,0x10,0x00,0x2F,0xC0,0x20, + 0x80,0x61,0x00,0xBF,0xE0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00}; const u8g_fntpgm_uint8_t fontpage_183_137_137[45] U8G_FONT_SECTION("fontpage_183_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x88,0x40,0x08, - 0x00,0xff,0xe0,0x11,0x00,0x31,0x00,0x0e,0x00,0x09,0x80,0x70,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x88,0x40,0x08, + 0x00,0xFF,0xE0,0x11,0x00,0x31,0x00,0x0E,0x00,0x09,0x80,0x70,0x60}; const u8g_fntpgm_uint8_t fontpage_183_140_140[45] U8G_FONT_SECTION("fontpage_183_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x00, - 0x00,0x7f,0xe0,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x9F,0x40,0x00, + 0x00,0x7F,0xE0,0x0A,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xE0}; const u8g_fntpgm_uint8_t fontpage_183_154_154[45] U8G_FONT_SECTION("fontpage_183_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x80,0x40,0x3f, - 0xc0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x80,0x40,0x3F, + 0xC0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_183_162_162[45] U8G_FONT_SECTION("fontpage_183_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x90,0x40,0x3f,0x00,0x52, - 0x00,0x8c,0x00,0x33,0x00,0xff,0xc0,0x21,0x00,0x21,0x00,0x3f,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0xFF,0xC0,0x90,0x40,0x3F,0x00,0x52, + 0x00,0x8C,0x00,0x33,0x00,0xFF,0xC0,0x21,0x00,0x21,0x00,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_183_171_171[45] U8G_FONT_SECTION("fontpage_183_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x80,0x40,0x3f,0x00,0x21, - 0x00,0x3f,0x00,0x00,0x00,0x7f,0x80,0x40,0x80,0x7f,0x80,0x40,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0xFF,0xC0,0x80,0x40,0x3F,0x00,0x21, + 0x00,0x3F,0x00,0x00,0x00,0x7F,0x80,0x40,0x80,0x7F,0x80,0x40,0x80}; const u8g_fntpgm_uint8_t fontpage_183_249_249[45] U8G_FONT_SECTION("fontpage_183_249_249") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x00,0x80,0xf0,0x80,0x1f,0xe0,0x90,0x80,0x50, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x00,0x80,0xF0,0x80,0x1F,0xE0,0x90,0x80,0x50, 0x80,0x24,0x80,0x22,0x80,0x50,0x80,0x50,0x80,0x82,0x80,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_184_134_134[45] U8G_FONT_SECTION("fontpage_184_134_134") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x27,0xc0,0xa4,0x80,0x6b,0x00,0x22, - 0x80,0x24,0x80,0x6f,0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x27,0xC0,0xA4,0x80,0x6B,0x00,0x22, + 0x80,0x24,0x80,0x6F,0xE0,0xA4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; const u8g_fntpgm_uint8_t fontpage_184_143_143[45] U8G_FONT_SECTION("fontpage_184_143_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x8F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24, 0x40,0x44,0x40,0x44,0x20,0x84,0x20,0x04,0x00,0x14,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_184_177_177[45] U8G_FONT_SECTION("fontpage_184_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xfd,0x40,0x01,0x20,0x7f,0xe0,0x4a, - 0x80,0x7a,0x80,0x12,0x80,0x5a,0xa0,0x56,0xa0,0x92,0xa0,0x34,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFD,0x40,0x01,0x20,0x7F,0xE0,0x4A, + 0x80,0x7A,0x80,0x12,0x80,0x5A,0xA0,0x56,0xA0,0x92,0xA0,0x34,0x60}; const u8g_fntpgm_uint8_t fontpage_184_207_207[45] U8G_FONT_SECTION("fontpage_184_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x20,0x20,0x3f,0xe0,0x28,0x40,0x24, - 0x80,0x3f,0xe0,0x24,0x80,0x3f,0xe0,0x24,0x80,0x48,0x80,0x90,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xE0,0x20,0x20,0x3F,0xE0,0x28,0x40,0x24, + 0x80,0x3F,0xE0,0x24,0x80,0x3F,0xE0,0x24,0x80,0x48,0x80,0x90,0x80}; const u8g_fntpgm_uint8_t fontpage_187_229_229[41] U8G_FONT_SECTION("fontpage_187_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, - 0x00,0x0b,0x09,0x12,0x0c,0x00,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0x04, - 0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x09,0x00,0x00, + 0x00,0x0B,0x09,0x12,0x0C,0x00,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04, + 0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_187_238_238[45] U8G_FONT_SECTION("fontpage_187_238_238") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x09,0x00,0xff,0xe0,0x04,0x00,0x7f, - 0xc0,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0x80,0x42,0x00,0xbf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEE,0xEE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x80,0x09,0x00,0xFF,0xE0,0x04,0x00,0x7F, + 0xC0,0x08,0x00,0xFF,0xE0,0x10,0x00,0x2F,0x80,0x42,0x00,0xBF,0xE0}; const u8g_fntpgm_uint8_t fontpage_187_242_242[43] U8G_FONT_SECTION("fontpage_187_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00, - 0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0xff,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xff, - 0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x09,0xFF,0x00, + 0x00,0x0A,0x0A,0x14,0x0C,0x01,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xFF, + 0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7F,0xC0}; const u8g_fntpgm_uint8_t fontpage_188_243_243[45] U8G_FONT_SECTION("fontpage_188_243_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x24,0x80,0x15,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF3,0xF3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x24,0x80,0x15,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_188_246_246[45] U8G_FONT_SECTION("fontpage_188_246_246") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11, - 0x00,0x11,0x00,0xff,0xe0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF6,0xF6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x11,0x00,0x7F,0xC0,0x11,0x00,0x11, + 0x00,0x11,0x00,0xFF,0xE0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_189_138_138[45] U8G_FONT_SECTION("fontpage_189_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x42,0x00,0x42,0x00,0x7f, - 0xe0,0x42,0x00,0x47,0x00,0x4a,0x80,0x52,0x40,0xa2,0x20,0x82,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0x7F,0xE0,0x42,0x00,0x42,0x00,0x7F, + 0xE0,0x42,0x00,0x47,0x00,0x4A,0x80,0x52,0x40,0xA2,0x20,0x82,0x00}; const u8g_fntpgm_uint8_t fontpage_189_148_148[45] U8G_FONT_SECTION("fontpage_189_148_148") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x7f,0xe0,0x40,0x00,0x44, - 0x40,0x52,0x40,0x4a,0x40,0x48,0x80,0x40,0x80,0x81,0x00,0x9f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x94,0x94,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x02,0x00,0x7F,0xE0,0x40,0x00,0x44, + 0x40,0x52,0x40,0x4A,0x40,0x48,0x80,0x40,0x80,0x81,0x00,0x9F,0xE0}; const u8g_fntpgm_uint8_t fontpage_189_159_159[45] U8G_FONT_SECTION("fontpage_189_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x3f,0xe0,0x2a,0x80,0x2a,0x40,0x3f, - 0xe0,0x24,0x00,0x27,0xc0,0x2a,0x40,0x31,0x80,0x42,0x40,0x8c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0x3F,0xE0,0x2A,0x80,0x2A,0x40,0x3F, + 0xE0,0x24,0x00,0x27,0xC0,0x2A,0x40,0x31,0x80,0x42,0x40,0x8C,0x20}; const u8g_fntpgm_uint8_t fontpage_189_166_166[45] U8G_FONT_SECTION("fontpage_189_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x49,0x00,0x7f,0xc0,0x49, - 0x00,0x4f,0x00,0x40,0x00,0x5f,0x80,0x49,0x00,0x86,0x00,0xb9,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x49,0x00,0x7F,0xC0,0x49, + 0x00,0x4F,0x00,0x40,0x00,0x5F,0x80,0x49,0x00,0x86,0x00,0xB9,0xC0}; const u8g_fntpgm_uint8_t fontpage_190_128_128[45] U8G_FONT_SECTION("fontpage_190_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x11,0x00,0x11,0x00,0x11,0x00,0x11, - 0x00,0xff,0xe0,0x11,0x00,0x21,0x00,0x21,0x00,0x41,0x00,0x81,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x11,0x00,0x11,0x00,0x11,0x00,0x11, + 0x00,0xFF,0xE0,0x11,0x00,0x21,0x00,0x21,0x00,0x41,0x00,0x81,0x00}; const u8g_fntpgm_uint8_t fontpage_190_131_131[45] U8G_FONT_SECTION("fontpage_190_131_131") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x08,0x00,0x10,0x80,0x3f, - 0xc0,0x11,0x00,0xff,0xe0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x08,0x00,0x10,0x80,0x3F, + 0xC0,0x11,0x00,0xFF,0xE0,0x11,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_190_143_143[45] U8G_FONT_SECTION("fontpage_190_143_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x80,0x02,0x40,0x02,0x00,0xff,0xe0,0x02, - 0x00,0x7a,0x00,0x12,0x00,0x11,0x00,0x11,0x20,0x18,0xa0,0xe0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x8F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x80,0x02,0x40,0x02,0x00,0xFF,0xE0,0x02, + 0x00,0x7A,0x00,0x12,0x00,0x11,0x00,0x11,0x20,0x18,0xA0,0xE0,0x60}; const u8g_fntpgm_uint8_t fontpage_190_149_149[45] U8G_FONT_SECTION("fontpage_190_149_149") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xfc,0x40,0x04,0x40,0x04,0x40,0x7c,0x40,0x40, - 0x40,0xfc,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x28,0x40,0x10,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFC,0x40,0x04,0x40,0x04,0x40,0x7C,0x40,0x40, + 0x40,0xFC,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x28,0x40,0x10,0x40}; const u8g_fntpgm_uint8_t fontpage_190_185_185[45] U8G_FONT_SECTION("fontpage_190_185_185") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xe4,0x40,0x22,0x80,0x2f,0xe0,0xe9,0x20,0x8f, - 0xe0,0x89,0x20,0xef,0xe0,0x21,0x00,0x2f,0xe0,0xa1,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB9,0xB9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xE4,0x40,0x22,0x80,0x2F,0xE0,0xE9,0x20,0x8F, + 0xE0,0x89,0x20,0xEF,0xE0,0x21,0x00,0x2F,0xE0,0xA1,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_190_210_210[45] U8G_FONT_SECTION("fontpage_190_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0x17,0xc0,0x90,0x40,0x90,0x40,0x90, - 0x40,0x97,0xc0,0x90,0x40,0x90,0x40,0x20,0x40,0x4f,0xc0,0x80,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x10,0x00,0x17,0xC0,0x90,0x40,0x90,0x40,0x90, + 0x40,0x97,0xC0,0x90,0x40,0x90,0x40,0x20,0x40,0x4F,0xC0,0x80,0x40}; const u8g_fntpgm_uint8_t fontpage_191_132_133[73] U8G_FONT_SECTION("fontpage_191_132_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x20,0x80,0x49,0x00,0x92,0x80,0x24, - 0x40,0x68,0x20,0xa7,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x11,0x00,0x21,0x00,0x47,0xc0,0x91,0x00,0x1f,0xe0,0x20,0x80,0x6f, - 0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x17,0xC0,0x20,0x80,0x49,0x00,0x92,0x80,0x24, + 0x40,0x68,0x20,0xA7,0xC0,0x21,0x00,0x21,0x00,0x21,0x00,0x2F,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x11,0x00,0x21,0x00,0x47,0xC0,0x91,0x00,0x1F,0xE0,0x20,0x80,0x6F, + 0xE0,0xA4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; const u8g_fntpgm_uint8_t fontpage_191_170_170[45] U8G_FONT_SECTION("fontpage_191_170_170") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xe0,0x28,0x80,0x4f,0xe0,0x98,0x80,0x2b, - 0xe0,0x6a,0x20,0xab,0xe0,0x2a,0x20,0x2b,0xe0,0x2a,0x20,0x33,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAA,0xAA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x1F,0xE0,0x28,0x80,0x4F,0xE0,0x98,0x80,0x2B, + 0xE0,0x6A,0x20,0xAB,0xE0,0x2A,0x20,0x2B,0xE0,0x2A,0x20,0x33,0xE0}; const u8g_fntpgm_uint8_t fontpage_191_174_174[45] U8G_FONT_SECTION("fontpage_191_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x6a,0x80,0xbe,0x80,0x01,0xe0,0x5d, - 0x40,0xc3,0x40,0x5d,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2A,0x80,0x6A,0x80,0xBE,0x80,0x01,0xE0,0x5D, + 0x40,0xC3,0x40,0x5D,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20}; const u8g_fntpgm_uint8_t fontpage_191_195_195[45] U8G_FONT_SECTION("fontpage_191_195_195") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10, - 0x40,0x50,0x20,0x50,0x20,0x50,0xa0,0x90,0x80,0x10,0x80,0x0f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10, + 0x40,0x50,0x20,0x50,0x20,0x50,0xA0,0x90,0x80,0x10,0x80,0x0F,0x80}; const u8g_fntpgm_uint8_t fontpage_191_253_253[45] U8G_FONT_SECTION("fontpage_191_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x3f,0xc0,0x2a,0x40,0x4a,0x40,0x14, - 0x40,0x28,0x40,0x05,0x80,0x12,0x40,0x50,0xa0,0x50,0xa0,0x8f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x3F,0xC0,0x2A,0x40,0x4A,0x40,0x14, + 0x40,0x28,0x40,0x05,0x80,0x12,0x40,0x50,0xA0,0x50,0xA0,0x8F,0x80}; const u8g_fntpgm_uint8_t fontpage_192_167_167[45] U8G_FONT_SECTION("fontpage_192_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x00,0xb5,0x00,0xaf,0xe0,0xa9, - 0x00,0xb1,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x25,0x00,0xB5,0x00,0xAF,0xE0,0xA9, + 0x00,0xB1,0x00,0x27,0xC0,0x21,0x00,0x21,0x00,0x21,0x00,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_192_187_187[45] U8G_FONT_SECTION("fontpage_192_187_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x0a,0x00,0x3f,0x80,0x20,0x80,0x20, - 0x80,0x3f,0x80,0x20,0x80,0x04,0x40,0x52,0xa0,0x50,0xa0,0x8f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBB,0xBB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x0A,0x00,0x3F,0x80,0x20,0x80,0x20, + 0x80,0x3F,0x80,0x20,0x80,0x04,0x40,0x52,0xA0,0x50,0xA0,0x8F,0x80}; const u8g_fntpgm_uint8_t fontpage_192_226_226[45] U8G_FONT_SECTION("fontpage_192_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0xb2,0x00,0xaa,0x80,0xa4, - 0x80,0xa5,0xa0,0x2a,0xc0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x2F,0xE0,0xB2,0x00,0xAA,0x80,0xA4, + 0x80,0xA5,0xA0,0x2A,0xC0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20}; const u8g_fntpgm_uint8_t fontpage_192_239_239[45] U8G_FONT_SECTION("fontpage_192_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20, - 0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x54,0x40,0x52,0xa0,0x8f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20, + 0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x54,0x40,0x52,0xA0,0x8F,0x80}; const u8g_fntpgm_uint8_t fontpage_194_159_159[45] U8G_FONT_SECTION("fontpage_194_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x40,0x7f,0xe0,0x41,0x00,0x7f,0x40,0x5d, - 0x40,0x52,0x80,0x9d,0xa0,0x82,0x60,0x24,0x40,0xa2,0xa0,0x9f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x40,0x7F,0xE0,0x41,0x00,0x7F,0x40,0x5D, + 0x40,0x52,0x80,0x9D,0xA0,0x82,0x60,0x24,0x40,0xA2,0xA0,0x9F,0x80}; const u8g_fntpgm_uint8_t fontpage_196_143_144[73] U8G_FONT_SECTION("fontpage_196_143_144") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x90,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x80,0x7a,0x40,0x0a,0x00,0x4f,0xe0,0x2a, - 0x00,0x12,0x40,0x12,0x80,0x29,0x00,0x41,0x20,0x86,0xa0,0x00,0x60,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x02,0x80,0x02,0x40,0x7f,0xe0,0x42,0x00,0x42,0x00,0x7a,0x40,0x4a, - 0x40,0x4a,0x80,0x49,0x20,0x52,0xa0,0x84,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x90,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x80,0x7A,0x40,0x0A,0x00,0x4F,0xE0,0x2A, + 0x00,0x12,0x40,0x12,0x80,0x29,0x00,0x41,0x20,0x86,0xA0,0x00,0x60,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x02,0x80,0x02,0x40,0x7F,0xE0,0x42,0x00,0x42,0x00,0x7A,0x40,0x4A, + 0x40,0x4A,0x80,0x49,0x20,0x52,0xA0,0x84,0x60}; const u8g_fntpgm_uint8_t fontpage_196_183_183[45] U8G_FONT_SECTION("fontpage_196_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x3f,0xc0,0x20,0x40,0x20, - 0x40,0x3f,0xc0,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x02,0x00,0x3F,0xC0,0x20,0x40,0x20, + 0x40,0x3F,0xC0,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00}; const u8g_fntpgm_uint8_t fontpage_196_192_192[45] U8G_FONT_SECTION("fontpage_196_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x60,0x63,0x80,0x42,0x00,0x7a,0x00,0x4b, - 0xe0,0x4a,0x40,0x7a,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x18,0x60,0x63,0x80,0x42,0x00,0x7A,0x00,0x4B, + 0xE0,0x4A,0x40,0x7A,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40}; const u8g_fntpgm_uint8_t fontpage_196_199_199[45] U8G_FONT_SECTION("fontpage_196_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x7f,0xe0,0x40, - 0x00,0x7d,0xe0,0x44,0x20,0x54,0xa0,0x4c,0x60,0x54,0xa0,0xa9,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x7F,0xE0,0x40, + 0x00,0x7D,0xE0,0x44,0x20,0x54,0xA0,0x4C,0x60,0x54,0xA0,0xA9,0x60}; const u8g_fntpgm_uint8_t fontpage_196_203_203[45] U8G_FONT_SECTION("fontpage_196_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xc0,0x7c,0x00,0x04,0x00,0x7f,0xc0,0x04, - 0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x03,0xC0,0x7C,0x00,0x04,0x00,0x7F,0xC0,0x04, + 0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00}; const u8g_fntpgm_uint8_t fontpage_196_211_211[45] U8G_FONT_SECTION("fontpage_196_211_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0xf8,0x80,0x20,0x80,0x28, - 0x80,0x30,0x80,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0xe3,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD3,0xD3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xE0,0xF8,0x80,0x20,0x80,0x28, + 0x80,0x30,0x80,0x60,0x80,0xA0,0x80,0x20,0x80,0x20,0x80,0xE3,0x80}; const u8g_fntpgm_uint8_t fontpage_196_231_231[45] U8G_FONT_SECTION("fontpage_196_231_231") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x22,0x00,0xff,0x80,0x22,0x80,0x2a, - 0x80,0x36,0x80,0x62,0x80,0xa7,0xa0,0x24,0xa0,0xa8,0xa0,0x50,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE7,0xE7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x22,0x00,0xFF,0x80,0x22,0x80,0x2A, + 0x80,0x36,0x80,0x62,0x80,0xA7,0xA0,0x24,0xA0,0xA8,0xA0,0x50,0x60}; const u8g_fntpgm_uint8_t fontpage_196_249_249[45] U8G_FONT_SECTION("fontpage_196_249_249") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x24,0x80,0xfc,0x80,0x24,0xa0,0x2f, - 0xc0,0x34,0x80,0x64,0x80,0xa4,0x80,0x25,0xa0,0x26,0xa0,0xe4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x80,0x24,0x80,0xFC,0x80,0x24,0xA0,0x2F, + 0xC0,0x34,0x80,0x64,0x80,0xA4,0x80,0x25,0xA0,0x26,0xA0,0xE4,0x60}; const u8g_fntpgm_uint8_t fontpage_197_150_150[45] U8G_FONT_SECTION("fontpage_197_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0x22,0x40,0xf9,0x40,0x20,0x40,0x2a, - 0x40,0x31,0x40,0x60,0xe0,0xaf,0x40,0x20,0x40,0x20,0x40,0xe0,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x40,0x22,0x40,0xF9,0x40,0x20,0x40,0x2A, + 0x40,0x31,0x40,0x60,0xE0,0xAF,0x40,0x20,0x40,0x20,0x40,0xE0,0x40}; const u8g_fntpgm_uint8_t fontpage_197_165_165[45] U8G_FONT_SECTION("fontpage_197_165_165") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x24,0x40,0xfc,0x40,0x25,0x80,0x2c, - 0x00,0x37,0xe0,0x65,0x40,0xa5,0x40,0x24,0x80,0x25,0x40,0xe6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x24,0x40,0xFC,0x40,0x25,0x80,0x2C, + 0x00,0x37,0xE0,0x65,0x40,0xA5,0x40,0x24,0x80,0x25,0x40,0xE6,0x20}; const u8g_fntpgm_uint8_t fontpage_197_172_172[45] U8G_FONT_SECTION("fontpage_197_172_172") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xfa,0x40,0x27,0xa0,0x28, - 0x20,0x30,0x00,0x67,0xe0,0xa4,0x20,0x24,0x20,0x27,0xe0,0xe4,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0xFA,0x40,0x27,0xA0,0x28, + 0x20,0x30,0x00,0x67,0xE0,0xA4,0x20,0x24,0x20,0x27,0xE0,0xE4,0x20}; const u8g_fntpgm_uint8_t fontpage_197_189_189[45] U8G_FONT_SECTION("fontpage_197_189_189") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x20,0x80,0xf8,0x80,0x27,0xe0,0x2c, - 0xa0,0x34,0xa0,0x67,0xe0,0xa4,0xa0,0x24,0xa0,0x27,0xe0,0xe4,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBD,0xBD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x20,0x80,0xF8,0x80,0x27,0xE0,0x2C, + 0xA0,0x34,0xA0,0x67,0xE0,0xA4,0xA0,0x24,0xA0,0x27,0xE0,0xE4,0x20}; const u8g_fntpgm_uint8_t fontpage_197_212_212[45] U8G_FONT_SECTION("fontpage_197_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0xff,0xe0,0x22,0x00,0x2b, - 0xc0,0x32,0x40,0x65,0x40,0xa4,0x80,0x28,0x80,0x29,0x40,0xe6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x22,0x40,0xFF,0xE0,0x22,0x00,0x2B, + 0xC0,0x32,0x40,0x65,0x40,0xA4,0x80,0x28,0x80,0x29,0x40,0xE6,0x20}; const u8g_fntpgm_uint8_t fontpage_197_233_233[45] U8G_FONT_SECTION("fontpage_197_233_233") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x22,0x40,0xf9,0x80,0x22,0x40,0x2c, - 0x20,0x31,0x00,0x67,0xc0,0xa1,0x00,0x2f,0xe0,0x21,0x00,0xe1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xE0,0x22,0x40,0xF9,0x80,0x22,0x40,0x2C, + 0x20,0x31,0x00,0x67,0xC0,0xA1,0x00,0x2F,0xE0,0x21,0x00,0xE1,0x00}; const u8g_fntpgm_uint8_t fontpage_198_137_137[45] U8G_FONT_SECTION("fontpage_198_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0xff,0xe0,0x25,0x20,0x29, - 0x00,0x37,0xe0,0x62,0x40,0xa6,0x40,0x21,0x80,0x22,0x80,0xec,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x20,0x80,0xFF,0xE0,0x25,0x20,0x29, + 0x00,0x37,0xE0,0x62,0x40,0xA6,0x40,0x21,0x80,0x22,0x80,0xEC,0x60}; const u8g_fntpgm_uint8_t fontpage_198_161_161[45] U8G_FONT_SECTION("fontpage_198_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x20,0xfb,0x40,0x21,0x00,0x2f, - 0xe0,0x30,0x20,0x60,0x20,0xa7,0xe0,0x20,0x20,0x20,0x20,0xef,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x25,0x20,0xFB,0x40,0x21,0x00,0x2F, + 0xE0,0x30,0x20,0x60,0x20,0xA7,0xE0,0x20,0x20,0x20,0x20,0xEF,0xE0}; const u8g_fntpgm_uint8_t fontpage_198_164_164[45] U8G_FONT_SECTION("fontpage_198_164_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0xfa,0x40,0x21,0x80,0x2e, - 0x60,0x30,0x00,0x62,0x40,0xa2,0x40,0x22,0x40,0x24,0x40,0xe8,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xE0,0xFA,0x40,0x21,0x80,0x2E, + 0x60,0x30,0x00,0x62,0x40,0xA2,0x40,0x22,0x40,0x24,0x40,0xE8,0x40}; const u8g_fntpgm_uint8_t fontpage_198_223_223[45] U8G_FONT_SECTION("fontpage_198_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0x22,0x40,0xfb,0xc0,0x20,0x00,0x2f, - 0xe0,0x34,0x20,0x65,0x20,0xa5,0x20,0x25,0x20,0x22,0x80,0xec,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xC0,0x22,0x40,0xFB,0xC0,0x20,0x00,0x2F, + 0xE0,0x34,0x20,0x65,0x20,0xA5,0x20,0x25,0x20,0x22,0x80,0xEC,0x60}; const u8g_fntpgm_uint8_t fontpage_198_226_226[45] U8G_FONT_SECTION("fontpage_198_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xfc,0x80,0x27,0xc0,0x2d, - 0x40,0x35,0x40,0x6f,0xe0,0xa1,0x00,0x22,0x80,0x24,0x40,0xe8,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0xFC,0x80,0x27,0xC0,0x2D, + 0x40,0x35,0x40,0x6F,0xE0,0xA1,0x00,0x22,0x80,0x24,0x40,0xE8,0x20}; const u8g_fntpgm_uint8_t fontpage_199_137_137[45] U8G_FONT_SECTION("fontpage_199_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0xe0,0xf9,0x00,0x27,0xc0,0x2c, - 0x40,0x37,0xc0,0x64,0x40,0xa7,0xc0,0x21,0x00,0x2f,0xe0,0xe1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0xE0,0xF9,0x00,0x27,0xC0,0x2C, + 0x40,0x37,0xC0,0x64,0x40,0xA7,0xC0,0x21,0x00,0x2F,0xE0,0xE1,0x00}; const u8g_fntpgm_uint8_t fontpage_199_162_162[45] U8G_FONT_SECTION("fontpage_199_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x28,0x20,0xf2,0x80,0x24,0x40,0x29, - 0x20,0x31,0x00,0x6f,0xe0,0xa1,0x00,0x25,0x80,0x29,0x40,0xf1,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xE0,0x28,0x20,0xF2,0x80,0x24,0x40,0x29, + 0x20,0x31,0x00,0x6F,0xE0,0xA1,0x00,0x25,0x80,0x29,0x40,0xF1,0x20}; const u8g_fntpgm_uint8_t fontpage_199_165_165[45] U8G_FONT_SECTION("fontpage_199_165_165") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf4,0x40,0x22,0x80,0x2f, - 0xe0,0x31,0x00,0x6f,0xe0,0xa2,0x40,0x26,0x80,0x21,0x40,0xee,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0xF4,0x40,0x22,0x80,0x2F, + 0xE0,0x31,0x00,0x6F,0xE0,0xA2,0x40,0x26,0x80,0x21,0x40,0xEE,0x20}; const u8g_fntpgm_uint8_t fontpage_199_167_167[45] U8G_FONT_SECTION("fontpage_199_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf8,0x20,0x22,0x80,0x24, - 0x40,0x38,0x20,0x67,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0xef,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0xF8,0x20,0x22,0x80,0x24, + 0x40,0x38,0x20,0x67,0xC0,0xA1,0x00,0x21,0x00,0x21,0x00,0xEF,0xE0}; const u8g_fntpgm_uint8_t fontpage_199_208_208[45] U8G_FONT_SECTION("fontpage_199_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x24,0x40,0xff,0xc0,0x24,0x40,0x27, - 0xc0,0x30,0x00,0x6f,0xe0,0xa5,0x00,0x25,0xe0,0x2b,0x00,0xf1,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x24,0x40,0xFF,0xC0,0x24,0x40,0x27, + 0xC0,0x30,0x00,0x6F,0xE0,0xA5,0x00,0x25,0xE0,0x2B,0x00,0xF1,0xE0}; const u8g_fntpgm_uint8_t fontpage_199_210_210[45] U8G_FONT_SECTION("fontpage_199_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xf1,0x00,0x2f,0xe0,0x21, - 0x00,0x35,0x60,0x69,0x20,0xad,0x60,0x29,0x20,0x29,0x20,0xef,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0xC0,0x27,0x00,0xF1,0x00,0x2F,0xE0,0x21, + 0x00,0x35,0x60,0x69,0x20,0xAD,0x60,0x29,0x20,0x29,0x20,0xEF,0xE0}; const u8g_fntpgm_uint8_t fontpage_202_182_182[45] U8G_FONT_SECTION("fontpage_202_182_182") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x93,0xe0,0x94,0x40,0x9a, - 0x40,0x92,0x40,0xb2,0x80,0xd1,0x00,0x91,0x80,0x12,0x40,0x14,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x12,0x00,0x93,0xE0,0x94,0x40,0x9A, + 0x40,0x92,0x40,0xB2,0x80,0xD1,0x00,0x91,0x80,0x12,0x40,0x14,0x20}; const u8g_fntpgm_uint8_t fontpage_202_190_190[45] U8G_FONT_SECTION("fontpage_202_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x11,0x00,0xfd,0xe0,0x22,0x40,0x25, - 0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4a,0x40,0x94,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x11,0x00,0xFD,0xE0,0x22,0x40,0x25, + 0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4A,0x40,0x94,0x20}; const u8g_fntpgm_uint8_t fontpage_202_240_240[45] U8G_FONT_SECTION("fontpage_202_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x95,0x00,0x59,0x00,0xfd,0xe0,0x33,0x40,0x59, - 0x40,0x95,0x40,0xfd,0x40,0x29,0x40,0x68,0x80,0x11,0x40,0xee,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x95,0x00,0x59,0x00,0xFD,0xE0,0x33,0x40,0x59, + 0x40,0x95,0x40,0xFD,0x40,0x29,0x40,0x68,0x80,0x11,0x40,0xEE,0x20}; const u8g_fntpgm_uint8_t fontpage_202_242_242[45] U8G_FONT_SECTION("fontpage_202_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0xfe,0xe0,0x00,0x80,0x78,0x80,0x4b, - 0xe0,0x79,0x40,0x01,0x40,0xff,0x40,0xaa,0x80,0xbb,0x40,0x86,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x80,0xFE,0xE0,0x00,0x80,0x78,0x80,0x4B, + 0xE0,0x79,0x40,0x01,0x40,0xFF,0x40,0xAA,0x80,0xBB,0x40,0x86,0x20}; const u8g_fntpgm_uint8_t fontpage_202_244_244[45] U8G_FONT_SECTION("fontpage_202_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x55,0x40,0x7c,0x80,0x39, - 0x40,0x56,0x20,0x7f,0xc0,0x04,0x00,0x27,0x80,0x24,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x55,0x40,0x7C,0x80,0x39, + 0x40,0x56,0x20,0x7F,0xC0,0x04,0x00,0x27,0x80,0x24,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_203_135_135[45] U8G_FONT_SECTION("fontpage_203_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x11,0x00,0x11, - 0x00,0x11,0x00,0x0a,0x00,0x0a,0x00,0x04,0x00,0x1b,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0xFF,0xE0,0x11,0x00,0x11, + 0x00,0x11,0x00,0x0A,0x00,0x0A,0x00,0x04,0x00,0x1B,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_203_153_153[45] U8G_FONT_SECTION("fontpage_203_153_153") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xac,0x80,0x72,0x80,0x20,0x80,0xfc, - 0x80,0x22,0x80,0x30,0xe0,0x6f,0x80,0xa0,0x80,0x20,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0xAC,0x80,0x72,0x80,0x20,0x80,0xFC, + 0x80,0x22,0x80,0x30,0xE0,0x6F,0x80,0xA0,0x80,0x20,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_203_156_156[45] U8G_FONT_SECTION("fontpage_203_156_156") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x40,0x29,0x40,0x44,0xc0,0xb8,0x40,0x12, - 0x40,0x7d,0x40,0x10,0x60,0x55,0xc0,0x52,0x40,0x92,0x40,0x30,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x40,0x29,0x40,0x44,0xC0,0xB8,0x40,0x12, + 0x40,0x7D,0x40,0x10,0x60,0x55,0xC0,0x52,0x40,0x92,0x40,0x30,0x40}; const u8g_fntpgm_uint8_t fontpage_203_173_173[45] U8G_FONT_SECTION("fontpage_203_173_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x60,0xd5,0x80,0xb9,0x00,0x91,0x00,0xfd, - 0xe0,0xb1,0x40,0xd9,0x40,0xd5,0x40,0x91,0x40,0xfa,0x40,0x04,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAD,0xAD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x60,0xD5,0x80,0xB9,0x00,0x91,0x00,0xFD, + 0xE0,0xB1,0x40,0xD9,0x40,0xD5,0x40,0x91,0x40,0xFA,0x40,0x04,0x40}; const u8g_fntpgm_uint8_t fontpage_203_176_176[45] U8G_FONT_SECTION("fontpage_203_176_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x60,0xfd,0x80,0x45,0x00,0x29,0x00,0xfd, - 0xe0,0x11,0x40,0xfd,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x60,0xFD,0x80,0x45,0x00,0x29,0x00,0xFD, + 0xE0,0x11,0x40,0xFD,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40}; const u8g_fntpgm_uint8_t fontpage_203_185_185[45] U8G_FONT_SECTION("fontpage_203_185_185") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x08,0x00,0x08, - 0x00,0x0f,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB9,0xB9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0xFF,0xE0,0x08,0x00,0x08, + 0x00,0x0F,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00}; const u8g_fntpgm_uint8_t fontpage_203_224_224[45] U8G_FONT_SECTION("fontpage_203_224_224") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff, - 0xe0,0x0a,0x00,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF, + 0xE0,0x0A,0x00,0x0A,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xC1,0xE0}; const u8g_fntpgm_uint8_t fontpage_203_246_246[45] U8G_FONT_SECTION("fontpage_203_246_246") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x00,0x80,0xf0,0x80,0x9f,0xe0,0x90,0x80,0x94, - 0x80,0xf2,0x80,0x92,0x80,0x90,0x80,0x90,0x80,0xf0,0x80,0x03,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF6,0xF6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x00,0x80,0xF0,0x80,0x9F,0xE0,0x90,0x80,0x94, + 0x80,0xF2,0x80,0x92,0x80,0x90,0x80,0x90,0x80,0xF0,0x80,0x03,0x80}; const u8g_fntpgm_uint8_t fontpage_204_142_142[45] U8G_FONT_SECTION("fontpage_204_142_142") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xe0,0xf2,0x20,0x92,0x20,0x93,0xe0,0xf2, - 0x20,0x92,0x20,0x93,0xe0,0xf2,0x20,0x04,0x20,0x08,0xa0,0x30,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8E,0x8E,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x03,0xE0,0xF2,0x20,0x92,0x20,0x93,0xE0,0xF2, + 0x20,0x92,0x20,0x93,0xE0,0xF2,0x20,0x04,0x20,0x08,0xA0,0x30,0x40}; const u8g_fntpgm_uint8_t fontpage_204_175_175[45] U8G_FONT_SECTION("fontpage_204_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f, - 0x80,0x00,0x00,0xff,0xe0,0x24,0x00,0x27,0x80,0x54,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F, + 0x80,0x00,0x00,0xFF,0xE0,0x24,0x00,0x27,0x80,0x54,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_205_130_130[45] U8G_FONT_SECTION("fontpage_205_130_130") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0xfb,0x80,0x52,0x00,0xfb,0xe0,0x12, - 0x80,0xf4,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x40,0xFB,0x80,0x52,0x00,0xFB,0xE0,0x12, + 0x80,0xF4,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_205_171_171[45] U8G_FONT_SECTION("fontpage_205_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x00,0x55,0xe0,0x7d,0x40,0x55, - 0x40,0xff,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0xE0,0xFF,0x00,0x55,0xE0,0x7D,0x40,0x55, + 0x40,0xFF,0xC0,0x10,0x40,0x1F,0xC0,0x10,0x40,0x1F,0xC0,0x10,0x40}; const u8g_fntpgm_uint8_t fontpage_205_244_244[45] U8G_FONT_SECTION("fontpage_205_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x02,0x00,0x3f,0xc0,0x22,0x40,0x3f, - 0xc0,0x22,0x40,0x3f,0xc0,0x0a,0x00,0x04,0x00,0x1b,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xE0,0x02,0x00,0x3F,0xC0,0x22,0x40,0x3F, + 0xC0,0x22,0x40,0x3F,0xC0,0x0A,0x00,0x04,0x00,0x1B,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_206_128_128[45] U8G_FONT_SECTION("fontpage_206_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff, - 0xe0,0x48,0x00,0x7f,0xc0,0x4a,0x40,0x79,0x80,0xc9,0x80,0x0e,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF, + 0xE0,0x48,0x00,0x7F,0xC0,0x4A,0x40,0x79,0x80,0xC9,0x80,0x0E,0x60}; const u8g_fntpgm_uint8_t fontpage_206_137_137[45] U8G_FONT_SECTION("fontpage_206_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x1f,0x80,0x30, - 0x80,0x5f,0x80,0x90,0x80,0x1f,0x80,0x10,0x80,0x10,0x80,0x11,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0xFF,0xE0,0x10,0x00,0x1F,0x80,0x30, + 0x80,0x5F,0x80,0x90,0x80,0x1F,0x80,0x10,0x80,0x10,0x80,0x11,0x80}; const u8g_fntpgm_uint8_t fontpage_206_159_159[45] U8G_FONT_SECTION("fontpage_206_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x49,0xe0,0xfd,0x20,0x49,0x20,0x79,0xe0,0x49, - 0x20,0x79,0x20,0x49,0xe0,0xfd,0x20,0x01,0x20,0x49,0x20,0x86,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x49,0xE0,0xFD,0x20,0x49,0x20,0x79,0xE0,0x49, + 0x20,0x79,0x20,0x49,0xE0,0xFD,0x20,0x01,0x20,0x49,0x20,0x86,0x60}; const u8g_fntpgm_uint8_t fontpage_206_186_186[45] U8G_FONT_SECTION("fontpage_206_186_186") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0x80,0x24,0x80,0xfc,0x80,0x24, - 0x80,0x74,0x80,0x6c,0x80,0xa4,0x80,0xa4,0x80,0x28,0xa0,0x30,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBA,0xBA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0x80,0x24,0x80,0xFC,0x80,0x24, + 0x80,0x74,0x80,0x6C,0x80,0xA4,0x80,0xA4,0x80,0x28,0xA0,0x30,0xE0}; const u8g_fntpgm_uint8_t fontpage_206_192_192[45] U8G_FONT_SECTION("fontpage_206_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x19,0x00,0x06,0x00,0x19,0x00,0x64, - 0xc0,0x04,0x00,0xff,0xe0,0x15,0x00,0x24,0x80,0xc4,0x60,0x0c,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x19,0x00,0x06,0x00,0x19,0x00,0x64, + 0xC0,0x04,0x00,0xFF,0xE0,0x15,0x00,0x24,0x80,0xC4,0x60,0x0C,0x00}; const u8g_fntpgm_uint8_t fontpage_206_223_223[45] U8G_FONT_SECTION("fontpage_206_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0x80,0x24, - 0x80,0x24,0x80,0x3f,0x80,0x0e,0x00,0x15,0x00,0x24,0x80,0xc4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x04,0x00,0x3F,0x80,0x24, + 0x80,0x24,0x80,0x3F,0x80,0x0E,0x00,0x15,0x00,0x24,0x80,0xC4,0x60}; const u8g_fntpgm_uint8_t fontpage_206_225_225[45] U8G_FONT_SECTION("fontpage_206_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x80,0x29,0x00,0x46,0x00,0x0a, - 0x00,0x35,0x80,0xc4,0x60,0x3f,0x80,0x15,0x00,0x24,0x80,0xdc,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x1F,0x80,0x29,0x00,0x46,0x00,0x0A, + 0x00,0x35,0x80,0xC4,0x60,0x3F,0x80,0x15,0x00,0x24,0x80,0xDC,0x40}; const u8g_fntpgm_uint8_t fontpage_206_229_229[45] U8G_FONT_SECTION("fontpage_206_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x24,0x80,0x15,0x00,0xff, - 0xe0,0x04,0x00,0x0e,0x00,0x15,0x00,0x24,0x80,0xc4,0x60,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x24,0x80,0x15,0x00,0xFF, + 0xE0,0x04,0x00,0x0E,0x00,0x15,0x00,0x24,0x80,0xC4,0x60,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_206_255_255[45] U8G_FONT_SECTION("fontpage_206_255_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xfc,0x00,0x24,0x00,0x27, - 0xc0,0x74,0x40,0x6e,0x40,0xa5,0x80,0x28,0x80,0x29,0x40,0x36,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0xC0,0x27,0x00,0xFC,0x00,0x24,0x00,0x27, + 0xC0,0x74,0x40,0x6E,0x40,0xA5,0x80,0x28,0x80,0x29,0x40,0x36,0x20}; const u8g_fntpgm_uint8_t fontpage_207_151_151[45] U8G_FONT_SECTION("fontpage_207_151_151") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xff,0xe0,0x21,0x00,0x71, - 0x00,0x6b,0x80,0xa5,0x40,0xa9,0x20,0x21,0x00,0x21,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0xFF,0xE0,0x21,0x00,0x71, + 0x00,0x6B,0x80,0xA5,0x40,0xA9,0x20,0x21,0x00,0x21,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_207_241_241[45] U8G_FONT_SECTION("fontpage_207_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0xff,0xe0,0x21,0x00,0x71, - 0x00,0x69,0x00,0xa7,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x21,0x00,0xFF,0xE0,0x21,0x00,0x71, + 0x00,0x69,0x00,0xA7,0xC0,0xA1,0x00,0x21,0x00,0x21,0x00,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_208_161_161[45] U8G_FONT_SECTION("fontpage_208_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0x2f,0xe0,0xf0,0x00,0x22, - 0x80,0x74,0x40,0x6a,0xa0,0xa2,0x80,0x21,0x00,0x22,0x80,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x21,0x00,0x2F,0xE0,0xF0,0x00,0x22, + 0x80,0x74,0x40,0x6A,0xA0,0xA2,0x80,0x21,0x00,0x22,0x80,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_208_188_188[45] U8G_FONT_SECTION("fontpage_208_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x40,0x2a,0x80,0x21, - 0x00,0x72,0x80,0x6c,0x60,0xa7,0xc0,0x24,0x40,0x24,0x40,0x27,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0xF4,0x40,0x2A,0x80,0x21, + 0x00,0x72,0x80,0x6C,0x60,0xA7,0xC0,0x24,0x40,0x24,0x40,0x27,0xC0}; const u8g_fntpgm_uint8_t fontpage_209_175_175[45] U8G_FONT_SECTION("fontpage_209_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x40,0x22,0x80,0x27,0xc0,0xf9,0x40,0x27, - 0xc0,0x75,0x00,0x6f,0xe0,0xa3,0x20,0x25,0x20,0x29,0xc0,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x40,0x22,0x80,0x27,0xC0,0xF9,0x40,0x27, + 0xC0,0x75,0x00,0x6F,0xE0,0xA3,0x20,0x25,0x20,0x29,0xC0,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_209_192_192[45] U8G_FONT_SECTION("fontpage_209_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x22,0x80,0xfc,0x40,0x28,0x20,0x27, - 0xc0,0x70,0x00,0x69,0x20,0xa4,0xa0,0x22,0x40,0x22,0x80,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x22,0x80,0xFC,0x40,0x28,0x20,0x27, + 0xC0,0x70,0x00,0x69,0x20,0xA4,0xA0,0x22,0x40,0x22,0x80,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_211_253_253[45] U8G_FONT_SECTION("fontpage_211_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x2f,0xe0,0xfa,0xa0,0x2f,0xe0,0x2a, - 0xa0,0x3f,0xe0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x27,0xc0,0x24,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x2F,0xE0,0xFA,0xA0,0x2F,0xE0,0x2A, + 0xA0,0x3F,0xE0,0x64,0x40,0xA7,0xC0,0x24,0x40,0x27,0xC0,0x24,0x40}; const u8g_fntpgm_uint8_t fontpage_212_161_161[45] U8G_FONT_SECTION("fontpage_212_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x2f,0xe0,0xf2,0x80,0x27,0xc0,0x34, - 0x40,0x6f,0xc0,0x64,0x40,0xaf,0xe0,0x21,0x00,0x22,0x80,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x2F,0xE0,0xF2,0x80,0x27,0xC0,0x34, + 0x40,0x6F,0xC0,0x64,0x40,0xAF,0xE0,0x21,0x00,0x22,0x80,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_212_217_217[45] U8G_FONT_SECTION("fontpage_212_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0x40,0x2a,0xa0,0xf4,0x40,0x27,0xc0,0x38, - 0x20,0x27,0xc0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x22,0x80,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0x40,0x2A,0xA0,0xF4,0x40,0x27,0xC0,0x38, + 0x20,0x27,0xC0,0x64,0x40,0xA7,0xC0,0x24,0x40,0x22,0x80,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_214_226_227[71] U8G_FONT_SECTION("fontpage_214_226_227") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe3,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27, - 0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xff,0xc0,0x0b,0x0a,0x14, - 0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x04,0x00,0x24,0x00,0x27,0xc0,0x24,0x00,0x24, - 0x00,0x24,0x00,0x24,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE3,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27, + 0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xFF,0xC0,0x0B,0x0A,0x14, + 0x0C,0x00,0xFF,0xFF,0xE0,0x04,0x00,0x04,0x00,0x24,0x00,0x27,0xC0,0x24,0x00,0x24, + 0x00,0x24,0x00,0x24,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_214_229_229[45] U8G_FONT_SECTION("fontpage_214_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x27,0xc0,0x24,0x00,0x24,0x00,0xff, - 0xe0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xf8,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x27,0xC0,0x24,0x00,0x24,0x00,0xFF, + 0xE0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xF8,0x00}; const u8g_fntpgm_uint8_t fontpage_215_212_212[45] U8G_FONT_SECTION("fontpage_215_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xf6, - 0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xb4,0x40,0xc4,0x40,0x83,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xF6, + 0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xB4,0x40,0xC4,0x40,0x83,0xC0}; const u8g_fntpgm_uint8_t fontpage_217_161_161[45] U8G_FONT_SECTION("fontpage_217_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0x24,0x80,0x84,0x80,0x48,0xe0,0x10, - 0x00,0x2f,0xc0,0x24,0x80,0x42,0x80,0xc3,0x00,0x44,0x80,0x58,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0x80,0x24,0x80,0x84,0x80,0x48,0xE0,0x10, + 0x00,0x2F,0xC0,0x24,0x80,0x42,0x80,0xC3,0x00,0x44,0x80,0x58,0x60}; const u8g_fntpgm_uint8_t fontpage_217_226_226[45] U8G_FONT_SECTION("fontpage_217_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x8f,0xe0,0x49,0x20,0x19, - 0x00,0x2f,0xc0,0x28,0x40,0xca,0x80,0x49,0x00,0x52,0x80,0x6c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x21,0x00,0x8F,0xE0,0x49,0x20,0x19, + 0x00,0x2F,0xC0,0x28,0x40,0xCA,0x80,0x49,0x00,0x52,0x80,0x6C,0x60}; const u8g_fntpgm_uint8_t fontpage_217_232_232[45] U8G_FONT_SECTION("fontpage_217_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x21,0x00,0x8f,0xe0,0x51,0x00,0x11, - 0x00,0x21,0x00,0x27,0xc0,0xc1,0x00,0x41,0x00,0x41,0x00,0x4f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x21,0x00,0x8F,0xE0,0x51,0x00,0x11, + 0x00,0x21,0x00,0x27,0xC0,0xC1,0x00,0x41,0x00,0x41,0x00,0x4F,0xE0}; const u8g_fntpgm_uint8_t fontpage_218_151_151[45] U8G_FONT_SECTION("fontpage_218_151_151") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x25,0x00,0x87,0xc0,0x49,0x00,0x21, - 0x00,0x3f,0xe0,0x42,0x80,0xc2,0x80,0x44,0xa0,0x48,0xa0,0x50,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x25,0x00,0x87,0xC0,0x49,0x00,0x21, + 0x00,0x3F,0xE0,0x42,0x80,0xC2,0x80,0x44,0xA0,0x48,0xA0,0x50,0xE0}; const u8g_fntpgm_uint8_t fontpage_218_187_187[45] U8G_FONT_SECTION("fontpage_218_187_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x81,0x00,0x5f,0xe0,0x11, - 0x00,0x21,0x00,0x27,0xc0,0xc4,0x40,0x44,0x40,0x47,0xc0,0x44,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBB,0xBB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0xC0,0x27,0x00,0x81,0x00,0x5F,0xE0,0x11, + 0x00,0x21,0x00,0x27,0xC0,0xC4,0x40,0x44,0x40,0x47,0xC0,0x44,0x40}; const u8g_fntpgm_uint8_t fontpage_218_193_193[45] U8G_FONT_SECTION("fontpage_218_193_193") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x82,0x00,0x5f,0xe0,0x04,0x00,0x88,0x80,0x5f, - 0xc0,0x20,0x40,0x2a,0x80,0xca,0x80,0x4a,0xa0,0x4a,0xa0,0x52,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC1,0xC1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x82,0x00,0x5F,0xE0,0x04,0x00,0x88,0x80,0x5F, + 0xC0,0x20,0x40,0x2A,0x80,0xCA,0x80,0x4A,0xA0,0x4A,0xA0,0x52,0x60}; const u8g_fntpgm_uint8_t fontpage_218_203_203[45] U8G_FONT_SECTION("fontpage_218_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xbe,0x20,0x62,0xa0,0x2a,0xa0,0xaa,0xa0,0x6a, - 0xa0,0x2a,0xa0,0x2a,0xa0,0xc8,0xa0,0x54,0x20,0x62,0x20,0x40,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xBE,0x20,0x62,0xA0,0x2A,0xA0,0xAA,0xA0,0x6A, + 0xA0,0x2A,0xA0,0x2A,0xA0,0xC8,0xA0,0x54,0x20,0x62,0x20,0x40,0xE0}; const u8g_fntpgm_uint8_t fontpage_219_136_136[45] U8G_FONT_SECTION("fontpage_219_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xe0,0x14, - 0x20,0x27,0xe0,0x24,0x20,0xc7,0xe0,0x44,0x20,0x44,0x20,0x44,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xE0,0x14, + 0x20,0x27,0xE0,0x24,0x20,0xC7,0xE0,0x44,0x20,0x44,0x20,0x44,0x60}; const u8g_fntpgm_uint8_t fontpage_219_225_225[45] U8G_FONT_SECTION("fontpage_219_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54, - 0x40,0x29,0x20,0x25,0x40,0xc5,0x80,0x49,0x00,0x42,0x80,0x5c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54, + 0x40,0x29,0x20,0x25,0x40,0xC5,0x80,0x49,0x00,0x42,0x80,0x5C,0x60}; const u8g_fntpgm_uint8_t fontpage_219_247_247[45] U8G_FONT_SECTION("fontpage_219_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xc0,0x28,0x40,0x0f,0xc0,0x88,0x40,0x5f, - 0xc0,0x29,0x20,0x29,0x40,0xcf,0x80,0x49,0x20,0x4b,0x20,0x4c,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xC0,0x28,0x40,0x0F,0xC0,0x88,0x40,0x5F, + 0xC0,0x29,0x20,0x29,0x40,0xCF,0x80,0x49,0x20,0x4B,0x20,0x4C,0xE0}; const u8g_fntpgm_uint8_t fontpage_220_133_133[45] U8G_FONT_SECTION("fontpage_220_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x01,0x00,0x97,0xc0,0x51, - 0x00,0x2f,0xe0,0x24,0x40,0xc7,0x40,0x45,0xc0,0x44,0x40,0x44,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x2F,0xE0,0x01,0x00,0x97,0xC0,0x51, + 0x00,0x2F,0xE0,0x24,0x40,0xC7,0x40,0x45,0xC0,0x44,0x40,0x44,0xC0}; const u8g_fntpgm_uint8_t fontpage_220_169_169[45] U8G_FONT_SECTION("fontpage_220_169_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x07,0xc0,0x94,0x40,0x57, - 0xc0,0x20,0x00,0x2f,0xe0,0xca,0xa0,0x4a,0xa0,0x4a,0xa0,0x5f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xA9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0x24,0x40,0x07,0xC0,0x94,0x40,0x57, + 0xC0,0x20,0x00,0x2F,0xE0,0xCA,0xA0,0x4A,0xA0,0x4A,0xA0,0x5F,0xE0}; const u8g_fntpgm_uint8_t fontpage_220_184_184[45] U8G_FONT_SECTION("fontpage_220_184_184") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb8,0xb8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x48,0x80,0x24,0xe0,0x1f,0x00,0x88,0xe0,0x5e, - 0x20,0x2a,0x40,0x2b,0xe0,0xca,0x40,0x4a,0x40,0x52,0x40,0x66,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB8,0xB8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x48,0x80,0x24,0xE0,0x1F,0x00,0x88,0xE0,0x5E, + 0x20,0x2A,0x40,0x2B,0xE0,0xCA,0x40,0x4A,0x40,0x52,0x40,0x66,0xC0}; const u8g_fntpgm_uint8_t fontpage_221_144_144[45] U8G_FONT_SECTION("fontpage_221_144_144") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x80,0x8b,0xe0,0x4a,0x20,0x1b, - 0xe0,0x2a,0x20,0x2b,0xe0,0xc8,0x80,0x4a,0xc0,0x54,0xa0,0x69,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x28,0x80,0x8B,0xE0,0x4A,0x20,0x1B, + 0xE0,0x2A,0x20,0x2B,0xE0,0xC8,0x80,0x4A,0xC0,0x54,0xA0,0x69,0xA0}; const u8g_fntpgm_uint8_t fontpage_221_162_162[45] U8G_FONT_SECTION("fontpage_221_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x40,0x22,0x80,0x0f,0xe0,0x82,0x80,0x44, - 0x40,0x28,0x20,0x3f,0xe0,0xca,0xa0,0x4a,0xa0,0x4a,0xa0,0x5f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x40,0x22,0x80,0x0F,0xE0,0x82,0x80,0x44, + 0x40,0x28,0x20,0x3F,0xE0,0xCA,0xA0,0x4A,0xA0,0x4A,0xA0,0x5F,0xE0}; const u8g_fntpgm_uint8_t fontpage_221_209_209[45] U8G_FONT_SECTION("fontpage_221_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x07,0x40,0x85,0x40,0x5f, - 0xe0,0x34,0x60,0x27,0xc0,0xc4,0x40,0x47,0xc0,0x44,0x40,0x44,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0x24,0x40,0x07,0x40,0x85,0x40,0x5F, + 0xE0,0x34,0x60,0x27,0xC0,0xC4,0x40,0x47,0xC0,0x44,0x40,0x44,0xC0}; const u8g_fntpgm_uint8_t fontpage_222_143_143[45] U8G_FONT_SECTION("fontpage_222_143_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x20,0x0f,0xe0,0x98,0x00,0x5f, - 0xe0,0x29,0x00,0x2f,0xe0,0xcd,0xa0,0x4b,0x60,0x5d,0xa0,0x49,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x8F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x28,0x20,0x0F,0xE0,0x98,0x00,0x5F, + 0xE0,0x29,0x00,0x2F,0xE0,0xCD,0xA0,0x4B,0x60,0x5D,0xA0,0x49,0x60}; const u8g_fntpgm_uint8_t fontpage_223_192_192[45] U8G_FONT_SECTION("fontpage_223_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x3e,0x80,0x12,0xe0,0x9e,0xa0,0x53, - 0xa0,0x3e,0xa0,0x28,0xa0,0xdf,0xa0,0x4a,0x40,0x52,0xa0,0x65,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x80,0x3E,0x80,0x12,0xE0,0x9E,0xA0,0x53, + 0xA0,0x3E,0xA0,0x28,0xA0,0xDF,0xA0,0x4A,0x40,0x52,0xA0,0x65,0x20}; const u8g_fntpgm_uint8_t fontpage_224_239_239[45] U8G_FONT_SECTION("fontpage_224_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x17,0xe0,0x54,0x80,0x58,0x80,0x50, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x17,0xE0,0x54,0x80,0x58,0x80,0x50, 0x80,0x90,0x80,0x10,0x80,0x10,0x80,0x28,0x80,0x44,0x80,0x81,0x80}; const u8g_fntpgm_uint8_t fontpage_225_185_185[45] U8G_FONT_SECTION("fontpage_225_185_185") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x3f, - 0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x00,0x00,0x52,0x40,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB9,0xB9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x07,0xC0,0x04,0x00,0x3F, + 0x80,0x20,0x80,0x20,0x80,0x3F,0x80,0x00,0x00,0x52,0x40,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_225_237_237[45] U8G_FONT_SECTION("fontpage_225_237_237") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xf7,0x80,0x22,0x80,0x32,0x80,0x66, - 0x80,0xa3,0x80,0x24,0xa0,0x68,0x60,0x00,0x00,0x52,0x40,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xED,0xED,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0xF7,0x80,0x22,0x80,0x32,0x80,0x66, + 0x80,0xA3,0x80,0x24,0xA0,0x68,0x60,0x00,0x00,0x52,0x40,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_228_199_199[45] U8G_FONT_SECTION("fontpage_228_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x21,0x00,0x3f,0xe0,0x20, - 0x00,0x20,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x21,0x00,0x3F,0xE0,0x20, + 0x00,0x20,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_228_233_233[45] U8G_FONT_SECTION("fontpage_228_233_233") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xa2,0x00,0xa7,0xe0,0xfa,0xa0,0xa2, - 0xa0,0x32,0xa0,0x64,0xa0,0xa9,0x20,0x22,0x20,0x25,0x20,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0xA2,0x00,0xA7,0xE0,0xFA,0xA0,0xA2, + 0xA0,0x32,0xA0,0x64,0xA0,0xA9,0x20,0x22,0x20,0x25,0x20,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_228_249_249[45] U8G_FONT_SECTION("fontpage_228_249_249") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xa7,0xc0,0xf1,0x00,0xa1,0x00,0xaf, - 0xe0,0x30,0x80,0x6f,0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x23,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xA7,0xC0,0xF1,0x00,0xA1,0x00,0xAF, + 0xE0,0x30,0x80,0x6F,0xE0,0xA4,0x80,0x22,0x80,0x20,0x80,0x23,0x80}; const u8g_fntpgm_uint8_t fontpage_231_135_135[45] U8G_FONT_SECTION("fontpage_231_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x88,0x40,0x52,0x80,0x0c, - 0x00,0x2a,0x80,0xdf,0x40,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x88,0x40,0x52,0x80,0x0C, + 0x00,0x2A,0x80,0xDF,0x40,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_231_175_175[45] U8G_FONT_SECTION("fontpage_231_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf9,0x00,0x21,0x00,0x23,0x00,0x73, - 0x80,0x25,0x40,0x25,0x20,0x39,0x20,0xc1,0x00,0x01,0x00,0x01,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x07,0xE0,0xF9,0x00,0x21,0x00,0x23,0x00,0x73, + 0x80,0x25,0x40,0x25,0x20,0x39,0x20,0xC1,0x00,0x01,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_234_168_168[45] U8G_FONT_SECTION("fontpage_234_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x44,0x40,0x7f,0xc0,0x44, - 0x40,0x44,0x40,0x7f,0xc0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x44,0x40,0x44,0x40,0x7F,0xC0,0x44, + 0x40,0x44,0x40,0x7F,0xC0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xC0}; const u8g_fntpgm_uint8_t fontpage_234_181_181[45] U8G_FONT_SECTION("fontpage_234_181_181") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb5,0xb5,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0xff, - 0x80,0x88,0x80,0x88,0x80,0xff,0x80,0x08,0x40,0x08,0x40,0x07,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB5,0xB5,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0xFF,0x80,0x88,0x80,0xFF, + 0x80,0x88,0x80,0x88,0x80,0xFF,0x80,0x08,0x40,0x08,0x40,0x07,0xC0}; const u8g_fntpgm_uint8_t fontpage_234_229_229[45] U8G_FONT_SECTION("fontpage_234_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xfb,0xc0,0xae,0x40,0xa9,0x80,0xfa, - 0x40,0xac,0x20,0xab,0xc0,0xaa,0x40,0xfa,0x40,0x8b,0xc0,0x02,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0xFB,0xC0,0xAE,0x40,0xA9,0x80,0xFA, + 0x40,0xAC,0x20,0xAB,0xC0,0xAA,0x40,0xFA,0x40,0x8B,0xC0,0x02,0x40}; const u8g_fntpgm_uint8_t fontpage_236_253_253[34] U8G_FONT_SECTION("fontpage_236_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x08,0x0b,0x0b,0x0c,0x02,0xff,0x10,0x20,0xff,0x81,0x81,0xff,0x81,0x81,0x81, - 0xff,0x81}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x08,0x0B,0x0B,0x0C,0x02,0xFF,0x10,0x20,0xFF,0x81,0x81,0xFF,0x81,0x81,0x81, + 0xFF,0x81}; const u8g_fntpgm_uint8_t fontpage_237_132_132[45] U8G_FONT_SECTION("fontpage_237_132_132") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x22,0x00,0x42,0x00,0xf7,0xc0,0x98,0x40,0x90, - 0x40,0xf4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xf0,0x40,0x91,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x22,0x00,0x42,0x00,0xF7,0xC0,0x98,0x40,0x90, + 0x40,0xF4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xF0,0x40,0x91,0x80}; const u8g_fntpgm_uint8_t fontpage_237_209_209[45] U8G_FONT_SECTION("fontpage_237_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x4a,0x00,0x4b,0xe0,0x4a,0x00,0x4c, - 0x80,0x48,0x40,0x08,0x00,0x7f,0xc0,0x4a,0x40,0x4a,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0A,0x00,0x4A,0x00,0x4B,0xE0,0x4A,0x00,0x4C, + 0x80,0x48,0x40,0x08,0x00,0x7F,0xC0,0x4A,0x40,0x4A,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_237_244_244[45] U8G_FONT_SECTION("fontpage_237_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0x80,0x20, - 0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x20,0x80,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x04,0x00,0x3F,0x80,0x20, + 0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x20,0x80,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_238_129_129[45] U8G_FONT_SECTION("fontpage_238_129_129") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x14,0x80,0x25,0x60,0x46,0x20,0x1f, - 0x80,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x14,0x80,0x25,0x60,0x46,0x20,0x1F, + 0x80,0x30,0x80,0xDF,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80}; const u8g_fntpgm_uint8_t fontpage_238_160_160[45] U8G_FONT_SECTION("fontpage_238_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf4,0x20,0x97,0xe0,0xf4,0x80,0x94, - 0x80,0x97,0xe0,0xf4,0x80,0x94,0x80,0xf4,0xa0,0x96,0x60,0x04,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x07,0xE0,0xF4,0x20,0x97,0xE0,0xF4,0x80,0x94, + 0x80,0x97,0xE0,0xF4,0x80,0x94,0x80,0xF4,0xA0,0x96,0x60,0x04,0x20}; const u8g_fntpgm_uint8_t fontpage_240_238_238[45] U8G_FONT_SECTION("fontpage_240_238_238") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xf3,0xc0,0x24,0x80,0x4f,0xe0,0xf5, - 0x20,0x57,0xe0,0x55,0x20,0x57,0xe0,0x75,0x20,0x45,0x20,0x08,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEE,0xEE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0xF3,0xC0,0x24,0x80,0x4F,0xE0,0xF5, + 0x20,0x57,0xE0,0x55,0x20,0x57,0xE0,0x75,0x20,0x45,0x20,0x08,0x60}; const u8g_fntpgm_uint8_t fontpage_243_187_187[45] U8G_FONT_SECTION("fontpage_243_187_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x2a,0x80,0x24,0x80,0x2a, - 0x80,0x3f,0x80,0x04,0x00,0x7f,0xc0,0x49,0x40,0x5f,0x40,0x40,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBB,0xBB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x2A,0x80,0x24,0x80,0x2A, + 0x80,0x3F,0x80,0x04,0x00,0x7F,0xC0,0x49,0x40,0x5F,0x40,0x40,0xC0}; const u8g_fntpgm_uint8_t fontpage_243_251_251[45] U8G_FONT_SECTION("fontpage_243_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xe3,0xe0,0x24,0x20,0xfa,0x40,0x21, - 0x80,0x36,0x80,0x29,0xe0,0x62,0x20,0xa5,0x40,0x20,0x80,0x27,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xE3,0xE0,0x24,0x20,0xFA,0x40,0x21, + 0x80,0x36,0x80,0x29,0xE0,0x62,0x20,0xA5,0x40,0x20,0x80,0x27,0x00}; const u8g_fntpgm_uint8_t fontpage_244_250_250[45] U8G_FONT_SECTION("fontpage_244_250_250") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x89,0x00,0x10, - 0x80,0x60,0x40,0x1f,0x80,0x04,0x00,0x04,0x00,0x04,0x00,0x7f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x89,0x00,0x10, + 0x80,0x60,0x40,0x1F,0x80,0x04,0x00,0x04,0x00,0x04,0x00,0x7F,0xE0}; const u8g_fntpgm_uint8_t fontpage_245_239_239[45] U8G_FONT_SECTION("fontpage_245_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x45,0x20,0xf7,0xe0,0x00,0x00,0xaf, - 0xe0,0xa1,0x00,0xaf,0xe0,0x4a,0xa0,0x6a,0xa0,0x8a,0xa0,0x08,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x81,0x00,0x45,0x20,0xF7,0xE0,0x00,0x00,0xAF, + 0xE0,0xA1,0x00,0xAF,0xE0,0x4A,0xA0,0x6A,0xA0,0x8A,0xA0,0x08,0x60}; const u8g_fntpgm_uint8_t fontpage_246_172_172[45] U8G_FONT_SECTION("fontpage_246_172_172") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x54,0x80,0xbf,0xc0,0x04, - 0x40,0x7f,0xc0,0x44,0x00,0x7f,0xe0,0x14,0x20,0x24,0xc0,0xc4,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x7B,0xE0,0x54,0x80,0xBF,0xC0,0x04, + 0x40,0x7F,0xC0,0x44,0x00,0x7F,0xE0,0x14,0x20,0x24,0xC0,0xC4,0x00}; const u8g_fntpgm_uint8_t fontpage_246_201_201[45] U8G_FONT_SECTION("fontpage_246_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x94,0x80,0x7f,0xc0,0x04, - 0x00,0xff,0xe0,0x01,0x00,0x7f,0xc0,0x11,0x00,0x09,0x00,0x03,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x7B,0xE0,0x94,0x80,0x7F,0xC0,0x04, + 0x00,0xFF,0xE0,0x01,0x00,0x7F,0xC0,0x11,0x00,0x09,0x00,0x03,0x00}; const u8g_fntpgm_uint8_t fontpage_247_128_128[45] U8G_FONT_SECTION("fontpage_247_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x94,0x80,0x27,0xc0,0x50, - 0x40,0x4f,0x40,0x49,0x40,0x4f,0x40,0x49,0x40,0x4f,0x40,0x40,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x7B,0xE0,0x94,0x80,0x27,0xC0,0x50, + 0x40,0x4F,0x40,0x49,0x40,0x4F,0x40,0x49,0x40,0x4F,0x40,0x40,0xC0}; const u8g_fntpgm_uint8_t fontpage_247_177_177[45] U8G_FONT_SECTION("fontpage_247_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x3d,0xe0,0x4a,0x80,0x94,0x40,0x7f, - 0xc0,0x12,0x40,0x3b,0xc0,0x56,0x40,0x93,0xc0,0x12,0x40,0x13,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x3D,0xE0,0x4A,0x80,0x94,0x40,0x7F, + 0xC0,0x12,0x40,0x3B,0xC0,0x56,0x40,0x93,0xC0,0x12,0x40,0x13,0xC0}; const u8g_fntpgm_uint8_t fontpage_248_251_251[45] U8G_FONT_SECTION("fontpage_248_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x15,0x00,0xff,0xe0,0x15,0x00,0x24, - 0x80,0x40,0x40,0x04,0x00,0xff,0xe0,0x0a,0x00,0x11,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x80,0x15,0x00,0xFF,0xE0,0x15,0x00,0x24, + 0x80,0x40,0x40,0x04,0x00,0xFF,0xE0,0x0A,0x00,0x11,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_250_162_162[45] U8G_FONT_SECTION("fontpage_250_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x91, - 0x20,0x3e,0x00,0x08,0x80,0x7f,0xc0,0x04,0x40,0x24,0x80,0xcc,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x91, + 0x20,0x3E,0x00,0x08,0x80,0x7F,0xC0,0x04,0x40,0x24,0x80,0xCC,0x60}; const u8g_fntpgm_uint8_t fontpage_250_171_171[45] U8G_FONT_SECTION("fontpage_250_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x51,0x40,0x5d,0x80,0x51,0x20,0xfd, - 0xe0,0x08,0x80,0x3f,0x00,0x08,0x80,0x7f,0xc0,0x24,0x80,0xcc,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x51,0x40,0x5D,0x80,0x51,0x20,0xFD, + 0xE0,0x08,0x80,0x3F,0x00,0x08,0x80,0x7F,0xC0,0x24,0x80,0xCC,0x60}; const u8g_fntpgm_uint8_t fontpage_253_162_162[45] U8G_FONT_SECTION("fontpage_253_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xc0,0x41,0x00,0x51,0x00,0xe1, - 0x00,0x21,0x00,0x41,0x00,0xf1,0x00,0x01,0x00,0x31,0x00,0xcf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xC0,0x41,0x00,0x51,0x00,0xE1, + 0x00,0x21,0x00,0x41,0x00,0xF1,0x00,0x01,0x00,0x31,0x00,0xCF,0xE0}; const u8g_fntpgm_uint8_t fontpage_253_167_167[45] U8G_FONT_SECTION("fontpage_253_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xc0,0x22,0x40,0x4a,0x40,0x52,0x80,0xe2, - 0xe0,0x22,0x20,0x42,0x20,0xf5,0x40,0x0c,0x80,0x35,0x40,0xca,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xC0,0x22,0x40,0x4A,0x40,0x52,0x80,0xE2, + 0xE0,0x22,0x20,0x42,0x20,0xF5,0x40,0x0C,0x80,0x35,0x40,0xCA,0x20}; const u8g_fntpgm_uint8_t fontpage_253_191_191[45] U8G_FONT_SECTION("fontpage_253_191_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0x43,0xc0,0x4e,0x00,0xe3, - 0xe0,0x2e,0x00,0x42,0x40,0xf2,0x80,0x09,0x20,0x32,0xa0,0xcc,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x22,0x40,0x43,0xC0,0x4E,0x00,0xE3, + 0xE0,0x2E,0x00,0x42,0x40,0xF2,0x80,0x09,0x20,0x32,0xA0,0xCC,0x60}; const u8g_fntpgm_uint8_t fontpage_253_198_198[45] U8G_FONT_SECTION("fontpage_253_198_198") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0x44,0xa0,0x54,0xa0,0xe4, - 0xa0,0x27,0xe0,0x44,0xa0,0xf4,0xa0,0x04,0xa0,0x37,0xe0,0xc4,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xE0,0x44,0xA0,0x54,0xA0,0xE4, + 0xA0,0x27,0xE0,0x44,0xA0,0xF4,0xA0,0x04,0xA0,0x37,0xE0,0xC4,0x20}; const u8g_fntpgm_uint8_t fontpage_253_200_200[45] U8G_FONT_SECTION("fontpage_253_200_200") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0x54,0x40,0xea,0x80,0x21, - 0x00,0x42,0x80,0xec,0x60,0x01,0x00,0x30,0xc0,0xc3,0x00,0x00,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0x54,0x40,0xEA,0x80,0x21, + 0x00,0x42,0x80,0xEC,0x60,0x01,0x00,0x30,0xC0,0xC3,0x00,0x00,0xC0}; const u8g_fntpgm_uint8_t fontpage_253_211_211[45] U8G_FONT_SECTION("fontpage_253_211_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x4f,0xe0,0x51,0x00,0xe7, - 0xc0,0x20,0x00,0x47,0xc0,0xf4,0x40,0x0c,0x40,0x37,0xc0,0xc4,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD3,0xD3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x4F,0xE0,0x51,0x00,0xE7, + 0xC0,0x20,0x00,0x47,0xC0,0xF4,0x40,0x0C,0x40,0x37,0xC0,0xC4,0x40}; const u8g_fntpgm_uint8_t fontpage_253_217_217[45] U8G_FONT_SECTION("fontpage_253_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x42,0x80,0x54,0x40,0xe8, - 0x20,0x27,0xc0,0x40,0x00,0xf7,0xc0,0x0c,0x40,0x34,0x40,0xc7,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x42,0x80,0x54,0x40,0xE8, + 0x20,0x27,0xC0,0x40,0x00,0xF7,0xC0,0x0C,0x40,0x34,0x40,0xC7,0xC0}; const u8g_fntpgm_uint8_t fontpage_253_223_223[45] U8G_FONT_SECTION("fontpage_253_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x42,0x00,0x54,0x40,0xef, - 0xe0,0x22,0xa0,0x42,0x80,0xf2,0x80,0x02,0xa0,0x34,0xa0,0xc8,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x42,0x00,0x54,0x40,0xEF, + 0xE0,0x22,0xA0,0x42,0x80,0xF2,0x80,0x02,0xA0,0x34,0xA0,0xC8,0xE0}; const u8g_fntpgm_uint8_t fontpage_253_231_231[45] U8G_FONT_SECTION("fontpage_253_231_231") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe7,0xe7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x26,0xa0,0x45,0xc0,0x54,0x80,0xe7, - 0xe0,0x24,0x80,0x45,0xc0,0xf6,0xa0,0x04,0x80,0x34,0x80,0xc7,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE7,0xE7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x80,0x26,0xA0,0x45,0xC0,0x54,0x80,0xE7, + 0xE0,0x24,0x80,0x45,0xC0,0xF6,0xA0,0x04,0x80,0x34,0x80,0xC7,0xE0}; const u8g_fntpgm_uint8_t fontpage_253_234_234[45] U8G_FONT_SECTION("fontpage_253_234_234") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xa0,0x49,0x40,0x57,0xe0,0xe1, - 0x00,0x23,0xe0,0x46,0x20,0xf3,0xe0,0x0a,0x20,0x33,0xe0,0xc2,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEA,0xEA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xA0,0x49,0x40,0x57,0xE0,0xE1, + 0x00,0x23,0xE0,0x46,0x20,0xF3,0xE0,0x0A,0x20,0x33,0xE0,0xC2,0x20}; const u8g_fntpgm_uint8_t fontpage_253_237_237[45] U8G_FONT_SECTION("fontpage_253_237_237") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xc0,0x41,0x00,0x57,0xe0,0xe4, - 0xa0,0x2a,0x80,0x44,0x80,0xef,0xe0,0x01,0x00,0x32,0xc0,0xcc,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xED,0xED,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xC0,0x41,0x00,0x57,0xE0,0xE4, + 0xA0,0x2A,0x80,0x44,0x80,0xEF,0xE0,0x01,0x00,0x32,0xC0,0xCC,0x20}; const u8g_fntpgm_uint8_t fontpage_253_255_255[45] U8G_FONT_SECTION("fontpage_253_255_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x20,0x40,0x43,0xc0,0xf0,0x40,0x2f, - 0xe0,0x41,0x20,0xf5,0x40,0x03,0x80,0x35,0x40,0xc9,0x20,0x03,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x20,0x40,0x43,0xC0,0xF0,0x40,0x2F, + 0xE0,0x41,0x20,0xF5,0x40,0x03,0x80,0x35,0x40,0xC9,0x20,0x03,0x00}; const u8g_fntpgm_uint8_t fontpage_254_150_150[45] U8G_FONT_SECTION("fontpage_254_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x48,0x20,0x5f,0xe0,0xe8, - 0x00,0x2f,0xe0,0x4a,0xa0,0xff,0xe0,0x0a,0xa0,0x3a,0xa0,0xc8,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x48,0x20,0x5F,0xE0,0xE8, + 0x00,0x2F,0xE0,0x4A,0xA0,0xFF,0xE0,0x0A,0xA0,0x3A,0xA0,0xC8,0x60}; const u8g_fntpgm_uint8_t fontpage_254_186_186[45] U8G_FONT_SECTION("fontpage_254_186_186") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x41,0x00,0x7b,0xc0,0xa1,0x40,0x21, - 0x40,0xff,0xe0,0x21,0x00,0xa9,0x00,0xaa,0x80,0xfa,0x40,0x04,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBA,0xBA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x41,0x00,0x7B,0xC0,0xA1,0x40,0x21, + 0x40,0xFF,0xE0,0x21,0x00,0xA9,0x00,0xAA,0x80,0xFA,0x40,0x04,0x20}; const u8g_fntpgm_uint8_t fontpage_254_209_209[45] U8G_FONT_SECTION("fontpage_254_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x91,0x40,0xd5,0x40,0xa2, - 0x40,0x92,0x40,0xad,0x40,0xc5,0x40,0x88,0x40,0x80,0x40,0x81,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x80,0x40,0x91,0x40,0xD5,0x40,0xA2, + 0x40,0x92,0x40,0xAD,0x40,0xC5,0x40,0x88,0x40,0x80,0x40,0x81,0xC0}; const u8g_fntpgm_uint8_t fontpage_254_238_238[45] U8G_FONT_SECTION("fontpage_254_238_238") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x4a,0x40,0x7f,0xc0,0x04,0x00,0xff, - 0xe0,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEE,0xEE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x4A,0x40,0x7F,0xC0,0x04,0x00,0xFF, + 0xE0,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_254_242_242[45] U8G_FONT_SECTION("fontpage_254_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x49,0x20,0x7f,0xe0,0x04,0x40,0x3f, - 0x80,0x05,0x00,0xff,0xe0,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xE0,0x49,0x20,0x7F,0xE0,0x04,0x40,0x3F, + 0x80,0x05,0x00,0xFF,0xE0,0x30,0x80,0xDF,0x80,0x10,0x80,0x1F,0x80}; const u8g_fntpgm_uint8_t fontpage_256_133_133[45] U8G_FONT_SECTION("fontpage_256_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x3f,0x40,0x04,0x80,0x05,0x00,0xff, - 0xe0,0x08,0x00,0x3f,0x80,0xd0,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x3F,0x40,0x04,0x80,0x05,0x00,0xFF, + 0xE0,0x08,0x00,0x3F,0x80,0xD0,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80}; const u8g_fntpgm_uint8_t fontpage_256_234_234[45] U8G_FONT_SECTION("fontpage_256_234_234") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x40,0xfa,0x80,0x57,0xc0,0x54,0x40,0x74, - 0x40,0x57,0xc0,0x71,0x00,0x5a,0xa0,0xf6,0xa0,0x1a,0x40,0x11,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEA,0xEA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x40,0xFA,0x80,0x57,0xC0,0x54,0x40,0x74, + 0x40,0x57,0xC0,0x71,0x00,0x5A,0xA0,0xF6,0xA0,0x1A,0x40,0x11,0xC0}; const u8g_fntpgm_uint8_t fontpage_257_253_253[45] U8G_FONT_SECTION("fontpage_257_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x49,0x40,0xfd,0x80,0x01,0x20,0x7d, - 0xe0,0x44,0x00,0x7d,0x40,0x45,0x80,0x7d,0x20,0x45,0x20,0x4d,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x49,0x40,0xFD,0x80,0x01,0x20,0x7D, + 0xE0,0x44,0x00,0x7D,0x40,0x45,0x80,0x7D,0x20,0x45,0x20,0x4D,0xE0}; const u8g_fntpgm_uint8_t fontpage_259_234_234[34] U8G_FONT_SECTION("fontpage_259_234_234") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, - 0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,0xfe,0x82,0x82,0xfe,0x82,0xfe,0x82,0x82, - 0xfe,0x82}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEA,0xEA,0x00,0x0A,0xFF,0x00, + 0x00,0x07,0x0B,0x0B,0x0C,0x02,0xFF,0x20,0xFE,0x82,0x82,0xFE,0x82,0xFE,0x82,0x82, + 0xFE,0x82}; const u8g_fntpgm_uint8_t fontpage_259_243_243[45] U8G_FONT_SECTION("fontpage_259_243_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x08,0x00,0x11,0x00,0x20,0x80,0x7f, - 0xc0,0x04,0x00,0x04,0x00,0x3f,0x80,0x04,0x00,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF3,0xF3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x08,0x00,0x11,0x00,0x20,0x80,0x7F, + 0xC0,0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_263_220_220[45] U8G_FONT_SECTION("fontpage_263_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x01,0xc0,0x7e, - 0x80,0x28,0x80,0x15,0x00,0xff,0xe0,0x15,0x00,0x24,0x80,0xc4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x11,0x00,0x01,0xC0,0x7E, + 0x80,0x28,0x80,0x15,0x00,0xFF,0xE0,0x15,0x00,0x24,0x80,0xC4,0x60}; const u8g_fntpgm_uint8_t fontpage_265_221_221[45] U8G_FONT_SECTION("fontpage_265_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x52,0x00,0x53, - 0xc0,0x55,0x00,0x10,0x80,0x7f,0xc0,0x4a,0x40,0x4a,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x11,0x00,0x52,0x00,0x53, + 0xC0,0x55,0x00,0x10,0x80,0x7F,0xC0,0x4A,0x40,0x4A,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_269_199_199[45] U8G_FONT_SECTION("fontpage_269_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0x27,0xe0,0xfc,0x20,0xaa, - 0x00,0xaa,0x40,0xfb,0x80,0x22,0x00,0x2a,0x20,0x3a,0x20,0xc9,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x20,0x80,0x27,0xE0,0xFC,0x20,0xAA, + 0x00,0xAA,0x40,0xFB,0x80,0x22,0x00,0x2A,0x20,0x3A,0x20,0xC9,0xE0}; const u8g_fntpgm_uint8_t fontpage_272_204_204[45] U8G_FONT_SECTION("fontpage_272_204_204") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x40,0x00,0x80,0x00,0x10,0x00,0x2f, - 0xe0,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x40,0x00,0x80,0x00,0x10,0x00,0x2F, + 0xE0,0x60,0x80,0xA0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80}; const u8g_fntpgm_uint8_t fontpage_273_171_171[45] U8G_FONT_SECTION("fontpage_273_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x20,0x80,0xff,0xe0,0x14,0xa0,0x2c, - 0x80,0x77,0xe0,0xad,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x80,0x20,0x80,0xFF,0xE0,0x14,0xA0,0x2C, + 0x80,0x77,0xE0,0xAD,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20}; const u8g_fntpgm_uint8_t fontpage_273_197_197[45] U8G_FONT_SECTION("fontpage_273_197_197") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x9f,0xe0,0x51,0x00,0x31,0x00,0xd7, - 0xc0,0x12,0x00,0xff,0xe0,0x0c,0x40,0x32,0x80,0xd1,0x00,0x18,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x9F,0xE0,0x51,0x00,0x31,0x00,0xD7, + 0xC0,0x12,0x00,0xFF,0xE0,0x0C,0x40,0x32,0x80,0xD1,0x00,0x18,0xE0}; const u8g_fntpgm_uint8_t fontpage_275_129_129[45] U8G_FONT_SECTION("fontpage_275_129_129") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x0a,0x00,0x7f,0xc0,0x4a,0x40,0x7f, - 0xc0,0x08,0x00,0xff,0xe0,0x11,0x00,0x3a,0x00,0x0f,0x00,0x70,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x0A,0x00,0x7F,0xC0,0x4A,0x40,0x7F, + 0xC0,0x08,0x00,0xFF,0xE0,0x11,0x00,0x3A,0x00,0x0F,0x00,0x70,0xC0}; const u8g_fntpgm_uint8_t fontpage_275_210_210[45] U8G_FONT_SECTION("fontpage_275_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x00,0x22,0x00,0x7f,0xc0,0xa4, - 0x40,0x3f,0xc0,0x24,0x40,0x3f,0xc0,0x24,0x40,0x45,0x40,0x80,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x1F,0x00,0x22,0x00,0x7F,0xC0,0xA4, + 0x40,0x3F,0xC0,0x24,0x40,0x3F,0xC0,0x24,0x40,0x45,0x40,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_279_161_161[45] U8G_FONT_SECTION("fontpage_279_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x01,0x00,0x0f,0xe0,0xe1, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x21,0x00,0x01,0x00,0x0F,0xE0,0xE1, 0x00,0x21,0x00,0x21,0x00,0x29,0x00,0x31,0x00,0x21,0x00,0x01,0x00}; const u8g_fntpgm_uint8_t fontpage_279_174_174[45] U8G_FONT_SECTION("fontpage_279_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x21,0x40,0x05,0x40,0x04,0x40,0xe4, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x21,0x40,0x05,0x40,0x04,0x40,0xE4, 0x40,0x22,0x80,0x22,0x80,0x29,0x00,0x32,0x80,0x24,0x40,0x08,0x20}; const u8g_fntpgm_uint8_t fontpage_279_190_190[45] U8G_FONT_SECTION("fontpage_279_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0x24,0x80,0x04,0x80,0x08,0xe0,0xe0, - 0x00,0x2f,0xc0,0x24,0x40,0x22,0x80,0x31,0x00,0x22,0x80,0x1c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0x80,0x24,0x80,0x04,0x80,0x08,0xE0,0xE0, + 0x00,0x2F,0xC0,0x24,0x40,0x22,0x80,0x31,0x00,0x22,0x80,0x1C,0x60}; const u8g_fntpgm_uint8_t fontpage_279_213_213[45] U8G_FONT_SECTION("fontpage_279_213_213") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x40,0x21,0x20,0x1f,0xe0,0x01,0x00,0xef, - 0x00,0x25,0x00,0x25,0x00,0x24,0xa0,0x26,0xa0,0x38,0x60,0x20,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD5,0xD5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x40,0x21,0x20,0x1F,0xE0,0x01,0x00,0xEF, + 0x00,0x25,0x00,0x25,0x00,0x24,0xA0,0x26,0xA0,0x38,0x60,0x20,0x20}; const u8g_fntpgm_uint8_t fontpage_279_239_239[45] U8G_FONT_SECTION("fontpage_279_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x24,0x40,0x04,0x40,0x07,0xc0,0xe0, - 0x00,0x27,0xc0,0x21,0x00,0x2f,0xe0,0x32,0x80,0x24,0x40,0x08,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0x24,0x40,0x04,0x40,0x07,0xC0,0xE0, + 0x00,0x27,0xC0,0x21,0x00,0x2F,0xE0,0x32,0x80,0x24,0x40,0x08,0x20}; const u8g_fntpgm_uint8_t fontpage_279_247_247[45] U8G_FONT_SECTION("fontpage_279_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x21,0x00,0x07,0xc0,0xe1, - 0x00,0x2f,0xe0,0x24,0x40,0x27,0xc0,0x24,0x40,0x37,0xc0,0x24,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x2F,0xE0,0x21,0x00,0x07,0xC0,0xE1, + 0x00,0x2F,0xE0,0x24,0x40,0x27,0xC0,0x24,0x40,0x37,0xC0,0x24,0x40}; const u8g_fntpgm_uint8_t fontpage_279_251_251[45] U8G_FONT_SECTION("fontpage_279_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x27,0xc0,0x01,0x00,0xef,0xe0,0x22, - 0xa0,0x25,0x80,0x22,0x80,0x2f,0xe0,0x31,0x80,0x22,0x40,0x0c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x27,0xC0,0x01,0x00,0xEF,0xE0,0x22, + 0xA0,0x25,0x80,0x22,0x80,0x2F,0xE0,0x31,0x80,0x22,0x40,0x0C,0x20}; const u8g_fntpgm_uint8_t fontpage_280_131_131[45] U8G_FONT_SECTION("fontpage_280_131_131") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x29,0x20,0x0b,0xa0,0xe9,0x20,0x2f, - 0xe0,0x28,0x20,0x2b,0xa0,0x2a,0xa0,0x3b,0xa0,0x28,0x20,0x10,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x83,0x83,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x29,0x20,0x0B,0xA0,0xE9,0x20,0x2F, + 0xE0,0x28,0x20,0x2B,0xA0,0x2A,0xA0,0x3B,0xA0,0x28,0x20,0x10,0xE0}; const u8g_fntpgm_uint8_t fontpage_282_165_165[45] U8G_FONT_SECTION("fontpage_282_165_165") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x89,0x00,0xa9,0xe0,0xa9,0x40,0xab, - 0x40,0xad,0x40,0xa9,0x40,0x21,0x40,0x50,0x80,0x49,0x40,0x8a,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF9,0x00,0x89,0x00,0xA9,0xE0,0xA9,0x40,0xAB, + 0x40,0xAD,0x40,0xA9,0x40,0x21,0x40,0x50,0x80,0x49,0x40,0x8A,0x20}; const u8g_fntpgm_uint8_t fontpage_282_170_170[45] U8G_FONT_SECTION("fontpage_282_170_170") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaa,0xaa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x35,0x80,0xdf,0x60,0x01, - 0x00,0x3f,0x80,0x24,0x80,0x24,0x80,0x2a,0x80,0x11,0x00,0x60,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAA,0xAA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x35,0x80,0xDF,0x60,0x01, + 0x00,0x3F,0x80,0x24,0x80,0x24,0x80,0x2A,0x80,0x11,0x00,0x60,0xC0}; const u8g_fntpgm_uint8_t fontpage_282_247_247[45] U8G_FONT_SECTION("fontpage_282_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x13,0xc0,0x7c,0x40,0x10,0x40,0xff, - 0xc0,0x12,0x00,0x52,0x20,0x5e,0x20,0x53,0xe0,0xb0,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x13,0xC0,0x7C,0x40,0x10,0x40,0xFF, + 0xC0,0x12,0x00,0x52,0x20,0x5E,0x20,0x53,0xE0,0xB0,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_283_133_133[45] U8G_FONT_SECTION("fontpage_283_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x11,0x40,0x7d,0x40,0x12,0xc0,0xfc, - 0x00,0x13,0xc0,0x5e,0x40,0x52,0x40,0x73,0xc0,0x98,0x00,0x87,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x17,0xC0,0x11,0x40,0x7D,0x40,0x12,0xC0,0xFC, + 0x00,0x13,0xC0,0x5E,0x40,0x52,0x40,0x73,0xC0,0x98,0x00,0x87,0xE0}; const u8g_fntpgm_uint8_t fontpage_283_221_221[45] U8G_FONT_SECTION("fontpage_283_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7b,0xe0,0x4a,0x00,0x4a,0x00,0x7b,0xe0,0x12, - 0x20,0x52,0x20,0x5a,0x20,0x53,0xe0,0x52,0x00,0x5e,0x00,0xe3,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7B,0xE0,0x4A,0x00,0x4A,0x00,0x7B,0xE0,0x12, + 0x20,0x52,0x20,0x5A,0x20,0x53,0xE0,0x52,0x00,0x5E,0x00,0xE3,0xE0}; const u8g_fntpgm_uint8_t fontpage_286_236_236[45] U8G_FONT_SECTION("fontpage_286_236_236") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xec,0xec,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xf7,0xc0,0x41,0x00,0x6f,0xe0,0xa2, - 0x00,0xf7,0xc0,0x20,0x40,0x3a,0x80,0xe1,0x00,0x20,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEC,0xEC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xF7,0xC0,0x41,0x00,0x6F,0xE0,0xA2, + 0x00,0xF7,0xC0,0x20,0x40,0x3A,0x80,0xE1,0x00,0x20,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_286_239_239[45] U8G_FONT_SECTION("fontpage_286_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x42,0x00,0xfb,0xe0,0x42,0x20,0xa5, - 0x40,0xf9,0x00,0x21,0x00,0x3a,0x80,0xe2,0x80,0x24,0x40,0x28,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x42,0x00,0xFB,0xE0,0x42,0x20,0xA5, + 0x40,0xF9,0x00,0x21,0x00,0x3A,0x80,0xE2,0x80,0x24,0x40,0x28,0x20}; const u8g_fntpgm_uint8_t fontpage_286_244_244[45] U8G_FONT_SECTION("fontpage_286_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xf8,0x80,0x47,0xe0,0x64,0xa0,0xa4, - 0xa0,0xfc,0xa0,0x27,0xe0,0x3c,0xa0,0xe4,0xa0,0x27,0xe0,0x24,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0xF8,0x80,0x47,0xE0,0x64,0xA0,0xA4, + 0xA0,0xFC,0xA0,0x27,0xE0,0x3C,0xA0,0xE4,0xA0,0x27,0xE0,0x24,0x20}; const u8g_fntpgm_uint8_t fontpage_286_253_253[45] U8G_FONT_SECTION("fontpage_286_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x40,0x11,0x20,0xff,0xe0,0x21, - 0x00,0xfd,0x20,0x51,0x40,0x7c,0x80,0x10,0xa0,0xfd,0x60,0x12,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x7D,0x40,0x11,0x20,0xFF,0xE0,0x21, + 0x00,0xFD,0x20,0x51,0x40,0x7C,0x80,0x10,0xA0,0xFD,0x60,0x12,0x20}; const u8g_fntpgm_uint8_t fontpage_287_145_145[45] U8G_FONT_SECTION("fontpage_287_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0xfa,0x40,0x43,0xc0,0x60,0x00,0xa7, - 0xe0,0xfa,0x40,0x23,0x40,0x3a,0xc0,0xe2,0x60,0x2f,0xc0,0x20,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xC0,0xFA,0x40,0x43,0xC0,0x60,0x00,0xA7, + 0xE0,0xFA,0x40,0x23,0x40,0x3A,0xC0,0xE2,0x60,0x2F,0xC0,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_287_147_147[45] U8G_FONT_SECTION("fontpage_287_147_147") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x42,0x80,0xf4,0x40,0x4b,0xa0,0xa0, - 0x00,0xfe,0x20,0x2a,0xa0,0x3e,0xa0,0xea,0xa0,0x2e,0xa0,0x2a,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x42,0x80,0xF4,0x40,0x4B,0xA0,0xA0, + 0x00,0xFE,0x20,0x2A,0xA0,0x3E,0xA0,0xEA,0xA0,0x2E,0xA0,0x2A,0x60}; const u8g_fntpgm_uint8_t fontpage_287_185_185[45] U8G_FONT_SECTION("fontpage_287_185_185") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x21,0x00,0x2f,0xe0,0x01,0x20,0xe1, - 0x20,0x21,0x20,0x22,0x20,0x24,0x20,0x28,0xc0,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB9,0xB9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x21,0x00,0x2F,0xE0,0x01,0x20,0xE1, + 0x20,0x21,0x20,0x22,0x20,0x24,0x20,0x28,0xC0,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_193_193[45] U8G_FONT_SECTION("fontpage_287_193_193") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc1,0xc1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x21,0x00,0x01,0x00,0xef, - 0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC1,0xC1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0xC0,0x27,0x00,0x21,0x00,0x01,0x00,0xEF, + 0xE0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_208_209[73] U8G_FONT_SECTION("fontpage_287_208_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x20,0x00,0x20,0x00,0x0f,0xe0,0xe2, - 0x00,0x22,0x80,0x24,0x40,0x2f,0xa0,0x24,0x20,0x50,0x00,0x8f,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x24,0x00,0x07,0xe0,0xe4,0x80,0x24,0x80,0x24, - 0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0x20,0x00,0x20,0x00,0x0F,0xE0,0xE2, + 0x00,0x22,0x80,0x24,0x40,0x2F,0xA0,0x24,0x20,0x50,0x00,0x8F,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x40,0xC0,0x27,0x00,0x24,0x00,0x07,0xE0,0xE4,0x80,0x24,0x80,0x24, + 0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_212_212[45] U8G_FONT_SECTION("fontpage_287_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xe0,0xe6, - 0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xE0,0xE6, + 0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_216_216[45] U8G_FONT_SECTION("fontpage_287_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x20,0x80,0x21,0x00,0x01,0x00,0xe3, - 0x40,0x25,0x20,0x29,0x20,0x21,0x00,0x21,0x00,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x20,0x80,0x21,0x00,0x01,0x00,0xE3, + 0x40,0x25,0x20,0x29,0x20,0x21,0x00,0x21,0x00,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_219_219[45] U8G_FONT_SECTION("fontpage_287_219_219") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x24,0x80,0x2f,0xc0,0x04,0x80,0xe4, - 0x80,0x3f,0xe0,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x80,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDB,0xDB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x80,0x24,0x80,0x2F,0xC0,0x04,0x80,0xE4, + 0x80,0x3F,0xE0,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x80,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_222_222[45] U8G_FONT_SECTION("fontpage_287_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x2f,0xe0,0x22,0x00,0x05,0x00,0xef, - 0xc0,0x21,0x00,0x2f,0xe0,0x21,0x00,0x21,0x00,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x2F,0xE0,0x22,0x00,0x05,0x00,0xEF, + 0xC0,0x21,0x00,0x2F,0xE0,0x21,0x00,0x21,0x00,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_247_247[45] U8G_FONT_SECTION("fontpage_287_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x29,0x20,0x25,0x40,0x01,0x00,0xef, - 0xe0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x29,0x20,0x25,0x40,0x01,0x00,0xEF, + 0xE0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_128_128[45] U8G_FONT_SECTION("fontpage_288_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x8f,0xc0,0x48,0x40,0x4f,0xc0,0x08,0x40,0xcf, - 0xc0,0x48,0x00,0x4b,0x40,0x48,0x80,0x4e,0x40,0xb0,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x8F,0xC0,0x48,0x40,0x4F,0xC0,0x08,0x40,0xCF, + 0xC0,0x48,0x00,0x4B,0x40,0x48,0x80,0x4E,0x40,0xB0,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_137_137[45] U8G_FONT_SECTION("fontpage_288_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x45,0x00,0x25,0x00,0x27,0xc0,0x09,0x00,0xef, - 0xe0,0x22,0x80,0x22,0xa0,0x24,0xa0,0x28,0x60,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x45,0x00,0x25,0x00,0x27,0xC0,0x09,0x00,0xEF, + 0xE0,0x22,0x80,0x22,0xA0,0x24,0xA0,0x28,0x60,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_159_159[45] U8G_FONT_SECTION("fontpage_288_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x3f,0xe0,0x21,0x00,0x0f,0xe0,0xe9, - 0x20,0x2f,0xe0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x3F,0xE0,0x21,0x00,0x0F,0xE0,0xE9, + 0x20,0x2F,0xE0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_289_232_232[45] U8G_FONT_SECTION("fontpage_289_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x20,0x45,0x20,0x29,0x40,0xff, - 0x80,0x01,0x40,0x7d,0x20,0x45,0x20,0x45,0xa0,0x7d,0x40,0x45,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0xE0,0xFF,0x20,0x45,0x20,0x29,0x40,0xFF, + 0x80,0x01,0x40,0x7D,0x20,0x45,0x20,0x45,0xA0,0x7D,0x40,0x45,0x00}; const u8g_fntpgm_uint8_t fontpage_290_205_205[45] U8G_FONT_SECTION("fontpage_290_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x50,0x20,0x50,0x20,0xf8,0x20,0xab, - 0xe0,0xda,0x00,0x8a,0x00,0xfa,0x00,0x8a,0x20,0xfa,0x20,0x8b,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x50,0x20,0x50,0x20,0xF8,0x20,0xAB, + 0xE0,0xDA,0x00,0x8A,0x00,0xFA,0x00,0x8A,0x20,0xFA,0x20,0x8B,0xE0}; const u8g_fntpgm_uint8_t fontpage_291_202_202[45] U8G_FONT_SECTION("fontpage_291_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xc0,0xe2,0x80,0xa9,0x00,0x72,0x80,0xfd, - 0x60,0x31,0x00,0x6f,0xc0,0xa1,0x00,0xaf,0xe0,0x21,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x1F,0xC0,0xE2,0x80,0xA9,0x00,0x72,0x80,0xFD, + 0x60,0x31,0x00,0x6F,0xC0,0xA1,0x00,0xAF,0xE0,0x21,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_291_205_205[45] U8G_FONT_SECTION("fontpage_291_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x24,0x80,0x3f, - 0x80,0x24,0x80,0x3f,0x80,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x24,0x80,0x3F, + 0x80,0x24,0x80,0x3F,0x80,0x04,0x00,0x7F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_291_207_207[45] U8G_FONT_SECTION("fontpage_291_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff, - 0xe0,0x24,0x80,0x3f,0x80,0x24,0x80,0x7f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF, + 0xE0,0x24,0x80,0x3F,0x80,0x24,0x80,0x7F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_297_136_136[45] U8G_FONT_SECTION("fontpage_297_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x40,0x80,0x78,0x80,0x80,0x80,0xfb, - 0xe0,0x20,0x80,0xf8,0x80,0x20,0x80,0x28,0x80,0x30,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x80,0x40,0x80,0x78,0x80,0x80,0x80,0xFB, + 0xE0,0x20,0x80,0xF8,0x80,0x20,0x80,0x28,0x80,0x30,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_297_174_174[45] U8G_FONT_SECTION("fontpage_297_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x47,0xc0,0x79,0x40,0x81,0x40,0xf9, - 0x40,0x27,0xc0,0xfa,0x40,0x22,0x40,0x2a,0x40,0x32,0x40,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x47,0xC0,0x79,0x40,0x81,0x40,0xF9, + 0x40,0x27,0xC0,0xFA,0x40,0x22,0x40,0x2A,0x40,0x32,0x40,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_298_153_153[45] U8G_FONT_SECTION("fontpage_298_153_153") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x80,0x4f,0xe0,0x72,0x80,0x82,0x80,0xef, - 0xe0,0x40,0x00,0xf7,0xc0,0x44,0x40,0x47,0xc0,0x54,0x40,0x67,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x80,0x4F,0xE0,0x72,0x80,0x82,0x80,0xEF, + 0xE0,0x40,0x00,0xF7,0xC0,0x44,0x40,0x47,0xC0,0x54,0x40,0x67,0xC0}; const u8g_fntpgm_uint8_t fontpage_298_220_220[45] U8G_FONT_SECTION("fontpage_298_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x4f,0xe0,0x72,0x80,0x8f,0xe0,0xf4, - 0x40,0x27,0xc0,0xf4,0x40,0x27,0xc0,0x2a,0x80,0x32,0xa0,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x4F,0xE0,0x72,0x80,0x8F,0xE0,0xF4, + 0x40,0x27,0xC0,0xF4,0x40,0x27,0xC0,0x2A,0x80,0x32,0xA0,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_298_255_255[45] U8G_FONT_SECTION("fontpage_298_255_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x21,0x00,0x22,0x00,0x24,0x00,0x28,0x00,0x30, - 0x00,0xff,0xc0,0x28,0x00,0x24,0x00,0x22,0x00,0x29,0x00,0x30,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x21,0x00,0x22,0x00,0x24,0x00,0x28,0x00,0x30, + 0x00,0xFF,0xC0,0x28,0x00,0x24,0x00,0x22,0x00,0x29,0x00,0x30,0xC0}; const u8g_fntpgm_uint8_t fontpage_299_237_237[45] U8G_FONT_SECTION("fontpage_299_237_237") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xed,0xed,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xe0,0x20,0x20,0x82,0x20,0x82,0x20,0xbf, - 0xa0,0x86,0x20,0x8a,0x20,0x92,0x20,0xa2,0x20,0x86,0x20,0x80,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xED,0xED,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xE0,0x20,0x20,0x82,0x20,0x82,0x20,0xBF, + 0xA0,0x86,0x20,0x8A,0x20,0x92,0x20,0xA2,0x20,0x86,0x20,0x80,0xE0}; const u8g_fntpgm_uint8_t fontpage_299_242_242[45] U8G_FONT_SECTION("fontpage_299_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x20,0x20,0x84,0x20,0x84,0x20,0xbf, - 0xa0,0x84,0x20,0x8e,0x20,0x95,0x20,0xa4,0xa0,0x84,0x20,0x80,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x20,0x20,0x84,0x20,0x84,0x20,0xBF, + 0xA0,0x84,0x20,0x8E,0x20,0x95,0x20,0xA4,0xA0,0x84,0x20,0x80,0xE0}; const u8g_fntpgm_uint8_t fontpage_299_244_244[45] U8G_FONT_SECTION("fontpage_299_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x4f,0xc0,0x20,0x40,0x80,0x40,0x9e,0x40,0x92, - 0x40,0x9e,0x40,0x92,0x40,0x92,0x40,0x9e,0x40,0x80,0x40,0x81,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x4F,0xC0,0x20,0x40,0x80,0x40,0x9E,0x40,0x92, + 0x40,0x9E,0x40,0x92,0x40,0x92,0x40,0x9E,0x40,0x80,0x40,0x81,0xC0}; const u8g_fntpgm_uint8_t fontpage_300_136_136[45] U8G_FONT_SECTION("fontpage_300_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xe0,0x11,0x20,0x82,0xa0,0xbf,0xe0,0x82, - 0x20,0xba,0xa0,0xaa,0xa0,0xb9,0x20,0x81,0x20,0xba,0xa0,0x84,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xE0,0x11,0x20,0x82,0xA0,0xBF,0xE0,0x82, + 0x20,0xBA,0xA0,0xAA,0xA0,0xB9,0x20,0x81,0x20,0xBA,0xA0,0x84,0x60}; const u8g_fntpgm_uint8_t fontpage_300_205_205[45] U8G_FONT_SECTION("fontpage_300_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf2,0x00,0x93,0xe0,0xa6,0x40,0xc1,0x80,0xa6, - 0x60,0x91,0x00,0x97,0xe0,0xd5,0x00,0xaf,0xe0,0x81,0x00,0x81,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF2,0x00,0x93,0xE0,0xA6,0x40,0xC1,0x80,0xA6, + 0x60,0x91,0x00,0x97,0xE0,0xD5,0x00,0xAF,0xE0,0x81,0x00,0x81,0x00}; const u8g_fntpgm_uint8_t fontpage_300_208_208[45] U8G_FONT_SECTION("fontpage_300_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf7,0xc0,0x94,0x40,0xa7,0xc0,0xc4,0x40,0xa7, - 0xc0,0x95,0x00,0x95,0x20,0xd5,0x40,0xa4,0x80,0x85,0x40,0x86,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF7,0xC0,0x94,0x40,0xA7,0xC0,0xC4,0x40,0xA7, + 0xC0,0x95,0x00,0x95,0x20,0xD5,0x40,0xA4,0x80,0x85,0x40,0x86,0x20}; const u8g_fntpgm_uint8_t fontpage_300_228_228[45] U8G_FONT_SECTION("fontpage_300_228_228") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xcb,0xa0,0xa1, - 0x00,0x9f,0xe0,0x91,0x00,0xe5,0x40,0x89,0x20,0x91,0x20,0x83,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE4,0xE4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF1,0x00,0x92,0x80,0xA4,0x40,0xCB,0xA0,0xA1, + 0x00,0x9F,0xE0,0x91,0x00,0xE5,0x40,0x89,0x20,0x91,0x20,0x83,0x00}; const u8g_fntpgm_uint8_t fontpage_300_233_233[45] U8G_FONT_SECTION("fontpage_300_233_233") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xc8,0x20,0xa7, - 0xc0,0x90,0x00,0x9a,0x40,0xd5,0x40,0xa5,0x40,0x80,0x80,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF1,0x00,0x92,0x80,0xA4,0x40,0xC8,0x20,0xA7, + 0xC0,0x90,0x00,0x9A,0x40,0xD5,0x40,0xA5,0x40,0x80,0x80,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_301_246_246[45] U8G_FONT_SECTION("fontpage_301_246_246") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x95,0x20,0x0e, - 0x00,0x31,0x80,0xc4,0x60,0x3f,0x80,0x01,0x00,0x0e,0x00,0x03,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF6,0xF6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x95,0x20,0x0E, + 0x00,0x31,0x80,0xC4,0x60,0x3F,0x80,0x01,0x00,0x0E,0x00,0x03,0x00}; const u8g_fntpgm_uint8_t fontpage_302_128_128[45] U8G_FONT_SECTION("fontpage_302_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0xb5,0xa0,0x04, - 0x00,0xff,0xe0,0x08,0x00,0x7f,0xc0,0x4a,0x40,0x4a,0x40,0x4a,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0xB5,0xA0,0x04, + 0x00,0xFF,0xE0,0x08,0x00,0x7F,0xC0,0x4A,0x40,0x4A,0x40,0x4A,0xC0}; const u8g_fntpgm_uint8_t fontpage_302_210_210[45] U8G_FONT_SECTION("fontpage_302_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04, - 0x00,0xff,0xe0,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0x3F,0x80,0x04, + 0x00,0xFF,0xE0,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80}; const u8g_fntpgm_uint8_t fontpage_302_222_222[45] U8G_FONT_SECTION("fontpage_302_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a, - 0x00,0x7b,0xc0,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0A,0x00,0x0A,0x00,0xFB,0xE0,0x0A,0x00,0x0A, + 0x00,0x7B,0xC0,0x0A,0x00,0x0A,0x00,0xFB,0xE0,0x0A,0x00,0x0A,0x00}; const u8g_fntpgm_uint8_t fontpage_302_224_224[45] U8G_FONT_SECTION("fontpage_302_224_224") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x3f,0xc0,0x44,0x00,0xff,0xe0,0x20, - 0x80,0x3f,0x80,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0xfb,0xe0,0x0a,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x3F,0xC0,0x44,0x00,0xFF,0xE0,0x20, + 0x80,0x3F,0x80,0x0A,0x00,0xFB,0xE0,0x0A,0x00,0xFB,0xE0,0x0A,0x00}; const u8g_fntpgm_uint8_t fontpage_302_226_226[45] U8G_FONT_SECTION("fontpage_302_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x08,0x00,0x10,0x00,0xff,0xc0,0x92, - 0x40,0x9e,0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0xff,0xc0,0x80,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x08,0x00,0x10,0x00,0xFF,0xC0,0x92, + 0x40,0x9E,0x40,0x92,0x40,0x9E,0x40,0x92,0x40,0xFF,0xC0,0x80,0x40}; const u8g_fntpgm_uint8_t fontpage_304_245_245[45] U8G_FONT_SECTION("fontpage_304_245_245") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x3f,0x80,0x20,0x80,0x24, - 0x80,0x24,0x80,0x24,0x80,0x26,0x80,0x09,0x00,0x10,0xc0,0x60,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF5,0xF5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x04,0x00,0x3F,0x80,0x20,0x80,0x24, + 0x80,0x24,0x80,0x24,0x80,0x26,0x80,0x09,0x00,0x10,0xC0,0x60,0x40}; const u8g_fntpgm_uint8_t fontpage_304_249_249[45] U8G_FONT_SECTION("fontpage_304_249_249") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf9,0x00,0x27,0xe0,0x24,0x20,0x25, - 0x20,0x25,0x20,0x25,0x20,0x3d,0x20,0xc1,0x80,0x02,0x40,0x0c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x07,0xE0,0xF9,0x00,0x27,0xE0,0x24,0x20,0x25, + 0x20,0x25,0x20,0x25,0x20,0x3D,0x20,0xC1,0x80,0x02,0x40,0x0C,0x20}; const u8g_fntpgm_uint8_t fontpage_305_132_132[45] U8G_FONT_SECTION("fontpage_305_132_132") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x10,0x80,0x63,0xe0,0x22,0x20,0xfa, - 0xa0,0x2a,0xa0,0x22,0xa0,0x22,0xa0,0x22,0xa0,0x21,0x40,0x66,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x10,0x80,0x63,0xE0,0x22,0x20,0xFA, + 0xA0,0x2A,0xA0,0x22,0xA0,0x22,0xA0,0x22,0xA0,0x21,0x40,0x66,0x20}; const u8g_fntpgm_uint8_t fontpage_305_145_145[45] U8G_FONT_SECTION("fontpage_305_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x13,0xe0,0x50,0x80,0x5f,0xe0,0x52,0x20,0xfe, - 0xa0,0x12,0xa0,0x56,0xa0,0x5a,0xa0,0x92,0xa0,0x21,0x40,0xc6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x13,0xE0,0x50,0x80,0x5F,0xE0,0x52,0x20,0xFE, + 0xA0,0x12,0xA0,0x56,0xA0,0x5A,0xA0,0x92,0xA0,0x21,0x40,0xC6,0x20}; const u8g_fntpgm_uint8_t fontpage_305_157_157[45] U8G_FONT_SECTION("fontpage_305_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xe0,0xfc,0x80,0x87,0xe0,0x7a,0x20,0xca, - 0xa0,0x32,0xa0,0x4a,0xa0,0xfe,0xa0,0x4a,0xa0,0x79,0x40,0x4e,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xE0,0xFC,0x80,0x87,0xE0,0x7A,0x20,0xCA, + 0xA0,0x32,0xA0,0x4A,0xA0,0xFE,0xA0,0x4A,0xA0,0x79,0x40,0x4E,0x20}; const u8g_fntpgm_uint8_t fontpage_305_206_206[45] U8G_FONT_SECTION("fontpage_305_206_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xce,0xce,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0x80,0x40,0x80,0x42,0x80,0x52,0x80,0x4c, - 0x80,0x44,0x80,0x4c,0x80,0x52,0x80,0x62,0xa0,0x80,0x60,0x80,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCE,0xCE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0x80,0x40,0x80,0x42,0x80,0x52,0x80,0x4C, + 0x80,0x44,0x80,0x4C,0x80,0x52,0x80,0x62,0xA0,0x80,0x60,0x80,0x20}; const u8g_fntpgm_uint8_t fontpage_306_241_241[45] U8G_FONT_SECTION("fontpage_306_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x00,0x47,0xc0,0x7c,0x40,0x97,0x40,0xad, - 0x40,0x25,0x40,0x27,0x40,0x24,0xc0,0x2c,0x20,0x34,0x20,0x23,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x00,0x47,0xC0,0x7C,0x40,0x97,0x40,0xAD, + 0x40,0x25,0x40,0x27,0x40,0x24,0xC0,0x2C,0x20,0x34,0x20,0x23,0xE0}; const u8g_fntpgm_uint8_t fontpage_308_236_236[45] U8G_FONT_SECTION("fontpage_308_236_236") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xec,0xec,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0x80,0x00,0x80,0x10,0x80,0x11,0x00,0x21, - 0x00,0x3f,0xe0,0x00,0x20,0x00,0x20,0xff,0x20,0x00,0x20,0x00,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEC,0xEC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0x80,0x00,0x80,0x10,0x80,0x11,0x00,0x21, + 0x00,0x3F,0xE0,0x00,0x20,0x00,0x20,0xFF,0x20,0x00,0x20,0x00,0xC0}; const u8g_fntpgm_uint8_t fontpage_308_241_241[45] U8G_FONT_SECTION("fontpage_308_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf3,0xe0,0x12,0x00,0x52,0x20,0x53,0x20,0x52, - 0xa0,0x7a,0x40,0x0a,0x40,0xea,0xa0,0x0b,0x20,0x0a,0x00,0x33,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF3,0xE0,0x12,0x00,0x52,0x20,0x53,0x20,0x52, + 0xA0,0x7A,0x40,0x0A,0x40,0xEA,0xA0,0x0B,0x20,0x0A,0x00,0x33,0xE0}; const u8g_fntpgm_uint8_t fontpage_309_216_216[45] U8G_FONT_SECTION("fontpage_309_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x1f,0x00,0x11, - 0x00,0x7f,0xc0,0x40,0x40,0x5f,0x40,0x51,0x40,0x5f,0x40,0x40,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x00,0x00,0x1F,0x00,0x11, + 0x00,0x7F,0xC0,0x40,0x40,0x5F,0x40,0x51,0x40,0x5F,0x40,0x40,0xC0}; const u8g_fntpgm_uint8_t fontpage_317_196_196[45] U8G_FONT_SECTION("fontpage_317_196_196") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7f,0xc0,0x11,0x00,0xff,0xe0,0x04, - 0x00,0x3f,0x80,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80,0x60,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x7F,0xC0,0x11,0x00,0xFF,0xE0,0x04, + 0x00,0x3F,0x80,0x24,0x80,0x3F,0x80,0x24,0x80,0x3F,0x80,0x60,0xC0}; const u8g_fntpgm_uint8_t fontpage_317_222_222[45] U8G_FONT_SECTION("fontpage_317_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf8,0x80,0xa8,0x80,0xf8,0xe0,0xa8,0x80,0xf8, - 0x80,0x23,0xe0,0xfa,0x20,0x22,0x20,0xfa,0x20,0x52,0x20,0xab,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF8,0x80,0xA8,0x80,0xF8,0xE0,0xA8,0x80,0xF8, + 0x80,0x23,0xE0,0xFA,0x20,0x22,0x20,0xFA,0x20,0x52,0x20,0xAB,0xE0}; const u8g_fntpgm_uint8_t fontpage_318_208_208[45] U8G_FONT_SECTION("fontpage_318_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x10,0x80,0x09,0x00,0x06, - 0x00,0x19,0x80,0xe0,0x60,0x09,0x00,0x09,0x00,0x11,0x00,0x61,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x10,0x80,0x09,0x00,0x06, + 0x00,0x19,0x80,0xE0,0x60,0x09,0x00,0x09,0x00,0x11,0x00,0x61,0x00}; const u8g_fntpgm_uint8_t fontpage_510_154_154[30] U8G_FONT_SECTION("fontpage_510_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00, - 0x00,0x02,0x07,0x07,0x0c,0x06,0x01,0xc0,0xc0,0x00,0x00,0x00,0xc0,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x08,0x00,0x00, + 0x00,0x02,0x07,0x07,0x0C,0x06,0x01,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_zh_TW.h b/Marlin/src/lcd/dogm/fontdata/langdata_zh_TW.h index 20f5acda5245..8eee544ec81b 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_zh_TW.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_zh_TW.h @@ -6,1216 +6,1216 @@ #include const u8g_fntpgm_uint8_t fontpage_69_191_191[28] U8G_FONT_SECTION("fontpage_69_191_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x05,0x00,0x00, - 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xf8}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x00,0x05,0x00,0x00, + 0x00,0x05,0x05,0x05,0x06,0x00,0x00,0x08,0x18,0x28,0x48,0xF8}; const u8g_fntpgm_uint8_t fontpage_156_128_128[27] U8G_FONT_SECTION("fontpage_156_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, - 0x00,0x0b,0x02,0x04,0x0c,0x00,0x04,0x00,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x06,0x00,0x00, + 0x00,0x0B,0x02,0x04,0x0C,0x00,0x04,0x00,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_137_139[97] U8G_FONT_SECTION("fontpage_156_137_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, - 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x0b,0x0b,0x16,0x0c,0x00, - 0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xc0,0x04,0x00,0x04,0x00,0x04, - 0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x0b,0x0a,0x14,0x0c,0x00,0xff,0xff,0xe0,0x04, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, + 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x0B,0x0B,0x16,0x0C,0x00, + 0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x07,0xC0,0x04,0x00,0x04,0x00,0x04, + 0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0xFF,0xE0,0x04, 0x00,0x04,0x00,0x06,0x00,0x05,0x00,0x04,0x80,0x04,0x80,0x04,0x00,0x04,0x00,0x04, 0x00}; const u8g_fntpgm_uint8_t fontpage_156_141_141[45] U8G_FONT_SECTION("fontpage_156_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x02,0x00,0x02,0x00,0x04,0x00,0x0d, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x02,0x00,0x02,0x00,0x04,0x00,0x0D, 0x00,0x14,0x80,0x24,0x40,0x44,0x20,0x84,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_156_166_166[45] U8G_FONT_SECTION("fontpage_156_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x11,0x00,0xff,0xe0,0x0a,0x00,0x4a, - 0x40,0x4a,0x40,0x2a,0x40,0x2a,0x80,0x0a,0x00,0x0a,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x11,0x00,0xFF,0xE0,0x0A,0x00,0x4A, + 0x40,0x4A,0x40,0x2A,0x40,0x2A,0x80,0x0A,0x00,0x0A,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_173_173[45] U8G_FONT_SECTION("fontpage_156_173_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0x80,0x88,0x80,0x88, - 0x80,0x88,0x80,0xff,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAD,0xAD,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0xFF,0x80,0x88,0x80,0x88, + 0x80,0x88,0x80,0xFF,0x80,0x88,0x80,0x08,0x00,0x08,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_156_187_187[45] U8G_FONT_SECTION("fontpage_156_187_187") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbb,0xbb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04, - 0x00,0x04,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBB,0xBB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04, + 0x00,0x04,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_156_203_203[45] U8G_FONT_SECTION("fontpage_156_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x04,0x00,0x7f,0xc0,0x00,0x80,0x01, - 0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x04,0x00,0x7F,0xC0,0x00,0x80,0x01, + 0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x00,0x48,0x00,0x87,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_164_164[45] U8G_FONT_SECTION("fontpage_157_164_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20, - 0x80,0x51,0x40,0x11,0x00,0x0a,0x00,0x04,0x00,0x1b,0x00,0x60,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x00,0x00,0x11,0x00,0x20, + 0x80,0x51,0x40,0x11,0x00,0x0A,0x00,0x04,0x00,0x1B,0x00,0x60,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_174_174[45] U8G_FONT_SECTION("fontpage_157_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x11,0x00,0x1f,0x00,0x00, - 0x00,0xff,0xe0,0x80,0x20,0x1f,0x00,0x11,0x00,0x21,0x20,0xc0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x11,0x00,0x1F,0x00,0x00, + 0x00,0xFF,0xE0,0x80,0x20,0x1F,0x00,0x11,0x00,0x21,0x20,0xC0,0xE0}; const u8g_fntpgm_uint8_t fontpage_157_228_228[45] U8G_FONT_SECTION("fontpage_157_228_228") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x0a,0x00,0x11,0x00,0x24, - 0x80,0xc2,0x60,0x3f,0x80,0x01,0x00,0x0a,0x00,0x04,0x00,0x02,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE4,0xE4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x24, + 0x80,0xC2,0x60,0x3F,0x80,0x01,0x00,0x0A,0x00,0x04,0x00,0x02,0x00}; const u8g_fntpgm_uint8_t fontpage_157_246_246[45] U8G_FONT_SECTION("fontpage_157_246_246") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf6,0xf6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x15,0x00,0x25,0x00,0x2f,0xc0,0x71, - 0x00,0xa1,0x00,0x2f,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF6,0xF6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x15,0x00,0x25,0x00,0x2F,0xC0,0x71, + 0x00,0xA1,0x00,0x2F,0xE0,0x21,0x00,0x21,0x00,0x21,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_157_253_253[45] U8G_FONT_SECTION("fontpage_157_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68, - 0x20,0xa7,0xc0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x80,0x12,0x80,0x22,0x40,0x24,0x40,0x68, + 0x20,0xA7,0xC0,0x22,0x40,0x22,0x40,0x22,0x40,0x24,0x40,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_158_145_145[45] U8G_FONT_SECTION("fontpage_158_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x21,0x00,0x3f,0xe0,0x61, - 0x00,0xa3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x21,0x00,0x3F,0xE0,0x61, + 0x00,0xA3,0x80,0x23,0x80,0x25,0x40,0x29,0x20,0x31,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_158_205_206[73] U8G_FONT_SECTION("fontpage_158_205_206") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xce,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x20,0x00,0x2f,0xe0,0x60, - 0x00,0xa4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2f,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x10,0xc0,0x1f,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xaf,0xe0,0x29, - 0x00,0x29,0x20,0x2a,0xa0,0x2d,0x60,0x28,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x11,0x00,0x20,0x00,0x2F,0xE0,0x60, + 0x00,0xA4,0x40,0x22,0x40,0x22,0x80,0x20,0x80,0x21,0x00,0x2F,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x10,0xC0,0x1F,0x00,0x29,0x00,0x29,0x00,0x69,0x00,0xAF,0xE0,0x29, + 0x00,0x29,0x20,0x2A,0xA0,0x2D,0x60,0x28,0xA0}; const u8g_fntpgm_uint8_t fontpage_158_220_220[45] U8G_FONT_SECTION("fontpage_158_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x14,0x00,0x27,0xe0,0x2a,0x00,0x72, - 0x00,0xa3,0xc0,0x22,0x00,0x22,0x00,0x23,0xe0,0x22,0x00,0x22,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x14,0x00,0x14,0x00,0x27,0xE0,0x2A,0x00,0x72, + 0x00,0xA3,0xC0,0x22,0x00,0x22,0x00,0x23,0xE0,0x22,0x00,0x22,0x00}; const u8g_fntpgm_uint8_t fontpage_159_155_155[45] U8G_FONT_SECTION("fontpage_159_155_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x80,0x14,0x80,0x24,0x80,0x2f,0xe0,0x64, - 0x80,0xa4,0x80,0x3f,0xe0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9B,0x9B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x14,0x80,0x14,0x80,0x24,0x80,0x2F,0xE0,0x64, + 0x80,0xA4,0x80,0x3F,0xE0,0x20,0x00,0x24,0x80,0x28,0x40,0x30,0x20}; const u8g_fntpgm_uint8_t fontpage_159_221_221[45] U8G_FONT_SECTION("fontpage_159_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x17,0xc0,0x14,0x40,0x24,0x40,0x27,0xc0,0x61, - 0x00,0xaf,0xe0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x17,0xC0,0x14,0x40,0x24,0x40,0x27,0xC0,0x61, + 0x00,0xAF,0xE0,0x21,0x00,0x23,0x80,0x25,0x40,0x29,0x20,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_159_225_225[45] U8G_FONT_SECTION("fontpage_159_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x11,0x00,0x2f,0xe0,0x20,0x00,0x67, - 0xc0,0xa0,0x00,0x27,0xc0,0x20,0x00,0x27,0xc0,0x24,0x40,0x27,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x11,0x00,0x2F,0xE0,0x20,0x00,0x67, + 0xC0,0xA0,0x00,0x27,0xC0,0x20,0x00,0x27,0xC0,0x24,0x40,0x27,0xC0}; const u8g_fntpgm_uint8_t fontpage_160_139_139[45] U8G_FONT_SECTION("fontpage_160_139_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x29,0x20,0x29,0x20,0x2f,0xe0,0x69, - 0x20,0xab,0xa0,0x2a,0xa0,0x2b,0xa0,0x28,0x20,0x2f,0xe0,0x28,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8B,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xE0,0x29,0x20,0x29,0x20,0x2F,0xE0,0x69, + 0x20,0xAB,0xA0,0x2A,0xA0,0x2B,0xA0,0x28,0x20,0x2F,0xE0,0x28,0x20}; const u8g_fntpgm_uint8_t fontpage_160_188_188[45] U8G_FONT_SECTION("fontpage_160_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x1f,0xe0,0x22,0x00,0x27,0xc0,0x64, - 0x40,0xa7,0xc0,0x24,0x40,0x27,0x40,0x25,0xc0,0x24,0x40,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x1F,0xE0,0x22,0x00,0x27,0xC0,0x64, + 0x40,0xA7,0xC0,0x24,0x40,0x27,0x40,0x25,0xC0,0x24,0x40,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_160_207_207[45] U8G_FONT_SECTION("fontpage_160_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x28,0x20,0x2f,0xe0,0x68, - 0x00,0xaf,0xe0,0x2a,0xa0,0x2f,0xe0,0x2a,0xa0,0x3a,0xa0,0x28,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x28,0x20,0x2F,0xE0,0x68, + 0x00,0xAF,0xE0,0x2A,0xA0,0x2F,0xE0,0x2A,0xA0,0x3A,0xA0,0x28,0x60}; const u8g_fntpgm_uint8_t fontpage_160_220_220[45] U8G_FONT_SECTION("fontpage_160_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x20,0x00,0x4f,0xc0,0x48, - 0x40,0xdf,0xe0,0x50,0x20,0x4f,0xc0,0x41,0x00,0x41,0x00,0x47,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x3F,0xE0,0x20,0x00,0x4F,0xC0,0x48, + 0x40,0xDF,0xE0,0x50,0x20,0x4F,0xC0,0x41,0x00,0x41,0x00,0x47,0x00}; const u8g_fntpgm_uint8_t fontpage_160_245_245[45] U8G_FONT_SECTION("fontpage_160_245_245") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xe0,0x22,0x00,0x2f,0xc0,0x68, - 0x40,0xaf,0xc0,0x28,0x40,0x2f,0xc0,0x28,0x40,0x2f,0xc0,0x38,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF5,0xF5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xE0,0x22,0x00,0x2F,0xC0,0x68, + 0x40,0xAF,0xC0,0x28,0x40,0x2F,0xC0,0x28,0x40,0x2F,0xC0,0x38,0x60}; const u8g_fntpgm_uint8_t fontpage_161_153_153[45] U8G_FONT_SECTION("fontpage_161_153_153") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x2f,0xc0,0x24,0x80,0x3f,0xe0,0x64, - 0x00,0xaf,0xe0,0x29,0x20,0x3f,0xe0,0x29,0x20,0x2f,0xe0,0x29,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x80,0x2F,0xC0,0x24,0x80,0x3F,0xE0,0x64, + 0x00,0xAF,0xE0,0x29,0x20,0x3F,0xE0,0x29,0x20,0x2F,0xE0,0x29,0x20}; const u8g_fntpgm_uint8_t fontpage_161_179_179[45] U8G_FONT_SECTION("fontpage_161_179_179") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb3,0xb3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x3f,0xe0,0x2a,0x40,0x2f,0xc0,0x6a, - 0x40,0xbf,0xc0,0x22,0x80,0x3f,0xe0,0x28,0x80,0x24,0x80,0x21,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB3,0xB3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x3F,0xE0,0x2A,0x40,0x2F,0xC0,0x6A, + 0x40,0xBF,0xC0,0x22,0x80,0x3F,0xE0,0x28,0x80,0x24,0x80,0x21,0x80}; const u8g_fntpgm_uint8_t fontpage_161_190_190[45] U8G_FONT_SECTION("fontpage_161_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x13,0xe0,0x10,0x80,0x2b,0xe0,0x2a,0x20,0x6f, - 0xe0,0xaa,0x20,0x2b,0xe0,0x2e,0x20,0x2b,0xe0,0x31,0x40,0x26,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x13,0xE0,0x10,0x80,0x2B,0xE0,0x2A,0x20,0x6F, + 0xE0,0xAA,0x20,0x2B,0xE0,0x2E,0x20,0x2B,0xE0,0x31,0x40,0x26,0x20}; const u8g_fntpgm_uint8_t fontpage_162_178_178[45] U8G_FONT_SECTION("fontpage_162_178_178") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x28,0x80,0x3d,0xe0,0x40,0xa0,0x5d,0xe0,0xc0, - 0x80,0x5d,0xe0,0x43,0x20,0x5d,0xe0,0x55,0x20,0x5d,0xe0,0x55,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB2,0xB2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x28,0x80,0x3D,0xE0,0x40,0xA0,0x5D,0xE0,0xC0, + 0x80,0x5D,0xE0,0x43,0x20,0x5D,0xE0,0x55,0x20,0x5D,0xE0,0x55,0x20}; const u8g_fntpgm_uint8_t fontpage_162_197_197[45] U8G_FONT_SECTION("fontpage_162_197_197") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0xff,0xc0,0x08,0x00,0x11,0x00,0x7f, - 0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xc1,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x04,0x00,0xFF,0xC0,0x08,0x00,0x11,0x00,0x7F, + 0x80,0x12,0x80,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,0xC1,0xC0}; const u8g_fntpgm_uint8_t fontpage_162_200_201[73] U8G_FONT_SECTION("fontpage_162_200_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x84, - 0x00,0xff,0xe0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xc1,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0xff,0xe0,0x12,0x00,0x12, - 0x00,0x12,0x20,0x12,0x20,0x22,0x20,0xc1,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC8,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x84, + 0x00,0xFF,0xE0,0x12,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0xC1,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x24,0x80,0x04,0x00,0xFF,0xE0,0x12,0x00,0x12, + 0x00,0x12,0x20,0x12,0x20,0x22,0x20,0xC1,0xE0}; const u8g_fntpgm_uint8_t fontpage_162_229_229[45] U8G_FONT_SECTION("fontpage_162_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0a, - 0x00,0x0a,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x18,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0A, + 0x00,0x0A,0x00,0x11,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x80,0x20}; const u8g_fntpgm_uint8_t fontpage_162_232_232[45] U8G_FONT_SECTION("fontpage_162_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf, - 0x60,0x04,0x00,0x04,0x00,0x1f,0x00,0x04,0x00,0x04,0x00,0x7f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xDF, + 0x60,0x04,0x00,0x04,0x00,0x1F,0x00,0x04,0x00,0x04,0x00,0x7F,0xC0}; const u8g_fntpgm_uint8_t fontpage_162_241_241[45] U8G_FONT_SECTION("fontpage_162_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x7f,0xc0,0x11,0x00,0x11, - 0x00,0x11,0x00,0xff,0xe0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x7F,0xC0,0x11,0x00,0x11, + 0x00,0x11,0x00,0xFF,0xE0,0x00,0x00,0x11,0x00,0x20,0x80,0x40,0x40}; const u8g_fntpgm_uint8_t fontpage_162_247_247[45] U8G_FONT_SECTION("fontpage_162_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f, - 0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0,0x11,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F, + 0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF,0xE0,0x11,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_151_151[43] U8G_FONT_SECTION("fontpage_163_151_151") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x09,0xff,0x00, - 0x00,0x0b,0x0a,0x14,0x0c,0x00,0xff,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x11,0x00,0x11, - 0x00,0x11,0x00,0x11,0x00,0x21,0x20,0x41,0x20,0x80,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x09,0xFF,0x00, + 0x00,0x0B,0x0A,0x14,0x0C,0x00,0xFF,0x7F,0xE0,0x40,0x20,0x9F,0x40,0x11,0x00,0x11, + 0x00,0x11,0x00,0x11,0x00,0x21,0x20,0x41,0x20,0x80,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_183_183[45] U8G_FONT_SECTION("fontpage_163_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32, - 0x60,0x41,0x00,0x4f,0xc0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x82,0x00,0x42,0x00,0x05,0x00,0x28,0x80,0x32, + 0x60,0x41,0x00,0x4F,0xC0,0x80,0x80,0x87,0x00,0x81,0x00,0x00,0x80}; const u8g_fntpgm_uint8_t fontpage_163_198_198[45] U8G_FONT_SECTION("fontpage_163_198_198") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x89,0x00,0x4f,0xe0,0x59,0x00,0x09, - 0x00,0x2f,0xc0,0x29,0x00,0xcf,0xc0,0x49,0x00,0x49,0x00,0x4f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0A,0x00,0x89,0x00,0x4F,0xE0,0x59,0x00,0x09, + 0x00,0x2F,0xC0,0x29,0x00,0xCF,0xC0,0x49,0x00,0x49,0x00,0x4F,0xE0}; const u8g_fntpgm_uint8_t fontpage_163_250_250[45] U8G_FONT_SECTION("fontpage_163_250_250") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7f, - 0xc0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7F, + 0xC0,0x04,0x00,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_134_134[45] U8G_FONT_SECTION("fontpage_164_134_134") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40, - 0x40,0xbf,0xa0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xc3,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x11,0x00,0x20,0x80,0x20,0x80,0x40, + 0x40,0xBF,0xA0,0x08,0x80,0x08,0x80,0x10,0x80,0x20,0x80,0xC3,0x00}; const u8g_fntpgm_uint8_t fontpage_164_151_151[45] U8G_FONT_SECTION("fontpage_164_151_151") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x20,0x10,0x20,0x11,0x20,0x3d,0x20,0x25, - 0x20,0x65,0x20,0x99,0x20,0x09,0x20,0x10,0x20,0x20,0x20,0xc0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x97,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7E,0x20,0x10,0x20,0x11,0x20,0x3D,0x20,0x25, + 0x20,0x65,0x20,0x99,0x20,0x09,0x20,0x10,0x20,0x20,0x20,0xC0,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_157_157[45] U8G_FONT_SECTION("fontpage_164_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x27,0xe0,0xf9,0x20,0x11,0x20,0x21, - 0x20,0x69,0x20,0xb1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x27,0xE0,0xF9,0x20,0x11,0x20,0x21, + 0x20,0x69,0x20,0xB1,0x20,0x29,0x20,0x22,0x20,0x24,0x20,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_164_176_176[45] U8G_FONT_SECTION("fontpage_164_176_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfe,0x20,0x10,0x20,0x20,0xa0,0x44,0xa0,0xfe, - 0xa0,0x10,0xa0,0x7c,0xa0,0x10,0xa0,0x10,0x20,0x1e,0x20,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFE,0x20,0x10,0x20,0x20,0xA0,0x44,0xA0,0xFE, + 0xA0,0x10,0xA0,0x7C,0xA0,0x10,0xA0,0x10,0x20,0x1E,0x20,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_182_183[73] U8G_FONT_SECTION("fontpage_164_182_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x50,0xa0,0x7e,0xa0,0x90,0xa0,0xfe, - 0xa0,0x10,0xa0,0x7e,0xa0,0x52,0xa0,0x52,0x20,0x56,0x20,0x10,0xe0,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x7e,0x20,0x42,0x20,0x7e,0xa0,0x48,0xa0,0x48,0xa0,0x7e,0xa0,0x6a, - 0xa0,0xaa,0xa0,0xaa,0xa0,0x2e,0x20,0x08,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x20,0x50,0xA0,0x7E,0xA0,0x90,0xA0,0xFE, + 0xA0,0x10,0xA0,0x7E,0xA0,0x52,0xA0,0x52,0x20,0x56,0x20,0x10,0xE0,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x7E,0x20,0x42,0x20,0x7E,0xA0,0x48,0xA0,0x48,0xA0,0x7E,0xA0,0x6A, + 0xA0,0xAA,0xA0,0xAA,0xA0,0x2E,0x20,0x08,0xE0}; const u8g_fntpgm_uint8_t fontpage_164_245_245[45] U8G_FONT_SECTION("fontpage_164_245_245") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x20,0x28,0x20,0x54,0xa0,0xfe,0xa0,0x44, - 0xa0,0x7c,0xa0,0x44,0xa0,0x7c,0xa0,0xc4,0x20,0x44,0x20,0x7c,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF5,0xF5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x20,0x28,0x20,0x54,0xA0,0xFE,0xA0,0x44, + 0xA0,0x7C,0xA0,0x44,0xA0,0x7C,0xA0,0xC4,0x20,0x44,0x20,0x7C,0xE0}; const u8g_fntpgm_uint8_t fontpage_165_155_155[45] U8G_FONT_SECTION("fontpage_165_155_155") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9b,0x9b,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0xff,0x80,0x08, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9B,0x9B,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0x08,0x00,0xFF,0x80,0x08, 0x80,0x08,0x80,0x10,0x80,0x10,0x80,0x20,0x80,0x40,0x80,0x87,0x00}; const u8g_fntpgm_uint8_t fontpage_165_160_160[45] U8G_FONT_SECTION("fontpage_165_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x20,0x00,0xfd,0xe0,0x25,0x20,0x25, - 0x20,0x25,0x20,0x25,0x20,0x25,0x20,0x45,0x20,0x55,0xe0,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x20,0x00,0xFD,0xE0,0x25,0x20,0x25, + 0x20,0x25,0x20,0x25,0x20,0x25,0x20,0x45,0x20,0x55,0xE0,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_165_213_213[45] U8G_FONT_SECTION("fontpage_165_213_213") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd5,0xd5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x78,0x80,0x10,0x80,0xfe,0x80,0x55,0xe0,0x7c, - 0xa0,0x54,0xa0,0x7c,0xa0,0x10,0xa0,0x7d,0x20,0x11,0x20,0xfe,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD5,0xD5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x78,0x80,0x10,0x80,0xFE,0x80,0x55,0xE0,0x7C, + 0xA0,0x54,0xA0,0x7C,0xA0,0x10,0xA0,0x7D,0x20,0x11,0x20,0xFE,0x60}; const u8g_fntpgm_uint8_t fontpage_166_150_150[45] U8G_FONT_SECTION("fontpage_166_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63, - 0x00,0xa2,0x00,0x26,0x00,0x2a,0x00,0x22,0x20,0x22,0x20,0x21,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x80,0x63, + 0x00,0xA2,0x00,0x26,0x00,0x2A,0x00,0x22,0x20,0x22,0x20,0x21,0xE0}; const u8g_fntpgm_uint8_t fontpage_166_202_202[45] U8G_FONT_SECTION("fontpage_166_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7f, - 0xc0,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,0x7F, + 0xC0,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_166_212_212[45] U8G_FONT_SECTION("fontpage_166_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x27,0xc0,0x22,0x40,0xfa,0x40,0x24, - 0x80,0x24,0x80,0x3f,0xe0,0x2a,0xa0,0x2a,0xa0,0x33,0x20,0x24,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x27,0xC0,0x22,0x40,0xFA,0x40,0x24, + 0x80,0x24,0x80,0x3F,0xE0,0x2A,0xA0,0x2A,0xA0,0x33,0x20,0x24,0x40}; const u8g_fntpgm_uint8_t fontpage_166_225_225[45] U8G_FONT_SECTION("fontpage_166_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x0f,0x80,0x08,0x00,0x08,0x00,0xff, - 0xe0,0x08,0x00,0x0a,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x0F,0x80,0x08,0x00,0x08,0x00,0xFF, + 0xE0,0x08,0x00,0x0A,0x00,0x09,0x00,0x08,0x80,0x08,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_166_240_240[45] U8G_FONT_SECTION("fontpage_166_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x10,0x00,0xe7,0xc0,0x84,0x40,0x84,0x40,0xf4, - 0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xe5,0x80,0x84,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x10,0x00,0xE7,0xC0,0x84,0x40,0x84,0x40,0xF4, + 0x40,0x84,0x40,0x84,0x40,0x94,0x40,0xE5,0x80,0x84,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_166_248_248[45] U8G_FONT_SECTION("fontpage_166_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7d,0xe0,0x91,0x20,0x11,0x20,0xff, - 0x20,0x11,0x20,0x5d,0x20,0x51,0x20,0x51,0xa0,0x5d,0x40,0xe1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x7D,0xE0,0x91,0x20,0x11,0x20,0xFF, + 0x20,0x11,0x20,0x5D,0x20,0x51,0x20,0x51,0xA0,0x5D,0x40,0xE1,0x00}; const u8g_fntpgm_uint8_t fontpage_166_251_251[45] U8G_FONT_SECTION("fontpage_166_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x28,0x00,0x25,0xe0,0x53,0x20,0x99,0x20,0x25, - 0x20,0x43,0x20,0xbd,0x20,0x25,0xa0,0x25,0x40,0x3d,0x00,0x25,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x28,0x00,0x25,0xE0,0x53,0x20,0x99,0x20,0x25, + 0x20,0x43,0x20,0xBD,0x20,0x25,0xA0,0x25,0x40,0x3D,0x00,0x25,0x00}; const u8g_fntpgm_uint8_t fontpage_167_159_159[45] U8G_FONT_SECTION("fontpage_167_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xe0,0x22,0x00,0x2f,0xc0,0x28,0x40,0x2f, - 0xc0,0x28,0x40,0x2f,0xc0,0x22,0x00,0x2a,0x80,0x52,0x60,0xa6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xE0,0x22,0x00,0x2F,0xC0,0x28,0x40,0x2F, + 0xC0,0x28,0x40,0x2F,0xC0,0x22,0x00,0x2A,0x80,0x52,0x60,0xA6,0x20}; const u8g_fntpgm_uint8_t fontpage_167_205_205[45] U8G_FONT_SECTION("fontpage_167_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x20,0x00,0x3f, - 0xc0,0x28,0x80,0x25,0x00,0x22,0x00,0x45,0x00,0x48,0x80,0xb0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0xC0,0x3E,0x00,0x20,0x00,0x20,0x00,0x3F, + 0xC0,0x28,0x80,0x25,0x00,0x22,0x00,0x45,0x00,0x48,0x80,0xB0,0x60}; const u8g_fntpgm_uint8_t fontpage_167_214_214[45] U8G_FONT_SECTION("fontpage_167_214_214") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd6,0xd6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfc,0x00,0x4b,0xe0,0x4a,0x20,0x7a,0x20,0x49, - 0x40,0x79,0x40,0x48,0x80,0x4c,0x80,0xf9,0x40,0x0a,0x40,0x0c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD6,0xD6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFC,0x00,0x4B,0xE0,0x4A,0x20,0x7A,0x20,0x49, + 0x40,0x79,0x40,0x48,0x80,0x4C,0x80,0xF9,0x40,0x0A,0x40,0x0C,0x20}; const u8g_fntpgm_uint8_t fontpage_167_240_240[45] U8G_FONT_SECTION("fontpage_167_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xff, - 0x80,0x00,0x80,0x7f,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7f,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x10,0x00,0x22,0x00,0x41,0x00,0xFF, + 0x80,0x00,0x80,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00}; const u8g_fntpgm_uint8_t fontpage_168_136_136[45] U8G_FONT_SECTION("fontpage_168_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xdf, - 0x60,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xDF, + 0x60,0x00,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x3F,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_168_166_166[45] U8G_FONT_SECTION("fontpage_168_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x0d,0x80,0x34,0x40,0xc4, - 0x20,0x04,0x00,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,0xc0,0x20,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x04,0x00,0x0D,0x80,0x34,0x40,0xC4, + 0x20,0x04,0x00,0x3F,0xC0,0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_168_202_202[45] U8G_FONT_SECTION("fontpage_168_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04, - 0x00,0xff,0xe0,0x00,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x3f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x04, + 0x00,0xFF,0xE0,0x00,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x3F,0x80}; const u8g_fntpgm_uint8_t fontpage_168_253_253[45] U8G_FONT_SECTION("fontpage_168_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x0a,0x00,0x11,0x00,0xee,0xe0,0x00, - 0x00,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7a,0x40,0x4a,0xc0,0x02,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x0A,0x00,0x11,0x00,0xEE,0xE0,0x00, + 0x00,0x7B,0xC0,0x4A,0x40,0x4A,0x40,0x7A,0x40,0x4A,0xC0,0x02,0x00}; const u8g_fntpgm_uint8_t fontpage_169_140_140[45] U8G_FONT_SECTION("fontpage_169_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0c,0x00,0x70,0x00,0x11,0xe0,0xfd,0x20,0x11, - 0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xe0,0x10,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0C,0x00,0x70,0x00,0x11,0xE0,0xFD,0x20,0x11, + 0x20,0x39,0x20,0x35,0x20,0x55,0x20,0x91,0x20,0x11,0xE0,0x10,0x00}; const u8g_fntpgm_uint8_t fontpage_170_223_223[45] U8G_FONT_SECTION("fontpage_170_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x00,0x45,0xe0,0x7d,0x40,0x43, - 0x40,0x5d,0x40,0x55,0x40,0x54,0x80,0x94,0x80,0x9d,0x40,0x82,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x7D,0x00,0x45,0xE0,0x7D,0x40,0x43, + 0x40,0x5D,0x40,0x55,0x40,0x54,0x80,0x94,0x80,0x9D,0x40,0x82,0x20}; const u8g_fntpgm_uint8_t fontpage_171_174_174[45] U8G_FONT_SECTION("fontpage_171_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xf3,0xc0,0x92,0x40,0x92,0x40,0xff,0xc0,0x44, - 0x80,0x7f,0x80,0x44,0x80,0x7f,0x80,0x04,0x00,0xff,0xc0,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xF3,0xC0,0x92,0x40,0x92,0x40,0xFF,0xC0,0x44, + 0x80,0x7F,0x80,0x44,0x80,0x7F,0x80,0x04,0x00,0xFF,0xC0,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_172_180_180[45] U8G_FONT_SECTION("fontpage_172_180_180") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb4,0xb4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0xa0,0xeb,0xc0,0xaa,0xa0,0xbf,0xe0,0xa4, - 0x80,0xaf,0xe0,0xf9,0x20,0x0f,0xe0,0x09,0x20,0x0f,0xe0,0x11,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB4,0xB4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0xA0,0xEB,0xC0,0xAA,0xA0,0xBF,0xE0,0xA4, + 0x80,0xAF,0xE0,0xF9,0x20,0x0F,0xE0,0x09,0x20,0x0F,0xE0,0x11,0x20}; const u8g_fntpgm_uint8_t fontpage_172_232_232[45] U8G_FONT_SECTION("fontpage_172_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7b,0xc0,0x4a,0x40,0x4a,0x40,0x7b,0xc0,0x04, - 0x80,0xff,0xe0,0x11,0x00,0xfb,0xe0,0x4a,0x40,0x4a,0x40,0x7b,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7B,0xC0,0x4A,0x40,0x4A,0x40,0x7B,0xC0,0x04, + 0x80,0xFF,0xE0,0x11,0x00,0xFB,0xE0,0x4A,0x40,0x4A,0x40,0x7B,0xC0}; const u8g_fntpgm_uint8_t fontpage_172_244_244[45] U8G_FONT_SECTION("fontpage_172_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xef,0xe0,0xa5,0x40,0xaf,0xe0,0xa4, - 0x40,0xa7,0xc0,0xe4,0x40,0x07,0xc0,0x04,0x40,0x07,0xc0,0x0c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0xEF,0xE0,0xA5,0x40,0xAF,0xE0,0xA4, + 0x40,0xA7,0xC0,0xE4,0x40,0x07,0xC0,0x04,0x40,0x07,0xC0,0x0C,0x60}; const u8g_fntpgm_uint8_t fontpage_173_222_222[45] U8G_FONT_SECTION("fontpage_173_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x80,0x40,0x80,0x40,0x9e,0x40,0x92, - 0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0x80,0x40,0xff,0xc0,0x80,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x80,0x40,0x80,0x40,0x9E,0x40,0x92, + 0x40,0x92,0x40,0x9E,0x40,0x92,0x40,0x80,0x40,0xFF,0xC0,0x80,0x40}; const u8g_fntpgm_uint8_t fontpage_173_224_224[45] U8G_FONT_SECTION("fontpage_173_224_224") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x84,0x20,0x84,0x20,0xbf,0xa0,0x84, - 0x20,0x84,0x20,0x8a,0x20,0x91,0x20,0xa0,0xa0,0x80,0x20,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x84,0x20,0x84,0x20,0xBF,0xA0,0x84, + 0x20,0x84,0x20,0x8A,0x20,0x91,0x20,0xA0,0xA0,0x80,0x20,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_173_250_250[45] U8G_FONT_SECTION("fontpage_173_250_250") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x88,0x40,0x88,0x40,0xff,0x40,0x88, - 0x40,0xbe,0x40,0xa2,0x40,0xa2,0x40,0xbe,0x40,0x80,0x40,0xff,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x88,0x40,0x88,0x40,0xFF,0x40,0x88, + 0x40,0xBE,0x40,0xA2,0x40,0xA2,0x40,0xBE,0x40,0x80,0x40,0xFF,0xC0}; const u8g_fntpgm_uint8_t fontpage_174_150_150[45] U8G_FONT_SECTION("fontpage_174_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x91,0x20,0x9f,0x20,0x84,0x20,0xff, - 0xe0,0xaa,0xa0,0xae,0xa0,0xa0,0xa0,0xbf,0xa0,0x80,0x20,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x91,0x20,0x9F,0x20,0x84,0x20,0xFF, + 0xE0,0xAA,0xA0,0xAE,0xA0,0xA0,0xA0,0xBF,0xA0,0x80,0x20,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_174_168_168[45] U8G_FONT_SECTION("fontpage_174_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x08,0x00,0xff,0xc0,0x10,0x00,0x22, - 0x00,0x62,0x00,0xaf,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x08,0x00,0xFF,0xC0,0x10,0x00,0x22, + 0x00,0x62,0x00,0xAF,0x80,0x22,0x00,0x22,0x00,0x22,0x00,0x3F,0xC0}; const u8g_fntpgm_uint8_t fontpage_175_139_139[45] U8G_FONT_SECTION("fontpage_175_139_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7e,0x40,0x29,0x40,0x29,0x40,0xff,0x40,0x29, - 0x40,0x28,0x40,0x4c,0xc0,0x04,0x00,0x3f,0x80,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8B,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7E,0x40,0x29,0x40,0x29,0x40,0xFF,0x40,0x29, + 0x40,0x28,0x40,0x4C,0xC0,0x04,0x00,0x3F,0x80,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_175_247_247[45] U8G_FONT_SECTION("fontpage_175_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xf9,0x00,0x27,0xc0,0xf9,0x40,0x55, - 0x40,0xfb,0x40,0x21,0x40,0xf9,0xc0,0x22,0x40,0x24,0x20,0x28,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xF9,0x00,0x27,0xC0,0xF9,0x40,0x55, + 0x40,0xFB,0x40,0x21,0x40,0xF9,0xC0,0x22,0x40,0x24,0x20,0x28,0x20}; const u8g_fntpgm_uint8_t fontpage_176_202_202[45] U8G_FONT_SECTION("fontpage_176_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0x29,0x20,0xff,0xe0,0x29, - 0x20,0x2f,0xe0,0x21,0x40,0x33,0xa0,0xe5,0xe0,0x09,0x20,0x10,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x2F,0xE0,0x29,0x20,0xFF,0xE0,0x29, + 0x20,0x2F,0xE0,0x21,0x40,0x33,0xA0,0xE5,0xE0,0x09,0x20,0x10,0xE0}; const u8g_fntpgm_uint8_t fontpage_176_235_235[45] U8G_FONT_SECTION("fontpage_176_235_235") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xeb,0xeb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x21,0x00,0xf7,0xc0,0x24, - 0x40,0x27,0x40,0x25,0xc0,0x34,0x40,0xef,0xe0,0x02,0x80,0x0c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEB,0xEB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x21,0x00,0xF7,0xC0,0x24, + 0x40,0x27,0x40,0x25,0xC0,0x34,0x40,0xEF,0xE0,0x02,0x80,0x0C,0x60}; const u8g_fntpgm_uint8_t fontpage_177_138_138[45] U8G_FONT_SECTION("fontpage_177_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x23,0xc0,0xf9,0x40,0x51,0x40,0xfb, - 0x40,0x22,0xc0,0xfc,0x20,0x24,0x20,0x7f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF9,0x00,0x23,0xC0,0xF9,0x40,0x51,0x40,0xFB, + 0x40,0x22,0xC0,0xFC,0x20,0x24,0x20,0x7F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_178_150_150[45] U8G_FONT_SECTION("fontpage_178_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x3d,0x00,0x25,0x00,0x45, - 0x80,0xa5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x3D,0x00,0x25,0x00,0x45, + 0x80,0xA5,0x40,0x19,0x20,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_178_154_154[45] U8G_FONT_SECTION("fontpage_178_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0x1f,0x00,0x21,0x00,0x52,0x00,0x0c, - 0x00,0x34,0x00,0xcf,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xf8,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0x1F,0x00,0x21,0x00,0x52,0x00,0x0C, + 0x00,0x34,0x00,0xCF,0x80,0x10,0x80,0x69,0x00,0x06,0x00,0xF8,0x00}; const u8g_fntpgm_uint8_t fontpage_178_160_160[45] U8G_FONT_SECTION("fontpage_178_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x79,0xe0,0x8a,0x20,0x50,0x20,0x23, - 0xa0,0xfa,0xa0,0x2a,0xa0,0xcb,0xa0,0x28,0x20,0x11,0x20,0xe0,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x79,0xE0,0x8A,0x20,0x50,0x20,0x23, + 0xA0,0xFA,0xA0,0x2A,0xA0,0xCB,0xA0,0x28,0x20,0x11,0x20,0xE0,0xC0}; const u8g_fntpgm_uint8_t fontpage_178_167_167[45] U8G_FONT_SECTION("fontpage_178_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04, - 0x00,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04, + 0x00,0x04,0x00,0x0A,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_178_169_170[73] U8G_FONT_SECTION("fontpage_178_169_170") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xaa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0xff, - 0xe0,0x04,0x00,0x0a,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x0a, - 0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xc4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xAA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0xFF, + 0xE0,0x04,0x00,0x0A,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x0A,0x00,0x0A, + 0x00,0x11,0x00,0x19,0x00,0x24,0x80,0xC4,0x60}; const u8g_fntpgm_uint8_t fontpage_178_177_177[45] U8G_FONT_SECTION("fontpage_178_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x24,0x00,0x3f,0xc0,0x44,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x0a,0x00,0x11,0x00,0x20,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x24,0x00,0x3F,0xC0,0x44,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_179_203_203[45] U8G_FONT_SECTION("fontpage_179_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0xfa,0x40,0x2a,0x20,0x2f, - 0xe0,0x48,0x00,0x53,0xe0,0x32,0x20,0x2a,0x20,0x4b,0xe0,0x82,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0xFA,0x40,0x2A,0x20,0x2F, + 0xE0,0x48,0x00,0x53,0xE0,0x32,0x20,0x2A,0x20,0x4B,0xE0,0x82,0x20}; const u8g_fntpgm_uint8_t fontpage_181_146_146[45] U8G_FONT_SECTION("fontpage_181_146_146") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x40,0x2f,0xe0,0x24,0x40,0xf7,0xc0,0x54, - 0x40,0x57,0xc0,0x51,0x00,0x2f,0xe0,0x33,0x80,0x4d,0x40,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x40,0x2F,0xE0,0x24,0x40,0xF7,0xC0,0x54, + 0x40,0x57,0xC0,0x51,0x00,0x2F,0xE0,0x33,0x80,0x4D,0x40,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_182_208_208[45] U8G_FONT_SECTION("fontpage_182_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x14,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_182_216_216[45] U8G_FONT_SECTION("fontpage_182_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0xc0,0x20, - 0x80,0x61,0x00,0xbf,0xe0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0xFF,0xE0,0x10,0x00,0x2F,0xC0,0x20, + 0x80,0x61,0x00,0xBF,0xE0,0x21,0x00,0x21,0x00,0x21,0x00,0x27,0x00}; const u8g_fntpgm_uint8_t fontpage_183_137_137[45] U8G_FONT_SECTION("fontpage_183_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x88,0x40,0x08, - 0x00,0xff,0xe0,0x11,0x00,0x31,0x00,0x0e,0x00,0x09,0x80,0x70,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x88,0x40,0x08, + 0x00,0xFF,0xE0,0x11,0x00,0x31,0x00,0x0E,0x00,0x09,0x80,0x70,0x60}; const u8g_fntpgm_uint8_t fontpage_183_140_140[45] U8G_FONT_SECTION("fontpage_183_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x9f,0x40,0x00, - 0x00,0x7f,0xe0,0x0a,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x9F,0x40,0x00, + 0x00,0x7F,0xE0,0x0A,0x00,0x12,0x00,0x12,0x20,0x22,0x20,0x41,0xE0}; const u8g_fntpgm_uint8_t fontpage_183_154_154[45] U8G_FONT_SECTION("fontpage_183_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x80,0x40,0x3f, - 0xc0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x80,0x40,0x3F, + 0xC0,0x04,0x00,0x24,0x00,0x27,0x80,0x24,0x00,0x54,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_183_162_162[45] U8G_FONT_SECTION("fontpage_183_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x08,0x00,0xff,0xc0,0x90,0x40,0x3f,0x00,0x52, - 0x00,0x8c,0x00,0x33,0x00,0xff,0xc0,0x21,0x00,0x21,0x00,0x3f,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x08,0x00,0xFF,0xC0,0x90,0x40,0x3F,0x00,0x52, + 0x00,0x8C,0x00,0x33,0x00,0xFF,0xC0,0x21,0x00,0x21,0x00,0x3F,0x00}; const u8g_fntpgm_uint8_t fontpage_183_185_185[45] U8G_FONT_SECTION("fontpage_183_185_185") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb9,0xb9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x91,0x20,0x24,0x80,0x4a, - 0x40,0x11,0x00,0x20,0x80,0xdf,0x60,0x11,0x00,0x11,0x00,0x1f,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB9,0xB9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x91,0x20,0x24,0x80,0x4A, + 0x40,0x11,0x00,0x20,0x80,0xDF,0x60,0x11,0x00,0x11,0x00,0x1F,0x00}; const u8g_fntpgm_uint8_t fontpage_184_141_141[45] U8G_FONT_SECTION("fontpage_184_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x28,0x40,0xaa,0x40,0x6c,0x40,0xff,0xe0,0x28, - 0x40,0x7d,0x40,0x10,0xc0,0x7c,0x40,0x10,0x40,0x1d,0x40,0xe0,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x28,0x40,0xAA,0x40,0x6C,0x40,0xFF,0xE0,0x28, + 0x40,0x7D,0x40,0x10,0xC0,0x7C,0x40,0x10,0x40,0x1D,0x40,0xE0,0x80}; const u8g_fntpgm_uint8_t fontpage_184_143_143[45] U8G_FONT_SECTION("fontpage_184_143_143") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24, + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8F,0x8F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x80,0x24, 0x40,0x44,0x40,0x44,0x20,0x84,0x20,0x04,0x00,0x14,0x00,0x08,0x00}; const u8g_fntpgm_uint8_t fontpage_184_177_177[45] U8G_FONT_SECTION("fontpage_184_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xfd,0x40,0x01,0x20,0x7f,0xe0,0x4a, - 0x80,0x7a,0x80,0x12,0x80,0x5a,0xa0,0x56,0xa0,0x92,0xa0,0x34,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFD,0x40,0x01,0x20,0x7F,0xE0,0x4A, + 0x80,0x7A,0x80,0x12,0x80,0x5A,0xA0,0x56,0xA0,0x92,0xA0,0x34,0x60}; const u8g_fntpgm_uint8_t fontpage_187_229_229[41] U8G_FONT_SECTION("fontpage_187_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x09,0x00,0x00, - 0x00,0x0b,0x09,0x12,0x0c,0x00,0x00,0x7f,0xc0,0x04,0x00,0x04,0x00,0x04,0x00,0x04, - 0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x09,0x00,0x00, + 0x00,0x0B,0x09,0x12,0x0C,0x00,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04, + 0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_187_238_238[45] U8G_FONT_SECTION("fontpage_187_238_238") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x80,0x09,0x00,0xff,0xe0,0x04,0x00,0x7f, - 0xc0,0x08,0x00,0xff,0xe0,0x10,0x00,0x2f,0x80,0x42,0x00,0xbf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEE,0xEE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x80,0x09,0x00,0xFF,0xE0,0x04,0x00,0x7F, + 0xC0,0x08,0x00,0xFF,0xE0,0x10,0x00,0x2F,0x80,0x42,0x00,0xBF,0xE0}; const u8g_fntpgm_uint8_t fontpage_187_242_242[43] U8G_FONT_SECTION("fontpage_187_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x09,0xff,0x00, - 0x00,0x0a,0x0a,0x14,0x0c,0x01,0xff,0xff,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xff, - 0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x09,0xFF,0x00, + 0x00,0x0A,0x0A,0x14,0x0C,0x01,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x81,0x00,0xFF, + 0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80,0x40,0x7F,0xC0}; const u8g_fntpgm_uint8_t fontpage_188_243_243[45] U8G_FONT_SECTION("fontpage_188_243_243") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf3,0xf3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0x24,0x80,0x15,0x00,0x04, - 0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF3,0xF3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0x24,0x80,0x15,0x00,0x04, + 0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_189_138_138[45] U8G_FONT_SECTION("fontpage_189_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x42,0x00,0x42,0x00,0x7f, - 0xe0,0x42,0x00,0x47,0x00,0x4a,0x80,0x52,0x40,0xa2,0x20,0x82,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0x7F,0xE0,0x42,0x00,0x42,0x00,0x7F, + 0xE0,0x42,0x00,0x47,0x00,0x4A,0x80,0x52,0x40,0xA2,0x20,0x82,0x00}; const u8g_fntpgm_uint8_t fontpage_189_166_166[45] U8G_FONT_SECTION("fontpage_189_166_166") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa6,0xa6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x49,0x00,0x7f,0xc0,0x49, - 0x00,0x4f,0x00,0x40,0x00,0x5f,0x80,0x49,0x00,0x86,0x00,0xb9,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA6,0xA6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x49,0x00,0x7F,0xC0,0x49, + 0x00,0x4F,0x00,0x40,0x00,0x5F,0x80,0x49,0x00,0x86,0x00,0xB9,0xC0}; const u8g_fntpgm_uint8_t fontpage_189_226_226[45] U8G_FONT_SECTION("fontpage_189_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x55,0x40,0x48,0xa0,0x7d, - 0xc0,0x45,0x20,0x5e,0x00,0x51,0xc0,0x5d,0x40,0x84,0x80,0x9b,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x55,0x40,0x48,0xA0,0x7D, + 0xC0,0x45,0x20,0x5E,0x00,0x51,0xC0,0x5D,0x40,0x84,0x80,0x9B,0x60}; const u8g_fntpgm_uint8_t fontpage_189_250_250[45] U8G_FONT_SECTION("fontpage_189_250_250") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfa,0xfa,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xef,0xc0,0x22,0x40,0x5f,0xe0,0xe2, - 0x40,0x2f,0xc0,0xa2,0x00,0x6f,0xe0,0x22,0x00,0x52,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0xEF,0xC0,0x22,0x40,0x5F,0xE0,0xE2, + 0x40,0x2F,0xC0,0xA2,0x00,0x6F,0xE0,0x22,0x00,0x52,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_190_149_149[45] U8G_FONT_SECTION("fontpage_190_149_149") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xfc,0x40,0x04,0x40,0x04,0x40,0x7c,0x40,0x40, - 0x40,0xfc,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x28,0x40,0x10,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFC,0x40,0x04,0x40,0x04,0x40,0x7C,0x40,0x40, + 0x40,0xFC,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x28,0x40,0x10,0x40}; const u8g_fntpgm_uint8_t fontpage_191_133_133[45] U8G_FONT_SECTION("fontpage_191_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x21,0x00,0x47,0xc0,0x91,0x00,0x1f, - 0xe0,0x20,0x80,0x6f,0xe0,0xa4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x21,0x00,0x47,0xC0,0x91,0x00,0x1F, + 0xE0,0x20,0x80,0x6F,0xE0,0xA4,0x80,0x22,0x80,0x20,0x80,0x21,0x80}; const u8g_fntpgm_uint8_t fontpage_191_140_140[45] U8G_FONT_SECTION("fontpage_191_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x24,0x80,0x47,0x00,0x92,0x40,0x2f, - 0xe0,0x64,0x20,0xa7,0xc0,0x2c,0x40,0x32,0x80,0x23,0x80,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x24,0x80,0x47,0x00,0x92,0x40,0x2F, + 0xE0,0x64,0x20,0xA7,0xC0,0x2C,0x40,0x32,0x80,0x23,0x80,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_191_145_145[45] U8G_FONT_SECTION("fontpage_191_145_145") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0xe0,0x25,0x40,0x45,0x40,0x9a,0x80,0x25, - 0x40,0x65,0x40,0xa0,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x91,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x1F,0xE0,0x25,0x40,0x45,0x40,0x9A,0x80,0x25, + 0x40,0x65,0x40,0xA0,0x00,0x27,0xC0,0x21,0x00,0x21,0x00,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_191_158_158[45] U8G_FONT_SECTION("fontpage_191_158_158") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9e,0x9e,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x40,0x22,0x40,0x45,0xa0,0x99,0x20,0x20, - 0x00,0x65,0x00,0xa5,0x00,0x25,0xe0,0x25,0x00,0x2b,0x00,0x31,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9E,0x9E,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x40,0x22,0x40,0x45,0xA0,0x99,0x20,0x20, + 0x00,0x65,0x00,0xA5,0x00,0x25,0xE0,0x25,0x00,0x2B,0x00,0x31,0xE0}; const u8g_fntpgm_uint8_t fontpage_191_169_169[45] U8G_FONT_SECTION("fontpage_191_169_169") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa9,0xa9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x14,0x00,0x27,0xe0,0x4c,0x40,0x97,0xc0,0x24, - 0x40,0x67,0xc0,0xa4,0x00,0x27,0xc0,0x2c,0x80,0x33,0x00,0x2c,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA9,0xA9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x14,0x00,0x27,0xE0,0x4C,0x40,0x97,0xC0,0x24, + 0x40,0x67,0xC0,0xA4,0x00,0x27,0xC0,0x2C,0x80,0x33,0x00,0x2C,0xE0}; const u8g_fntpgm_uint8_t fontpage_191_174_174[45] U8G_FONT_SECTION("fontpage_191_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x6a,0x80,0xbe,0x80,0x01,0xe0,0x5d, - 0x40,0xc3,0x40,0x5d,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2A,0x80,0x6A,0x80,0xBE,0x80,0x01,0xE0,0x5D, + 0x40,0xC3,0x40,0x5D,0x40,0x54,0x80,0x56,0x80,0x55,0x40,0x62,0x20}; const u8g_fntpgm_uint8_t fontpage_191_195_195[45] U8G_FONT_SECTION("fontpage_191_195_195") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10, - 0x40,0x50,0x20,0x50,0x20,0x50,0xa0,0x90,0x80,0x10,0x80,0x0f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x02,0x00,0x12,0x00,0x12,0x00,0x10, + 0x40,0x50,0x20,0x50,0x20,0x50,0xA0,0x90,0x80,0x10,0x80,0x0F,0x80}; const u8g_fntpgm_uint8_t fontpage_192_167_167[45] U8G_FONT_SECTION("fontpage_192_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x25,0x00,0xb5,0x00,0xaf,0xe0,0xa9, - 0x00,0xb1,0x00,0x27,0xc0,0x21,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x25,0x00,0xB5,0x00,0xAF,0xE0,0xA9, + 0x00,0xB1,0x00,0x27,0xC0,0x21,0x00,0x21,0x00,0x21,0x00,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_192_226_226[45] U8G_FONT_SECTION("fontpage_192_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x2f,0xe0,0xb2,0x00,0xaa,0x80,0xa4, - 0x80,0xa5,0xa0,0x2a,0xc0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x2F,0xE0,0xB2,0x00,0xAA,0x80,0xA4, + 0x80,0xA5,0xA0,0x2A,0xC0,0x30,0x80,0x21,0x40,0x22,0x40,0x24,0x20}; const u8g_fntpgm_uint8_t fontpage_192_239_239[45] U8G_FONT_SECTION("fontpage_192_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20, - 0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x54,0x40,0x52,0xa0,0x8f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20, + 0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x54,0x40,0x52,0xA0,0x8F,0x80}; const u8g_fntpgm_uint8_t fontpage_195_182_182[45] U8G_FONT_SECTION("fontpage_195_182_182") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0xb2,0x80,0xaf,0xe0,0xa4, - 0x40,0x27,0xc0,0x24,0x40,0x27,0xc0,0x25,0x40,0x2c,0xa0,0x33,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xE0,0xB2,0x80,0xAF,0xE0,0xA4, + 0x40,0x27,0xC0,0x24,0x40,0x27,0xC0,0x25,0x40,0x2C,0xA0,0x33,0xA0}; const u8g_fntpgm_uint8_t fontpage_195_201_201[45] U8G_FONT_SECTION("fontpage_195_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0x7f,0xe0,0x4a,0x80,0x57,0xe0,0x7c, - 0x80,0x57,0xc0,0x54,0x80,0x57,0xe0,0x4a,0x40,0xa8,0xa0,0x4f,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0x7F,0xE0,0x4A,0x80,0x57,0xE0,0x7C, + 0x80,0x57,0xC0,0x54,0x80,0x57,0xE0,0x4A,0x40,0xA8,0xA0,0x4F,0xA0}; const u8g_fntpgm_uint8_t fontpage_196_144_144[45] U8G_FONT_SECTION("fontpage_196_144_144") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x80,0x02,0x40,0x7f,0xe0,0x42,0x00,0x42, - 0x00,0x7a,0x40,0x4a,0x40,0x4a,0x80,0x49,0x20,0x52,0xa0,0x84,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x80,0x02,0x40,0x7F,0xE0,0x42,0x00,0x42, + 0x00,0x7A,0x40,0x4A,0x40,0x4A,0x80,0x49,0x20,0x52,0xA0,0x84,0x60}; const u8g_fntpgm_uint8_t fontpage_196_182_182[45] U8G_FONT_SECTION("fontpage_196_182_182") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x01,0xc0,0x3e,0x00,0x20,0x00,0x3f,0xc0,0x20, - 0x40,0x20,0x40,0x3f,0xc0,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB6,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x01,0xC0,0x3E,0x00,0x20,0x00,0x3F,0xC0,0x20, + 0x40,0x20,0x40,0x3F,0xC0,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x00}; const u8g_fntpgm_uint8_t fontpage_196_192_192[45] U8G_FONT_SECTION("fontpage_196_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x18,0x60,0x63,0x80,0x42,0x00,0x7a,0x00,0x4b, - 0xe0,0x4a,0x40,0x7a,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x18,0x60,0x63,0x80,0x42,0x00,0x7A,0x00,0x4B, + 0xE0,0x4A,0x40,0x7A,0x40,0x42,0x40,0x42,0x40,0x44,0x40,0x88,0x40}; const u8g_fntpgm_uint8_t fontpage_196_199_199[45] U8G_FONT_SECTION("fontpage_196_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xe0,0x40,0x20,0x7f,0xe0,0x40, - 0x00,0x7d,0xe0,0x44,0x20,0x54,0xa0,0x4c,0x60,0x54,0xa0,0xa9,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xE0,0x40,0x20,0x7F,0xE0,0x40, + 0x00,0x7D,0xE0,0x44,0x20,0x54,0xA0,0x4C,0x60,0x54,0xA0,0xA9,0x60}; const u8g_fntpgm_uint8_t fontpage_196_203_203[45] U8G_FONT_SECTION("fontpage_196_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xc0,0x7c,0x00,0x04,0x00,0x7f,0xc0,0x04, - 0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00,0x04,0x00,0x0c,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x03,0xC0,0x7C,0x00,0x04,0x00,0x7F,0xC0,0x04, + 0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00}; const u8g_fntpgm_uint8_t fontpage_196_211_211[45] U8G_FONT_SECTION("fontpage_196_211_211") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd3,0xd3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0xf8,0x80,0x20,0x80,0x28, - 0x80,0x30,0x80,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0xe3,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD3,0xD3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xE0,0xF8,0x80,0x20,0x80,0x28, + 0x80,0x30,0x80,0x60,0x80,0xA0,0x80,0x20,0x80,0x20,0x80,0xE3,0x80}; const u8g_fntpgm_uint8_t fontpage_196_249_249[45] U8G_FONT_SECTION("fontpage_196_249_249") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf9,0xf9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x80,0x24,0x80,0xfc,0x80,0x24,0xa0,0x2f, - 0xc0,0x34,0x80,0x64,0x80,0xa4,0x80,0x25,0xa0,0x26,0xa0,0xe4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF9,0xF9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x80,0x24,0x80,0xFC,0x80,0x24,0xA0,0x2F, + 0xC0,0x34,0x80,0x64,0x80,0xA4,0x80,0x25,0xA0,0x26,0xA0,0xE4,0x60}; const u8g_fntpgm_uint8_t fontpage_197_150_150[45] U8G_FONT_SECTION("fontpage_197_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x40,0x22,0x40,0xf9,0x40,0x20,0x40,0x2a, - 0x40,0x31,0x40,0x60,0xe0,0xaf,0x40,0x20,0x40,0x20,0x40,0xe0,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x40,0x22,0x40,0xF9,0x40,0x20,0x40,0x2A, + 0x40,0x31,0x40,0x60,0xE0,0xAF,0x40,0x20,0x40,0x20,0x40,0xE0,0x40}; const u8g_fntpgm_uint8_t fontpage_197_189_189[45] U8G_FONT_SECTION("fontpage_197_189_189") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x20,0x80,0xf8,0x80,0x27,0xe0,0x2c, - 0xa0,0x34,0xa0,0x67,0xe0,0xa4,0xa0,0x24,0xa0,0x27,0xe0,0xe4,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBD,0xBD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x20,0x80,0xF8,0x80,0x27,0xE0,0x2C, + 0xA0,0x34,0xA0,0x67,0xE0,0xA4,0xA0,0x24,0xA0,0x27,0xE0,0xE4,0x20}; const u8g_fntpgm_uint8_t fontpage_197_212_212[45] U8G_FONT_SECTION("fontpage_197_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x22,0x40,0xff,0xe0,0x22,0x00,0x2b, - 0xc0,0x32,0x40,0x65,0x40,0xa4,0x80,0x28,0x80,0x29,0x40,0xe6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x22,0x40,0xFF,0xE0,0x22,0x00,0x2B, + 0xC0,0x32,0x40,0x65,0x40,0xA4,0x80,0x28,0x80,0x29,0x40,0xE6,0x20}; const u8g_fntpgm_uint8_t fontpage_198_137_137[45] U8G_FONT_SECTION("fontpage_198_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0xff,0xe0,0x25,0x20,0x29, - 0x00,0x37,0xe0,0x62,0x40,0xa6,0x40,0x21,0x80,0x22,0x80,0xec,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x20,0x80,0xFF,0xE0,0x25,0x20,0x29, + 0x00,0x37,0xE0,0x62,0x40,0xA6,0x40,0x21,0x80,0x22,0x80,0xEC,0x60}; const u8g_fntpgm_uint8_t fontpage_199_137_137[45] U8G_FONT_SECTION("fontpage_199_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0xe0,0xf9,0x00,0x27,0xc0,0x2c, - 0x40,0x37,0xc0,0x64,0x40,0xa7,0xc0,0x21,0x00,0x2f,0xe0,0xe1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0xE0,0xF9,0x00,0x27,0xC0,0x2C, + 0x40,0x37,0xC0,0x64,0x40,0xA7,0xC0,0x21,0x00,0x2F,0xE0,0xE1,0x00}; const u8g_fntpgm_uint8_t fontpage_199_162_162[45] U8G_FONT_SECTION("fontpage_199_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x28,0x20,0xf2,0x80,0x24,0x40,0x29, - 0x20,0x31,0x00,0x6f,0xe0,0xa1,0x00,0x25,0x80,0x29,0x40,0xf1,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xE0,0x28,0x20,0xF2,0x80,0x24,0x40,0x29, + 0x20,0x31,0x00,0x6F,0xE0,0xA1,0x00,0x25,0x80,0x29,0x40,0xF1,0x20}; const u8g_fntpgm_uint8_t fontpage_199_165_165[45] U8G_FONT_SECTION("fontpage_199_165_165") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa5,0xa5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf4,0x40,0x22,0x80,0x2f, - 0xe0,0x31,0x00,0x6f,0xe0,0xa2,0x40,0x26,0x80,0x21,0x40,0xee,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA5,0xA5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0xF4,0x40,0x22,0x80,0x2F, + 0xE0,0x31,0x00,0x6F,0xE0,0xA2,0x40,0x26,0x80,0x21,0x40,0xEE,0x20}; const u8g_fntpgm_uint8_t fontpage_199_167_167[45] U8G_FONT_SECTION("fontpage_199_167_167") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa7,0xa7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xf8,0x20,0x22,0x80,0x24, - 0x40,0x38,0x20,0x67,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0xef,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA7,0xA7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0xF8,0x20,0x22,0x80,0x24, + 0x40,0x38,0x20,0x67,0xC0,0xA1,0x00,0x21,0x00,0x21,0x00,0xEF,0xE0}; const u8g_fntpgm_uint8_t fontpage_199_208_208[45] U8G_FONT_SECTION("fontpage_199_208_208") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd0,0xd0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x24,0x40,0xff,0xc0,0x24,0x40,0x27, - 0xc0,0x30,0x00,0x6f,0xe0,0xa5,0x00,0x25,0xe0,0x2b,0x00,0xf1,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD0,0xD0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x24,0x40,0xFF,0xC0,0x24,0x40,0x27, + 0xC0,0x30,0x00,0x6F,0xE0,0xA5,0x00,0x25,0xE0,0x2B,0x00,0xF1,0xE0}; const u8g_fntpgm_uint8_t fontpage_199_210_210[45] U8G_FONT_SECTION("fontpage_199_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xf1,0x00,0x2f,0xe0,0x21, - 0x00,0x35,0x60,0x69,0x20,0xad,0x60,0x29,0x20,0x29,0x20,0xef,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0xC0,0x27,0x00,0xF1,0x00,0x2F,0xE0,0x21, + 0x00,0x35,0x60,0x69,0x20,0xAD,0x60,0x29,0x20,0x29,0x20,0xEF,0xE0}; const u8g_fntpgm_uint8_t fontpage_199_219_219[45] U8G_FONT_SECTION("fontpage_199_219_219") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdb,0xdb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x80,0x2f,0xe0,0x2a, - 0xa0,0x3a,0xa0,0x6c,0x60,0xa1,0x00,0x2f,0xe0,0x22,0x80,0xec,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDB,0xDB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0xF4,0x80,0x2F,0xE0,0x2A, + 0xA0,0x3A,0xA0,0x6C,0x60,0xA1,0x00,0x2F,0xE0,0x22,0x80,0xEC,0x60}; const u8g_fntpgm_uint8_t fontpage_201_199_199[45] U8G_FONT_SECTION("fontpage_201_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xe0,0x2a,0xa0,0xff,0xe0,0x21,0x00,0x2f, - 0xe0,0x32,0x80,0xe7,0xc0,0x21,0x00,0x2f,0xe0,0xa1,0x00,0x61,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xE0,0x2A,0xA0,0xFF,0xE0,0x21,0x00,0x2F, + 0xE0,0x32,0x80,0xE7,0xC0,0x21,0x00,0x2F,0xE0,0xA1,0x00,0x61,0x00}; const u8g_fntpgm_uint8_t fontpage_201_202_203[73] U8G_FONT_SECTION("fontpage_201_202_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfd,0xc0,0xa9,0x40,0xf9,0x60,0xab,0xc0,0xfd, - 0x40,0xa9,0x80,0xab,0x60,0xfe,0x00,0x04,0x00,0xff,0xe0,0x04,0x00,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x29,0x20,0x25,0x40,0xff,0xe0,0x2a,0xa0,0x2b,0x80,0x30,0x00,0xef, - 0xe0,0x29,0x20,0x2f,0xe0,0xa9,0x20,0x6f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFD,0xC0,0xA9,0x40,0xF9,0x60,0xAB,0xC0,0xFD, + 0x40,0xA9,0x80,0xAB,0x60,0xFE,0x00,0x04,0x00,0xFF,0xE0,0x04,0x00,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x29,0x20,0x25,0x40,0xFF,0xE0,0x2A,0xA0,0x2B,0x80,0x30,0x00,0xEF, + 0xE0,0x29,0x20,0x2F,0xE0,0xA9,0x20,0x6F,0xE0}; const u8g_fntpgm_uint8_t fontpage_201_224_224[45] U8G_FONT_SECTION("fontpage_201_224_224") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0xfa,0xa0,0x25,0x40,0x2d, - 0x60,0x35,0x40,0xe4,0x40,0x27,0xc0,0x24,0x40,0xa7,0xc0,0x68,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0xFA,0xA0,0x25,0x40,0x2D, + 0x60,0x35,0x40,0xE4,0x40,0x27,0xC0,0x24,0x40,0xA7,0xC0,0x68,0x40}; const u8g_fntpgm_uint8_t fontpage_202_182_182[45] U8G_FONT_SECTION("fontpage_202_182_182") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb6,0xb6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x12,0x00,0x12,0x00,0x93,0xe0,0x94,0x40,0x9a, - 0x40,0x92,0x40,0xb2,0x80,0xd1,0x00,0x91,0x80,0x12,0x40,0x14,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB6,0xB6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x12,0x00,0x12,0x00,0x93,0xE0,0x94,0x40,0x9A, + 0x40,0x92,0x40,0xB2,0x80,0xD1,0x00,0x91,0x80,0x12,0x40,0x14,0x20}; const u8g_fntpgm_uint8_t fontpage_202_190_190[45] U8G_FONT_SECTION("fontpage_202_190_190") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbe,0xbe,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x11,0x00,0xfd,0xe0,0x22,0x40,0x25, - 0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4a,0x40,0x94,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBE,0xBE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x11,0x00,0xFD,0xE0,0x22,0x40,0x25, + 0x40,0x39,0x40,0x29,0x40,0x28,0x80,0x49,0x80,0x4A,0x40,0x94,0x20}; const u8g_fntpgm_uint8_t fontpage_202_215_215[45] U8G_FONT_SECTION("fontpage_202_215_215") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd7,0xd7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7d,0x00,0x45,0x00,0x7d,0xe0,0x47,0x40,0x7d, - 0x40,0x45,0x40,0x7d,0x40,0x45,0x40,0x28,0x80,0x45,0x40,0x86,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD7,0xD7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7D,0x00,0x45,0x00,0x7D,0xE0,0x47,0x40,0x7D, + 0x40,0x45,0x40,0x7D,0x40,0x45,0x40,0x28,0x80,0x45,0x40,0x86,0x20}; const u8g_fntpgm_uint8_t fontpage_202_244_244[45] U8G_FONT_SECTION("fontpage_202_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x55,0x40,0x7c,0x80,0x39, - 0x40,0x56,0x20,0x7f,0xc0,0x04,0x00,0x27,0x80,0x24,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x55,0x40,0x7C,0x80,0x39, + 0x40,0x56,0x20,0x7F,0xC0,0x04,0x00,0x27,0x80,0x24,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_202_248_248[45] U8G_FONT_SECTION("fontpage_202_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x7d,0x00,0x55,0xe0,0xff,0x40,0x55, - 0x40,0xfd,0x40,0x95,0x40,0xff,0x40,0x28,0x80,0x19,0x40,0xe6,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x7D,0x00,0x55,0xE0,0xFF,0x40,0x55, + 0x40,0xFD,0x40,0x95,0x40,0xFF,0x40,0x28,0x80,0x19,0x40,0xE6,0x20}; const u8g_fntpgm_uint8_t fontpage_203_153_153[45] U8G_FONT_SECTION("fontpage_203_153_153") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xac,0x80,0x72,0x80,0x20,0x80,0xfc, - 0x80,0x22,0x80,0x30,0xe0,0x6f,0x80,0xa0,0x80,0x20,0x80,0x20,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x99,0x99,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0xAC,0x80,0x72,0x80,0x20,0x80,0xFC, + 0x80,0x22,0x80,0x30,0xE0,0x6F,0x80,0xA0,0x80,0x20,0x80,0x20,0x80}; const u8g_fntpgm_uint8_t fontpage_203_156_156[45] U8G_FONT_SECTION("fontpage_203_156_156") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9c,0x9c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x40,0x29,0x40,0x44,0xc0,0xb8,0x40,0x12, - 0x40,0x7d,0x40,0x10,0x60,0x55,0xc0,0x52,0x40,0x92,0x40,0x30,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9C,0x9C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x40,0x29,0x40,0x44,0xC0,0xB8,0x40,0x12, + 0x40,0x7D,0x40,0x10,0x60,0x55,0xC0,0x52,0x40,0x92,0x40,0x30,0x40}; const u8g_fntpgm_uint8_t fontpage_203_176_176[45] U8G_FONT_SECTION("fontpage_203_176_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x10,0x60,0xfd,0x80,0x45,0x00,0x29,0x00,0xfd, - 0xe0,0x11,0x40,0xfd,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x60,0xFD,0x80,0x45,0x00,0x29,0x00,0xFD, + 0xE0,0x11,0x40,0xFD,0x40,0x11,0x40,0x55,0x40,0x92,0x40,0x34,0x40}; const u8g_fntpgm_uint8_t fontpage_203_183_183[45] U8G_FONT_SECTION("fontpage_203_183_183") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb7,0xb7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xaa,0x40,0xfd,0x80,0x95,0x00,0xab,0x00,0xff, - 0xe0,0xa9,0x40,0xab,0x40,0xfd,0x40,0x95,0x40,0xab,0x40,0xfe,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB7,0xB7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xAA,0x40,0xFD,0x80,0x95,0x00,0xAB,0x00,0xFF, + 0xE0,0xA9,0x40,0xAB,0x40,0xFD,0x40,0x95,0x40,0xAB,0x40,0xFE,0x40}; const u8g_fntpgm_uint8_t fontpage_203_188_188[45] U8G_FONT_SECTION("fontpage_203_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x10,0x80,0xfd,0x40,0x21,0x40,0x3a, - 0x20,0x2c,0x80,0x28,0x40,0x28,0x40,0x49,0x00,0x48,0x80,0x98,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x10,0x80,0xFD,0x40,0x21,0x40,0x3A, + 0x20,0x2C,0x80,0x28,0x40,0x28,0x40,0x49,0x00,0x48,0x80,0x98,0x40}; const u8g_fntpgm_uint8_t fontpage_204_135_135[45] U8G_FONT_SECTION("fontpage_204_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xc0,0x20,0x40,0x3f,0xc0,0x20,0x40,0x3f, - 0xc0,0x79,0x00,0x11,0x00,0xff,0xe0,0x11,0x00,0x21,0x00,0xc1,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xC0,0x20,0x40,0x3F,0xC0,0x20,0x40,0x3F, + 0xC0,0x79,0x00,0x11,0x00,0xFF,0xE0,0x11,0x00,0x21,0x00,0xC1,0x00}; const u8g_fntpgm_uint8_t fontpage_204_142_142[45] U8G_FONT_SECTION("fontpage_204_142_142") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x03,0xe0,0xf2,0x20,0x92,0x20,0x93,0xe0,0xf2, - 0x20,0x92,0x20,0x93,0xe0,0xf2,0x20,0x04,0x20,0x08,0xa0,0x30,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8E,0x8E,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x03,0xE0,0xF2,0x20,0x92,0x20,0x93,0xE0,0xF2, + 0x20,0x92,0x20,0x93,0xE0,0xF2,0x20,0x04,0x20,0x08,0xA0,0x30,0x40}; const u8g_fntpgm_uint8_t fontpage_204_175_175[45] U8G_FONT_SECTION("fontpage_204_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f, - 0x80,0x00,0x00,0xff,0xe0,0x24,0x00,0x27,0x80,0x54,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F, + 0x80,0x00,0x00,0xFF,0xE0,0x24,0x00,0x27,0x80,0x54,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_204_194_194[45] U8G_FONT_SECTION("fontpage_204_194_194") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xf7,0xc0,0x91,0x00,0x91,0x00,0xff, - 0xe0,0x90,0x80,0x9f,0xe0,0x94,0x80,0xf2,0x80,0x00,0x80,0x03,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC2,0xC2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0xF7,0xC0,0x91,0x00,0x91,0x00,0xFF, + 0xE0,0x90,0x80,0x9F,0xE0,0x94,0x80,0xF2,0x80,0x00,0x80,0x03,0x80}; const u8g_fntpgm_uint8_t fontpage_205_171_171[45] U8G_FONT_SECTION("fontpage_205_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x00,0x55,0xe0,0x7d,0x40,0x55, - 0x40,0xff,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40,0x1f,0xc0,0x10,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0xE0,0xFF,0x00,0x55,0xE0,0x7D,0x40,0x55, + 0x40,0xFF,0xC0,0x10,0x40,0x1F,0xC0,0x10,0x40,0x1F,0xC0,0x10,0x40}; const u8g_fntpgm_uint8_t fontpage_205_244_244[45] U8G_FONT_SECTION("fontpage_205_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x02,0x00,0x3f,0xc0,0x22,0x40,0x3f, - 0xc0,0x22,0x40,0x3f,0xc0,0x0a,0x00,0x04,0x00,0x1b,0x00,0xe0,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xE0,0x02,0x00,0x3F,0xC0,0x22,0x40,0x3F, + 0xC0,0x22,0x40,0x3F,0xC0,0x0A,0x00,0x04,0x00,0x1B,0x00,0xE0,0xE0}; const u8g_fntpgm_uint8_t fontpage_206_128_128[45] U8G_FONT_SECTION("fontpage_206_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff, - 0xe0,0x48,0x00,0x7f,0xc0,0x4a,0x40,0x79,0x80,0xc9,0x80,0x0e,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF, + 0xE0,0x48,0x00,0x7F,0xC0,0x4A,0x40,0x79,0x80,0xC9,0x80,0x0E,0x60}; const u8g_fntpgm_uint8_t fontpage_206_137_137[45] U8G_FONT_SECTION("fontpage_206_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x08,0x00,0xff,0xe0,0x10,0x00,0x1f,0x80,0x30, - 0x80,0x5f,0x80,0x90,0x80,0x1f,0x80,0x10,0x80,0x10,0x80,0x11,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x08,0x00,0xFF,0xE0,0x10,0x00,0x1F,0x80,0x30, + 0x80,0x5F,0x80,0x90,0x80,0x1F,0x80,0x10,0x80,0x10,0x80,0x11,0x80}; const u8g_fntpgm_uint8_t fontpage_206_255_255[45] U8G_FONT_SECTION("fontpage_206_255_255") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0xc0,0x27,0x00,0xfc,0x00,0x24,0x00,0x27, - 0xc0,0x74,0x40,0x6e,0x40,0xa5,0x80,0x28,0x80,0x29,0x40,0x36,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0xC0,0x27,0x00,0xFC,0x00,0x24,0x00,0x27, + 0xC0,0x74,0x40,0x6E,0x40,0xA5,0x80,0x28,0x80,0x29,0x40,0x36,0x20}; const u8g_fntpgm_uint8_t fontpage_207_241_241[45] U8G_FONT_SECTION("fontpage_207_241_241") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0xff,0xe0,0x21,0x00,0x71, - 0x00,0x69,0x00,0xa7,0xc0,0xa1,0x00,0x21,0x00,0x21,0x00,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x21,0x00,0xFF,0xE0,0x21,0x00,0x71, + 0x00,0x69,0x00,0xA7,0xC0,0xA1,0x00,0x21,0x00,0x21,0x00,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_208_161_161[45] U8G_FONT_SECTION("fontpage_208_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x21,0x00,0x2f,0xe0,0xf0,0x00,0x22, - 0x80,0x74,0x40,0x6a,0xa0,0xa2,0x80,0x21,0x00,0x22,0x80,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x21,0x00,0x2F,0xE0,0xF0,0x00,0x22, + 0x80,0x74,0x40,0x6A,0xA0,0xA2,0x80,0x21,0x00,0x22,0x80,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_208_188_188[45] U8G_FONT_SECTION("fontpage_208_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0xf4,0x40,0x2a,0x80,0x21, - 0x00,0x72,0x80,0x6c,0x60,0xa7,0xc0,0x24,0x40,0x24,0x40,0x27,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0xF4,0x40,0x2A,0x80,0x21, + 0x00,0x72,0x80,0x6C,0x60,0xA7,0xC0,0x24,0x40,0x24,0x40,0x27,0xC0}; const u8g_fntpgm_uint8_t fontpage_209_157_157[45] U8G_FONT_SECTION("fontpage_209_157_157") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x24,0x00,0x27,0xe0,0x5a,0x40,0x51,0x80,0xde, - 0x60,0x51,0x00,0x5f,0xe0,0x51,0x00,0x45,0x40,0x49,0x20,0x53,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9D,0x9D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x24,0x00,0x27,0xE0,0x5A,0x40,0x51,0x80,0xDE, + 0x60,0x51,0x00,0x5F,0xE0,0x51,0x00,0x45,0x40,0x49,0x20,0x53,0x20}; const u8g_fntpgm_uint8_t fontpage_209_196_196[45] U8G_FONT_SECTION("fontpage_209_196_196") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc4,0xc4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x20,0x80,0x7f,0xc0,0x24, - 0x80,0xff,0xe0,0x24,0x80,0xff,0xe0,0x15,0x00,0x24,0x80,0xc4,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC4,0xC4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x20,0x80,0x7F,0xC0,0x24, + 0x80,0xFF,0xE0,0x24,0x80,0xFF,0xE0,0x15,0x00,0x24,0x80,0xC4,0x60}; const u8g_fntpgm_uint8_t fontpage_211_253_253[45] U8G_FONT_SECTION("fontpage_211_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x80,0x2f,0xe0,0xfa,0xa0,0x2f,0xe0,0x2a, - 0xa0,0x3f,0xe0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x27,0xc0,0x24,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x80,0x2F,0xE0,0xFA,0xA0,0x2F,0xE0,0x2A, + 0xA0,0x3F,0xE0,0x64,0x40,0xA7,0xC0,0x24,0x40,0x27,0xC0,0x24,0x40}; const u8g_fntpgm_uint8_t fontpage_212_217_217[45] U8G_FONT_SECTION("fontpage_212_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0x40,0x2a,0xa0,0xf4,0x40,0x27,0xc0,0x38, - 0x20,0x27,0xc0,0x64,0x40,0xa7,0xc0,0x24,0x40,0x22,0x80,0x2f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0x40,0x2A,0xA0,0xF4,0x40,0x27,0xC0,0x38, + 0x20,0x27,0xC0,0x64,0x40,0xA7,0xC0,0x24,0x40,0x22,0x80,0x2F,0xE0}; const u8g_fntpgm_uint8_t fontpage_212_223_223[45] U8G_FONT_SECTION("fontpage_212_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x25,0x40,0x29,0xa0,0xff,0x40,0x25,0x20,0x6f, - 0xe0,0x75,0x40,0xaf,0xe0,0xa5,0x40,0x26,0xa0,0x29,0x60,0x32,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x25,0x40,0x29,0xA0,0xFF,0x40,0x25,0x20,0x6F, + 0xE0,0x75,0x40,0xAF,0xE0,0xA5,0x40,0x26,0xA0,0x29,0x60,0x32,0x20}; const u8g_fntpgm_uint8_t fontpage_213_162_162[45] U8G_FONT_SECTION("fontpage_213_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x22,0x80,0xf4,0x40,0x2b,0xa0,0x60, - 0x00,0x7e,0xe0,0xaa,0xa0,0xae,0xe0,0x24,0x40,0x2a,0xc0,0x31,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x22,0x80,0xF4,0x40,0x2B,0xA0,0x60, + 0x00,0x7E,0xE0,0xAA,0xA0,0xAE,0xE0,0x24,0x40,0x2A,0xC0,0x31,0x20}; const u8g_fntpgm_uint8_t fontpage_214_226_227[71] U8G_FONT_SECTION("fontpage_214_226_227") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe3,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27, - 0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xff,0xc0,0x0b,0x0a,0x14, - 0x0c,0x00,0xff,0xff,0xe0,0x04,0x00,0x04,0x00,0x24,0x00,0x27,0xc0,0x24,0x00,0x24, - 0x00,0x24,0x00,0x24,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE3,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,0x24,0x00,0x27, + 0x80,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xFF,0xC0,0x0B,0x0A,0x14, + 0x0C,0x00,0xFF,0xFF,0xE0,0x04,0x00,0x04,0x00,0x24,0x00,0x27,0xC0,0x24,0x00,0x24, + 0x00,0x24,0x00,0x24,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_214_229_229[45] U8G_FONT_SECTION("fontpage_214_229_229") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe5,0xe5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x27,0xc0,0x24,0x00,0x24,0x00,0xff, - 0xe0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xf8,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE5,0xE5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x27,0xC0,0x24,0x00,0x24,0x00,0xFF, + 0xE0,0x04,0x00,0x14,0x40,0x24,0x80,0x41,0x00,0x06,0x00,0xF8,0x00}; const u8g_fntpgm_uint8_t fontpage_214_248_248[45] U8G_FONT_SECTION("fontpage_214_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x43,0xc0,0xf0,0x40,0x93,0xc0,0xf8,0x40,0x8f, - 0xe0,0xfc,0xa0,0x20,0x80,0xbb,0xe0,0xa2,0xa0,0xba,0xe0,0xe0,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x43,0xC0,0xF0,0x40,0x93,0xC0,0xF8,0x40,0x8F, + 0xE0,0xFC,0xA0,0x20,0x80,0xBB,0xE0,0xA2,0xA0,0xBA,0xE0,0xE0,0x80}; const u8g_fntpgm_uint8_t fontpage_215_188_188[45] U8G_FONT_SECTION("fontpage_215_188_188") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbc,0xbc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xc0,0xfd,0x40,0x11,0x40,0xff,0x60,0x84, - 0x00,0x7b,0xe0,0x01,0x40,0x79,0x40,0x4a,0x80,0x4d,0x40,0x82,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBC,0xBC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0xC0,0xFD,0x40,0x11,0x40,0xFF,0x60,0x84, + 0x00,0x7B,0xE0,0x01,0x40,0x79,0x40,0x4A,0x80,0x4D,0x40,0x82,0x20}; const u8g_fntpgm_uint8_t fontpage_215_212_212[45] U8G_FONT_SECTION("fontpage_215_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xf6, - 0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xb4,0x40,0xc4,0x40,0x83,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x84,0x00,0x84,0x00,0x84,0x80,0x85,0x00,0xF6, + 0x00,0x84,0x00,0x84,0x00,0x84,0x00,0xB4,0x40,0xC4,0x40,0x83,0xC0}; const u8g_fntpgm_uint8_t fontpage_217_146_146[45] U8G_FONT_SECTION("fontpage_217_146_146") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x23,0xc0,0x84,0x40,0x59,0x40,0x10, - 0x80,0x27,0xc0,0x24,0x40,0xc2,0x80,0x41,0x00,0x46,0x80,0x58,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x23,0xC0,0x84,0x40,0x59,0x40,0x10, + 0x80,0x27,0xC0,0x24,0x40,0xC2,0x80,0x41,0x00,0x46,0x80,0x58,0x60}; const u8g_fntpgm_uint8_t fontpage_219_136_136[45] U8G_FONT_SECTION("fontpage_219_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xe0,0x14, - 0x20,0x27,0xe0,0x24,0x20,0xc7,0xe0,0x44,0x20,0x44,0x20,0x44,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x49,0x20,0x25,0x40,0x81,0x00,0x57,0xE0,0x14, + 0x20,0x27,0xE0,0x24,0x20,0xC7,0xE0,0x44,0x20,0x44,0x20,0x44,0x60}; const u8g_fntpgm_uint8_t fontpage_219_225_225[45] U8G_FONT_SECTION("fontpage_219_225_225") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe1,0xe1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54, - 0x40,0x29,0x20,0x25,0x40,0xc5,0x80,0x49,0x00,0x42,0x80,0x5c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE1,0xE1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x25,0x40,0x09,0x80,0x82,0x80,0x54, + 0x40,0x29,0x20,0x25,0x40,0xC5,0x80,0x49,0x00,0x42,0x80,0x5C,0x60}; const u8g_fntpgm_uint8_t fontpage_220_133_133[45] U8G_FONT_SECTION("fontpage_220_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x01,0x00,0x97,0xc0,0x51, - 0x00,0x2f,0xe0,0x24,0x40,0xc7,0x40,0x45,0xc0,0x44,0x40,0x44,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x2F,0xE0,0x01,0x00,0x97,0xC0,0x51, + 0x00,0x2F,0xE0,0x24,0x40,0xC7,0x40,0x45,0xC0,0x44,0x40,0x44,0xC0}; const u8g_fntpgm_uint8_t fontpage_220_172_172[45] U8G_FONT_SECTION("fontpage_220_172_172") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4e,0x20,0x2a,0xa0,0x0a,0xa0,0x8e,0xa0,0x5a, - 0xa0,0x2e,0xa0,0x2a,0xa0,0xca,0xa0,0x4e,0x20,0x4a,0x20,0x51,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4E,0x20,0x2A,0xA0,0x0A,0xA0,0x8E,0xA0,0x5A, + 0xA0,0x2E,0xA0,0x2A,0xA0,0xCA,0xA0,0x4E,0x20,0x4A,0x20,0x51,0x60}; const u8g_fntpgm_uint8_t fontpage_221_144_144[45] U8G_FONT_SECTION("fontpage_221_144_144") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x28,0x80,0x8b,0xe0,0x4a,0x20,0x1b, - 0xe0,0x2a,0x20,0x2b,0xe0,0xc8,0x80,0x4a,0xc0,0x54,0xa0,0x69,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x28,0x80,0x8B,0xE0,0x4A,0x20,0x1B, + 0xE0,0x2A,0x20,0x2B,0xE0,0xC8,0x80,0x4A,0xC0,0x54,0xA0,0x69,0xA0}; const u8g_fntpgm_uint8_t fontpage_221_150_150[45] U8G_FONT_SECTION("fontpage_221_150_150") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x85,0x00,0x4f,0xe0,0x99,0x00,0x4f,0xc0,0x49, - 0x00,0xcf,0xc0,0x49,0x00,0x4f,0xe0,0x04,0x00,0xff,0xe0,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x96,0x96,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x85,0x00,0x4F,0xE0,0x99,0x00,0x4F,0xC0,0x49, + 0x00,0xCF,0xC0,0x49,0x00,0x4F,0xE0,0x04,0x00,0xFF,0xE0,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_221_171_171[45] U8G_FONT_SECTION("fontpage_221_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0x25,0x40,0x06,0xc0,0x84,0x40,0x47, - 0xc0,0x20,0x00,0x2f,0xe0,0xca,0xa0,0x4a,0xa0,0x4a,0xa0,0x5f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0x25,0x40,0x06,0xC0,0x84,0x40,0x47, + 0xC0,0x20,0x00,0x2F,0xE0,0xCA,0xA0,0x4A,0xA0,0x4A,0xA0,0x5F,0xE0}; const u8g_fntpgm_uint8_t fontpage_223_192_192[45] U8G_FONT_SECTION("fontpage_223_192_192") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x80,0x3e,0x80,0x12,0xe0,0x9e,0xa0,0x53, - 0xa0,0x3e,0xa0,0x28,0xa0,0xdf,0xa0,0x4a,0x40,0x52,0xa0,0x65,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x80,0x3E,0x80,0x12,0xE0,0x9E,0xA0,0x53, + 0xA0,0x3E,0xA0,0x28,0xA0,0xDF,0xA0,0x4A,0x40,0x52,0xA0,0x65,0x20}; const u8g_fntpgm_uint8_t fontpage_226_161_161[45] U8G_FONT_SECTION("fontpage_226_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0x7f,0xe0,0xaa,0x80,0x2a,0x80,0xff, - 0xe0,0x2a,0x80,0x2a,0x80,0xff,0xe0,0x12,0x40,0x49,0x20,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0x7F,0xE0,0xAA,0x80,0x2A,0x80,0xFF, + 0xE0,0x2A,0x80,0x2A,0x80,0xFF,0xE0,0x12,0x40,0x49,0x20,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_227_177_177[45] U8G_FONT_SECTION("fontpage_227_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xf9,0x00,0x23,0xc0,0xfd,0x40,0x53, - 0x40,0xa9,0x40,0xfa,0xe0,0x22,0x20,0xfa,0x40,0x49,0x20,0x89,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xF9,0x00,0x23,0xC0,0xFD,0x40,0x53, + 0x40,0xA9,0x40,0xFA,0xE0,0x22,0x20,0xFA,0x40,0x49,0x20,0x89,0x20}; const u8g_fntpgm_uint8_t fontpage_227_200_200[45] U8G_FONT_SECTION("fontpage_227_200_200") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc8,0xc8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2f,0xa0,0x2b,0x40,0xac,0x80,0xb7,0xc0,0xa8, - 0x20,0x37,0xc0,0x24,0x40,0x27,0xc0,0x52,0x80,0x49,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC8,0xC8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2F,0xA0,0x2B,0x40,0xAC,0x80,0xB7,0xC0,0xA8, + 0x20,0x37,0xC0,0x24,0x40,0x27,0xC0,0x52,0x80,0x49,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_228_199_199[45] U8G_FONT_SECTION("fontpage_228_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x21,0x00,0x3f,0xe0,0x20, - 0x00,0x20,0x00,0x3f,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x21,0x00,0x3F,0xE0,0x20, + 0x00,0x20,0x00,0x3F,0x80,0x20,0x80,0x20,0x80,0x40,0x80,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_228_233_233[45] U8G_FONT_SECTION("fontpage_228_233_233") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe9,0xe9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xa2,0x00,0xa7,0xe0,0xfa,0xa0,0xa2, - 0xa0,0x32,0xa0,0x64,0xa0,0xa9,0x20,0x22,0x20,0x25,0x20,0x28,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE9,0xE9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0xA2,0x00,0xA7,0xE0,0xFA,0xA0,0xA2, + 0xA0,0x32,0xA0,0x64,0xA0,0xA9,0x20,0x22,0x20,0x25,0x20,0x28,0xC0}; const u8g_fntpgm_uint8_t fontpage_231_135_135[45] U8G_FONT_SECTION("fontpage_231_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x88,0x40,0x52,0x80,0x0c, - 0x00,0x2a,0x80,0xdf,0x40,0x04,0x00,0xff,0xe0,0x04,0x00,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x88,0x40,0x52,0x80,0x0C, + 0x00,0x2A,0x80,0xDF,0x40,0x04,0x00,0xFF,0xE0,0x04,0x00,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_234_168_168[45] U8G_FONT_SECTION("fontpage_234_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x44,0x40,0x7f,0xc0,0x44, - 0x40,0x44,0x40,0x7f,0xc0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x44,0x40,0x44,0x40,0x7F,0xC0,0x44, + 0x40,0x44,0x40,0x7F,0xC0,0x44,0x40,0x44,0x40,0x84,0x40,0x84,0xC0}; const u8g_fntpgm_uint8_t fontpage_234_204_204[45] U8G_FONT_SECTION("fontpage_234_204_204") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x44,0x40,0x7f,0xc0,0x44,0x40,0x7f, - 0xc0,0x0a,0x00,0x31,0x80,0xd1,0x60,0x11,0x00,0x21,0x00,0x41,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x44,0x40,0x7F,0xC0,0x44,0x40,0x7F, + 0xC0,0x0A,0x00,0x31,0x80,0xD1,0x60,0x11,0x00,0x21,0x00,0x41,0x00}; const u8g_fntpgm_uint8_t fontpage_236_253_253[34] U8G_FONT_SECTION("fontpage_236_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x08,0x0b,0x0b,0x0c,0x02,0xff,0x10,0x20,0xff,0x81,0x81,0xff,0x81,0x81,0x81, - 0xff,0x81}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x08,0x0B,0x0B,0x0C,0x02,0xFF,0x10,0x20,0xFF,0x81,0x81,0xFF,0x81,0x81,0x81, + 0xFF,0x81}; const u8g_fntpgm_uint8_t fontpage_237_132_132[45] U8G_FONT_SECTION("fontpage_237_132_132") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x22,0x00,0x42,0x00,0xf7,0xc0,0x98,0x40,0x90, - 0x40,0xf4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xf0,0x40,0x91,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x22,0x00,0x42,0x00,0xF7,0xC0,0x98,0x40,0x90, + 0x40,0xF4,0x40,0x92,0x40,0x92,0x40,0x90,0x40,0xF0,0x40,0x91,0x80}; const u8g_fntpgm_uint8_t fontpage_237_227_227[45] U8G_FONT_SECTION("fontpage_237_227_227") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe3,0xe3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0xa1,0x00,0xf9,0xe0,0x8a,0x00,0xfa, - 0x80,0xa0,0x40,0xfc,0x00,0x00,0x00,0x7f,0xc0,0x4a,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE3,0xE3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF9,0x00,0xA1,0x00,0xF9,0xE0,0x8A,0x00,0xFA, + 0x80,0xA0,0x40,0xFC,0x00,0x00,0x00,0x7F,0xC0,0x4A,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_237_244_244[45] U8G_FONT_SECTION("fontpage_237_244_244") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf4,0xf4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x04,0x00,0x3f,0x80,0x20, - 0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0x20,0x80,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF4,0xF4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x04,0x00,0x3F,0x80,0x20, + 0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x20,0x80,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_238_160_160[45] U8G_FONT_SECTION("fontpage_238_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf4,0x20,0x97,0xe0,0xf4,0x80,0x94, - 0x80,0x97,0xe0,0xf4,0x80,0x94,0x80,0xf4,0xa0,0x96,0x60,0x04,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x07,0xE0,0xF4,0x20,0x97,0xE0,0xF4,0x80,0x94, + 0x80,0x97,0xE0,0xF4,0x80,0x94,0x80,0xF4,0xA0,0x96,0x60,0x04,0x20}; const u8g_fntpgm_uint8_t fontpage_240_141_141[45] U8G_FONT_SECTION("fontpage_240_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x02,0x00,0xfa,0x00,0x23,0xe0,0x24,0x20,0x79, - 0x40,0xc9,0x00,0x49,0x00,0x49,0x00,0x7a,0x80,0x4c,0x40,0x08,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x02,0x00,0xFA,0x00,0x23,0xE0,0x24,0x20,0x79, + 0x40,0xC9,0x00,0x49,0x00,0x49,0x00,0x7A,0x80,0x4C,0x40,0x08,0x20}; const u8g_fntpgm_uint8_t fontpage_241_186_186[45] U8G_FONT_SECTION("fontpage_241_186_186") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xba,0xba,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x01,0x00,0xff,0xe0,0x2a,0x20,0x22,0x80,0x77, - 0xe0,0xd4,0x80,0x5f,0xe0,0x54,0x80,0x77,0xe0,0x54,0x80,0x07,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBA,0xBA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x01,0x00,0xFF,0xE0,0x2A,0x20,0x22,0x80,0x77, + 0xE0,0xD4,0x80,0x5F,0xE0,0x54,0x80,0x77,0xE0,0x54,0x80,0x07,0xE0}; const u8g_fntpgm_uint8_t fontpage_243_251_251[45] U8G_FONT_SECTION("fontpage_243_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xe3,0xe0,0x24,0x20,0xfa,0x40,0x21, - 0x80,0x36,0x80,0x29,0xe0,0x62,0x20,0xa5,0x40,0x20,0x80,0x27,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xE3,0xE0,0x24,0x20,0xFA,0x40,0x21, + 0x80,0x36,0x80,0x29,0xE0,0x62,0x20,0xA5,0x40,0x20,0x80,0x27,0x00}; const u8g_fntpgm_uint8_t fontpage_244_205_205[45] U8G_FONT_SECTION("fontpage_244_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xef,0xe0,0x21,0x00,0xff,0xc0,0x21, - 0x00,0x2f,0xe0,0x34,0x40,0x6f,0xc0,0xa4,0x40,0x27,0xc0,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xEF,0xE0,0x21,0x00,0xFF,0xC0,0x21, + 0x00,0x2F,0xE0,0x34,0x40,0x6F,0xC0,0xA4,0x40,0x27,0xC0,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_245_239_239[45] U8G_FONT_SECTION("fontpage_245_239_239") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xef,0xef,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x81,0x00,0x45,0x20,0xf7,0xe0,0x00,0x00,0xaf, - 0xe0,0xa1,0x00,0xaf,0xe0,0x4a,0xa0,0x6a,0xa0,0x8a,0xa0,0x08,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEF,0xEF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x81,0x00,0x45,0x20,0xF7,0xE0,0x00,0x00,0xAF, + 0xE0,0xA1,0x00,0xAF,0xE0,0x4A,0xA0,0x6A,0xA0,0x8A,0xA0,0x08,0x60}; const u8g_fntpgm_uint8_t fontpage_246_201_201[45] U8G_FONT_SECTION("fontpage_246_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x7b,0xe0,0x94,0x80,0x7f,0xc0,0x04, - 0x00,0xff,0xe0,0x01,0x00,0x7f,0xc0,0x11,0x00,0x09,0x00,0x03,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x7B,0xE0,0x94,0x80,0x7F,0xC0,0x04, + 0x00,0xFF,0xE0,0x01,0x00,0x7F,0xC0,0x11,0x00,0x09,0x00,0x03,0x00}; const u8g_fntpgm_uint8_t fontpage_247_161_161[45] U8G_FONT_SECTION("fontpage_247_161_161") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x3d,0xe0,0x52,0x80,0xff,0xe0,0x80, - 0x20,0x3f,0x80,0x20,0x80,0x3f,0xc0,0x20,0x40,0x20,0x40,0x3f,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA1,0xA1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x3D,0xE0,0x52,0x80,0xFF,0xE0,0x80, + 0x20,0x3F,0x80,0x20,0x80,0x3F,0xC0,0x20,0x40,0x20,0x40,0x3F,0xC0}; const u8g_fntpgm_uint8_t fontpage_247_177_177[45] U8G_FONT_SECTION("fontpage_247_177_177") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb1,0xb1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x3d,0xe0,0x4a,0x80,0x94,0x40,0x7f, - 0xc0,0x12,0x40,0x3b,0xc0,0x56,0x40,0x93,0xc0,0x12,0x40,0x13,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB1,0xB1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x3D,0xE0,0x4A,0x80,0x94,0x40,0x7F, + 0xC0,0x12,0x40,0x3B,0xC0,0x56,0x40,0x93,0xC0,0x12,0x40,0x13,0xC0}; const u8g_fntpgm_uint8_t fontpage_249_251_251[45] U8G_FONT_SECTION("fontpage_249_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x09,0x0b,0x16,0x0c,0x01,0xff,0x03,0x80,0xfc,0x00,0x11,0x00,0x7e,0x00,0x08, - 0x00,0x11,0x00,0xff,0x80,0x08,0x80,0x2a,0x00,0x49,0x00,0x98,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x09,0x0B,0x16,0x0C,0x01,0xFF,0x03,0x80,0xFC,0x00,0x11,0x00,0x7E,0x00,0x08, + 0x00,0x11,0x00,0xFF,0x80,0x08,0x80,0x2A,0x00,0x49,0x00,0x98,0x80}; const u8g_fntpgm_uint8_t fontpage_250_133_133[45] U8G_FONT_SECTION("fontpage_250_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xc0,0x41,0x00,0xf1,0x00,0x21, - 0x00,0x51,0x00,0xe9,0x00,0x01,0x00,0x51,0x00,0xa9,0x00,0xaf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xC0,0x41,0x00,0xF1,0x00,0x21, + 0x00,0x51,0x00,0xE9,0x00,0x01,0x00,0x51,0x00,0xA9,0x00,0xAF,0xE0}; const u8g_fntpgm_uint8_t fontpage_250_162_162[45] U8G_FONT_SECTION("fontpage_250_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x91, - 0x20,0x3e,0x00,0x08,0x80,0x7f,0xc0,0x04,0x40,0x24,0x80,0xcc,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x91, + 0x20,0x3E,0x00,0x08,0x80,0x7F,0xC0,0x04,0x40,0x24,0x80,0xCC,0x60}; const u8g_fntpgm_uint8_t fontpage_250_171_171[45] U8G_FONT_SECTION("fontpage_250_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x51,0x40,0x5d,0x80,0x51,0x20,0xfd, - 0xe0,0x08,0x80,0x3f,0x00,0x08,0x80,0x7f,0xc0,0x24,0x80,0xcc,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x51,0x40,0x5D,0x80,0x51,0x20,0xFD, + 0xE0,0x08,0x80,0x3F,0x00,0x08,0x80,0x7F,0xC0,0x24,0x80,0xCC,0x60}; const u8g_fntpgm_uint8_t fontpage_250_176_176[45] U8G_FONT_SECTION("fontpage_250_176_176") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb0,0xb0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xe0,0x55,0x20,0xf5,0x20,0x25, - 0x20,0x57,0xe0,0xed,0x20,0x05,0x20,0x55,0x20,0xaf,0xe0,0xac,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB0,0xB0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xE0,0x55,0x20,0xF5,0x20,0x25, + 0x20,0x57,0xE0,0xED,0x20,0x05,0x20,0x55,0x20,0xAF,0xE0,0xAC,0x20}; const u8g_fntpgm_uint8_t fontpage_250_194_194[45] U8G_FONT_SECTION("fontpage_250_194_194") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc2,0xc2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x23,0xc0,0x54,0x40,0xf2,0x80,0x21, - 0x00,0x52,0x80,0xec,0x60,0x01,0x00,0x50,0x80,0xab,0x00,0x80,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC2,0xC2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x23,0xC0,0x54,0x40,0xF2,0x80,0x21, + 0x00,0x52,0x80,0xEC,0x60,0x01,0x00,0x50,0x80,0xAB,0x00,0x80,0xC0}; const u8g_fntpgm_uint8_t fontpage_250_241_242[73] U8G_FONT_SECTION("fontpage_250_241_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf1,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x20,0x80,0x57,0xe0,0xf1,0x00,0x22, - 0x40,0x57,0xa0,0xe8,0x00,0x02,0x80,0x52,0xa0,0xac,0xa0,0xa8,0x60,0x0b,0x0b,0x16, - 0x0c,0x00,0xff,0x21,0x00,0x21,0x00,0x52,0x40,0xf7,0x80,0x21,0x40,0x57,0xe0,0xe8, - 0x80,0x02,0xc0,0x54,0xa0,0xa8,0xa0,0xa9,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF1,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x20,0x80,0x57,0xE0,0xF1,0x00,0x22, + 0x40,0x57,0xA0,0xE8,0x00,0x02,0x80,0x52,0xA0,0xAC,0xA0,0xA8,0x60,0x0B,0x0B,0x16, + 0x0C,0x00,0xFF,0x21,0x00,0x21,0x00,0x52,0x40,0xF7,0x80,0x21,0x40,0x57,0xE0,0xE8, + 0x80,0x02,0xC0,0x54,0xA0,0xA8,0xA0,0xA9,0x80}; const u8g_fntpgm_uint8_t fontpage_251_160_160[45] U8G_FONT_SECTION("fontpage_251_160_160") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0x22,0x40,0x57,0x80,0xf0,0x80,0x2f, - 0xe0,0x51,0x20,0xed,0x40,0x03,0x80,0x55,0x40,0xa9,0x20,0xaf,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA0,0xA0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xC0,0x22,0x40,0x57,0x80,0xF0,0x80,0x2F, + 0xE0,0x51,0x20,0xED,0x40,0x03,0x80,0x55,0x40,0xA9,0x20,0xAF,0x20}; const u8g_fntpgm_uint8_t fontpage_251_178_178[45] U8G_FONT_SECTION("fontpage_251_178_178") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xe0,0x24,0x20,0x55,0x60,0xf4,0xa0,0x27, - 0xe0,0x54,0xa0,0xef,0xe0,0x05,0x20,0x55,0xe0,0xac,0x20,0xac,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB2,0xB2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xE0,0x24,0x20,0x55,0x60,0xF4,0xA0,0x27, + 0xE0,0x54,0xA0,0xEF,0xE0,0x05,0x20,0x55,0xE0,0xAC,0x20,0xAC,0x60}; const u8g_fntpgm_uint8_t fontpage_251_210_210[45] U8G_FONT_SECTION("fontpage_251_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x20,0x27,0xa0,0x51,0x40,0xff,0xe0,0x21, - 0x00,0x53,0xe0,0xee,0x20,0x03,0xe0,0x52,0x20,0xab,0xe0,0xaa,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x20,0x27,0xA0,0x51,0x40,0xFF,0xE0,0x21, + 0x00,0x53,0xE0,0xEE,0x20,0x03,0xE0,0x52,0x20,0xAB,0xE0,0xAA,0x20}; const u8g_fntpgm_uint8_t fontpage_251_218_218[45] U8G_FONT_SECTION("fontpage_251_218_218") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xda,0xda,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xc0,0x54,0x40,0xf7,0xc0,0x24, - 0x40,0x57,0xc0,0xe9,0x20,0x07,0x40,0x53,0x80,0xad,0x40,0xab,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDA,0xDA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xC0,0x54,0x40,0xF7,0xC0,0x24, + 0x40,0x57,0xC0,0xE9,0x20,0x07,0x40,0x53,0x80,0xAD,0x40,0xAB,0x20}; const u8g_fntpgm_uint8_t fontpage_251_232_232[45] U8G_FONT_SECTION("fontpage_251_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x2f,0xe0,0x58,0x20,0xff,0xe0,0x28, - 0x00,0x5f,0xe0,0xea,0xa0,0x0f,0xe0,0x5a,0xa0,0xaa,0xa0,0xaa,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x2F,0xE0,0x58,0x20,0xFF,0xE0,0x28, + 0x00,0x5F,0xE0,0xEA,0xA0,0x0F,0xE0,0x5A,0xA0,0xAA,0xA0,0xAA,0x60}; const u8g_fntpgm_uint8_t fontpage_252_174_174[45] U8G_FONT_SECTION("fontpage_252_174_174") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xae,0xae,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0x44,0x20,0xfb,0xe0,0x24, - 0x80,0x5d,0xe0,0xf5,0x20,0x05,0xe0,0x55,0x20,0xad,0xe0,0xa5,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAE,0xAE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xE0,0x44,0x20,0xFB,0xE0,0x24, + 0x80,0x5D,0xE0,0xF5,0x20,0x05,0xE0,0x55,0x20,0xAD,0xE0,0xA5,0x20}; const u8g_fntpgm_uint8_t fontpage_252_189_189[45] U8G_FONT_SECTION("fontpage_252_189_189") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbd,0xbd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x27,0xe0,0x55,0x60,0xf6,0xa0,0x25, - 0x20,0x56,0xa0,0xef,0xe0,0x01,0x40,0x56,0xa0,0xaa,0x60,0xa9,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBD,0xBD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x27,0xE0,0x55,0x60,0xF6,0xA0,0x25, + 0x20,0x56,0xA0,0xEF,0xE0,0x01,0x40,0x56,0xA0,0xAA,0x60,0xA9,0xC0}; const u8g_fntpgm_uint8_t fontpage_252_252_252[45] U8G_FONT_SECTION("fontpage_252_252_252") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfc,0xfc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4a,0x40,0x4d,0xa0,0x8a,0x40,0xfd,0xa0,0x28, - 0x00,0x4f,0xe0,0xfa,0x40,0x0d,0xa0,0x5a,0x40,0xad,0xa0,0xaf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4A,0x40,0x4D,0xA0,0x8A,0x40,0xFD,0xA0,0x28, + 0x00,0x4F,0xE0,0xFA,0x40,0x0D,0xA0,0x5A,0x40,0xAD,0xA0,0xAF,0xE0}; const u8g_fntpgm_uint8_t fontpage_253_140_140[45] U8G_FONT_SECTION("fontpage_253_140_140") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8c,0x8c,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x4f,0xe0,0x91,0x00,0xef,0xe0,0x2a, - 0xa0,0x5f,0xe0,0xf4,0x40,0x07,0xc0,0x54,0x40,0xaf,0xc0,0xac,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x4F,0xE0,0x91,0x00,0xEF,0xE0,0x2A, + 0xA0,0x5F,0xE0,0xF4,0x40,0x07,0xC0,0x54,0x40,0xAF,0xC0,0xAC,0x60}; const u8g_fntpgm_uint8_t fontpage_253_162_162[45] U8G_FONT_SECTION("fontpage_253_162_162") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa2,0xa2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x00,0x27,0xc0,0x41,0x00,0x51,0x00,0xe1, - 0x00,0x21,0x00,0x41,0x00,0xf1,0x00,0x01,0x00,0x31,0x00,0xcf,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA2,0xA2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x00,0x27,0xC0,0x41,0x00,0x51,0x00,0xE1, + 0x00,0x21,0x00,0x41,0x00,0xF1,0x00,0x01,0x00,0x31,0x00,0xCF,0xE0}; const u8g_fntpgm_uint8_t fontpage_254_238_238[45] U8G_FONT_SECTION("fontpage_254_238_238") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xee,0xee,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x4a,0x40,0x7f,0xc0,0x04,0x00,0xff, - 0xe0,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEE,0xEE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x4A,0x40,0x7F,0xC0,0x04,0x00,0xFF, + 0xE0,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_254_242_242[45] U8G_FONT_SECTION("fontpage_254_242_242") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf2,0xf2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x49,0x20,0x7f,0xe0,0x04,0x40,0x3f, - 0x80,0x05,0x00,0xff,0xe0,0x30,0x80,0xdf,0x80,0x10,0x80,0x1f,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF2,0xF2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xE0,0x49,0x20,0x7F,0xE0,0x04,0x40,0x3F, + 0x80,0x05,0x00,0xFF,0xE0,0x30,0x80,0xDF,0x80,0x10,0x80,0x1F,0x80}; const u8g_fntpgm_uint8_t fontpage_256_240_240[45] U8G_FONT_SECTION("fontpage_256_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf9,0x00,0x57,0xe0,0x56,0xa0,0x75,0x20,0x56, - 0xa0,0x77,0xe0,0x51,0x00,0x52,0xc0,0xfe,0x20,0x12,0x60,0x11,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF9,0x00,0x57,0xE0,0x56,0xA0,0x75,0x20,0x56, + 0xA0,0x77,0xE0,0x51,0x00,0x52,0xC0,0xFE,0x20,0x12,0x60,0x11,0xC0}; const u8g_fntpgm_uint8_t fontpage_259_234_234[34] U8G_FONT_SECTION("fontpage_259_234_234") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xea,0xea,0x00,0x0a,0xff,0x00, - 0x00,0x07,0x0b,0x0b,0x0c,0x02,0xff,0x20,0xfe,0x82,0x82,0xfe,0x82,0xfe,0x82,0x82, - 0xfe,0x82}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xEA,0xEA,0x00,0x0A,0xFF,0x00, + 0x00,0x07,0x0B,0x0B,0x0C,0x02,0xFF,0x20,0xFE,0x82,0x82,0xFE,0x82,0xFE,0x82,0x82, + 0xFE,0x82}; const u8g_fntpgm_uint8_t fontpage_267_205_205[45] U8G_FONT_SECTION("fontpage_267_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x91,0x00,0xf9,0xe0,0x8a, - 0x80,0xfc,0x40,0x90,0x00,0xff,0xc0,0x4a,0x40,0x4a,0x40,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x91,0x00,0xF9,0xE0,0x8A, + 0x80,0xFC,0x40,0x90,0x00,0xFF,0xC0,0x4A,0x40,0x4A,0x40,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_272_204_204[45] U8G_FONT_SECTION("fontpage_272_204_204") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x40,0x00,0x80,0x00,0x10,0x00,0x2f, - 0xe0,0x60,0x80,0xa0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x40,0x00,0x80,0x00,0x10,0x00,0x2F, + 0xE0,0x60,0x80,0xA0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x23,0x80}; const u8g_fntpgm_uint8_t fontpage_272_232_232[45] U8G_FONT_SECTION("fontpage_272_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04, - 0x00,0xff,0xe0,0x0a,0x40,0x12,0x80,0x31,0x00,0xd4,0x80,0x18,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0x3F,0x80,0x04, + 0x00,0xFF,0xE0,0x0A,0x40,0x12,0x80,0x31,0x00,0xD4,0x80,0x18,0x60}; const u8g_fntpgm_uint8_t fontpage_273_171_171[45] U8G_FONT_SECTION("fontpage_273_171_171") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xab,0xab,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x80,0x20,0x80,0xff,0xe0,0x14,0xa0,0x2c, - 0x80,0x77,0xe0,0xad,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAB,0xAB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x80,0x20,0x80,0xFF,0xE0,0x14,0xA0,0x2C, + 0x80,0x77,0xE0,0xAD,0x40,0x25,0x40,0x24,0x80,0x29,0x40,0x36,0x20}; const u8g_fntpgm_uint8_t fontpage_273_197_197[45] U8G_FONT_SECTION("fontpage_273_197_197") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0x9f,0xe0,0x51,0x00,0x31,0x00,0xd7, - 0xc0,0x12,0x00,0xff,0xe0,0x0c,0x40,0x32,0x80,0xd1,0x00,0x18,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0x9F,0xE0,0x51,0x00,0x31,0x00,0xD7, + 0xC0,0x12,0x00,0xFF,0xE0,0x0C,0x40,0x32,0x80,0xD1,0x00,0x18,0xE0}; const u8g_fntpgm_uint8_t fontpage_273_221_221[45] U8G_FONT_SECTION("fontpage_273_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x51,0x00,0x7f,0xe0,0x11,0x00,0xf1,0x00,0x57, - 0xc0,0x84,0x00,0xff,0xe0,0x14,0x80,0x33,0x00,0xd5,0x80,0x18,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x51,0x00,0x7F,0xE0,0x11,0x00,0xF1,0x00,0x57, + 0xC0,0x84,0x00,0xFF,0xE0,0x14,0x80,0x33,0x00,0xD5,0x80,0x18,0x60}; const u8g_fntpgm_uint8_t fontpage_274_135_135[45] U8G_FONT_SECTION("fontpage_274_135_135") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x00,0x27,0xe0,0xf8,0x00,0x17,0xc0,0x2c, - 0x40,0x77,0xc0,0xac,0x40,0x27,0xc0,0x2c,0x40,0x33,0x80,0x2c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x00,0x27,0xE0,0xF8,0x00,0x17,0xC0,0x2C, + 0x40,0x77,0xC0,0xAC,0x40,0x27,0xC0,0x2C,0x40,0x33,0x80,0x2C,0x60}; const u8g_fntpgm_uint8_t fontpage_275_210_210[45] U8G_FONT_SECTION("fontpage_275_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x00,0xff,0x10,0x00,0x1f,0x00,0x22,0x00,0x7f,0xc0,0xa4, - 0x40,0x3f,0xc0,0x24,0x40,0x3f,0xc0,0x24,0x40,0x45,0x40,0x80,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x00,0xFF,0x10,0x00,0x1F,0x00,0x22,0x00,0x7F,0xC0,0xA4, + 0x40,0x3F,0xC0,0x24,0x40,0x3F,0xC0,0x24,0x40,0x45,0x40,0x80,0x80}; const u8g_fntpgm_uint8_t fontpage_276_136_136[45] U8G_FONT_SECTION("fontpage_276_136_136") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x10,0x80,0xfc,0x80,0x00,0x80,0x7f, - 0xe0,0x00,0x80,0x78,0x80,0x00,0x80,0x78,0x80,0x48,0x80,0x78,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x10,0x80,0xFC,0x80,0x00,0x80,0x7F, + 0xE0,0x00,0x80,0x78,0x80,0x00,0x80,0x78,0x80,0x48,0x80,0x78,0x80}; const u8g_fntpgm_uint8_t fontpage_276_138_138[45] U8G_FONT_SECTION("fontpage_276_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xc0,0xf2,0x40,0x02,0x40,0xf2,0x40,0x02, - 0x40,0xff,0xc0,0x02,0x40,0xf2,0x40,0x92,0x60,0xf2,0x60,0x92,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xC0,0xF2,0x40,0x02,0x40,0xF2,0x40,0x02, + 0x40,0xFF,0xC0,0x02,0x40,0xF2,0x40,0x92,0x60,0xF2,0x60,0x92,0x20}; const u8g_fntpgm_uint8_t fontpage_276_152_152[45] U8G_FONT_SECTION("fontpage_276_152_152") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x00,0xf7,0xc0,0x00,0x40,0xf0,0x40,0x07, - 0xc0,0xf4,0x40,0x04,0x00,0xf4,0x00,0x94,0x20,0xf4,0x20,0x93,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x00,0xF7,0xC0,0x00,0x40,0xF0,0x40,0x07, + 0xC0,0xF4,0x40,0x04,0x00,0xF4,0x00,0x94,0x20,0xF4,0x20,0x93,0xE0}; const u8g_fntpgm_uint8_t fontpage_276_173_173[45] U8G_FONT_SECTION("fontpage_276_173_173") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xad,0xad,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0x80,0xf4,0x80,0x04,0x80,0xf4,0xe0,0x08, - 0x00,0xf7,0xc0,0x04,0x40,0xf2,0x80,0x91,0x00,0xf2,0x80,0x9c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAD,0xAD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0x80,0xF4,0x80,0x04,0x80,0xF4,0xE0,0x08, + 0x00,0xF7,0xC0,0x04,0x40,0xF2,0x80,0x91,0x00,0xF2,0x80,0x9C,0x60}; const u8g_fntpgm_uint8_t fontpage_276_230_230[45] U8G_FONT_SECTION("fontpage_276_230_230") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0xf0,0xa0,0x0f,0xe0,0xf0,0x80,0x07, - 0x80,0xf2,0x80,0x02,0x80,0xf2,0x80,0x93,0xa0,0xfc,0x60,0x90,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE6,0xE6,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0xC0,0xF0,0xA0,0x0F,0xE0,0xF0,0x80,0x07, + 0x80,0xF2,0x80,0x02,0x80,0xF2,0x80,0x93,0xA0,0xFC,0x60,0x90,0x20}; const u8g_fntpgm_uint8_t fontpage_277_141_141[45] U8G_FONT_SECTION("fontpage_277_141_141") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8d,0x8d,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xe0,0xf9,0x20,0x05,0x20,0xf5,0x20,0x02, - 0xe0,0xf4,0x40,0x03,0x00,0xf2,0xa0,0x96,0x20,0xfa,0x40,0x91,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8D,0x8D,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xE0,0xF9,0x20,0x05,0x20,0xF5,0x20,0x02, + 0xE0,0xF4,0x40,0x03,0x00,0xF2,0xA0,0x96,0x20,0xFA,0x40,0x91,0xC0}; const u8g_fntpgm_uint8_t fontpage_277_164_164[45] U8G_FONT_SECTION("fontpage_277_164_164") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa4,0xa4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xc0,0xf4,0x40,0x04,0x40,0xf7,0xc0,0x00, - 0x00,0xf7,0xc0,0x01,0x00,0xff,0xe0,0x92,0x80,0xf4,0x40,0x98,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA4,0xA4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xC0,0xF4,0x40,0x04,0x40,0xF7,0xC0,0x00, + 0x00,0xF7,0xC0,0x01,0x00,0xFF,0xE0,0x92,0x80,0xF4,0x40,0x98,0x20}; const u8g_fntpgm_uint8_t fontpage_277_191_191[45] U8G_FONT_SECTION("fontpage_277_191_191") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xbf,0xbf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x47,0xe0,0xf4,0x20,0x05,0x20,0xf7,0xa0,0x05, - 0x20,0xf7,0xe0,0x04,0x20,0xf7,0xa0,0x96,0xa0,0xf7,0xa0,0x98,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x47,0xE0,0xF4,0x20,0x05,0x20,0xF7,0xA0,0x05, + 0x20,0xF7,0xE0,0x04,0x20,0xF7,0xA0,0x96,0xA0,0xF7,0xA0,0x98,0x60}; const u8g_fntpgm_uint8_t fontpage_277_203_203[45] U8G_FONT_SECTION("fontpage_277_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0xff,0xe0,0x01,0x00,0xf7,0xc0,0x01, - 0x00,0xff,0xe0,0x04,0x40,0xf7,0xc0,0x94,0x40,0xf7,0xc0,0x94,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0xFF,0xE0,0x01,0x00,0xF7,0xC0,0x01, + 0x00,0xFF,0xE0,0x04,0x40,0xF7,0xC0,0x94,0x40,0xF7,0xC0,0x94,0x40}; const u8g_fntpgm_uint8_t fontpage_278_240_240[45] U8G_FONT_SECTION("fontpage_278_240_240") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x40,0xff,0xe0,0x01,0x00,0xf7,0xc0,0x01, - 0x00,0xff,0xe0,0x04,0xa0,0xff,0xe0,0x94,0xa0,0xfe,0x40,0x95,0xa0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x40,0xFF,0xE0,0x01,0x00,0xF7,0xC0,0x01, + 0x00,0xFF,0xE0,0x04,0xA0,0xFF,0xE0,0x94,0xA0,0xFE,0x40,0x95,0xA0}; const u8g_fntpgm_uint8_t fontpage_279_128_128[45] U8G_FONT_SECTION("fontpage_279_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0xff,0xe0,0x01,0x00,0xff,0xe0,0x0a, - 0xa0,0xff,0xe0,0x04,0x40,0xf7,0xc0,0x94,0x40,0xf7,0xc0,0x9c,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0xFF,0xE0,0x01,0x00,0xFF,0xE0,0x0A, + 0xA0,0xFF,0xE0,0x04,0x40,0xF7,0xC0,0x94,0x40,0xF7,0xC0,0x9C,0x60}; const u8g_fntpgm_uint8_t fontpage_279_138_138[45] U8G_FONT_SECTION("fontpage_279_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x44,0x40,0xae,0xa0,0x40,0x40,0xae,0xa0,0xea, - 0xe0,0x5e,0x40,0xa0,0xa0,0x1f,0xc0,0x69,0x00,0x06,0x00,0x79,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x44,0x40,0xAE,0xA0,0x40,0x40,0xAE,0xA0,0xEA, + 0xE0,0x5E,0x40,0xA0,0xA0,0x1F,0xC0,0x69,0x00,0x06,0x00,0x79,0xE0}; const u8g_fntpgm_uint8_t fontpage_281_199_199[45] U8G_FONT_SECTION("fontpage_281_199_199") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc7,0xc7,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x88,0x00,0x5f,0xc0,0x22,0x40,0xff,0x00,0x61, - 0xc0,0x3f,0x00,0x21,0x00,0x3f,0x00,0x21,0x00,0x3f,0x00,0xe1,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC7,0xC7,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x88,0x00,0x5F,0xC0,0x22,0x40,0xFF,0x00,0x61, + 0xC0,0x3F,0x00,0x21,0x00,0x3F,0x00,0x21,0x00,0x3F,0x00,0xE1,0xC0}; const u8g_fntpgm_uint8_t fontpage_283_221_221[45] U8G_FONT_SECTION("fontpage_283_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7b,0xe0,0x4a,0x00,0x4a,0x00,0x7b,0xe0,0x12, - 0x20,0x52,0x20,0x5a,0x20,0x53,0xe0,0x52,0x00,0x5e,0x00,0xe3,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7B,0xE0,0x4A,0x00,0x4A,0x00,0x7B,0xE0,0x12, + 0x20,0x52,0x20,0x5A,0x20,0x53,0xE0,0x52,0x00,0x5E,0x00,0xE3,0xE0}; const u8g_fntpgm_uint8_t fontpage_285_202_202[45] U8G_FONT_SECTION("fontpage_285_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x24, - 0x80,0x3f,0x80,0x24,0x80,0x3f,0x80,0x04,0x00,0xff,0xe0,0x04,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0x3F,0x80,0x24, + 0x80,0x3F,0x80,0x24,0x80,0x3F,0x80,0x04,0x00,0xFF,0xE0,0x04,0x00}; const u8g_fntpgm_uint8_t fontpage_285_223_223[45] U8G_FONT_SECTION("fontpage_285_223_223") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdf,0xdf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0xfa,0x00,0x23,0xe0,0xfd,0x20,0xa9, - 0x40,0xf9,0x00,0xa9,0x00,0xf9,0x80,0x22,0x80,0xfa,0x40,0x24,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDF,0xDF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0xFA,0x00,0x23,0xE0,0xFD,0x20,0xA9, + 0x40,0xF9,0x00,0xA9,0x00,0xF9,0x80,0x22,0x80,0xFA,0x40,0x24,0x20}; const u8g_fntpgm_uint8_t fontpage_285_248_248[45] U8G_FONT_SECTION("fontpage_285_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0xf8,0x80,0x23,0xe0,0xfa,0xa0,0xaa, - 0xa0,0xfa,0xa0,0xab,0xe0,0xfa,0xa0,0x22,0xa0,0xfb,0xe0,0x22,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0xF8,0x80,0x23,0xE0,0xFA,0xA0,0xAA, + 0xA0,0xFA,0xA0,0xAB,0xE0,0xFA,0xA0,0x22,0xA0,0xFB,0xE0,0x22,0x20}; const u8g_fntpgm_uint8_t fontpage_286_137_137[45] U8G_FONT_SECTION("fontpage_286_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x80,0x7d,0x40,0x11,0x00,0xff,0xe0,0x11, - 0x00,0xff,0x20,0x55,0x40,0x7c,0x80,0x54,0xa0,0xff,0x60,0x12,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x80,0x7D,0x40,0x11,0x00,0xFF,0xE0,0x11, + 0x00,0xFF,0x20,0x55,0x40,0x7C,0x80,0x54,0xA0,0xFF,0x60,0x12,0x20}; const u8g_fntpgm_uint8_t fontpage_286_175_175[45] U8G_FONT_SECTION("fontpage_286_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xc0,0xfa,0x40,0x23,0xc0,0xf8,0x00,0xaf, - 0xe0,0xfa,0x40,0xab,0xc0,0xfa,0x40,0x22,0xe0,0xff,0x40,0x20,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xC0,0xFA,0x40,0x23,0xC0,0xF8,0x00,0xAF, + 0xE0,0xFA,0x40,0xAB,0xC0,0xFA,0x40,0x22,0xE0,0xFF,0x40,0x20,0x40}; const u8g_fntpgm_uint8_t fontpage_286_184_184[45] U8G_FONT_SECTION("fontpage_286_184_184") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb8,0xb8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xfa,0x80,0x24,0x60,0xfb,0x80,0xae, - 0x20,0xfa,0xa0,0xae,0xa0,0xfa,0xa0,0x2e,0xa0,0xfa,0x20,0x2a,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB8,0xB8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xFA,0x80,0x24,0x60,0xFB,0x80,0xAE, + 0x20,0xFA,0xA0,0xAE,0xA0,0xFA,0xA0,0x2E,0xA0,0xFA,0x20,0x2A,0x60}; const u8g_fntpgm_uint8_t fontpage_286_201_201[45] U8G_FONT_SECTION("fontpage_286_201_201") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0xff,0xe0,0x25,0x40,0xff,0xc0,0xad, - 0x40,0xff,0xc0,0xa9,0x60,0xff,0xe0,0x24,0x40,0xfa,0x40,0x20,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC9,0xC9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0xFF,0xE0,0x25,0x40,0xFF,0xC0,0xAD, + 0x40,0xFF,0xC0,0xA9,0x60,0xFF,0xE0,0x24,0x40,0xFA,0x40,0x20,0xC0}; const u8g_fntpgm_uint8_t fontpage_287_209_209[45] U8G_FONT_SECTION("fontpage_287_209_209") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd1,0xd1,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0xc0,0x27,0x00,0x24,0x00,0x07,0xe0,0xe4, - 0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD1,0xD1,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0xC0,0x27,0x00,0x24,0x00,0x07,0xE0,0xE4, + 0x80,0x24,0x80,0x24,0x80,0x24,0x80,0x28,0x80,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_287_212_212[45] U8G_FONT_SECTION("fontpage_287_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xe0,0xe6, - 0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x40,0x60,0x27,0x80,0x24,0x00,0x07,0xE0,0xE6, + 0x20,0x25,0x40,0x24,0x80,0x29,0x40,0x26,0x20,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_128_128[45] U8G_FONT_SECTION("fontpage_288_128_128") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x8f,0xc0,0x48,0x40,0x4f,0xc0,0x08,0x40,0xcf, - 0xc0,0x48,0x00,0x4b,0x40,0x48,0x80,0x4e,0x40,0xb0,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x8F,0xC0,0x48,0x40,0x4F,0xC0,0x08,0x40,0xCF, + 0xC0,0x48,0x00,0x4B,0x40,0x48,0x80,0x4E,0x40,0xB0,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_159_159[45] U8G_FONT_SECTION("fontpage_288_159_159") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x3f,0xe0,0x21,0x00,0x0f,0xe0,0xe9, - 0x20,0x2f,0xe0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0x9F,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x3F,0xE0,0x21,0x00,0x0F,0xE0,0xE9, + 0x20,0x2F,0xE0,0x23,0x80,0x25,0x40,0x29,0x20,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_163_163[45] U8G_FONT_SECTION("fontpage_288_163_163") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa3,0xa3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x2f,0xe0,0x25,0x40,0x07,0xc0,0xe5, - 0x40,0x27,0xc0,0x21,0x00,0x2f,0xe0,0x21,0x00,0x50,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA3,0xA3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x2F,0xE0,0x25,0x40,0x07,0xC0,0xE5, + 0x40,0x27,0xC0,0x21,0x00,0x2F,0xE0,0x21,0x00,0x50,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_178_178[45] U8G_FONT_SECTION("fontpage_288_178_178") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xb2,0xb2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x43,0x00,0x24,0x80,0x27,0xe0,0x0c,0x80,0xf7, - 0xe0,0x24,0x80,0x27,0xe0,0x24,0x80,0x27,0xe0,0x54,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xB2,0xB2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x43,0x00,0x24,0x80,0x27,0xE0,0x0C,0x80,0xF7, + 0xE0,0x24,0x80,0x27,0xE0,0x24,0x80,0x27,0xE0,0x54,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_203_203[45] U8G_FONT_SECTION("fontpage_288_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4f,0xe0,0x29,0x20,0x2f,0xe0,0x05,0x40,0xe7, - 0xc0,0x25,0x40,0x27,0xc0,0x21,0x00,0x2f,0xe0,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4F,0xE0,0x29,0x20,0x2F,0xE0,0x05,0x40,0xE7, + 0xC0,0x25,0x40,0x27,0xC0,0x21,0x00,0x2F,0xE0,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_212_212[45] U8G_FONT_SECTION("fontpage_288_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x41,0x00,0x27,0xc0,0x21,0x00,0x0f,0xe0,0xe2, - 0x80,0x2f,0xe0,0x21,0x00,0x2f,0xe0,0x21,0x00,0x51,0x00,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x41,0x00,0x27,0xC0,0x21,0x00,0x0F,0xE0,0xE2, + 0x80,0x2F,0xE0,0x21,0x00,0x2F,0xE0,0x21,0x00,0x51,0x00,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_288_248_248[45] U8G_FONT_SECTION("fontpage_288_248_248") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf8,0xf8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x4e,0xe0,0x2a,0xa0,0x2e,0xe0,0x08,0x80,0xea, - 0xa0,0x2f,0xe0,0x22,0x80,0x2f,0xe0,0x22,0x40,0x54,0x20,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x4E,0xE0,0x2A,0xA0,0x2E,0xE0,0x08,0x80,0xEA, + 0xA0,0x2F,0xE0,0x22,0x80,0x2F,0xE0,0x22,0x40,0x54,0x20,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_289_132_132[45] U8G_FONT_SECTION("fontpage_289_132_132") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x9f,0xc0,0x55,0x40,0x5f,0xc0,0x00,0x00,0xff, - 0xe0,0x28,0x80,0x2f,0xa0,0x27,0x40,0x2a,0x80,0x52,0x40,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x84,0x84,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x9F,0xC0,0x55,0x40,0x5F,0xC0,0x00,0x00,0xFF, + 0xE0,0x28,0x80,0x2F,0xA0,0x27,0x40,0x2A,0x80,0x52,0x40,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_289_138_138[45] U8G_FONT_SECTION("fontpage_289_138_138") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8a,0x8a,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x42,0x00,0x2f,0xc0,0x28,0x40,0x1f,0xe0,0xf4, - 0xa0,0x29,0x40,0x3f,0xe0,0x22,0x00,0x27,0xc0,0x58,0xc0,0x8f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8A,0x8A,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x42,0x00,0x2F,0xC0,0x28,0x40,0x1F,0xE0,0xF4, + 0xA0,0x29,0x40,0x3F,0xE0,0x22,0x00,0x27,0xC0,0x58,0xC0,0x8F,0xE0}; const u8g_fntpgm_uint8_t fontpage_289_232_232[45] U8G_FONT_SECTION("fontpage_289_232_232") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe8,0xe8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0xe0,0xff,0x20,0x45,0x20,0x29,0x40,0xff, - 0x80,0x01,0x40,0x7d,0x20,0x45,0x20,0x45,0xa0,0x7d,0x40,0x45,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE8,0xE8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0xE0,0xFF,0x20,0x45,0x20,0x29,0x40,0xFF, + 0x80,0x01,0x40,0x7D,0x20,0x45,0x20,0x45,0xA0,0x7D,0x40,0x45,0x00}; const u8g_fntpgm_uint8_t fontpage_291_203_203[45] U8G_FONT_SECTION("fontpage_291_203_203") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcb,0xcb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x2a,0xa0,0xaf,0xe0,0x71,0x00,0xff, - 0xe0,0x22,0x80,0x77,0xe0,0x69,0x00,0xa7,0xe0,0xa1,0x00,0x21,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCB,0xCB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x2A,0xA0,0xAF,0xE0,0x71,0x00,0xFF, + 0xE0,0x22,0x80,0x77,0xE0,0x69,0x00,0xA7,0xE0,0xA1,0x00,0x21,0x00}; const u8g_fntpgm_uint8_t fontpage_291_205_205[45] U8G_FONT_SECTION("fontpage_291_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0x24,0x80,0x3f, - 0x80,0x24,0x80,0x3f,0x80,0x04,0x00,0x7f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0x24,0x80,0x3F, + 0x80,0x24,0x80,0x3F,0x80,0x04,0x00,0x7F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_291_207_207[45] U8G_FONT_SECTION("fontpage_291_207_207") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcf,0xcf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0x80,0x20,0x80,0x3f,0x80,0x20,0x80,0xff, - 0xe0,0x24,0x80,0x3f,0x80,0x24,0x80,0x7f,0xc0,0x04,0x00,0xff,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCF,0xCF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0xFF, + 0xE0,0x24,0x80,0x3F,0x80,0x24,0x80,0x7F,0xC0,0x04,0x00,0xFF,0xE0}; const u8g_fntpgm_uint8_t fontpage_291_221_221[45] U8G_FONT_SECTION("fontpage_291_221_221") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdd,0xdd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x20,0x80,0x50,0x80,0x88,0x80,0x78,0x80,0x27, - 0xe0,0xf8,0x80,0x20,0x80,0xa8,0x80,0x70,0x80,0x38,0x80,0xc0,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDD,0xDD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x20,0x80,0x50,0x80,0x88,0x80,0x78,0x80,0x27, + 0xE0,0xF8,0x80,0x20,0x80,0xA8,0x80,0x70,0x80,0x38,0x80,0xC0,0x80}; const u8g_fntpgm_uint8_t fontpage_292_149_149[45] U8G_FONT_SECTION("fontpage_292_149_149") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x27,0xc0,0x31,0x40,0x49,0x40,0xf9,0x40,0x21, - 0x40,0xff,0xc0,0x22,0x40,0xaa,0x40,0x72,0x40,0x3a,0x40,0xc7,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x95,0x95,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x27,0xC0,0x31,0x40,0x49,0x40,0xF9,0x40,0x21, + 0x40,0xFF,0xC0,0x22,0x40,0xAA,0x40,0x72,0x40,0x3A,0x40,0xC7,0xE0}; const u8g_fntpgm_uint8_t fontpage_294_175_175[45] U8G_FONT_SECTION("fontpage_294_175_175") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xaf,0xaf,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x40,0x57,0xe0,0x8a,0x40,0x7a,0x40,0x27, - 0xe0,0xf8,0x00,0x23,0xe0,0xaa,0x20,0x73,0xe0,0x3a,0x20,0xe3,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAF,0xAF,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x40,0x57,0xE0,0x8A,0x40,0x7A,0x40,0x27, + 0xE0,0xF8,0x00,0x23,0xE0,0xAA,0x20,0x73,0xE0,0x3A,0x20,0xE3,0xE0}; const u8g_fntpgm_uint8_t fontpage_294_245_245[45] U8G_FONT_SECTION("fontpage_294_245_245") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf5,0xf5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2c,0x80,0x25,0xe0,0x54,0xa0,0xfb,0xe0,0x2c, - 0xa0,0xf7,0xe0,0x24,0x80,0xb7,0xe0,0x6c,0x80,0x34,0x80,0xcb,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF5,0xF5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2C,0x80,0x25,0xE0,0x54,0xA0,0xFB,0xE0,0x2C, + 0xA0,0xF7,0xE0,0x24,0x80,0xB7,0xE0,0x6C,0x80,0x34,0x80,0xCB,0xE0}; const u8g_fntpgm_uint8_t fontpage_298_247_247[45] U8G_FONT_SECTION("fontpage_298_247_247") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xf7,0xf7,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0x3f,0x80,0x20,0x00,0x3f,0x00,0x20,0x00,0x3f, - 0x00,0x20,0x00,0xff,0xc0,0x24,0x80,0x23,0x00,0x29,0x00,0x30,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xF7,0xF7,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0x3F,0x80,0x20,0x00,0x3F,0x00,0x20,0x00,0x3F, + 0x00,0x20,0x00,0xFF,0xC0,0x24,0x80,0x23,0x00,0x29,0x00,0x30,0xC0}; const u8g_fntpgm_uint8_t fontpage_299_137_137[45] U8G_FONT_SECTION("fontpage_299_137_137") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb, - 0xe0,0x82,0x20,0xbf,0xa0,0x8a,0x20,0x92,0x20,0xa2,0x20,0x86,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x89,0x89,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x8A,0x20,0xFB,0xE0,0x8A,0x20,0xFB, + 0xE0,0x82,0x20,0xBF,0xA0,0x8A,0x20,0x92,0x20,0xA2,0x20,0x86,0xE0}; const u8g_fntpgm_uint8_t fontpage_299_139_139[45] U8G_FONT_SECTION("fontpage_299_139_139") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8b,0x8b,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb, - 0xe0,0x80,0x20,0x9f,0x20,0x8a,0x20,0xbf,0xa0,0x8a,0x20,0x92,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8B,0x8B,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x8A,0x20,0xFB,0xE0,0x8A,0x20,0xFB, + 0xE0,0x80,0x20,0x9F,0x20,0x8A,0x20,0xBF,0xA0,0x8A,0x20,0x92,0xE0}; const u8g_fntpgm_uint8_t fontpage_299_147_147[45] U8G_FONT_SECTION("fontpage_299_147_147") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xfb, - 0xe0,0x9f,0x20,0x91,0x20,0x9f,0x20,0x91,0x20,0x9f,0x20,0x80,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x93,0x93,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x8A,0x20,0xFB,0xE0,0x8A,0x20,0xFB, + 0xE0,0x9F,0x20,0x91,0x20,0x9F,0x20,0x91,0x20,0x9F,0x20,0x80,0xE0}; const u8g_fntpgm_uint8_t fontpage_299_220_220[45] U8G_FONT_SECTION("fontpage_299_220_220") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xdc,0xdc,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xfb,0xe0,0x8a,0x20,0xfb,0xe0,0x8a,0x20,0xf5, - 0xe0,0xaa,0xa0,0xbb,0xa0,0xaa,0xa0,0xbb,0xa0,0x8a,0x20,0xb2,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDC,0xDC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFB,0xE0,0x8A,0x20,0xFB,0xE0,0x8A,0x20,0xF5, + 0xE0,0xAA,0xA0,0xBB,0xA0,0xAA,0xA0,0xBB,0xA0,0x8A,0x20,0xB2,0x60}; const u8g_fntpgm_uint8_t fontpage_300_205_205[45] U8G_FONT_SECTION("fontpage_300_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf2,0x00,0x93,0xe0,0xa6,0x40,0xc1,0x80,0xa6, - 0x60,0x91,0x00,0x97,0xe0,0xd5,0x00,0xaf,0xe0,0x81,0x00,0x81,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF2,0x00,0x93,0xE0,0xA6,0x40,0xC1,0x80,0xA6, + 0x60,0x91,0x00,0x97,0xE0,0xD5,0x00,0xAF,0xE0,0x81,0x00,0x81,0x00}; const u8g_fntpgm_uint8_t fontpage_300_228_228[45] U8G_FONT_SECTION("fontpage_300_228_228") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe4,0xe4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf1,0x00,0x92,0x80,0xa4,0x40,0xcb,0xa0,0xa1, - 0x00,0x9f,0xe0,0x91,0x00,0xe5,0x40,0x89,0x20,0x91,0x20,0x83,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE4,0xE4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF1,0x00,0x92,0x80,0xA4,0x40,0xCB,0xA0,0xA1, + 0x00,0x9F,0xE0,0x91,0x00,0xE5,0x40,0x89,0x20,0x91,0x20,0x83,0x00}; const u8g_fntpgm_uint8_t fontpage_301_142_142[45] U8G_FONT_SECTION("fontpage_301_142_142") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x8e,0x8e,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf8,0x80,0x98,0xa0,0xae,0xc0,0xc8,0xa0,0xae, - 0xe0,0x92,0x00,0x97,0xc0,0xf4,0x40,0xa7,0xc0,0x84,0x40,0x87,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x8E,0x8E,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF8,0x80,0x98,0xA0,0xAE,0xC0,0xC8,0xA0,0xAE, + 0xE0,0x92,0x00,0x97,0xC0,0xF4,0x40,0xA7,0xC0,0x84,0x40,0x87,0xC0}; const u8g_fntpgm_uint8_t fontpage_301_217_217[45] U8G_FONT_SECTION("fontpage_301_217_217") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd9,0xd9,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x2a,0x80,0x3f,0xe0,0x6a,0x80,0xbf,0xc0,0x2a, - 0x80,0x3f,0xe0,0x00,0x00,0x3f,0xc0,0x08,0x80,0x07,0x00,0x78,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD9,0xD9,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x2A,0x80,0x3F,0xE0,0x6A,0x80,0xBF,0xC0,0x2A, + 0x80,0x3F,0xE0,0x00,0x00,0x3F,0xC0,0x08,0x80,0x07,0x00,0x78,0xE0}; const u8g_fntpgm_uint8_t fontpage_301_226_226[45] U8G_FONT_SECTION("fontpage_301_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x80,0xfd,0x40,0x55,0xe0,0x6f,0x40,0x55, - 0xe0,0x7d,0x40,0x21,0x40,0xfd,0xe0,0xad,0x40,0xb5,0x40,0x8d,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x80,0xFD,0x40,0x55,0xE0,0x6F,0x40,0x55, + 0xE0,0x7D,0x40,0x21,0x40,0xFD,0xE0,0xAD,0x40,0xB5,0x40,0x8D,0xE0}; const u8g_fntpgm_uint8_t fontpage_301_251_251[45] U8G_FONT_SECTION("fontpage_301_251_251") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfb,0xfb,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xc0,0x04,0x00,0xff,0xe0,0xa4,0xa0,0x7f, - 0xc0,0x44,0x40,0x7f,0xc0,0x44,0x40,0x7f,0xc0,0x04,0x20,0x07,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFB,0xFB,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xC0,0x04,0x00,0xFF,0xE0,0xA4,0xA0,0x7F, + 0xC0,0x44,0x40,0x7F,0xC0,0x44,0x40,0x7F,0xC0,0x04,0x20,0x07,0xE0}; const u8g_fntpgm_uint8_t fontpage_302_210_210[45] U8G_FONT_SECTION("fontpage_302_210_210") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd2,0xd2,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0x7f,0xc0,0x04,0x00,0x3f,0x80,0x04, - 0x00,0xff,0xe0,0x10,0x80,0x1f,0x80,0x10,0x80,0x1f,0x80,0x10,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD2,0xD2,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0x7F,0xC0,0x04,0x00,0x3F,0x80,0x04, + 0x00,0xFF,0xE0,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80}; const u8g_fntpgm_uint8_t fontpage_302_222_222[45] U8G_FONT_SECTION("fontpage_302_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a, - 0x00,0x7b,0xc0,0x0a,0x00,0x0a,0x00,0xfb,0xe0,0x0a,0x00,0x0a,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x0A,0x00,0x0A,0x00,0xFB,0xE0,0x0A,0x00,0x0A, + 0x00,0x7B,0xC0,0x0A,0x00,0x0A,0x00,0xFB,0xE0,0x0A,0x00,0x0A,0x00}; const u8g_fntpgm_uint8_t fontpage_302_226_226[45] U8G_FONT_SECTION("fontpage_302_226_226") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xe2,0xe2,0x00,0x0a,0xff,0x00, - 0x00,0x0a,0x0b,0x16,0x0c,0x01,0xff,0xff,0xc0,0x08,0x00,0x10,0x00,0xff,0xc0,0x92, - 0x40,0x9e,0x40,0x92,0x40,0x9e,0x40,0x92,0x40,0xff,0xc0,0x80,0x40}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xE2,0xE2,0x00,0x0A,0xFF,0x00, + 0x00,0x0A,0x0B,0x16,0x0C,0x01,0xFF,0xFF,0xC0,0x08,0x00,0x10,0x00,0xFF,0xC0,0x92, + 0x40,0x9E,0x40,0x92,0x40,0x9E,0x40,0x92,0x40,0xFF,0xC0,0x80,0x40}; const u8g_fntpgm_uint8_t fontpage_304_133_133[45] U8G_FONT_SECTION("fontpage_304_133_133") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x07,0xe0,0xf9,0x00,0x27,0xe0,0x24,0x20,0x27, - 0xe0,0x24,0x20,0x3f,0xe0,0xc4,0x20,0x07,0xe0,0x02,0x40,0x0c,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x85,0x85,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x07,0xE0,0xF9,0x00,0x27,0xE0,0x24,0x20,0x27, + 0xE0,0x24,0x20,0x3F,0xE0,0xC4,0x20,0x07,0xE0,0x02,0x40,0x0C,0x20}; const u8g_fntpgm_uint8_t fontpage_304_144_144[45] U8G_FONT_SECTION("fontpage_304_144_144") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xff,0xe0,0x91,0x00,0x67,0xc0,0x24,0x40,0xff, - 0xc0,0x24,0x40,0x27,0xc0,0x24,0x40,0x27,0xc0,0x22,0x80,0xec,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xFF,0xE0,0x91,0x00,0x67,0xC0,0x24,0x40,0xFF, + 0xC0,0x24,0x40,0x27,0xC0,0x24,0x40,0x27,0xC0,0x22,0x80,0xEC,0x60}; const u8g_fntpgm_uint8_t fontpage_304_205_205[45] U8G_FONT_SECTION("fontpage_304_205_205") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x23,0xe0,0xfc,0x80,0xa7,0xe0,0x3a,0x20,0x4b, - 0xe0,0xb2,0x20,0x4b,0xe0,0xfe,0x20,0x4b,0xe0,0x79,0x40,0x4e,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCD,0xCD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x23,0xE0,0xFC,0x80,0xA7,0xE0,0x3A,0x20,0x4B, + 0xE0,0xB2,0x20,0x4B,0xE0,0xFE,0x20,0x4B,0xE0,0x79,0x40,0x4E,0x20}; const u8g_fntpgm_uint8_t fontpage_304_222_222[45] U8G_FONT_SECTION("fontpage_304_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xab,0xe0,0x70,0x80,0x23,0xe0,0xfa,0x20,0x73, - 0xe0,0xaa,0x20,0x23,0xe0,0xfa,0x20,0x23,0xe0,0x51,0x40,0x8e,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xAB,0xE0,0x70,0x80,0x23,0xE0,0xFA,0x20,0x73, + 0xE0,0xAA,0x20,0x23,0xE0,0xFA,0x20,0x23,0xE0,0x51,0x40,0x8E,0x20}; const u8g_fntpgm_uint8_t fontpage_305_168_168[45] U8G_FONT_SECTION("fontpage_305_168_168") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xa8,0xa8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xc0,0x21,0x40,0x2e,0x40,0x24,0x40,0x3f, - 0x40,0x35,0x40,0x3f,0x40,0x25,0x40,0x27,0x60,0x5c,0xa0,0x88,0x20}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xC0,0x21,0x40,0x2E,0x40,0x24,0x40,0x3F, + 0x40,0x35,0x40,0x3F,0x40,0x25,0x40,0x27,0x60,0x5C,0xA0,0x88,0x20}; const u8g_fntpgm_uint8_t fontpage_305_253_253[45] U8G_FONT_SECTION("fontpage_305_253_253") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xfd,0xfd,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x22,0x00,0x52,0x00,0xab,0xe0,0xfc,0x20,0x8b, - 0xa0,0xfa,0xa0,0x8b,0xa0,0xfa,0x40,0x92,0x20,0xaa,0x20,0xc9,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xFD,0xFD,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x22,0x00,0x52,0x00,0xAB,0xE0,0xFC,0x20,0x8B, + 0xA0,0xFA,0xA0,0x8B,0xA0,0xFA,0x40,0x92,0x20,0xAA,0x20,0xC9,0xE0}; const u8g_fntpgm_uint8_t fontpage_306_152_152[45] U8G_FONT_SECTION("fontpage_306_152_152") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x21,0x00,0x52,0x80,0xac,0x40,0xf8,0x20,0x8f, - 0xc0,0xf9,0x00,0x8f,0xe0,0xf9,0x00,0x95,0x40,0xb9,0x20,0xcb,0x00}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x98,0x98,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x21,0x00,0x52,0x80,0xAC,0x40,0xF8,0x20,0x8F, + 0xC0,0xF9,0x00,0x8F,0xE0,0xF9,0x00,0x95,0x40,0xB9,0x20,0xCB,0x00}; const u8g_fntpgm_uint8_t fontpage_307_172_172[45] U8G_FONT_SECTION("fontpage_307_172_172") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xac,0xac,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x3f,0xc0,0x24,0x00,0x3f,0x80,0x24,0x00,0x3f, - 0x80,0x24,0x00,0x3f,0xe0,0x00,0x20,0x55,0x20,0x4a,0xa0,0x8a,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xAC,0xAC,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x3F,0xC0,0x24,0x00,0x3F,0x80,0x24,0x00,0x3F, + 0x80,0x24,0x00,0x3F,0xE0,0x00,0x20,0x55,0x20,0x4A,0xA0,0x8A,0xC0}; const u8g_fntpgm_uint8_t fontpage_308_197_197[45] U8G_FONT_SECTION("fontpage_308_197_197") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc5,0xc5,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x7f,0xe0,0x54,0x00,0x7d,0xc0,0x55,0x40,0x7d, - 0xc0,0x54,0x00,0x7f,0xe0,0x5e,0xa0,0xaf,0xe0,0xac,0x00,0x17,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC5,0xC5,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x7F,0xE0,0x54,0x00,0x7D,0xC0,0x55,0x40,0x7D, + 0xC0,0x54,0x00,0x7F,0xE0,0x5E,0xA0,0xAF,0xE0,0xAC,0x00,0x17,0xE0}; const u8g_fntpgm_uint8_t fontpage_309_212_212[45] U8G_FONT_SECTION("fontpage_309_212_212") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd4,0xd4,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x79,0x40,0x6b,0xe0,0x5a,0xa0,0xff,0xe0,0x86, - 0xa0,0x7f,0xe0,0x4a,0x40,0x7b,0xc0,0x4a,0x40,0x79,0x80,0x4f,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD4,0xD4,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x79,0x40,0x6B,0xE0,0x5A,0xA0,0xFF,0xE0,0x86, + 0xA0,0x7F,0xE0,0x4A,0x40,0x7B,0xC0,0x4A,0x40,0x79,0x80,0x4F,0xE0}; const u8g_fntpgm_uint8_t fontpage_309_216_216[45] U8G_FONT_SECTION("fontpage_309_216_216") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xd8,0xd8,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x00,0x00,0x1f,0x00,0x11, - 0x00,0x7f,0xc0,0x40,0x40,0x5f,0x40,0x51,0x40,0x5f,0x40,0x40,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x00,0x00,0x1F,0x00,0x11, + 0x00,0x7F,0xC0,0x40,0x40,0x5F,0x40,0x51,0x40,0x5F,0x40,0x40,0xC0}; const u8g_fntpgm_uint8_t fontpage_317_195_195[45] U8G_FONT_SECTION("fontpage_317_195_195") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x11,0x00,0xff,0xe0,0x11,0x00,0x1f,0x00,0x00, - 0x00,0xff,0xe0,0x24,0x80,0x3f,0x80,0x24,0x80,0x3f,0x80,0xc0,0x60}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xC3,0xC3,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x11,0x00,0xFF,0xE0,0x11,0x00,0x1F,0x00,0x00, + 0x00,0xFF,0xE0,0x24,0x80,0x3F,0x80,0x24,0x80,0x3F,0x80,0xC0,0x60}; const u8g_fntpgm_uint8_t fontpage_317_222_222[45] U8G_FONT_SECTION("fontpage_317_222_222") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xde,0xde,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0xf8,0x80,0xa8,0x80,0xf8,0xe0,0xa8,0x80,0xf8, - 0x80,0x23,0xe0,0xfa,0x20,0x22,0x20,0xfa,0x20,0x52,0x20,0xab,0xe0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xDE,0xDE,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0xF8,0x80,0xA8,0x80,0xF8,0xE0,0xA8,0x80,0xF8, + 0x80,0x23,0xE0,0xFA,0x20,0x22,0x20,0xFA,0x20,0x52,0x20,0xAB,0xE0}; const u8g_fntpgm_uint8_t fontpage_318_202_202[45] U8G_FONT_SECTION("fontpage_318_202_202") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0xca,0xca,0x00,0x0a,0xff,0x00, - 0x00,0x0b,0x0b,0x16,0x0c,0x00,0xff,0x04,0x00,0xff,0xe0,0x0a,0x40,0xf5,0x80,0x55, - 0x40,0x95,0xa0,0x20,0x80,0x3f,0x80,0x20,0x80,0x3f,0x80,0xc0,0x80}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0xCA,0xCA,0x00,0x0A,0xFF,0x00, + 0x00,0x0B,0x0B,0x16,0x0C,0x00,0xFF,0x04,0x00,0xFF,0xE0,0x0A,0x40,0xF5,0x80,0x55, + 0x40,0x95,0xA0,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0xC0,0x80}; const u8g_fntpgm_uint8_t fontpage_510_154_154[30] U8G_FONT_SECTION("fontpage_510_154_154") = { - 0x00,0x0c,0x0f,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x00,0x08,0x00,0x00, - 0x00,0x02,0x07,0x07,0x0c,0x06,0x01,0xc0,0xc0,0x00,0x00,0x00,0xc0,0xc0}; + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9A,0x9A,0x00,0x08,0x00,0x00, + 0x00,0x02,0x07,0x07,0x0C,0x06,0x01,0xC0,0xC0,0x00,0x00,0x00,0xC0,0xC0}; #define FONTDATA_ITEM(page, begin, end, data) { page, begin, end, COUNT(data), data } static const uxg_fontinfo_t g_fontinfo[] PROGMEM = { diff --git a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h index 85e76444d4ee..70be70eab79a 100644 --- a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h +++ b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.h @@ -86,5 +86,5 @@ void ST7920_SWSPI_SND_8BIT(uint8_t val); #define ST7920_NCS() { WRITE(ST7920_CS_PIN,0); } #define ST7920_SET_CMD() { ST7920_SWSPI_SND_8BIT(0xF8); U8G_DELAY(); } #define ST7920_SET_DAT() { ST7920_SWSPI_SND_8BIT(0xFA); U8G_DELAY(); } -#define ST7920_WRITE_BYTE(a) { ST7920_SWSPI_SND_8BIT((uint8_t)((a)&0xF0u)); ST7920_SWSPI_SND_8BIT((uint8_t)((a)<<4u)); U8G_DELAY(); } +#define ST7920_WRITE_BYTE(a) { ST7920_SWSPI_SND_8BIT((uint8_t)((a)&0xF0u)); ST7920_SWSPI_SND_8BIT((uint8_t)((a)<<4U)); U8G_DELAY(); } #define ST7920_WRITE_BYTES(p,l) { for (uint8_t i = l + 1; --i;) { ST7920_SWSPI_SND_8BIT(*p&0xF0); ST7920_SWSPI_SND_8BIT(*p<<4); p++; } U8G_DELAY(); } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/commands.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/commands.cpp index a70268254fe9..bb95411e06fd 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/commands.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/commands.cpp @@ -1060,11 +1060,11 @@ void CLCD::init() { delay(40); // FTDI/BRT recommendation: no SPI traffic during startup. EVE needs at the very least 45ms to start, so leave her alone for a little while. - /* read the device-id until it returns 0x7c or times out, should take less than 150ms */ + /* read the device-id until it returns 0x7C or times out, should take less than 150ms */ uint8_t counter; for (counter = 0; counter < 250; counter++) { uint8_t device_id = mem_read_8(REG::ID); // Read Device ID, Should Be 0x7C; - if (device_id == 0x7c) { + if (device_id == 0x7C) { #if ENABLED(TOUCH_UI_DEBUG) SERIAL_ECHO_MSG("FTDI chip initialized "); #endif diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft800.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft800.h index 11151a574145..4063bf2d5dc7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft800.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft800.h @@ -63,7 +63,7 @@ namespace FTDI { static constexpr uint32_t RAM_REG = 0x102400; // Registers static constexpr uint32_t RAM_CMD = 0x108000; // Command Buffer - static constexpr uint32_t RAM_G_SIZE = 256*1024l; // 256k + static constexpr uint32_t RAM_G_SIZE = 256*1024L; // 256k }; struct ft800_registers { diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft810.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft810.h index 7e3165c2661d..448717b47834 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft810.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/registers_ft810.h @@ -61,7 +61,7 @@ namespace FTDI { static constexpr uint32_t RAM_REG = 0x302000; // Registers static constexpr uint32_t RAM_CMD = 0x308000; // Command Buffer - static constexpr uint32_t RAM_G_SIZE = 1024*1024l; // 1024k + static constexpr uint32_t RAM_G_SIZE = 1024*1024L; // 1024k }; struct ft810_registers { diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h index 2429e30e79f7..8d455907e91a 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/basic/resolutions.h @@ -60,12 +60,12 @@ constexpr uint16_t Hoffset = 70; constexpr uint16_t Hcycle = 408; - constexpr uint32_t default_transform_a = 0x000054ad; - constexpr uint32_t default_transform_b = 0xffffff52; - constexpr uint32_t default_transform_c = 0xfff7f6e4; + constexpr uint32_t default_transform_a = 0x000054AD; + constexpr uint32_t default_transform_b = 0xFFFFFF52; + constexpr uint32_t default_transform_c = 0xFFF7F6E4; constexpr uint32_t default_transform_d = 0x00000065; - constexpr uint32_t default_transform_e = 0xffffbe3b; - constexpr uint32_t default_transform_f = 0x00f68e75; + constexpr uint32_t default_transform_e = 0xFFFFBE3B; + constexpr uint32_t default_transform_f = 0x00F68E75; } #elif defined(TOUCH_UI_480x272) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h index 37e03238e034..3426e1377dbf 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/unicode/western_char_set_bitmap_31.h @@ -30,1286 +30,1286 @@ const unsigned char font[] PROGMEM = { /* 0 GRAVE */ - 0x76, 0x00, 0x01, 0x08, 0x01, 0xee, 0x01, 0xe5, 0x11, 0x00, 0x01, 0xaf, - 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xd0, - 0x10, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf9, 0x11, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf2, - 0x11, 0x00, 0x01, 0x5f, 0x01, 0xfd, 0x11, 0x00, 0x01, 0x06, 0x01, 0x99, - 0x01, 0x40, 0xff, 0x00, 0xff, 0x00, 0xa4, 0x00, + 0x76, 0x00, 0x01, 0x08, 0x01, 0xEE, 0x01, 0xE5, 0x11, 0x00, 0x01, 0xAF, + 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xD0, + 0x10, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x01, 0xF9, 0x11, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF2, + 0x11, 0x00, 0x01, 0x5F, 0x01, 0xFD, 0x11, 0x00, 0x01, 0x06, 0x01, 0x99, + 0x01, 0x40, 0xFF, 0x00, 0xFF, 0x00, 0xA4, 0x00, /* 1 ACUTE */ - 0x7b, 0x00, 0x01, 0x9e, 0x01, 0xee, 0x01, 0x50, 0x0f, 0x00, 0x01, 0x05, - 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x09, 0x01, 0xff, - 0x01, 0xd1, 0x10, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, - 0x01, 0x01, 0x01, 0xef, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xaa, - 0x01, 0x40, 0xff, 0x00, 0xff, 0x00, 0xa5, 0x00, + 0x7B, 0x00, 0x01, 0x9E, 0x01, 0xEE, 0x01, 0x50, 0x0F, 0x00, 0x01, 0x05, + 0x01, 0xFF, 0x01, 0xF8, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x09, 0x01, 0xFF, + 0x01, 0xD1, 0x10, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x01, 0x20, 0x0F, 0x00, + 0x01, 0x01, 0x01, 0xEF, 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xAA, + 0x01, 0x40, 0xFF, 0x00, 0xFF, 0x00, 0xA5, 0x00, /* 2 CIRCUMFLEX */ - 0x79, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x07, 0x02, 0xff, - 0x01, 0x60, 0x0f, 0x00, 0x01, 0x2f, 0x02, 0xff, 0x01, 0xf2, 0x0f, 0x00, - 0x01, 0xcf, 0x01, 0xf6, 0x01, 0x6f, 0x01, 0xfb, 0x0e, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xa0, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x60, 0x0d, 0x00, - 0x01, 0x1f, 0x01, 0xfd, 0x01, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf1, - 0x0d, 0x00, 0x01, 0xbf, 0x01, 0xf3, 0x02, 0x00, 0x01, 0x3f, 0x01, 0xfb, - 0x0c, 0x00, 0x01, 0x02, 0x01, 0x99, 0x01, 0x50, 0x02, 0x00, 0x01, 0x05, - 0x01, 0x99, 0x01, 0x20, 0xff, 0x00, 0xff, 0x00, 0xa2, 0x00, + 0x79, 0x00, 0x01, 0xCF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x07, 0x02, 0xFF, + 0x01, 0x60, 0x0F, 0x00, 0x01, 0x2F, 0x02, 0xFF, 0x01, 0xF2, 0x0F, 0x00, + 0x01, 0xCF, 0x01, 0xF6, 0x01, 0x6F, 0x01, 0xFB, 0x0E, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xA0, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0x60, 0x0D, 0x00, + 0x01, 0x1F, 0x01, 0xFD, 0x01, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x01, 0xF1, + 0x0D, 0x00, 0x01, 0xBF, 0x01, 0xF3, 0x02, 0x00, 0x01, 0x3F, 0x01, 0xFB, + 0x0C, 0x00, 0x01, 0x02, 0x01, 0x99, 0x01, 0x50, 0x02, 0x00, 0x01, 0x05, + 0x01, 0x99, 0x01, 0x20, 0xFF, 0x00, 0xFF, 0x00, 0xA2, 0x00, /* 3 TILDE */ - 0x7c, 0x00, 0x01, 0x11, 0x0d, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xc3, - 0x02, 0x00, 0x01, 0xff, 0x01, 0x80, 0x0c, 0x00, 0x01, 0xaf, 0x02, 0xff, - 0x01, 0x50, 0x01, 0x01, 0x01, 0xff, 0x01, 0x60, 0x0b, 0x00, 0x01, 0x02, - 0x01, 0xff, 0x01, 0xd9, 0x01, 0xff, 0x01, 0xf7, 0x01, 0x07, 0x01, 0xff, - 0x01, 0x40, 0x0b, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0x20, 0x01, 0x3e, - 0x02, 0xff, 0x01, 0xfd, 0x0c, 0x00, 0x01, 0x09, 0x01, 0xfe, 0x01, 0x00, - 0x01, 0x02, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, 0x01, 0x07, - 0x01, 0xa8, 0x02, 0x00, 0x01, 0x06, 0x01, 0x98, 0x01, 0x20, 0xff, 0x00, - 0xff, 0x00, 0xb6, 0x00, + 0x7C, 0x00, 0x01, 0x11, 0x0D, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xC3, + 0x02, 0x00, 0x01, 0xFF, 0x01, 0x80, 0x0C, 0x00, 0x01, 0xAF, 0x02, 0xFF, + 0x01, 0x50, 0x01, 0x01, 0x01, 0xFF, 0x01, 0x60, 0x0B, 0x00, 0x01, 0x02, + 0x01, 0xFF, 0x01, 0xD9, 0x01, 0xFF, 0x01, 0xF7, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0x40, 0x0B, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0x20, 0x01, 0x3E, + 0x02, 0xFF, 0x01, 0xFD, 0x0C, 0x00, 0x01, 0x09, 0x01, 0xFE, 0x01, 0x00, + 0x01, 0x02, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xF4, 0x0C, 0x00, 0x01, 0x07, + 0x01, 0xA8, 0x02, 0x00, 0x01, 0x06, 0x01, 0x98, 0x01, 0x20, 0xFF, 0x00, + 0xFF, 0x00, 0xB6, 0x00, /* 4 DIAERESIS */ - 0x8a, 0x00, 0x02, 0x44, 0x02, 0x00, 0x02, 0x44, 0x0d, 0x00, 0x02, 0xff, - 0x01, 0x10, 0x01, 0x01, 0x02, 0xff, 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, - 0x01, 0x01, 0x02, 0xff, 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, 0x01, 0x01, - 0x02, 0xff, 0x0d, 0x00, 0x02, 0xcc, 0x01, 0x10, 0x01, 0x01, 0x02, 0xcc, - 0xff, 0x00, 0xff, 0x00, 0xc9, 0x00, + 0x8A, 0x00, 0x02, 0x44, 0x02, 0x00, 0x02, 0x44, 0x0D, 0x00, 0x02, 0xFF, + 0x01, 0x10, 0x01, 0x01, 0x02, 0xFF, 0x0D, 0x00, 0x02, 0xFF, 0x01, 0x10, + 0x01, 0x01, 0x02, 0xFF, 0x0D, 0x00, 0x02, 0xFF, 0x01, 0x10, 0x01, 0x01, + 0x02, 0xFF, 0x0D, 0x00, 0x02, 0xCC, 0x01, 0x10, 0x01, 0x01, 0x02, 0xCC, + 0xFF, 0x00, 0xFF, 0x00, 0xC9, 0x00, /* 5 DOT_ABOVE / DEGREE_SIGN */ - 0x2d, 0x00, 0x01, 0x13, 0x01, 0x30, 0x10, 0x00, 0x01, 0x2b, 0x02, 0xff, - 0x01, 0xa1, 0x0e, 0x00, 0x01, 0x02, 0x01, 0xef, 0x02, 0xff, 0x01, 0xfd, - 0x01, 0x10, 0x0d, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x94, 0x01, 0x5a, - 0x01, 0xff, 0x01, 0xb0, 0x0d, 0x00, 0x01, 0x4f, 0x01, 0xf7, 0x02, 0x00, - 0x01, 0x9f, 0x01, 0xf2, 0x0d, 0x00, 0x01, 0x8f, 0x01, 0xf0, 0x02, 0x00, - 0x01, 0x2f, 0x01, 0xf6, 0x0d, 0x00, 0x01, 0x8f, 0x01, 0xe0, 0x02, 0x00, - 0x01, 0x0f, 0x01, 0xf7, 0x0d, 0x00, 0x01, 0x7f, 0x01, 0xf2, 0x02, 0x00, - 0x01, 0x4f, 0x01, 0xf5, 0x0d, 0x00, 0x01, 0x2f, 0x01, 0xfc, 0x01, 0x10, - 0x01, 0x02, 0x01, 0xdf, 0x01, 0xf0, 0x0d, 0x00, 0x01, 0x08, 0x01, 0xff, - 0x01, 0xfb, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x60, 0x0e, 0x00, 0x01, 0x9f, - 0x02, 0xff, 0x01, 0xf8, 0x0f, 0x00, 0x01, 0x03, 0x01, 0x9c, 0x01, 0xc9, - 0x01, 0x30, 0xff, 0x00, 0xff, 0x00, 0xa4, 0x00, + 0x2D, 0x00, 0x01, 0x13, 0x01, 0x30, 0x10, 0x00, 0x01, 0x2B, 0x02, 0xFF, + 0x01, 0xA1, 0x0E, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x02, 0xFF, 0x01, 0xFD, + 0x01, 0x10, 0x0D, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x94, 0x01, 0x5A, + 0x01, 0xFF, 0x01, 0xB0, 0x0D, 0x00, 0x01, 0x4F, 0x01, 0xF7, 0x02, 0x00, + 0x01, 0x9F, 0x01, 0xF2, 0x0D, 0x00, 0x01, 0x8F, 0x01, 0xF0, 0x02, 0x00, + 0x01, 0x2F, 0x01, 0xF6, 0x0D, 0x00, 0x01, 0x8F, 0x01, 0xE0, 0x02, 0x00, + 0x01, 0x0F, 0x01, 0xF7, 0x0D, 0x00, 0x01, 0x7F, 0x01, 0xF2, 0x02, 0x00, + 0x01, 0x4F, 0x01, 0xF5, 0x0D, 0x00, 0x01, 0x2F, 0x01, 0xFC, 0x01, 0x10, + 0x01, 0x02, 0x01, 0xDF, 0x01, 0xF0, 0x0D, 0x00, 0x01, 0x08, 0x01, 0xFF, + 0x01, 0xFB, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x60, 0x0E, 0x00, 0x01, 0x9F, + 0x02, 0xFF, 0x01, 0xF8, 0x0F, 0x00, 0x01, 0x03, 0x01, 0x9C, 0x01, 0xC9, + 0x01, 0x30, 0xFF, 0x00, 0xFF, 0x00, 0xA4, 0x00, /* 6 CEDILLA */ - 0xff, 0x00, 0xff, 0x00, 0xee, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0x20, - 0x11, 0x00, 0x01, 0xcf, 0x01, 0xc0, 0x11, 0x00, 0x01, 0x3f, 0x01, 0xf6, - 0x11, 0x00, 0x01, 0x0f, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x3f, 0x01, 0xfd, - 0x0e, 0x00, 0x01, 0x07, 0x01, 0xd9, 0x01, 0x89, 0x01, 0xff, 0x01, 0xfb, - 0x0e, 0x00, 0x01, 0x07, 0x03, 0xff, 0x01, 0xf3, 0x0e, 0x00, 0x01, 0x04, - 0x01, 0xbd, 0x01, 0xee, 0x01, 0xd9, 0x01, 0x20, 0x2f, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xEE, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0x20, + 0x11, 0x00, 0x01, 0xCF, 0x01, 0xC0, 0x11, 0x00, 0x01, 0x3F, 0x01, 0xF6, + 0x11, 0x00, 0x01, 0x0F, 0x01, 0xFB, 0x11, 0x00, 0x01, 0x3F, 0x01, 0xFD, + 0x0E, 0x00, 0x01, 0x07, 0x01, 0xD9, 0x01, 0x89, 0x01, 0xFF, 0x01, 0xFB, + 0x0E, 0x00, 0x01, 0x07, 0x03, 0xFF, 0x01, 0xF3, 0x0E, 0x00, 0x01, 0x04, + 0x01, 0xBD, 0x01, 0xEE, 0x01, 0xD9, 0x01, 0x20, 0x2F, 0x00, /* 7 NO_DOT_I */ - 0xff, 0x00, 0x32, 0x00, 0x01, 0x01, 0x01, 0x99, 0x01, 0x96, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xf9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0x10, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf9, 0xcd, 0x00, + 0xFF, 0x00, 0x32, 0x00, 0x01, 0x01, 0x01, 0x99, 0x01, 0x96, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xF9, 0x10, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0x10, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF9, 0xCD, 0x00, #if ENABLED(TOUCH_UI_UTF8_GERMANIC) /* 8 SHARP_S */ - 0x8a, 0x00, 0x01, 0x35, 0x01, 0x66, 0x01, 0x52, 0x0e, 0x00, 0x01, 0x03, - 0x01, 0xaf, 0x03, 0xff, 0x01, 0xe7, 0x0d, 0x00, 0x01, 0x7f, 0x05, 0xff, - 0x01, 0xc1, 0x0b, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfc, 0x01, 0xaa, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfc, 0x0b, 0x00, 0x01, 0x2f, 0x01, 0xff, - 0x01, 0xf9, 0x01, 0x10, 0x01, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x01, 0xff, - 0x01, 0x70, 0x0a, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x03, 0x00, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0xe0, 0x0a, 0x00, 0x01, 0xef, 0x01, 0xff, - 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, 0x01, 0x02, - 0x01, 0xff, 0x01, 0xfb, 0x04, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf7, - 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf9, 0x03, 0x00, 0x01, 0x03, - 0x01, 0x9e, 0x01, 0xff, 0x01, 0xf8, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x02, 0x00, 0x01, 0x01, 0x01, 0xaf, 0x02, 0xff, 0x01, 0xd7, - 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x1d, - 0x01, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x02, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, - 0x01, 0xfa, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, - 0x01, 0x05, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x01, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf4, 0x0c, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, - 0x01, 0xf9, 0x0c, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x00, - 0x01, 0x02, 0x02, 0xff, 0x01, 0x50, 0x0b, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x02, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xf8, 0x0b, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x1d, 0x02, 0xff, - 0x01, 0xd3, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, - 0x01, 0x01, 0x01, 0xcf, 0x02, 0xff, 0x01, 0x70, 0x09, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfb, - 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x2b, - 0x02, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, - 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xf6, 0x08, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfd, - 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x08, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xfd, - 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x01, 0x02, 0x01, 0x84, - 0x03, 0x00, 0x01, 0x2d, 0x01, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf8, 0x01, 0x02, 0x01, 0xff, 0x01, 0xec, 0x01, 0xa9, - 0x01, 0xac, 0x02, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf8, 0x01, 0x02, 0x05, 0xff, 0x01, 0xfe, 0x01, 0x20, 0x08, 0x00, - 0x01, 0x03, 0x01, 0xee, 0x01, 0xe7, 0x01, 0x01, 0x01, 0xbf, 0x03, 0xff, - 0x01, 0xfe, 0x01, 0x80, 0x0e, 0x00, 0x01, 0x35, 0x01, 0x78, 0x01, 0x76, - 0x01, 0x30, 0xb4, 0x00, + 0x8A, 0x00, 0x01, 0x35, 0x01, 0x66, 0x01, 0x52, 0x0E, 0x00, 0x01, 0x03, + 0x01, 0xAF, 0x03, 0xFF, 0x01, 0xE7, 0x0D, 0x00, 0x01, 0x7F, 0x05, 0xFF, + 0x01, 0xC1, 0x0B, 0x00, 0x01, 0x07, 0x02, 0xFF, 0x01, 0xFC, 0x01, 0xAA, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xFC, 0x0B, 0x00, 0x01, 0x2F, 0x01, 0xFF, + 0x01, 0xF9, 0x01, 0x10, 0x01, 0x00, 0x01, 0x02, 0x01, 0xCF, 0x01, 0xFF, + 0x01, 0x70, 0x0A, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x80, 0x03, 0x00, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xE0, 0x0A, 0x00, 0x01, 0xEF, 0x01, 0xFF, + 0x04, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xF3, 0x09, 0x00, 0x01, 0x02, + 0x01, 0xFF, 0x01, 0xFB, 0x04, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF7, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF9, 0x03, 0x00, 0x01, 0x03, + 0x01, 0x9E, 0x01, 0xFF, 0x01, 0xF8, 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x02, 0x00, 0x01, 0x01, 0x01, 0xAF, 0x02, 0xFF, 0x01, 0xD7, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x1D, + 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x50, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x02, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x70, 0x0B, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x00, 0x01, 0x01, 0x01, 0xFF, + 0x01, 0xFA, 0x0C, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xFF, 0x01, 0xF4, 0x0C, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x01, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF4, 0x0C, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFF, + 0x01, 0xF9, 0x0C, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x00, + 0x01, 0x02, 0x02, 0xFF, 0x01, 0x50, 0x0B, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x02, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0xF8, 0x0B, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x1D, 0x02, 0xFF, + 0x01, 0xD3, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x02, 0x00, + 0x01, 0x01, 0x01, 0xCF, 0x02, 0xFF, 0x01, 0x70, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF8, 0x03, 0x00, 0x01, 0x07, 0x02, 0xFF, 0x01, 0xFB, + 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x04, 0x00, 0x01, 0x2B, + 0x02, 0xFF, 0x01, 0xB0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, + 0x05, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xF6, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF8, 0x05, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFD, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x10, 0x07, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x06, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF8, 0x05, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xFD, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x02, 0x01, 0x84, + 0x03, 0x00, 0x01, 0x2D, 0x01, 0xFF, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF8, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xEC, 0x01, 0xA9, + 0x01, 0xAC, 0x02, 0xFF, 0x01, 0xE0, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF8, 0x01, 0x02, 0x05, 0xFF, 0x01, 0xFE, 0x01, 0x20, 0x08, 0x00, + 0x01, 0x03, 0x01, 0xEE, 0x01, 0xE7, 0x01, 0x01, 0x01, 0xBF, 0x03, 0xFF, + 0x01, 0xFE, 0x01, 0x80, 0x0E, 0x00, 0x01, 0x35, 0x01, 0x78, 0x01, 0x76, + 0x01, 0x30, 0xB4, 0x00, #endif #if ENABLED(TOUCH_UI_UTF8_SCANDINAVIAN) /* 9 LRG_O_STROKE */ - 0x93, 0x00, 0x01, 0x40, 0x0a, 0x00, 0x01, 0x47, 0x01, 0x9a, 0x01, 0xba, - 0x01, 0x95, 0x01, 0x10, 0x02, 0x00, 0x01, 0x07, 0x01, 0xf8, 0x08, 0x00, - 0x01, 0x02, 0x01, 0xaf, 0x04, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x01, 0x00, - 0x01, 0x5f, 0x01, 0xff, 0x01, 0x30, 0x07, 0x00, 0x01, 0x8f, 0x06, 0xff, - 0x01, 0xfc, 0x01, 0x23, 0x01, 0xff, 0x01, 0xf6, 0x07, 0x00, 0x01, 0x1c, - 0x03, 0xff, 0x01, 0xca, 0x01, 0x9b, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xfe, - 0x01, 0xff, 0x01, 0x80, 0x07, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xfd, - 0x01, 0x50, 0x02, 0x00, 0x01, 0x02, 0x01, 0x9f, 0x02, 0xff, 0x01, 0xfa, - 0x07, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0x90, 0x04, 0x00, 0x01, 0x03, - 0x01, 0xef, 0x01, 0xff, 0x01, 0xf3, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, - 0x01, 0xf9, 0x06, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xfc, 0x07, 0x00, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0xc0, 0x05, 0x00, 0x01, 0x06, 0x03, 0xff, - 0x01, 0x60, 0x05, 0x00, 0x01, 0x04, 0x02, 0xff, 0x01, 0x30, 0x05, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xc0, 0x05, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x02, 0x01, 0xef, - 0x01, 0xf7, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x0f, - 0x01, 0xff, 0x01, 0xf6, 0x05, 0x00, 0x01, 0x1d, 0x01, 0xff, 0x01, 0xa0, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf8, 0x05, 0x00, 0x01, 0x3f, 0x01, 0xff, - 0x01, 0xf2, 0x05, 0x00, 0x01, 0xcf, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x09, - 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xe0, - 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xc0, - 0x04, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x20, 0x01, 0x00, 0x01, 0x03, - 0x02, 0xff, 0x05, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, - 0x01, 0x05, 0x01, 0xff, 0x01, 0xf4, 0x02, 0x00, 0x01, 0x02, 0x02, 0xff, - 0x01, 0x10, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x03, 0x00, - 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0x01, 0x02, 0xff, - 0x01, 0x30, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x02, 0x00, - 0x01, 0x01, 0x01, 0xef, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x02, 0x02, 0xff, - 0x01, 0x20, 0x04, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x02, 0x00, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, 0x01, 0x03, 0x02, 0xff, - 0x01, 0x10, 0x04, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xc0, 0x02, 0x00, - 0x01, 0xbf, 0x01, 0xfd, 0x04, 0x00, 0x01, 0x04, 0x02, 0xff, 0x05, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, - 0x01, 0xe1, 0x04, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfe, 0x05, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, - 0x01, 0x30, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, - 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, 0x01, 0x04, 0x01, 0xff, 0x01, 0xf5, - 0x05, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf7, 0x05, 0x00, 0x01, 0x09, - 0x01, 0xff, 0x01, 0xfc, 0x01, 0x2e, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, - 0x01, 0x5f, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, 0x01, 0x03, 0x02, 0xff, - 0x01, 0xef, 0x01, 0xfa, 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xb0, - 0x06, 0x00, 0x01, 0xcf, 0x02, 0xff, 0x01, 0xc0, 0x05, 0x00, 0x01, 0x06, - 0x02, 0xff, 0x01, 0x40, 0x06, 0x00, 0x01, 0x2f, 0x02, 0xff, 0x01, 0x20, - 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x0b, - 0x02, 0xff, 0x01, 0xd2, 0x04, 0x00, 0x01, 0x06, 0x02, 0xff, 0x01, 0xe1, - 0x07, 0x00, 0x01, 0x5f, 0x03, 0xff, 0x01, 0x93, 0x02, 0x00, 0x01, 0x05, - 0x01, 0xcf, 0x02, 0xff, 0x01, 0x30, 0x06, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xfb, 0x03, 0xff, 0x01, 0xfd, 0x01, 0xde, 0x03, 0xff, 0x01, 0xe3, - 0x07, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x80, 0x01, 0x4d, 0x06, 0xff, - 0x01, 0xfa, 0x01, 0x10, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xfb, 0x02, 0x00, - 0x01, 0x5c, 0x04, 0xff, 0x01, 0xe9, 0x01, 0x30, 0x08, 0x00, 0x01, 0x1c, - 0x01, 0xd0, 0x03, 0x00, 0x01, 0x04, 0x01, 0x67, 0x01, 0x86, 0x01, 0x53, - 0x0b, 0x00, 0x01, 0x10, 0xa8, 0x00, + 0x93, 0x00, 0x01, 0x40, 0x0A, 0x00, 0x01, 0x47, 0x01, 0x9A, 0x01, 0xBA, + 0x01, 0x95, 0x01, 0x10, 0x02, 0x00, 0x01, 0x07, 0x01, 0xF8, 0x08, 0x00, + 0x01, 0x02, 0x01, 0xAF, 0x04, 0xFF, 0x01, 0xFC, 0x01, 0x50, 0x01, 0x00, + 0x01, 0x5F, 0x01, 0xFF, 0x01, 0x30, 0x07, 0x00, 0x01, 0x8F, 0x06, 0xFF, + 0x01, 0xFC, 0x01, 0x23, 0x01, 0xFF, 0x01, 0xF6, 0x07, 0x00, 0x01, 0x1C, + 0x03, 0xFF, 0x01, 0xCA, 0x01, 0x9B, 0x01, 0xDF, 0x02, 0xFF, 0x01, 0xFE, + 0x01, 0xFF, 0x01, 0x80, 0x07, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0xFD, + 0x01, 0x50, 0x02, 0x00, 0x01, 0x02, 0x01, 0x9F, 0x02, 0xFF, 0x01, 0xFA, + 0x07, 0x00, 0x01, 0x09, 0x02, 0xFF, 0x01, 0x90, 0x04, 0x00, 0x01, 0x03, + 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xF3, 0x07, 0x00, 0x01, 0x5F, 0x01, 0xFF, + 0x01, 0xF9, 0x06, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0xFC, 0x07, 0x00, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xC0, 0x05, 0x00, 0x01, 0x06, 0x03, 0xFF, + 0x01, 0x60, 0x05, 0x00, 0x01, 0x04, 0x02, 0xFF, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xC0, 0x05, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xFC, 0x05, 0x00, 0x01, 0x02, 0x01, 0xEF, + 0x01, 0xF7, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x0F, + 0x01, 0xFF, 0x01, 0xF6, 0x05, 0x00, 0x01, 0x1D, 0x01, 0xFF, 0x01, 0xA0, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xF8, 0x05, 0x00, 0x01, 0x3F, 0x01, 0xFF, + 0x01, 0xF2, 0x05, 0x00, 0x01, 0xCF, 0x01, 0xFC, 0x01, 0x00, 0x01, 0x09, + 0x01, 0xFF, 0x01, 0xFB, 0x05, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xE0, + 0x04, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xD1, 0x01, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xFE, 0x05, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xC0, + 0x04, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x20, 0x01, 0x00, 0x01, 0x03, + 0x02, 0xFF, 0x05, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0xB0, 0x03, 0x00, + 0x01, 0x05, 0x01, 0xFF, 0x01, 0xF4, 0x02, 0x00, 0x01, 0x02, 0x02, 0xFF, + 0x01, 0x10, 0x04, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xA0, 0x03, 0x00, + 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x60, 0x02, 0x00, 0x01, 0x01, 0x02, 0xFF, + 0x01, 0x30, 0x04, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xA0, 0x02, 0x00, + 0x01, 0x01, 0x01, 0xEF, 0x01, 0xF8, 0x03, 0x00, 0x01, 0x02, 0x02, 0xFF, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0xB0, 0x02, 0x00, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xB0, 0x03, 0x00, 0x01, 0x03, 0x02, 0xFF, + 0x01, 0x10, 0x04, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xC0, 0x02, 0x00, + 0x01, 0xBF, 0x01, 0xFD, 0x04, 0x00, 0x01, 0x04, 0x02, 0xFF, 0x05, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xE0, 0x01, 0x00, 0x01, 0x08, 0x01, 0xFF, + 0x01, 0xE1, 0x04, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFE, 0x05, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x6F, 0x01, 0xFF, + 0x01, 0x30, 0x04, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xFA, 0x05, 0x00, + 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF6, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xF5, + 0x05, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF7, 0x05, 0x00, 0x01, 0x09, + 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0x70, 0x05, 0x00, + 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xF2, 0x05, 0x00, 0x01, 0x03, 0x02, 0xFF, + 0x01, 0xEF, 0x01, 0xFA, 0x06, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0xB0, + 0x06, 0x00, 0x01, 0xCF, 0x02, 0xFF, 0x01, 0xC0, 0x05, 0x00, 0x01, 0x06, + 0x02, 0xFF, 0x01, 0x40, 0x06, 0x00, 0x01, 0x2F, 0x02, 0xFF, 0x01, 0x20, + 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xFB, 0x07, 0x00, 0x01, 0x0B, + 0x02, 0xFF, 0x01, 0xD2, 0x04, 0x00, 0x01, 0x06, 0x02, 0xFF, 0x01, 0xE1, + 0x07, 0x00, 0x01, 0x5F, 0x03, 0xFF, 0x01, 0x93, 0x02, 0x00, 0x01, 0x05, + 0x01, 0xCF, 0x02, 0xFF, 0x01, 0x30, 0x06, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xFB, 0x03, 0xFF, 0x01, 0xFD, 0x01, 0xDE, 0x03, 0xFF, 0x01, 0xE3, + 0x07, 0x00, 0x01, 0x1E, 0x01, 0xFF, 0x01, 0x80, 0x01, 0x4D, 0x06, 0xFF, + 0x01, 0xFA, 0x01, 0x10, 0x07, 0x00, 0x01, 0xBF, 0x01, 0xFB, 0x02, 0x00, + 0x01, 0x5C, 0x04, 0xFF, 0x01, 0xE9, 0x01, 0x30, 0x08, 0x00, 0x01, 0x1C, + 0x01, 0xD0, 0x03, 0x00, 0x01, 0x04, 0x01, 0x67, 0x01, 0x86, 0x01, 0x53, + 0x0B, 0x00, 0x01, 0x10, 0xA8, 0x00, /* 10 SML_O_STROKE */ - 0xff, 0x00, 0x15, 0x00, 0x01, 0x02, 0x01, 0x20, 0x0c, 0x00, 0x01, 0x02, - 0x01, 0x32, 0x01, 0x10, 0x02, 0x00, 0x01, 0x1d, 0x01, 0xe3, 0x0a, 0x00, - 0x01, 0x01, 0x01, 0x7c, 0x02, 0xff, 0x01, 0xfd, 0x01, 0x82, 0x01, 0x00, - 0x01, 0xcf, 0x01, 0xf7, 0x0a, 0x00, 0x01, 0x6e, 0x05, 0xff, 0x01, 0x89, - 0x01, 0xff, 0x01, 0xa0, 0x09, 0x00, 0x01, 0x08, 0x07, 0xff, 0x01, 0xfc, - 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x50, 0x01, 0x00, - 0x01, 0x3a, 0x02, 0xff, 0x01, 0xf1, 0x09, 0x00, 0x01, 0x01, 0x02, 0xff, - 0x01, 0x90, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0xf5, 0x09, 0x00, - 0x01, 0x08, 0x01, 0xff, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x01, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf3, - 0x03, 0x00, 0x01, 0x0b, 0x03, 0xff, 0x01, 0x30, 0x08, 0x00, 0x01, 0x3f, - 0x01, 0xff, 0x01, 0xd0, 0x03, 0x00, 0x01, 0x9f, 0x01, 0xfa, 0x01, 0x8f, - 0x01, 0xff, 0x01, 0x80, 0x08, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x80, - 0x02, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xc0, 0x01, 0x3f, 0x01, 0xff, - 0x01, 0xb0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x50, 0x02, 0x00, - 0x01, 0x3f, 0x01, 0xfe, 0x01, 0x10, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xe0, - 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x40, 0x01, 0x00, 0x01, 0x02, - 0x01, 0xef, 0x01, 0xf3, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, - 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0x0d, - 0x01, 0xff, 0x01, 0x50, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf0, - 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0xbf, - 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, - 0x01, 0x9f, 0x01, 0xff, 0x01, 0x40, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, - 0x02, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x7f, - 0x01, 0xff, 0x01, 0x60, 0x01, 0x5f, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x3f, - 0x01, 0xff, 0x01, 0xc0, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa3, - 0x01, 0xff, 0x01, 0xe2, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x90, - 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xfe, 0x01, 0xff, 0x01, 0x40, - 0x03, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0a, - 0x02, 0xff, 0x01, 0xf6, 0x03, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfe, - 0x09, 0x00, 0x01, 0x02, 0x02, 0xff, 0x01, 0xb0, 0x03, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0xf8, 0x0a, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xf7, - 0x02, 0x00, 0x01, 0x05, 0x01, 0xef, 0x01, 0xff, 0x01, 0xd0, 0x09, 0x00, - 0x01, 0x04, 0x03, 0xff, 0x01, 0xfc, 0x01, 0xab, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xfe, 0x01, 0x20, 0x09, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xaf, - 0x05, 0xff, 0x01, 0xd2, 0x09, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xf5, - 0x01, 0x04, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xd6, 0x0a, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0x70, 0x01, 0x00, 0x01, 0x01, 0x01, 0x46, 0x01, 0x76, - 0x01, 0x52, 0x0c, 0x00, 0x01, 0x28, 0xa9, 0x00, + 0xFF, 0x00, 0x15, 0x00, 0x01, 0x02, 0x01, 0x20, 0x0C, 0x00, 0x01, 0x02, + 0x01, 0x32, 0x01, 0x10, 0x02, 0x00, 0x01, 0x1D, 0x01, 0xE3, 0x0A, 0x00, + 0x01, 0x01, 0x01, 0x7C, 0x02, 0xFF, 0x01, 0xFD, 0x01, 0x82, 0x01, 0x00, + 0x01, 0xCF, 0x01, 0xF7, 0x0A, 0x00, 0x01, 0x6E, 0x05, 0xFF, 0x01, 0x89, + 0x01, 0xFF, 0x01, 0xA0, 0x09, 0x00, 0x01, 0x08, 0x07, 0xFF, 0x01, 0xFC, + 0x0A, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x50, 0x01, 0x00, + 0x01, 0x3A, 0x02, 0xFF, 0x01, 0xF1, 0x09, 0x00, 0x01, 0x01, 0x02, 0xFF, + 0x01, 0x90, 0x03, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0xF5, 0x09, 0x00, + 0x01, 0x08, 0x01, 0xFF, 0x01, 0xFC, 0x03, 0x00, 0x01, 0x01, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0xFD, 0x09, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF3, + 0x03, 0x00, 0x01, 0x0B, 0x03, 0xFF, 0x01, 0x30, 0x08, 0x00, 0x01, 0x3F, + 0x01, 0xFF, 0x01, 0xD0, 0x03, 0x00, 0x01, 0x9F, 0x01, 0xFA, 0x01, 0x8F, + 0x01, 0xFF, 0x01, 0x80, 0x08, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x80, + 0x02, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xC0, 0x01, 0x3F, 0x01, 0xFF, + 0x01, 0xB0, 0x08, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x50, 0x02, 0x00, + 0x01, 0x3F, 0x01, 0xFE, 0x01, 0x10, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xE0, + 0x08, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x40, 0x01, 0x00, 0x01, 0x02, + 0x01, 0xEF, 0x01, 0xF3, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF0, + 0x08, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x30, 0x01, 0x00, 0x01, 0x0D, + 0x01, 0xFF, 0x01, 0x50, 0x01, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF0, + 0x08, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x30, 0x01, 0x00, 0x01, 0xBF, + 0x01, 0xF8, 0x02, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF0, 0x08, 0x00, + 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x40, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xB0, + 0x02, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xE0, 0x08, 0x00, 0x01, 0x7F, + 0x01, 0xFF, 0x01, 0x60, 0x01, 0x5F, 0x01, 0xFD, 0x03, 0x00, 0x01, 0x3F, + 0x01, 0xFF, 0x01, 0xC0, 0x08, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xA3, + 0x01, 0xFF, 0x01, 0xE2, 0x03, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x90, + 0x08, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0xFF, 0x01, 0x40, + 0x03, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0A, + 0x02, 0xFF, 0x01, 0xF6, 0x03, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xFE, + 0x09, 0x00, 0x01, 0x02, 0x02, 0xFF, 0x01, 0xB0, 0x03, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0xF8, 0x0A, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0xF7, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xD0, 0x09, 0x00, + 0x01, 0x04, 0x03, 0xFF, 0x01, 0xFC, 0x01, 0xAB, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xFE, 0x01, 0x20, 0x09, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xAF, + 0x05, 0xFF, 0x01, 0xD2, 0x09, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x01, 0xF5, + 0x01, 0x04, 0x01, 0xBF, 0x03, 0xFF, 0x01, 0xD6, 0x0A, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0x70, 0x01, 0x00, 0x01, 0x01, 0x01, 0x46, 0x01, 0x76, + 0x01, 0x52, 0x0C, 0x00, 0x01, 0x28, 0xA9, 0x00, /* 11 LRG_AE */ - 0x9e, 0x00, 0x01, 0x14, 0x0b, 0x44, 0x01, 0x41, 0x06, 0x00, 0x01, 0x8f, - 0x0b, 0xff, 0x01, 0xf3, 0x06, 0x00, 0x01, 0xef, 0x0b, 0xff, 0x01, 0xf3, - 0x05, 0x00, 0x01, 0x05, 0x02, 0xff, 0x01, 0xee, 0x09, 0xff, 0x01, 0xf3, - 0x05, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf5, 0x01, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x63, 0x06, 0x33, 0x01, 0x30, 0x05, 0x00, 0x01, 0x3f, - 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, - 0x0c, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x01, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x10, - 0x01, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x07, - 0x01, 0xff, 0x01, 0xfa, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, - 0x0b, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf3, 0x02, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xd0, - 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, 0x01, 0xbf, - 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, - 0x0a, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfe, 0x03, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x40, 0x0a, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf9, - 0x03, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xed, 0x06, 0xdd, 0x01, 0x80, - 0x03, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x03, 0x00, 0x01, 0xdf, - 0x08, 0xff, 0x01, 0xa0, 0x03, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xb0, - 0x03, 0x00, 0x01, 0xdf, 0x08, 0xff, 0x01, 0xa0, 0x03, 0x00, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0x40, 0x03, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa8, - 0x06, 0x88, 0x01, 0x50, 0x02, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfe, - 0x04, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x09, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, - 0x09, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf4, 0x04, 0x33, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x40, 0x09, 0x00, 0x01, 0x7f, 0x08, 0xff, 0x01, 0x40, - 0x09, 0x00, 0x01, 0xef, 0x08, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x05, - 0x09, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf7, - 0x05, 0x33, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0xe0, 0x05, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, - 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x80, 0x05, 0x00, 0x01, 0xdf, - 0x01, 0xff, 0x01, 0x40, 0x08, 0x00, 0x02, 0xff, 0x01, 0x20, 0x05, 0x00, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0x40, 0x07, 0x00, 0x01, 0x06, 0x01, 0xff, - 0x01, 0xfb, 0x06, 0x00, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa8, 0x06, 0x88, - 0x01, 0x85, 0x01, 0x0d, 0x01, 0xff, 0x01, 0xf4, 0x06, 0x00, 0x01, 0xdf, - 0x08, 0xff, 0x01, 0xf9, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xe0, 0x06, 0x00, - 0x01, 0xdf, 0x08, 0xff, 0x01, 0xf9, 0x01, 0x8d, 0x01, 0xdd, 0x01, 0x60, - 0x06, 0x00, 0x01, 0xbd, 0x08, 0xdd, 0x01, 0xd8, 0xbe, 0x00, + 0x9E, 0x00, 0x01, 0x14, 0x0B, 0x44, 0x01, 0x41, 0x06, 0x00, 0x01, 0x8F, + 0x0B, 0xFF, 0x01, 0xF3, 0x06, 0x00, 0x01, 0xEF, 0x0B, 0xFF, 0x01, 0xF3, + 0x05, 0x00, 0x01, 0x05, 0x02, 0xFF, 0x01, 0xEE, 0x09, 0xFF, 0x01, 0xF3, + 0x05, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xF5, 0x01, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x63, 0x06, 0x33, 0x01, 0x30, 0x05, 0x00, 0x01, 0x3F, + 0x01, 0xFF, 0x01, 0xE0, 0x01, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, + 0x0C, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x80, 0x01, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x40, 0x0B, 0x00, 0x01, 0x01, 0x02, 0xFF, 0x01, 0x10, + 0x01, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, 0x0B, 0x00, 0x01, 0x07, + 0x01, 0xFF, 0x01, 0xFA, 0x02, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, + 0x0B, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xF3, 0x02, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x40, 0x0B, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xD0, + 0x02, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, 0x0B, 0x00, 0x01, 0xBF, + 0x01, 0xFF, 0x01, 0x60, 0x02, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, + 0x0A, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xFE, 0x03, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x40, 0x0A, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xF9, + 0x03, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xED, 0x06, 0xDD, 0x01, 0x80, + 0x03, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, 0x03, 0x00, 0x01, 0xDF, + 0x08, 0xFF, 0x01, 0xA0, 0x03, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xB0, + 0x03, 0x00, 0x01, 0xDF, 0x08, 0xFF, 0x01, 0xA0, 0x03, 0x00, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0x40, 0x03, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xA8, + 0x06, 0x88, 0x01, 0x50, 0x02, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFE, + 0x04, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, 0x09, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF7, 0x04, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, + 0x09, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xF4, 0x04, 0x33, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x40, 0x09, 0x00, 0x01, 0x7F, 0x08, 0xFF, 0x01, 0x40, + 0x09, 0x00, 0x01, 0xEF, 0x08, 0xFF, 0x01, 0x40, 0x08, 0x00, 0x01, 0x05, + 0x09, 0xFF, 0x01, 0x40, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xF7, + 0x05, 0x33, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, 0x08, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0xE0, 0x05, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, + 0x08, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x80, 0x05, 0x00, 0x01, 0xDF, + 0x01, 0xFF, 0x01, 0x40, 0x08, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x05, 0x00, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x40, 0x07, 0x00, 0x01, 0x06, 0x01, 0xFF, + 0x01, 0xFB, 0x06, 0x00, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xA8, 0x06, 0x88, + 0x01, 0x85, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xF4, 0x06, 0x00, 0x01, 0xDF, + 0x08, 0xFF, 0x01, 0xF9, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xE0, 0x06, 0x00, + 0x01, 0xDF, 0x08, 0xFF, 0x01, 0xF9, 0x01, 0x8D, 0x01, 0xDD, 0x01, 0x60, + 0x06, 0x00, 0x01, 0xBD, 0x08, 0xDD, 0x01, 0xD8, 0xBE, 0x00, /* 12 SML_AE */ - 0xff, 0x00, 0x22, 0x00, 0x01, 0x01, 0x01, 0x34, 0x01, 0x31, 0x06, 0x00, - 0x01, 0x12, 0x01, 0x42, 0x01, 0x10, 0x05, 0x00, 0x01, 0x02, 0x01, 0x7b, - 0x01, 0xef, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x60, 0x02, 0x00, 0x01, 0x03, - 0x01, 0x9e, 0x02, 0xff, 0x01, 0xfd, 0x01, 0x81, 0x04, 0x00, 0x01, 0xbf, - 0x05, 0xff, 0x01, 0xfe, 0x01, 0x40, 0x01, 0x01, 0x01, 0x9f, 0x05, 0xff, - 0x01, 0x60, 0x03, 0x00, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xee, 0x03, 0xff, - 0x01, 0xf5, 0x01, 0x1d, 0x03, 0xff, 0x01, 0xef, 0x02, 0xff, 0x01, 0xf8, - 0x03, 0x00, 0x01, 0xdf, 0x01, 0xb6, 0x01, 0x30, 0x01, 0x00, 0x01, 0x01, - 0x01, 0x5d, 0x02, 0xff, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xe7, 0x01, 0x20, - 0x01, 0x00, 0x01, 0x29, 0x02, 0xff, 0x01, 0x50, 0x02, 0x00, 0x01, 0x71, - 0x05, 0x00, 0x01, 0xaf, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x10, 0x03, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x0d, 0x02, 0xff, - 0x01, 0xd0, 0x04, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, 0x08, 0x00, - 0x01, 0x06, 0x02, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0xef, 0x01, 0xfd, - 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x06, 0x00, 0x01, 0x9f, - 0x01, 0xff, 0x04, 0x00, 0x01, 0x02, 0x01, 0x45, 0x02, 0x66, 0x01, 0x67, - 0x01, 0xff, 0x01, 0xf9, 0x06, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x03, 0x00, - 0x01, 0x4a, 0x06, 0xff, 0x01, 0xfb, 0x03, 0x66, 0x01, 0x67, 0x02, 0x77, - 0x01, 0xaf, 0x01, 0xff, 0x02, 0x00, 0x01, 0x1b, 0x10, 0xff, 0x01, 0x00, - 0x01, 0x01, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xca, 0x01, 0x98, 0x01, 0x88, - 0x01, 0x89, 0x0a, 0xff, 0x01, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfd, - 0x01, 0x40, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfa, 0x08, 0x77, - 0x01, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xd0, 0x04, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0x70, - 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfa, 0x09, 0x00, 0x01, 0x7f, - 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfe, - 0x09, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0f, - 0x02, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x60, - 0x04, 0x00, 0x01, 0x8f, 0x02, 0xff, 0x01, 0xe1, 0x08, 0x00, 0x01, 0x3f, - 0x01, 0xff, 0x01, 0xd0, 0x03, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfe, - 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x05, 0x00, 0x01, 0x45, 0x01, 0x00, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x20, 0x01, 0x00, 0x01, 0x01, - 0x01, 0x9f, 0x01, 0xff, 0x01, 0xa2, 0x02, 0xff, 0x01, 0xe6, 0x01, 0x10, - 0x02, 0x00, 0x01, 0x02, 0x01, 0x8d, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x05, - 0x02, 0xff, 0x01, 0xfd, 0x01, 0xab, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xfc, - 0x01, 0x00, 0x01, 0x3f, 0x02, 0xff, 0x01, 0xfd, 0x01, 0xba, 0x01, 0xbc, - 0x02, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x7f, 0x05, 0xff, 0x01, 0xa0, - 0x01, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x06, 0xff, 0x01, 0xf7, 0x02, 0x00, - 0x01, 0x03, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xb4, 0x03, 0x00, 0x01, 0x05, - 0x01, 0xbf, 0x04, 0xff, 0x01, 0xb7, 0x01, 0x10, 0x03, 0x00, 0x01, 0x01, + 0xFF, 0x00, 0x22, 0x00, 0x01, 0x01, 0x01, 0x34, 0x01, 0x31, 0x06, 0x00, + 0x01, 0x12, 0x01, 0x42, 0x01, 0x10, 0x05, 0x00, 0x01, 0x02, 0x01, 0x7B, + 0x01, 0xEF, 0x02, 0xFF, 0x01, 0xFB, 0x01, 0x60, 0x02, 0x00, 0x01, 0x03, + 0x01, 0x9E, 0x02, 0xFF, 0x01, 0xFD, 0x01, 0x81, 0x04, 0x00, 0x01, 0xBF, + 0x05, 0xFF, 0x01, 0xFE, 0x01, 0x40, 0x01, 0x01, 0x01, 0x9F, 0x05, 0xFF, + 0x01, 0x60, 0x03, 0x00, 0x01, 0xDF, 0x02, 0xFF, 0x01, 0xEE, 0x03, 0xFF, + 0x01, 0xF5, 0x01, 0x1D, 0x03, 0xFF, 0x01, 0xEF, 0x02, 0xFF, 0x01, 0xF8, + 0x03, 0x00, 0x01, 0xDF, 0x01, 0xB6, 0x01, 0x30, 0x01, 0x00, 0x01, 0x01, + 0x01, 0x5D, 0x02, 0xFF, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xE7, 0x01, 0x20, + 0x01, 0x00, 0x01, 0x29, 0x02, 0xFF, 0x01, 0x50, 0x02, 0x00, 0x01, 0x71, + 0x05, 0x00, 0x01, 0xAF, 0x02, 0xFF, 0x01, 0xFB, 0x01, 0x10, 0x03, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xE0, 0x08, 0x00, 0x01, 0x0D, 0x02, 0xFF, + 0x01, 0xD0, 0x04, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF7, 0x08, 0x00, + 0x01, 0x06, 0x02, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0xEF, 0x01, 0xFD, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFD, 0x06, 0x00, 0x01, 0x9F, + 0x01, 0xFF, 0x04, 0x00, 0x01, 0x02, 0x01, 0x45, 0x02, 0x66, 0x01, 0x67, + 0x01, 0xFF, 0x01, 0xF9, 0x06, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x03, 0x00, + 0x01, 0x4A, 0x06, 0xFF, 0x01, 0xFB, 0x03, 0x66, 0x01, 0x67, 0x02, 0x77, + 0x01, 0xAF, 0x01, 0xFF, 0x02, 0x00, 0x01, 0x1B, 0x10, 0xFF, 0x01, 0x00, + 0x01, 0x01, 0x01, 0xDF, 0x02, 0xFF, 0x01, 0xCA, 0x01, 0x98, 0x01, 0x88, + 0x01, 0x89, 0x0A, 0xFF, 0x01, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xFD, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xFA, 0x08, 0x77, + 0x01, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xD0, 0x04, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x09, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x01, 0x70, + 0x04, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xFA, 0x09, 0x00, 0x01, 0x7F, + 0x01, 0xFF, 0x01, 0x30, 0x04, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xFE, + 0x09, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0F, + 0x02, 0xFF, 0x01, 0x50, 0x08, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x60, + 0x04, 0x00, 0x01, 0x8F, 0x02, 0xFF, 0x01, 0xE1, 0x08, 0x00, 0x01, 0x3F, + 0x01, 0xFF, 0x01, 0xD0, 0x03, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFE, + 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x10, 0x05, 0x00, 0x01, 0x45, 0x01, 0x00, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x20, 0x01, 0x00, 0x01, 0x01, + 0x01, 0x9F, 0x01, 0xFF, 0x01, 0xA2, 0x02, 0xFF, 0x01, 0xE6, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x02, 0x01, 0x8D, 0x01, 0xF8, 0x01, 0x00, 0x01, 0x05, + 0x02, 0xFF, 0x01, 0xFD, 0x01, 0xAB, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0xFC, + 0x01, 0x00, 0x01, 0x3F, 0x02, 0xFF, 0x01, 0xFD, 0x01, 0xBA, 0x01, 0xBC, + 0x02, 0xFF, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x7F, 0x05, 0xFF, 0x01, 0xA0, + 0x01, 0x00, 0x01, 0x02, 0x01, 0xCF, 0x06, 0xFF, 0x01, 0xF7, 0x02, 0x00, + 0x01, 0x03, 0x01, 0xBF, 0x03, 0xFF, 0x01, 0xB4, 0x03, 0x00, 0x01, 0x05, + 0x01, 0xBF, 0x04, 0xFF, 0x01, 0xB7, 0x01, 0x10, 0x03, 0x00, 0x01, 0x01, 0x01, 0x46, 0x01, 0x76, 0x01, 0x41, 0x06, 0x00, 0x01, 0x35, 0x01, 0x67, - 0x01, 0x64, 0x01, 0x20, 0xad, 0x00, + 0x01, 0x64, 0x01, 0x20, 0xAD, 0x00, /* 13 LRG_ETH */ - 0x9a, 0x00, 0x01, 0x34, 0x03, 0x44, 0x01, 0x43, 0x01, 0x21, 0x0d, 0x00, - 0x01, 0xbf, 0x05, 0xff, 0x01, 0xfe, 0x01, 0xb8, 0x01, 0x40, 0x0a, 0x00, - 0x01, 0xbf, 0x07, 0xff, 0x01, 0xfe, 0x01, 0x81, 0x09, 0x00, 0x01, 0xbf, - 0x08, 0xff, 0x01, 0xfe, 0x01, 0x60, 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x61, 0x02, 0x11, 0x01, 0x23, 0x01, 0x58, 0x01, 0xcf, 0x02, 0xff, - 0x01, 0xf9, 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x04, 0x00, - 0x01, 0x02, 0x01, 0x9f, 0x02, 0xff, 0x01, 0x80, 0x07, 0x00, 0x01, 0xbf, - 0x01, 0xff, 0x01, 0x50, 0x05, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xf4, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfd, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x50, 0x06, 0x00, 0x01, 0x06, 0x02, 0xff, 0x01, 0x50, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, - 0x01, 0x7f, 0x01, 0xff, 0x01, 0xf0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x50, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xf3, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0f, 0x01, 0xff, - 0x01, 0xf5, 0x04, 0x00, 0x01, 0x23, 0x01, 0x33, 0x01, 0xcf, 0x01, 0xff, - 0x01, 0x73, 0x02, 0x33, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0xf6, 0x04, 0x00, 0x01, 0xcf, 0x06, 0xff, 0x01, 0xf2, 0x04, 0x00, - 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xcf, 0x06, 0xff, - 0x01, 0xf2, 0x04, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf9, 0x04, 0x00, - 0x01, 0x9b, 0x01, 0xbb, 0x01, 0xef, 0x01, 0xff, 0x01, 0xdb, 0x02, 0xbb, - 0x01, 0xb1, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0xf7, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, - 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf6, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x50, 0x07, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf4, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, - 0x01, 0xf1, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, - 0x01, 0xaf, 0x01, 0xff, 0x01, 0xd0, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x50, 0x06, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x80, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, 0x01, 0x0b, 0x02, 0xff, - 0x01, 0x20, 0x06, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x06, 0x00, - 0x01, 0x8f, 0x01, 0xff, 0x01, 0xf9, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, - 0x01, 0x50, 0x05, 0x00, 0x01, 0x0a, 0x02, 0xff, 0x01, 0xe1, 0x07, 0x00, - 0x01, 0xbf, 0x01, 0xff, 0x01, 0x50, 0x04, 0x00, 0x01, 0x29, 0x03, 0xff, - 0x01, 0x30, 0x07, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xa7, 0x01, 0x77, - 0x01, 0x78, 0x01, 0x9a, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xe3, 0x08, 0x00, - 0x01, 0xbf, 0x08, 0xff, 0x01, 0xf9, 0x01, 0x10, 0x08, 0x00, 0x01, 0xbf, - 0x07, 0xff, 0x01, 0xd8, 0x01, 0x10, 0x09, 0x00, 0x01, 0xad, 0x03, 0xdd, - 0x01, 0xdc, 0x01, 0xcb, 0x01, 0xa7, 0x01, 0x41, 0xc7, 0x00, + 0x9A, 0x00, 0x01, 0x34, 0x03, 0x44, 0x01, 0x43, 0x01, 0x21, 0x0D, 0x00, + 0x01, 0xBF, 0x05, 0xFF, 0x01, 0xFE, 0x01, 0xB8, 0x01, 0x40, 0x0A, 0x00, + 0x01, 0xBF, 0x07, 0xFF, 0x01, 0xFE, 0x01, 0x81, 0x09, 0x00, 0x01, 0xBF, + 0x08, 0xFF, 0x01, 0xFE, 0x01, 0x60, 0x08, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x61, 0x02, 0x11, 0x01, 0x23, 0x01, 0x58, 0x01, 0xCF, 0x02, 0xFF, + 0x01, 0xF9, 0x08, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x04, 0x00, + 0x01, 0x02, 0x01, 0x9F, 0x02, 0xFF, 0x01, 0x80, 0x07, 0x00, 0x01, 0xBF, + 0x01, 0xFF, 0x01, 0x50, 0x05, 0x00, 0x01, 0x04, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xF4, 0x07, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x06, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFD, 0x07, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x50, 0x06, 0x00, 0x01, 0x06, 0x02, 0xFF, 0x01, 0x50, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB0, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, + 0x01, 0x7F, 0x01, 0xFF, 0x01, 0xF0, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0xF3, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0F, 0x01, 0xFF, + 0x01, 0xF5, 0x04, 0x00, 0x01, 0x23, 0x01, 0x33, 0x01, 0xCF, 0x01, 0xFF, + 0x01, 0x73, 0x02, 0x33, 0x01, 0x30, 0x04, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0xF6, 0x04, 0x00, 0x01, 0xCF, 0x06, 0xFF, 0x01, 0xF2, 0x04, 0x00, + 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xF7, 0x04, 0x00, 0x01, 0xCF, 0x06, 0xFF, + 0x01, 0xF2, 0x04, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xF9, 0x04, 0x00, + 0x01, 0x9B, 0x01, 0xBB, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xDB, 0x02, 0xBB, + 0x01, 0xB1, 0x04, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0xF7, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, + 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF6, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xF4, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, 0x01, 0x5F, 0x01, 0xFF, + 0x01, 0xF1, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, + 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xD0, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x50, 0x06, 0x00, 0x01, 0x01, 0x02, 0xFF, 0x01, 0x80, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x06, 0x00, 0x01, 0x0B, 0x02, 0xFF, + 0x01, 0x20, 0x06, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x06, 0x00, + 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xF9, 0x07, 0x00, 0x01, 0xBF, 0x01, 0xFF, + 0x01, 0x50, 0x05, 0x00, 0x01, 0x0A, 0x02, 0xFF, 0x01, 0xE1, 0x07, 0x00, + 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x50, 0x04, 0x00, 0x01, 0x29, 0x03, 0xFF, + 0x01, 0x30, 0x07, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0xA7, 0x01, 0x77, + 0x01, 0x78, 0x01, 0x9A, 0x01, 0xBF, 0x03, 0xFF, 0x01, 0xE3, 0x08, 0x00, + 0x01, 0xBF, 0x08, 0xFF, 0x01, 0xF9, 0x01, 0x10, 0x08, 0x00, 0x01, 0xBF, + 0x07, 0xFF, 0x01, 0xD8, 0x01, 0x10, 0x09, 0x00, 0x01, 0xAD, 0x03, 0xDD, + 0x01, 0xDC, 0x01, 0xCB, 0x01, 0xA7, 0x01, 0x41, 0xC7, 0x00, /* 14 SML_ETH */ - 0x88, 0x00, 0x01, 0x38, 0x01, 0x88, 0x01, 0x81, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x5a, 0x01, 0x40, 0x0c, 0x00, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x04, 0x01, 0xaf, 0x01, 0xff, - 0x01, 0xa0, 0x0c, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0xfc, 0x02, 0xff, - 0x01, 0xd8, 0x01, 0x20, 0x0c, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xfd, - 0x01, 0x82, 0x0d, 0x00, 0x01, 0x5a, 0x03, 0xff, 0x01, 0xf4, 0x0d, 0x00, - 0x01, 0x7f, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x87, 0x02, 0xff, 0x01, 0x30, - 0x0c, 0x00, 0x01, 0x6f, 0x01, 0xe9, 0x01, 0x30, 0x01, 0x00, 0x01, 0x8f, - 0x01, 0xff, 0x01, 0xe2, 0x0c, 0x00, 0x01, 0x03, 0x03, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x23, 0x01, 0x44, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x02, 0x01, 0x9e, - 0x04, 0xff, 0x01, 0xf7, 0x0c, 0x00, 0x01, 0x7f, 0x06, 0xff, 0x01, 0x30, - 0x0a, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0xfe, 0x01, 0xcb, 0x01, 0xdf, - 0x02, 0xff, 0x01, 0xd0, 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfb, - 0x01, 0x30, 0x02, 0x00, 0x01, 0x4e, 0x01, 0xff, 0x01, 0xf5, 0x09, 0x00, - 0x01, 0x02, 0x02, 0xff, 0x01, 0x70, 0x03, 0x00, 0x01, 0x05, 0x01, 0xff, - 0x01, 0xfd, 0x09, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, - 0x01, 0xef, 0x01, 0xff, 0x01, 0x20, 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, - 0x01, 0xf1, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa0, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0xb0, 0x08, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, - 0x01, 0x1f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, - 0x01, 0x40, 0x05, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, - 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x05, 0x00, 0x01, 0x0e, 0x01, 0xff, - 0x01, 0xf0, 0x08, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x30, 0x05, 0x00, - 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xff, - 0x01, 0x40, 0x05, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, - 0x01, 0x8f, 0x01, 0xff, 0x01, 0x70, 0x05, 0x00, 0x01, 0x2f, 0x01, 0xff, - 0x01, 0xd0, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa0, 0x05, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0x90, 0x08, 0x00, 0x01, 0x0f, 0x01, 0xff, - 0x01, 0xf1, 0x05, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, - 0x01, 0x09, 0x01, 0xff, 0x01, 0xf9, 0x04, 0x00, 0x01, 0x05, 0x01, 0xff, - 0x01, 0xfe, 0x09, 0x00, 0x01, 0x02, 0x02, 0xff, 0x01, 0x60, 0x03, 0x00, - 0x01, 0x3e, 0x01, 0xff, 0x01, 0xf6, 0x0a, 0x00, 0x01, 0x7f, 0x01, 0xff, - 0x01, 0xf9, 0x01, 0x20, 0x01, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0xb0, - 0x0a, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0xfd, 0x01, 0xbd, 0x02, 0xff, - 0x01, 0xfd, 0x01, 0x10, 0x0b, 0x00, 0x01, 0x7f, 0x05, 0xff, 0x01, 0xb0, - 0x0c, 0x00, 0x01, 0x02, 0x01, 0xae, 0x03, 0xff, 0x01, 0xb4, 0x0f, 0x00, - 0x01, 0x35, 0x01, 0x65, 0x01, 0x40, 0xb6, 0x00, + 0x88, 0x00, 0x01, 0x38, 0x01, 0x88, 0x01, 0x81, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0xFC, 0x03, 0x00, 0x01, 0x5A, 0x01, 0x40, 0x0C, 0x00, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xB0, 0x01, 0x04, 0x01, 0xAF, 0x01, 0xFF, + 0x01, 0xA0, 0x0C, 0x00, 0x01, 0x1E, 0x01, 0xFF, 0x01, 0xFC, 0x02, 0xFF, + 0x01, 0xD8, 0x01, 0x20, 0x0C, 0x00, 0x01, 0x07, 0x02, 0xFF, 0x01, 0xFD, + 0x01, 0x82, 0x0D, 0x00, 0x01, 0x5A, 0x03, 0xFF, 0x01, 0xF4, 0x0D, 0x00, + 0x01, 0x7F, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x87, 0x02, 0xFF, 0x01, 0x30, + 0x0C, 0x00, 0x01, 0x6F, 0x01, 0xE9, 0x01, 0x30, 0x01, 0x00, 0x01, 0x8F, + 0x01, 0xFF, 0x01, 0xE2, 0x0C, 0x00, 0x01, 0x03, 0x03, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x10, 0x0E, 0x00, 0x01, 0x23, 0x01, 0x44, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xB0, 0x0C, 0x00, 0x01, 0x02, 0x01, 0x9E, + 0x04, 0xFF, 0x01, 0xF7, 0x0C, 0x00, 0x01, 0x7F, 0x06, 0xFF, 0x01, 0x30, + 0x0A, 0x00, 0x01, 0x09, 0x02, 0xFF, 0x01, 0xFE, 0x01, 0xCB, 0x01, 0xDF, + 0x02, 0xFF, 0x01, 0xD0, 0x0A, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xFB, + 0x01, 0x30, 0x02, 0x00, 0x01, 0x4E, 0x01, 0xFF, 0x01, 0xF5, 0x09, 0x00, + 0x01, 0x02, 0x02, 0xFF, 0x01, 0x70, 0x03, 0x00, 0x01, 0x05, 0x01, 0xFF, + 0x01, 0xFD, 0x09, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xFA, 0x05, 0x00, + 0x01, 0xEF, 0x01, 0xFF, 0x01, 0x20, 0x08, 0x00, 0x01, 0x0F, 0x01, 0xFF, + 0x01, 0xF1, 0x05, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xA0, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0xB0, 0x08, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0x70, 0x05, 0x00, + 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xD0, 0x08, 0x00, 0x01, 0x9F, 0x01, 0xFF, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF0, 0x08, 0x00, + 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x30, 0x05, 0x00, 0x01, 0x0E, 0x01, 0xFF, + 0x01, 0xF0, 0x08, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF0, 0x08, 0x00, 0x01, 0x9F, 0x01, 0xFF, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xE0, 0x08, 0x00, + 0x01, 0x8F, 0x01, 0xFF, 0x01, 0x70, 0x05, 0x00, 0x01, 0x2F, 0x01, 0xFF, + 0x01, 0xD0, 0x08, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xA0, 0x05, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x90, 0x08, 0x00, 0x01, 0x0F, 0x01, 0xFF, + 0x01, 0xF1, 0x05, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x08, 0x00, + 0x01, 0x09, 0x01, 0xFF, 0x01, 0xF9, 0x04, 0x00, 0x01, 0x05, 0x01, 0xFF, + 0x01, 0xFE, 0x09, 0x00, 0x01, 0x02, 0x02, 0xFF, 0x01, 0x60, 0x03, 0x00, + 0x01, 0x3E, 0x01, 0xFF, 0x01, 0xF6, 0x0A, 0x00, 0x01, 0x7F, 0x01, 0xFF, + 0x01, 0xF9, 0x01, 0x20, 0x01, 0x00, 0x01, 0x07, 0x02, 0xFF, 0x01, 0xB0, + 0x0A, 0x00, 0x01, 0x09, 0x02, 0xFF, 0x01, 0xFD, 0x01, 0xBD, 0x02, 0xFF, + 0x01, 0xFD, 0x01, 0x10, 0x0B, 0x00, 0x01, 0x7F, 0x05, 0xFF, 0x01, 0xB0, + 0x0C, 0x00, 0x01, 0x02, 0x01, 0xAE, 0x03, 0xFF, 0x01, 0xB4, 0x0F, 0x00, + 0x01, 0x35, 0x01, 0x65, 0x01, 0x40, 0xB6, 0x00, /* 15 LRG_THORN */ - 0x9a, 0x00, 0x02, 0x55, 0x11, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x05, 0xff, 0x01, 0xed, 0x01, 0xa7, 0x01, 0x10, 0x0b, 0x00, 0x07, 0xff, - 0x01, 0xfa, 0x01, 0x10, 0x0a, 0x00, 0x08, 0xff, 0x01, 0xe2, 0x0a, 0x00, - 0x02, 0xff, 0x01, 0x65, 0x01, 0x55, 0x01, 0x56, 0x01, 0x7a, 0x02, 0xff, - 0x01, 0xfe, 0x01, 0x10, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, - 0x01, 0x1b, 0x02, 0xff, 0x01, 0x80, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, - 0x04, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xf0, 0x09, 0x00, 0x02, 0xff, - 0x01, 0x20, 0x04, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, - 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0xf7, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0d, - 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, 0x04, 0x00, - 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf6, 0x09, 0x00, 0x02, 0xff, 0x01, 0x20, - 0x04, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x09, 0x00, 0x02, 0xff, - 0x01, 0x20, 0x04, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0xf0, 0x09, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x1b, 0x02, 0xff, 0x01, 0x80, - 0x09, 0x00, 0x02, 0xff, 0x01, 0x65, 0x02, 0x55, 0x01, 0x7a, 0x02, 0xff, - 0x01, 0xfe, 0x01, 0x10, 0x09, 0x00, 0x08, 0xff, 0x01, 0xe2, 0x0a, 0x00, - 0x07, 0xff, 0x01, 0xfa, 0x01, 0x10, 0x0a, 0x00, 0x05, 0xff, 0x01, 0xed, - 0x01, 0xa7, 0x01, 0x10, 0x0b, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, - 0x02, 0xff, 0x01, 0x20, 0x10, 0x00, 0x02, 0xcc, 0x01, 0x10, 0xcc, 0x00, + 0x9A, 0x00, 0x02, 0x55, 0x11, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x05, 0xFF, 0x01, 0xED, 0x01, 0xA7, 0x01, 0x10, 0x0B, 0x00, 0x07, 0xFF, + 0x01, 0xFA, 0x01, 0x10, 0x0A, 0x00, 0x08, 0xFF, 0x01, 0xE2, 0x0A, 0x00, + 0x02, 0xFF, 0x01, 0x65, 0x01, 0x55, 0x01, 0x56, 0x01, 0x7A, 0x02, 0xFF, + 0x01, 0xFE, 0x01, 0x10, 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x1B, 0x02, 0xFF, 0x01, 0x80, 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, + 0x04, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0xF0, 0x09, 0x00, 0x02, 0xFF, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xF3, 0x09, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF6, + 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0xF7, 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0D, + 0x01, 0xFF, 0x01, 0xF7, 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x04, 0x00, + 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF6, 0x09, 0x00, 0x02, 0xFF, 0x01, 0x20, + 0x04, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xF3, 0x09, 0x00, 0x02, 0xFF, + 0x01, 0x20, 0x04, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0xF0, 0x09, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x03, 0x00, 0x01, 0x1B, 0x02, 0xFF, 0x01, 0x80, + 0x09, 0x00, 0x02, 0xFF, 0x01, 0x65, 0x02, 0x55, 0x01, 0x7A, 0x02, 0xFF, + 0x01, 0xFE, 0x01, 0x10, 0x09, 0x00, 0x08, 0xFF, 0x01, 0xE2, 0x0A, 0x00, + 0x07, 0xFF, 0x01, 0xFA, 0x01, 0x10, 0x0A, 0x00, 0x05, 0xFF, 0x01, 0xED, + 0x01, 0xA7, 0x01, 0x10, 0x0B, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, + 0x02, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x02, 0xCC, 0x01, 0x10, 0xCC, 0x00, /* 16 SML_THORN */ 0x86, 0x00, 0x01, 0x02, 0x01, 0x99, 0x01, 0x94, 0x10, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, - 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, - 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, - 0x02, 0x00, 0x01, 0x13, 0x01, 0x54, 0x01, 0x20, 0x0b, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x01, 0x00, 0x01, 0x5c, 0x02, 0xff, 0x01, 0xfd, - 0x01, 0x70, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x01, 0x0b, - 0x04, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf7, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xec, 0x01, 0xdf, 0x02, 0xff, - 0x01, 0xe1, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, - 0x01, 0xc3, 0x02, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xfc, 0x09, 0x00, - 0x01, 0x03, 0x02, 0xff, 0x01, 0xfa, 0x03, 0x00, 0x01, 0x02, 0x01, 0xef, - 0x01, 0xff, 0x01, 0x60, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0xe0, - 0x04, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x03, - 0x02, 0xff, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf3, - 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, - 0x01, 0xf7, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, 0x05, 0x00, - 0x01, 0x02, 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf9, 0x06, 0x00, 0x01, 0xff, 0x01, 0xfd, 0x08, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, 0x01, 0xfe, 0x08, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, 0x01, 0xff, - 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xef, - 0x01, 0xfe, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf9, 0x06, 0x00, - 0x01, 0xff, 0x01, 0xfd, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, - 0x05, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x03, - 0x02, 0xff, 0x05, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf8, 0x08, 0x00, - 0x01, 0x03, 0x02, 0xff, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0c, 0x01, 0xff, - 0x01, 0xf3, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0xd0, 0x04, 0x00, - 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd0, 0x08, 0x00, 0x01, 0x03, 0x02, 0xff, - 0x01, 0xfa, 0x03, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0x60, - 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, 0x01, 0xb3, - 0x02, 0x00, 0x01, 0x6e, 0x01, 0xff, 0x01, 0xfc, 0x09, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x01, 0xbf, 0x01, 0xff, 0x01, 0xec, 0x01, 0xcf, - 0x02, 0xff, 0x01, 0xe2, 0x09, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, - 0x01, 0x0b, 0x04, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf7, 0x01, 0x00, 0x01, 0x6c, 0x02, 0xff, 0x01, 0xfe, - 0x01, 0x70, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x02, 0x00, - 0x01, 0x23, 0x01, 0x54, 0x01, 0x20, 0x0b, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xff, - 0x01, 0xf7, 0x10, 0x00, 0x01, 0x01, 0x01, 0x66, 0x01, 0x63, 0x22, 0x00, + 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, + 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, + 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, + 0x02, 0x00, 0x01, 0x13, 0x01, 0x54, 0x01, 0x20, 0x0B, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x01, 0x00, 0x01, 0x5C, 0x02, 0xFF, 0x01, 0xFD, + 0x01, 0x70, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x01, 0x0B, + 0x04, 0xFF, 0x01, 0xFD, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF7, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xEC, 0x01, 0xDF, 0x02, 0xFF, + 0x01, 0xE1, 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0xFF, + 0x01, 0xC3, 0x02, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xFC, 0x09, 0x00, + 0x01, 0x03, 0x02, 0xFF, 0x01, 0xFA, 0x03, 0x00, 0x01, 0x02, 0x01, 0xEF, + 0x01, 0xFF, 0x01, 0x60, 0x08, 0x00, 0x01, 0x03, 0x02, 0xFF, 0x01, 0xE0, + 0x04, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xD0, 0x08, 0x00, 0x01, 0x03, + 0x02, 0xFF, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xF3, + 0x08, 0x00, 0x01, 0x03, 0x02, 0xFF, 0x05, 0x00, 0x01, 0x06, 0x01, 0xFF, + 0x01, 0xF7, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFC, 0x05, 0x00, + 0x01, 0x02, 0x01, 0xFF, 0x01, 0xFB, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF9, 0x06, 0x00, 0x01, 0xFF, 0x01, 0xFD, 0x08, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, 0x01, 0xEF, 0x01, 0xFE, 0x08, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, 0x01, 0xEF, 0x01, 0xFF, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF8, 0x06, 0x00, 0x01, 0xEF, + 0x01, 0xFE, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF9, 0x06, 0x00, + 0x01, 0xFF, 0x01, 0xFD, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFC, + 0x05, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xFB, 0x08, 0x00, 0x01, 0x03, + 0x02, 0xFF, 0x05, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF8, 0x08, 0x00, + 0x01, 0x03, 0x02, 0xFF, 0x01, 0x60, 0x04, 0x00, 0x01, 0x0C, 0x01, 0xFF, + 0x01, 0xF3, 0x08, 0x00, 0x01, 0x03, 0x02, 0xFF, 0x01, 0xD0, 0x04, 0x00, + 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xD0, 0x08, 0x00, 0x01, 0x03, 0x02, 0xFF, + 0x01, 0xFA, 0x03, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0x60, + 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0xFF, 0x01, 0xB3, + 0x02, 0x00, 0x01, 0x6E, 0x01, 0xFF, 0x01, 0xFC, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0xEC, 0x01, 0xCF, + 0x02, 0xFF, 0x01, 0xE2, 0x09, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, + 0x01, 0x0B, 0x04, 0xFF, 0x01, 0xFD, 0x01, 0x20, 0x09, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF7, 0x01, 0x00, 0x01, 0x6C, 0x02, 0xFF, 0x01, 0xFE, + 0x01, 0x70, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x02, 0x00, + 0x01, 0x23, 0x01, 0x54, 0x01, 0x20, 0x0B, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x03, 0x01, 0xFF, + 0x01, 0xF7, 0x10, 0x00, 0x01, 0x01, 0x01, 0x66, 0x01, 0x63, 0x22, 0x00, #endif // TOUCH_UI_UTF8_SCANDINAVIAN #if ENABLED(TOUCH_UI_UTF8_PUNCTUATION) /* 17 LEFT_DBL_QUOTE */ - 0xff, 0x00, 0x4a, 0x00, 0x01, 0x30, 0x03, 0x00, 0x01, 0x02, 0x0d, 0x00, - 0x01, 0x08, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x01, 0x01, 0xc6, 0x0d, 0x00, - 0x01, 0xaf, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x1d, 0x01, 0xf6, 0x0c, 0x00, - 0x01, 0x1c, 0x01, 0xff, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x02, 0x01, 0xef, - 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x50, - 0x01, 0x00, 0x01, 0x3e, 0x01, 0xff, 0x01, 0xe2, 0x0b, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0xf4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, - 0x01, 0x20, 0x0a, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfe, 0x01, 0x30, - 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0xd1, 0x0b, 0x00, 0x01, 0x5f, - 0x01, 0xff, 0x01, 0xd2, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xfb, - 0x0b, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x01, 0x00, - 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x0c, 0x01, 0xff, - 0x01, 0xd0, 0x02, 0x00, 0x01, 0xff, 0x01, 0xfa, 0x0c, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0xef, 0x01, 0xff, 0x01, 0x50, - 0x0c, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x1c, - 0x01, 0xff, 0x01, 0xf6, 0x0c, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xfb, - 0x02, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x90, 0x0c, 0x00, 0x01, 0x6f, - 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xfa, - 0x0c, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x01, 0x00, - 0x01, 0x8f, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0xa0, 0x01, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf6, 0x0c, 0x00, - 0x01, 0x02, 0x01, 0xef, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x5f, 0x01, 0xf6, - 0x0d, 0x00, 0x01, 0x1d, 0x01, 0xa0, 0x02, 0x00, 0x01, 0x04, 0x01, 0xe6, - 0x0d, 0x00, 0x01, 0x01, 0x01, 0x60, 0x03, 0x00, 0x01, 0x24, 0xff, 0x00, + 0xFF, 0x00, 0x4A, 0x00, 0x01, 0x30, 0x03, 0x00, 0x01, 0x02, 0x0D, 0x00, + 0x01, 0x08, 0x01, 0xA0, 0x02, 0x00, 0x01, 0x01, 0x01, 0xC6, 0x0D, 0x00, + 0x01, 0xAF, 0x01, 0xA0, 0x02, 0x00, 0x01, 0x1D, 0x01, 0xF6, 0x0C, 0x00, + 0x01, 0x1C, 0x01, 0xFF, 0x01, 0xA0, 0x01, 0x00, 0x01, 0x02, 0x01, 0xEF, + 0x01, 0xF6, 0x0B, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x50, + 0x01, 0x00, 0x01, 0x3E, 0x01, 0xFF, 0x01, 0xE2, 0x0B, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0xF4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xFD, + 0x01, 0x20, 0x0A, 0x00, 0x01, 0x04, 0x01, 0xEF, 0x01, 0xFE, 0x01, 0x30, + 0x01, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xD1, 0x0B, 0x00, 0x01, 0x5F, + 0x01, 0xFF, 0x01, 0xD2, 0x01, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xFB, + 0x0B, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x10, 0x01, 0x00, + 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xA0, 0x0B, 0x00, 0x01, 0x0C, 0x01, 0xFF, + 0x01, 0xD0, 0x02, 0x00, 0x01, 0xFF, 0x01, 0xFA, 0x0C, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF8, 0x02, 0x00, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0x50, + 0x0C, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xA0, 0x01, 0x00, 0x01, 0x1C, + 0x01, 0xFF, 0x01, 0xF6, 0x0C, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xFB, + 0x02, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x90, 0x0C, 0x00, 0x01, 0x6F, + 0x01, 0xFF, 0x01, 0xD1, 0x01, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xFA, + 0x0C, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x20, 0x01, 0x00, + 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xB0, 0x0C, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0xA0, 0x01, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF6, 0x0C, 0x00, + 0x01, 0x02, 0x01, 0xEF, 0x01, 0xA0, 0x02, 0x00, 0x01, 0x5F, 0x01, 0xF6, + 0x0D, 0x00, 0x01, 0x1D, 0x01, 0xA0, 0x02, 0x00, 0x01, 0x04, 0x01, 0xE6, + 0x0D, 0x00, 0x01, 0x01, 0x01, 0x60, 0x03, 0x00, 0x01, 0x24, 0xFF, 0x00, /* 18 RIGHT_DBL_QUOTE */ - 0xff, 0x00, 0x46, 0x00, 0x01, 0x20, 0x03, 0x00, 0x01, 0x20, 0x0d, 0x00, - 0x01, 0x01, 0x01, 0xe3, 0x03, 0x00, 0x01, 0x5d, 0x01, 0x10, 0x0c, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0x50, 0x02, 0x00, 0x01, 0x5f, 0x01, 0xe2, - 0x0c, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf6, 0x02, 0x00, 0x01, 0x5f, - 0x01, 0xfe, 0x01, 0x30, 0x0c, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x80, - 0x01, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xf5, 0x0c, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xfa, 0x01, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xff, - 0x01, 0x60, 0x0c, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf9, 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, - 0x01, 0xfc, 0x01, 0x10, 0x01, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xa0, - 0x0c, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd1, 0x01, 0x00, 0x01, 0x08, - 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf5, - 0x02, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x10, 0x0b, 0x00, 0x01, 0x2d, - 0x01, 0xff, 0x01, 0xf3, 0x01, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfe, - 0x01, 0x10, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0x40, - 0x01, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0xd2, 0x0b, 0x00, 0x01, 0x4f, - 0x01, 0xff, 0x01, 0xe3, 0x01, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfc, - 0x01, 0x10, 0x0a, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, - 0x01, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x6f, - 0x01, 0xff, 0x01, 0xc1, 0x01, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf9, - 0x0b, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x5f, - 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0x90, - 0x02, 0x00, 0x01, 0x5f, 0x01, 0xf6, 0x0c, 0x00, 0x01, 0x01, 0x01, 0xf8, - 0x03, 0x00, 0x01, 0x5f, 0x01, 0x40, 0x0c, 0x00, 0x01, 0x01, 0x01, 0x50, - 0x03, 0x00, 0x01, 0x43, 0xff, 0x00, 0x04, 0x00, + 0xFF, 0x00, 0x46, 0x00, 0x01, 0x20, 0x03, 0x00, 0x01, 0x20, 0x0D, 0x00, + 0x01, 0x01, 0x01, 0xE3, 0x03, 0x00, 0x01, 0x5D, 0x01, 0x10, 0x0C, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0x50, 0x02, 0x00, 0x01, 0x5F, 0x01, 0xE2, + 0x0C, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF6, 0x02, 0x00, 0x01, 0x5F, + 0x01, 0xFE, 0x01, 0x30, 0x0C, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x80, + 0x01, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xF5, 0x0C, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xFA, 0x01, 0x00, 0x01, 0x01, 0x01, 0xCF, 0x01, 0xFF, + 0x01, 0x60, 0x0C, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xB0, 0x01, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xF9, 0x0C, 0x00, 0x01, 0x06, 0x01, 0xFF, + 0x01, 0xFC, 0x01, 0x10, 0x01, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xA0, + 0x0C, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xD1, 0x01, 0x00, 0x01, 0x08, + 0x01, 0xFF, 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xF5, + 0x02, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x10, 0x0B, 0x00, 0x01, 0x2D, + 0x01, 0xFF, 0x01, 0xF3, 0x01, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xFE, + 0x01, 0x10, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0x40, + 0x01, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xD2, 0x0B, 0x00, 0x01, 0x4F, + 0x01, 0xFF, 0x01, 0xE3, 0x01, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFC, + 0x01, 0x10, 0x0A, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x10, + 0x01, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0xB0, 0x0B, 0x00, 0x01, 0x6F, + 0x01, 0xFF, 0x01, 0xC1, 0x01, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF9, + 0x0B, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x5F, + 0x01, 0xFF, 0x01, 0x70, 0x0B, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0x90, + 0x02, 0x00, 0x01, 0x5F, 0x01, 0xF6, 0x0C, 0x00, 0x01, 0x01, 0x01, 0xF8, + 0x03, 0x00, 0x01, 0x5F, 0x01, 0x40, 0x0C, 0x00, 0x01, 0x01, 0x01, 0x50, + 0x03, 0x00, 0x01, 0x43, 0xFF, 0x00, 0x04, 0x00, /* 19 INV_EXCLAMATION */ - 0xff, 0x00, 0x34, 0x00, 0x01, 0xad, 0x01, 0xdd, 0x01, 0x40, 0x10, 0x00, - 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, - 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, - 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, 0x01, 0x44, - 0x01, 0x10, 0x49, 0x00, 0x01, 0x02, 0x01, 0x22, 0x11, 0x00, 0x01, 0x6f, - 0x01, 0xff, 0x11, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x11, 0x00, 0x01, 0x7f, - 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x20, - 0x10, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x30, 0x10, 0x00, 0x01, 0xaf, - 0x01, 0xff, 0x01, 0x30, 0x10, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x40, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, - 0x10, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, + 0xFF, 0x00, 0x34, 0x00, 0x01, 0xAD, 0x01, 0xDD, 0x01, 0x40, 0x10, 0x00, + 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, + 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, + 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, 0x01, 0x44, + 0x01, 0x10, 0x49, 0x00, 0x01, 0x02, 0x01, 0x22, 0x11, 0x00, 0x01, 0x6F, + 0x01, 0xFF, 0x11, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x11, 0x00, 0x01, 0x7F, + 0x01, 0xFF, 0x01, 0x10, 0x10, 0x00, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x30, 0x10, 0x00, 0x01, 0xAF, + 0x01, 0xFF, 0x01, 0x30, 0x10, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x40, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, + 0x10, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0x34, 0x01, 0x44, 0x01, 0x10, 0x33, 0x00, /* 20 INV_QUESTION */ - 0xff, 0x00, 0x36, 0x00, 0x02, 0xdd, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, - 0x02, 0xff, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, 0x02, 0xff, 0x11, 0x00, - 0x02, 0x44, 0x37, 0x00, 0x01, 0xbc, 0x01, 0xcb, 0x11, 0x00, 0x01, 0xef, - 0x01, 0xfe, 0x11, 0x00, 0x01, 0xef, 0x01, 0xfe, 0x11, 0x00, 0x01, 0xef, - 0x01, 0xfe, 0x11, 0x00, 0x01, 0xff, 0x01, 0xfd, 0x10, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xfb, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xd0, 0x0f, 0x00, 0x01, 0x0a, - 0x02, 0xff, 0x01, 0x30, 0x0f, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xf4, - 0x0f, 0x00, 0x01, 0x09, 0x02, 0xff, 0x01, 0x40, 0x0f, 0x00, 0x01, 0x7f, - 0x01, 0xff, 0x01, 0xf4, 0x0f, 0x00, 0x01, 0x03, 0x02, 0xff, 0x01, 0x40, - 0x0f, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x0f, - 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x0f, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, - 0x01, 0xff, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x05, 0x01, 0xd0, 0x0a, 0x00, - 0x01, 0x08, 0x02, 0xff, 0x01, 0x70, 0x02, 0x00, 0x01, 0x05, 0x01, 0xcf, - 0x01, 0xf0, 0x0a, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfe, - 0x01, 0x98, 0x01, 0x8b, 0x02, 0xff, 0x01, 0xf0, 0x0b, 0x00, 0x01, 0x3f, - 0x06, 0xff, 0x01, 0xc0, 0x0b, 0x00, 0x01, 0x02, 0x01, 0xcf, 0x04, 0xff, - 0x01, 0xc5, 0x0d, 0x00, 0x01, 0x03, 0x01, 0x8b, 0x01, 0xcc, 0x01, 0xb9, + 0xFF, 0x00, 0x36, 0x00, 0x02, 0xDD, 0x11, 0x00, 0x02, 0xFF, 0x11, 0x00, + 0x02, 0xFF, 0x11, 0x00, 0x02, 0xFF, 0x11, 0x00, 0x02, 0xFF, 0x11, 0x00, + 0x02, 0x44, 0x37, 0x00, 0x01, 0xBC, 0x01, 0xCB, 0x11, 0x00, 0x01, 0xEF, + 0x01, 0xFE, 0x11, 0x00, 0x01, 0xEF, 0x01, 0xFE, 0x11, 0x00, 0x01, 0xEF, + 0x01, 0xFE, 0x11, 0x00, 0x01, 0xFF, 0x01, 0xFD, 0x10, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xFB, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xD0, 0x0F, 0x00, 0x01, 0x0A, + 0x02, 0xFF, 0x01, 0x30, 0x0F, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xF4, + 0x0F, 0x00, 0x01, 0x09, 0x02, 0xFF, 0x01, 0x40, 0x0F, 0x00, 0x01, 0x7F, + 0x01, 0xFF, 0x01, 0xF4, 0x0F, 0x00, 0x01, 0x03, 0x02, 0xFF, 0x01, 0x40, + 0x0F, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF8, 0x10, 0x00, 0x01, 0x0F, + 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x0F, 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0E, + 0x01, 0xFF, 0x01, 0xF8, 0x04, 0x00, 0x01, 0x05, 0x01, 0xD0, 0x0A, 0x00, + 0x01, 0x08, 0x02, 0xFF, 0x01, 0x70, 0x02, 0x00, 0x01, 0x05, 0x01, 0xCF, + 0x01, 0xF0, 0x0A, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xFE, + 0x01, 0x98, 0x01, 0x8B, 0x02, 0xFF, 0x01, 0xF0, 0x0B, 0x00, 0x01, 0x3F, + 0x06, 0xFF, 0x01, 0xC0, 0x0B, 0x00, 0x01, 0x02, 0x01, 0xCF, 0x04, 0xFF, + 0x01, 0xC5, 0x0D, 0x00, 0x01, 0x03, 0x01, 0x8B, 0x01, 0xCC, 0x01, 0xB9, 0x01, 0x62, 0x31, 0x00, #endif // TOUCH_UI_UTF8_PUNCTUATION #if ENABLED(TOUCH_UI_UTF8_CURRENCY) /* 21 CENT_SIGN */ - 0xb1, 0x00, 0x01, 0x01, 0x01, 0x32, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, - 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, - 0x11, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfc, - 0x11, 0x00, 0x01, 0x39, 0x01, 0xfd, 0x01, 0x42, 0x0e, 0x00, 0x01, 0x05, - 0x01, 0xbf, 0x03, 0xff, 0x01, 0xfb, 0x01, 0x50, 0x0b, 0x00, 0x01, 0x03, - 0x01, 0xcf, 0x05, 0xff, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x4f, 0x02, 0xff, - 0x02, 0xfe, 0x01, 0xce, 0x01, 0xff, 0x01, 0xf6, 0x0a, 0x00, 0x01, 0x02, - 0x02, 0xff, 0x01, 0xe6, 0x01, 0x05, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x38, - 0x01, 0xe6, 0x0a, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x10, - 0x01, 0x05, 0x01, 0xfc, 0x02, 0x00, 0x01, 0x02, 0x0a, 0x00, 0x01, 0x5f, - 0x01, 0xff, 0x01, 0xe1, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0d, 0x00, - 0x01, 0xcf, 0x01, 0xff, 0x01, 0x60, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfc, - 0x0d, 0x00, 0x02, 0xff, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0c, 0x00, - 0x01, 0x04, 0x01, 0xff, 0x01, 0xfb, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, - 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x05, - 0x01, 0xfc, 0x0c, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, 0x02, 0x00, - 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf6, - 0x02, 0x00, 0x01, 0x05, 0x01, 0xfc, 0x0c, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf7, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf9, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x0c, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xfc, 0x02, 0x00, 0x01, 0x05, 0x01, 0xfb, - 0x0d, 0x00, 0x02, 0xff, 0x01, 0x10, 0x01, 0x00, 0x01, 0x05, 0x01, 0xfb, - 0x0d, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0x80, 0x01, 0x00, 0x01, 0x05, - 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xf3, 0x01, 0x00, - 0x01, 0x05, 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xfe, - 0x01, 0x30, 0x01, 0x05, 0x01, 0xfb, 0x02, 0x00, 0x01, 0x33, 0x0a, 0x00, - 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xf9, 0x01, 0x35, 0x01, 0xfb, - 0x01, 0x02, 0x01, 0x6c, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x2d, 0x06, 0xff, - 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x01, 0x9f, 0x05, 0xff, 0x01, 0xf5, - 0x0c, 0x00, 0x01, 0x02, 0x01, 0x8d, 0x03, 0xff, 0x01, 0xc7, 0x01, 0x20, - 0x0e, 0x00, 0x01, 0x06, 0x01, 0xfc, 0x01, 0x20, 0x10, 0x00, 0x01, 0x05, - 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, - 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, 0x01, 0xfb, 0x11, 0x00, 0x01, 0x05, - 0x01, 0xfb, 0x57, 0x00, + 0xB1, 0x00, 0x01, 0x01, 0x01, 0x32, 0x11, 0x00, 0x01, 0x05, 0x01, 0xFB, + 0x11, 0x00, 0x01, 0x05, 0x01, 0xFB, 0x11, 0x00, 0x01, 0x05, 0x01, 0xFB, + 0x11, 0x00, 0x01, 0x05, 0x01, 0xFC, 0x11, 0x00, 0x01, 0x05, 0x01, 0xFC, + 0x11, 0x00, 0x01, 0x39, 0x01, 0xFD, 0x01, 0x42, 0x0E, 0x00, 0x01, 0x05, + 0x01, 0xBF, 0x03, 0xFF, 0x01, 0xFB, 0x01, 0x50, 0x0B, 0x00, 0x01, 0x03, + 0x01, 0xCF, 0x05, 0xFF, 0x01, 0xF6, 0x0B, 0x00, 0x01, 0x4F, 0x02, 0xFF, + 0x02, 0xFE, 0x01, 0xCE, 0x01, 0xFF, 0x01, 0xF6, 0x0A, 0x00, 0x01, 0x02, + 0x02, 0xFF, 0x01, 0xE6, 0x01, 0x05, 0x01, 0xFC, 0x01, 0x00, 0x01, 0x38, + 0x01, 0xE6, 0x0A, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x10, + 0x01, 0x05, 0x01, 0xFC, 0x02, 0x00, 0x01, 0x02, 0x0A, 0x00, 0x01, 0x5F, + 0x01, 0xFF, 0x01, 0xE1, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFC, 0x0D, 0x00, + 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x60, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFC, + 0x0D, 0x00, 0x02, 0xFF, 0x02, 0x00, 0x01, 0x05, 0x01, 0xFC, 0x0C, 0x00, + 0x01, 0x04, 0x01, 0xFF, 0x01, 0xFB, 0x02, 0x00, 0x01, 0x05, 0x01, 0xFC, + 0x0C, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x05, + 0x01, 0xFC, 0x0C, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF7, 0x02, 0x00, + 0x01, 0x05, 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xF6, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xFC, 0x0C, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF7, 0x02, 0x00, 0x01, 0x05, 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF9, 0x02, 0x00, 0x01, 0x05, 0x01, 0xFB, 0x0C, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFC, 0x02, 0x00, 0x01, 0x05, 0x01, 0xFB, + 0x0D, 0x00, 0x02, 0xFF, 0x01, 0x10, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFB, + 0x0D, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0x80, 0x01, 0x00, 0x01, 0x05, + 0x01, 0xFB, 0x0D, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xF3, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xFB, 0x0D, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xFE, + 0x01, 0x30, 0x01, 0x05, 0x01, 0xFB, 0x02, 0x00, 0x01, 0x33, 0x0A, 0x00, + 0x01, 0x01, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xF9, 0x01, 0x35, 0x01, 0xFB, + 0x01, 0x02, 0x01, 0x6C, 0x01, 0xF6, 0x0B, 0x00, 0x01, 0x2D, 0x06, 0xFF, + 0x01, 0xF6, 0x0B, 0x00, 0x01, 0x01, 0x01, 0x9F, 0x05, 0xFF, 0x01, 0xF5, + 0x0C, 0x00, 0x01, 0x02, 0x01, 0x8D, 0x03, 0xFF, 0x01, 0xC7, 0x01, 0x20, + 0x0E, 0x00, 0x01, 0x06, 0x01, 0xFC, 0x01, 0x20, 0x10, 0x00, 0x01, 0x05, + 0x01, 0xFB, 0x11, 0x00, 0x01, 0x05, 0x01, 0xFB, 0x11, 0x00, 0x01, 0x05, + 0x01, 0xFB, 0x11, 0x00, 0x01, 0x05, 0x01, 0xFB, 0x11, 0x00, 0x01, 0x05, + 0x01, 0xFB, 0x57, 0x00, /* 22 POUND_SIGN */ - 0x9e, 0x00, 0x01, 0x6b, 0x01, 0xdf, 0x01, 0xfd, 0x01, 0xc9, 0x01, 0x40, - 0x0d, 0x00, 0x01, 0x6e, 0x05, 0xff, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x07, - 0x06, 0xff, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0xfe, - 0x01, 0x85, 0x01, 0x34, 0x01, 0x7b, 0x01, 0xff, 0x01, 0x30, 0x0b, 0x00, - 0x01, 0xaf, 0x01, 0xff, 0x01, 0xc1, 0x03, 0x00, 0x01, 0x18, 0x01, 0x30, - 0x0a, 0x00, 0x01, 0x01, 0x02, 0xff, 0x01, 0x30, 0x0f, 0x00, 0x01, 0x04, - 0x01, 0xff, 0x01, 0xfd, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xfa, - 0x10, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf8, 0x10, 0x00, 0x01, 0x09, - 0x01, 0xff, 0x01, 0xf7, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x0e, 0x00, 0x01, 0x0a, - 0x07, 0xff, 0x01, 0xf4, 0x0a, 0x00, 0x01, 0x0a, 0x07, 0xff, 0x01, 0xf4, - 0x0a, 0x00, 0x01, 0x08, 0x01, 0xdd, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfe, - 0x03, 0xdd, 0x01, 0xd4, 0x0c, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, - 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf6, 0x0e, 0x00, 0x01, 0x4b, 0x01, 0xbb, 0x01, 0xbe, - 0x01, 0xff, 0x01, 0xfd, 0x05, 0xbb, 0x01, 0x70, 0x08, 0x00, 0x01, 0x6f, - 0x09, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x6f, 0x09, 0xff, 0x01, 0xa0, - 0x08, 0x00, 0x01, 0x4a, 0x09, 0xaa, 0x01, 0x60, 0xc5, 0x00, + 0x9E, 0x00, 0x01, 0x6B, 0x01, 0xDF, 0x01, 0xFD, 0x01, 0xC9, 0x01, 0x40, + 0x0D, 0x00, 0x01, 0x6E, 0x05, 0xFF, 0x01, 0x30, 0x0B, 0x00, 0x01, 0x07, + 0x06, 0xFF, 0x01, 0x30, 0x0B, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0xFE, + 0x01, 0x85, 0x01, 0x34, 0x01, 0x7B, 0x01, 0xFF, 0x01, 0x30, 0x0B, 0x00, + 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xC1, 0x03, 0x00, 0x01, 0x18, 0x01, 0x30, + 0x0A, 0x00, 0x01, 0x01, 0x02, 0xFF, 0x01, 0x30, 0x0F, 0x00, 0x01, 0x04, + 0x01, 0xFF, 0x01, 0xFD, 0x10, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xFA, + 0x10, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xF8, 0x10, 0x00, 0x01, 0x09, + 0x01, 0xFF, 0x01, 0xF7, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, 0x0E, 0x00, 0x01, 0x0A, + 0x07, 0xFF, 0x01, 0xF4, 0x0A, 0x00, 0x01, 0x0A, 0x07, 0xFF, 0x01, 0xF4, + 0x0A, 0x00, 0x01, 0x08, 0x01, 0xDD, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xFE, + 0x03, 0xDD, 0x01, 0xD4, 0x0C, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, + 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF6, 0x0E, 0x00, 0x01, 0x4B, 0x01, 0xBB, 0x01, 0xBE, + 0x01, 0xFF, 0x01, 0xFD, 0x05, 0xBB, 0x01, 0x70, 0x08, 0x00, 0x01, 0x6F, + 0x09, 0xFF, 0x01, 0xA0, 0x08, 0x00, 0x01, 0x6F, 0x09, 0xFF, 0x01, 0xA0, + 0x08, 0x00, 0x01, 0x4A, 0x09, 0xAA, 0x01, 0x60, 0xC5, 0x00, /* 23 CURRENCY_SIGN */ - 0xff, 0x00, 0x0d, 0x00, 0x01, 0x30, 0x07, 0x00, 0x01, 0x01, 0x01, 0x40, - 0x08, 0x00, 0x01, 0x0b, 0x01, 0xf5, 0x07, 0x00, 0x01, 0x1d, 0x01, 0xf4, - 0x08, 0x00, 0x01, 0xbf, 0x01, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x01, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0x30, 0x07, 0x00, 0x01, 0x5f, 0x01, 0xff, - 0x01, 0xf4, 0x01, 0x00, 0x01, 0x6b, 0x01, 0xdd, 0x01, 0xc8, 0x01, 0x20, - 0x01, 0x1d, 0x01, 0xff, 0x01, 0xfa, 0x08, 0x00, 0x01, 0x05, 0x02, 0xff, - 0x01, 0x8e, 0x03, 0xff, 0x01, 0xfa, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xa0, - 0x09, 0x00, 0x01, 0x5f, 0x07, 0xff, 0x01, 0xfa, 0x0a, 0x00, 0x01, 0x05, - 0x02, 0xff, 0x01, 0xe9, 0x01, 0x55, 0x01, 0x7c, 0x02, 0xff, 0x01, 0xa0, - 0x0a, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0xfb, 0x01, 0x10, 0x02, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0xa0, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0xc0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf2, 0x0a, 0x00, - 0x01, 0x1f, 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xf7, - 0x0a, 0x00, 0x01, 0x4f, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x8f, 0x01, 0xfa, - 0x0a, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x6f, 0x01, 0xfc, - 0x0a, 0x00, 0x01, 0x5f, 0x01, 0xfc, 0x05, 0x00, 0x01, 0x7f, 0x01, 0xfb, - 0x0a, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x04, 0x00, 0x01, 0xbf, - 0x01, 0xf8, 0x0a, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0x80, 0x03, 0x00, - 0x01, 0x03, 0x01, 0xff, 0x01, 0xf3, 0x0a, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf5, 0x03, 0x00, 0x01, 0x1d, 0x01, 0xff, 0x01, 0xc0, 0x0a, 0x00, - 0x01, 0x01, 0x02, 0xff, 0x01, 0x92, 0x01, 0x00, 0x01, 0x16, 0x01, 0xef, - 0x01, 0xff, 0x01, 0x60, 0x0a, 0x00, 0x01, 0x1d, 0x03, 0xff, 0x01, 0xfe, - 0x03, 0xff, 0x01, 0xf4, 0x09, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x05, 0xff, - 0x01, 0xfe, 0x02, 0xff, 0x01, 0x40, 0x08, 0x00, 0x01, 0x1d, 0x01, 0xff, - 0x01, 0xfa, 0x01, 0x06, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x81, - 0x01, 0x5f, 0x01, 0xff, 0x01, 0xf4, 0x08, 0x00, 0x01, 0xcf, 0x01, 0xff, - 0x01, 0xa0, 0x01, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x20, 0x01, 0x00, - 0x01, 0x05, 0x02, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfa, - 0x07, 0x00, 0x01, 0x4f, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x05, 0x01, 0xa0, - 0x07, 0x00, 0x01, 0x05, 0x01, 0x80, 0xeb, 0x00, + 0xFF, 0x00, 0x0D, 0x00, 0x01, 0x30, 0x07, 0x00, 0x01, 0x01, 0x01, 0x40, + 0x08, 0x00, 0x01, 0x0B, 0x01, 0xF5, 0x07, 0x00, 0x01, 0x1D, 0x01, 0xF4, + 0x08, 0x00, 0x01, 0xBF, 0x01, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x01, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x30, 0x07, 0x00, 0x01, 0x5F, 0x01, 0xFF, + 0x01, 0xF4, 0x01, 0x00, 0x01, 0x6B, 0x01, 0xDD, 0x01, 0xC8, 0x01, 0x20, + 0x01, 0x1D, 0x01, 0xFF, 0x01, 0xFA, 0x08, 0x00, 0x01, 0x05, 0x02, 0xFF, + 0x01, 0x8E, 0x03, 0xFF, 0x01, 0xFA, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xA0, + 0x09, 0x00, 0x01, 0x5F, 0x07, 0xFF, 0x01, 0xFA, 0x0A, 0x00, 0x01, 0x05, + 0x02, 0xFF, 0x01, 0xE9, 0x01, 0x55, 0x01, 0x7C, 0x02, 0xFF, 0x01, 0xA0, + 0x0A, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0xFB, 0x01, 0x10, 0x02, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xA0, 0x0A, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0xC0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF2, 0x0A, 0x00, + 0x01, 0x1F, 0x01, 0xFF, 0x01, 0x30, 0x04, 0x00, 0x01, 0xDF, 0x01, 0xF7, + 0x0A, 0x00, 0x01, 0x4F, 0x01, 0xFD, 0x05, 0x00, 0x01, 0x8F, 0x01, 0xFA, + 0x0A, 0x00, 0x01, 0x6F, 0x01, 0xFC, 0x05, 0x00, 0x01, 0x6F, 0x01, 0xFC, + 0x0A, 0x00, 0x01, 0x5F, 0x01, 0xFC, 0x05, 0x00, 0x01, 0x7F, 0x01, 0xFB, + 0x0A, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x10, 0x04, 0x00, 0x01, 0xBF, + 0x01, 0xF8, 0x0A, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0x80, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xFF, 0x01, 0xF3, 0x0A, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF5, 0x03, 0x00, 0x01, 0x1D, 0x01, 0xFF, 0x01, 0xC0, 0x0A, 0x00, + 0x01, 0x01, 0x02, 0xFF, 0x01, 0x92, 0x01, 0x00, 0x01, 0x16, 0x01, 0xEF, + 0x01, 0xFF, 0x01, 0x60, 0x0A, 0x00, 0x01, 0x1D, 0x03, 0xFF, 0x01, 0xFE, + 0x03, 0xFF, 0x01, 0xF4, 0x09, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x05, 0xFF, + 0x01, 0xFE, 0x02, 0xFF, 0x01, 0x40, 0x08, 0x00, 0x01, 0x1D, 0x01, 0xFF, + 0x01, 0xFA, 0x01, 0x06, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0x81, + 0x01, 0x5F, 0x01, 0xFF, 0x01, 0xF4, 0x08, 0x00, 0x01, 0xCF, 0x01, 0xFF, + 0x01, 0xA0, 0x01, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x20, 0x01, 0x00, + 0x01, 0x05, 0x02, 0xFF, 0x01, 0x20, 0x07, 0x00, 0x01, 0x4F, 0x01, 0xFA, + 0x07, 0x00, 0x01, 0x4F, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x05, 0x01, 0xA0, + 0x07, 0x00, 0x01, 0x05, 0x01, 0x80, 0xEB, 0x00, /* 24 YEN_SIGN */ 0x98, 0x00, 0x01, 0x01, 0x01, 0x88, 0x01, 0x85, 0x07, 0x00, 0x01, 0x38, - 0x01, 0x88, 0x01, 0x40, 0x07, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x10, - 0x06, 0x00, 0x01, 0xcf, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, 0x01, 0x3f, - 0x01, 0xff, 0x01, 0x90, 0x05, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xf8, - 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, 0x01, 0x0d, - 0x01, 0xff, 0x01, 0xe0, 0x08, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xfa, - 0x05, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x60, 0x09, 0x00, 0x01, 0xaf, - 0x01, 0xff, 0x01, 0x30, 0x04, 0x00, 0x01, 0xef, 0x01, 0xfd, 0x0a, 0x00, - 0x01, 0x1f, 0x01, 0xff, 0x01, 0xc0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf4, 0x03, 0x00, - 0x01, 0x1f, 0x01, 0xff, 0x01, 0xc0, 0x0a, 0x00, 0x01, 0x01, 0x01, 0xef, - 0x01, 0xfd, 0x03, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x40, 0x0b, 0x00, - 0x01, 0x7f, 0x01, 0xff, 0x01, 0x50, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, - 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xe0, 0x01, 0x00, - 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf3, 0x0c, 0x00, 0x01, 0x06, 0x01, 0xff, - 0x01, 0xf7, 0x01, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xa0, 0x0a, 0x00, - 0x01, 0x2a, 0x02, 0xaa, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x10, 0x01, 0xbf, - 0x01, 0xff, 0x01, 0xca, 0x01, 0xaa, 0x01, 0xa5, 0x08, 0x00, 0x01, 0x4f, - 0x04, 0xff, 0x01, 0x83, 0x04, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x3c, - 0x02, 0xcc, 0x01, 0xce, 0x01, 0xff, 0x01, 0xfd, 0x01, 0xff, 0x01, 0xfc, - 0x02, 0xcc, 0x01, 0xc6, 0x0b, 0x00, 0x01, 0x03, 0x03, 0xff, 0x01, 0x70, - 0x0f, 0x00, 0x01, 0xaf, 0x01, 0xff, 0x01, 0xfe, 0x10, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0xf5, 0x0c, 0x00, 0x01, 0x01, 0x03, 0x11, 0x01, 0x1e, - 0x01, 0xff, 0x01, 0xf3, 0x03, 0x11, 0x01, 0x10, 0x08, 0x00, 0x01, 0x4f, - 0x09, 0xff, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x4f, 0x09, 0xff, 0x01, 0xf8, - 0x08, 0x00, 0x01, 0x27, 0x03, 0x77, 0x01, 0x7e, 0x01, 0xff, 0x01, 0xf8, - 0x03, 0x77, 0x01, 0x73, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, - 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, - 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, - 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, - 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, - 0x10, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x08, - 0x01, 0x99, 0x01, 0x91, 0xc9, 0x00, + 0x01, 0x88, 0x01, 0x40, 0x07, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x10, + 0x06, 0x00, 0x01, 0xCF, 0x01, 0xFF, 0x01, 0x10, 0x07, 0x00, 0x01, 0x3F, + 0x01, 0xFF, 0x01, 0x90, 0x05, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xF8, + 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xF2, 0x05, 0x00, 0x01, 0x0D, + 0x01, 0xFF, 0x01, 0xE0, 0x08, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xFA, + 0x05, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x60, 0x09, 0x00, 0x01, 0xAF, + 0x01, 0xFF, 0x01, 0x30, 0x04, 0x00, 0x01, 0xEF, 0x01, 0xFD, 0x0A, 0x00, + 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xC0, 0x03, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF5, 0x0A, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xF4, 0x03, 0x00, + 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xC0, 0x0A, 0x00, 0x01, 0x01, 0x01, 0xEF, + 0x01, 0xFD, 0x03, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x40, 0x0B, 0x00, + 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x50, 0x01, 0x00, 0x01, 0x02, 0x01, 0xFF, + 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xE0, 0x01, 0x00, + 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF3, 0x0C, 0x00, 0x01, 0x06, 0x01, 0xFF, + 0x01, 0xF7, 0x01, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xA0, 0x0A, 0x00, + 0x01, 0x2A, 0x02, 0xAA, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0x10, 0x01, 0xBF, + 0x01, 0xFF, 0x01, 0xCA, 0x01, 0xAA, 0x01, 0xA5, 0x08, 0x00, 0x01, 0x4F, + 0x04, 0xFF, 0x01, 0x83, 0x04, 0xFF, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x3C, + 0x02, 0xCC, 0x01, 0xCE, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0xFF, 0x01, 0xFC, + 0x02, 0xCC, 0x01, 0xC6, 0x0B, 0x00, 0x01, 0x03, 0x03, 0xFF, 0x01, 0x70, + 0x0F, 0x00, 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xFE, 0x10, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0xF5, 0x0C, 0x00, 0x01, 0x01, 0x03, 0x11, 0x01, 0x1E, + 0x01, 0xFF, 0x01, 0xF3, 0x03, 0x11, 0x01, 0x10, 0x08, 0x00, 0x01, 0x4F, + 0x09, 0xFF, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x4F, 0x09, 0xFF, 0x01, 0xF8, + 0x08, 0x00, 0x01, 0x27, 0x03, 0x77, 0x01, 0x7E, 0x01, 0xFF, 0x01, 0xF8, + 0x03, 0x77, 0x01, 0x73, 0x0C, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, + 0x10, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0E, + 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, + 0x10, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0E, + 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, + 0x10, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x08, + 0x01, 0x99, 0x01, 0x91, 0xC9, 0x00, #endif // TOUCH_UI_UTF8_CURRENCY #if ENABLED(TOUCH_UI_UTF8_SUPERSCRIPTS) /* 25 SUPERSCRIPT_ONE */ - 0x99, 0x00, 0x01, 0x01, 0x01, 0x36, 0x01, 0x9b, 0x01, 0xbb, 0x01, 0x20, - 0x0e, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, 0x0e, 0x00, 0x01, 0x3f, - 0x01, 0xfe, 0x01, 0xbe, 0x01, 0xff, 0x01, 0x20, 0x0e, 0x00, 0x01, 0x14, - 0x01, 0x10, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x10, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x11, 0x01, 0x1c, 0x01, 0xff, - 0x01, 0x31, 0x01, 0x11, 0x0d, 0x00, 0x01, 0x0d, 0x05, 0xff, 0x01, 0x40, - 0x0c, 0x00, 0x01, 0x0d, 0x05, 0xff, 0x01, 0x40, 0x0c, 0x00, 0x01, 0x01, - 0x05, 0x22, 0xff, 0x00, 0xc2, 0x00, + 0x99, 0x00, 0x01, 0x01, 0x01, 0x36, 0x01, 0x9B, 0x01, 0xBB, 0x01, 0x20, + 0x0E, 0x00, 0x01, 0x3F, 0x03, 0xFF, 0x01, 0x20, 0x0E, 0x00, 0x01, 0x3F, + 0x01, 0xFE, 0x01, 0xBE, 0x01, 0xFF, 0x01, 0x20, 0x0E, 0x00, 0x01, 0x14, + 0x01, 0x10, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x10, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x0F, 0x00, 0x01, 0x11, 0x01, 0x1C, 0x01, 0xFF, + 0x01, 0x31, 0x01, 0x11, 0x0D, 0x00, 0x01, 0x0D, 0x05, 0xFF, 0x01, 0x40, + 0x0C, 0x00, 0x01, 0x0D, 0x05, 0xFF, 0x01, 0x40, 0x0C, 0x00, 0x01, 0x01, + 0x05, 0x22, 0xFF, 0x00, 0xC2, 0x00, /* 26 SUPERSCRIPT_TWO */ - 0x88, 0x00, 0x01, 0x01, 0x10, 0x00, 0x01, 0x16, 0x01, 0xae, 0x01, 0xff, - 0x01, 0xfd, 0x01, 0x92, 0x0e, 0x00, 0x05, 0xff, 0x01, 0x60, 0x0d, 0x00, - 0x01, 0xfe, 0x01, 0x84, 0x01, 0x22, 0x01, 0x5c, 0x01, 0xff, 0x01, 0xf3, - 0x0d, 0x00, 0x01, 0x50, 0x03, 0x00, 0x01, 0xcf, 0x01, 0xfa, 0x11, 0x00, - 0x01, 0x5f, 0x01, 0xfc, 0x11, 0x00, 0x01, 0x5f, 0x01, 0xfb, 0x11, 0x00, - 0x01, 0xcf, 0x01, 0xf4, 0x10, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x6f, 0x01, 0xfe, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x05, - 0x01, 0xff, 0x01, 0xe2, 0x10, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x01, 0x30, - 0x0f, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xe3, 0x10, 0x00, 0x01, 0x6f, - 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xd1, - 0x10, 0x00, 0x01, 0xaf, 0x01, 0xfd, 0x01, 0x43, 0x03, 0x33, 0x0c, 0x00, - 0x01, 0x01, 0x06, 0xff, 0x0c, 0x00, 0x01, 0x01, 0x06, 0xff, 0x0d, 0x00, - 0x06, 0x22, 0xff, 0x00, 0xc2, 0x00, + 0x88, 0x00, 0x01, 0x01, 0x10, 0x00, 0x01, 0x16, 0x01, 0xAE, 0x01, 0xFF, + 0x01, 0xFD, 0x01, 0x92, 0x0E, 0x00, 0x05, 0xFF, 0x01, 0x60, 0x0D, 0x00, + 0x01, 0xFE, 0x01, 0x84, 0x01, 0x22, 0x01, 0x5C, 0x01, 0xFF, 0x01, 0xF3, + 0x0D, 0x00, 0x01, 0x50, 0x03, 0x00, 0x01, 0xCF, 0x01, 0xFA, 0x11, 0x00, + 0x01, 0x5F, 0x01, 0xFC, 0x11, 0x00, 0x01, 0x5F, 0x01, 0xFB, 0x11, 0x00, + 0x01, 0xCF, 0x01, 0xF4, 0x10, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x6F, 0x01, 0xFE, 0x01, 0x10, 0x0F, 0x00, 0x01, 0x05, + 0x01, 0xFF, 0x01, 0xE2, 0x10, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x01, 0x30, + 0x0F, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xE3, 0x10, 0x00, 0x01, 0x6F, + 0x01, 0xFE, 0x01, 0x20, 0x0F, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xD1, + 0x10, 0x00, 0x01, 0xAF, 0x01, 0xFD, 0x01, 0x43, 0x03, 0x33, 0x0C, 0x00, + 0x01, 0x01, 0x06, 0xFF, 0x0C, 0x00, 0x01, 0x01, 0x06, 0xFF, 0x0D, 0x00, + 0x06, 0x22, 0xFF, 0x00, 0xC2, 0x00, /* 27 SUPERSCRIPT_THREE */ - 0x88, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x39, 0x01, 0xce, - 0x02, 0xff, 0x01, 0xb5, 0x0e, 0x00, 0x01, 0x7f, 0x04, 0xff, 0x01, 0xb0, - 0x0d, 0x00, 0x01, 0x6b, 0x01, 0x73, 0x01, 0x22, 0x01, 0x38, 0x01, 0xff, - 0x01, 0xf9, 0x11, 0x00, 0x01, 0x5f, 0x01, 0xff, 0x11, 0x00, 0x01, 0x0f, - 0x01, 0xff, 0x11, 0x00, 0x01, 0x4f, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x27, - 0x01, 0xff, 0x01, 0xf3, 0x0e, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xfa, - 0x01, 0x20, 0x0e, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xfb, 0x01, 0x40, - 0x0e, 0x00, 0x01, 0x01, 0x01, 0x23, 0x01, 0x49, 0x01, 0xff, 0x01, 0xf6, - 0x11, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x50, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x60, - 0x10, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x40, 0x0c, 0x00, 0x01, 0xa4, - 0x02, 0x00, 0x01, 0x05, 0x01, 0xdf, 0x01, 0xfd, 0x0d, 0x00, 0x02, 0xff, - 0x01, 0xde, 0x02, 0xff, 0x01, 0xe3, 0x0d, 0x00, 0x01, 0xae, 0x03, 0xff, - 0x01, 0xe9, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x24, 0x01, 0x55, 0x01, 0x52, - 0xff, 0x00, 0xc4, 0x00, + 0x88, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0F, 0x00, 0x01, 0x39, 0x01, 0xCE, + 0x02, 0xFF, 0x01, 0xB5, 0x0E, 0x00, 0x01, 0x7F, 0x04, 0xFF, 0x01, 0xB0, + 0x0D, 0x00, 0x01, 0x6B, 0x01, 0x73, 0x01, 0x22, 0x01, 0x38, 0x01, 0xFF, + 0x01, 0xF9, 0x11, 0x00, 0x01, 0x5F, 0x01, 0xFF, 0x11, 0x00, 0x01, 0x0F, + 0x01, 0xFF, 0x11, 0x00, 0x01, 0x4F, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x27, + 0x01, 0xFF, 0x01, 0xF3, 0x0E, 0x00, 0x01, 0x0C, 0x02, 0xFF, 0x01, 0xFA, + 0x01, 0x20, 0x0E, 0x00, 0x01, 0x0C, 0x02, 0xFF, 0x01, 0xFB, 0x01, 0x40, + 0x0E, 0x00, 0x01, 0x01, 0x01, 0x23, 0x01, 0x49, 0x01, 0xFF, 0x01, 0xF6, + 0x11, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x10, 0x10, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x50, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0x60, + 0x10, 0x00, 0x01, 0x1E, 0x01, 0xFF, 0x01, 0x40, 0x0C, 0x00, 0x01, 0xA4, + 0x02, 0x00, 0x01, 0x05, 0x01, 0xDF, 0x01, 0xFD, 0x0D, 0x00, 0x02, 0xFF, + 0x01, 0xDE, 0x02, 0xFF, 0x01, 0xE3, 0x0D, 0x00, 0x01, 0xAE, 0x03, 0xFF, + 0x01, 0xE9, 0x01, 0x10, 0x0E, 0x00, 0x01, 0x24, 0x01, 0x55, 0x01, 0x52, + 0xFF, 0x00, 0xC4, 0x00, #endif // TOUCH_UI_UTF8_SUPERSCRIPTS #if ENABLED(TOUCH_UI_UTF8_ORDINALS) /* 28 MASCULINE_ORDINAL */ - 0x89, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x01, 0x01, 0x8d, - 0x02, 0xff, 0x01, 0xb4, 0x0e, 0x00, 0x01, 0x4f, 0x04, 0xff, 0x01, 0xa0, - 0x0c, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfc, 0x01, 0x63, 0x01, 0x48, - 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xa0, - 0x02, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x0b, 0x00, 0x01, 0x6f, - 0x01, 0xfe, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xd0, 0x0b, 0x00, - 0x01, 0xbf, 0x01, 0xf7, 0x04, 0x00, 0x01, 0xff, 0x01, 0xf2, 0x0b, 0x00, - 0x01, 0xef, 0x01, 0xf3, 0x04, 0x00, 0x01, 0xcf, 0x01, 0xf6, 0x0b, 0x00, - 0x01, 0xff, 0x01, 0xf1, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xf7, 0x0b, 0x00, - 0x01, 0xff, 0x01, 0xf1, 0x04, 0x00, 0x01, 0xaf, 0x01, 0xf7, 0x0b, 0x00, - 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xbf, 0x01, 0xf6, 0x0b, 0x00, - 0x01, 0xcf, 0x01, 0xf6, 0x04, 0x00, 0x01, 0xef, 0x01, 0xf4, 0x0b, 0x00, - 0x01, 0x8f, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xf0, - 0x0b, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0x1d, - 0x01, 0xff, 0x01, 0x90, 0x0b, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xf8, - 0x01, 0x10, 0x01, 0x04, 0x01, 0xdf, 0x01, 0xfe, 0x01, 0x10, 0x0c, 0x00, - 0x01, 0xaf, 0x04, 0xff, 0x01, 0xe3, 0x0d, 0x00, 0x01, 0x05, 0x01, 0xdf, - 0x02, 0xff, 0x01, 0xfa, 0x01, 0x10, 0x0e, 0x00, 0x01, 0x02, 0x01, 0x56, - 0x01, 0x64, 0x21, 0x00, 0x01, 0x16, 0x06, 0x66, 0x01, 0x40, 0x0b, 0x00, - 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x3f, 0x06, 0xff, - 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x01, 0x06, 0x11, 0xff, 0x00, 0x75, 0x00, + 0x89, 0x00, 0x01, 0x01, 0x01, 0x10, 0x0F, 0x00, 0x01, 0x01, 0x01, 0x8D, + 0x02, 0xFF, 0x01, 0xB4, 0x0E, 0x00, 0x01, 0x4F, 0x04, 0xFF, 0x01, 0xA0, + 0x0C, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x63, 0x01, 0x48, + 0x01, 0xFF, 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xA0, + 0x02, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x60, 0x0B, 0x00, 0x01, 0x6F, + 0x01, 0xFE, 0x03, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xD0, 0x0B, 0x00, + 0x01, 0xBF, 0x01, 0xF7, 0x04, 0x00, 0x01, 0xFF, 0x01, 0xF2, 0x0B, 0x00, + 0x01, 0xEF, 0x01, 0xF3, 0x04, 0x00, 0x01, 0xCF, 0x01, 0xF6, 0x0B, 0x00, + 0x01, 0xFF, 0x01, 0xF1, 0x04, 0x00, 0x01, 0xAF, 0x01, 0xF7, 0x0B, 0x00, + 0x01, 0xFF, 0x01, 0xF1, 0x04, 0x00, 0x01, 0xAF, 0x01, 0xF7, 0x0B, 0x00, + 0x01, 0xFF, 0x01, 0xF2, 0x04, 0x00, 0x01, 0xBF, 0x01, 0xF6, 0x0B, 0x00, + 0x01, 0xCF, 0x01, 0xF6, 0x04, 0x00, 0x01, 0xEF, 0x01, 0xF4, 0x0B, 0x00, + 0x01, 0x8F, 0x01, 0xFC, 0x03, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xF0, + 0x0B, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x60, 0x02, 0x00, 0x01, 0x1D, + 0x01, 0xFF, 0x01, 0x90, 0x0B, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xF8, + 0x01, 0x10, 0x01, 0x04, 0x01, 0xDF, 0x01, 0xFE, 0x01, 0x10, 0x0C, 0x00, + 0x01, 0xAF, 0x04, 0xFF, 0x01, 0xE3, 0x0D, 0x00, 0x01, 0x05, 0x01, 0xDF, + 0x02, 0xFF, 0x01, 0xFA, 0x01, 0x10, 0x0E, 0x00, 0x01, 0x02, 0x01, 0x56, + 0x01, 0x64, 0x21, 0x00, 0x01, 0x16, 0x06, 0x66, 0x01, 0x40, 0x0B, 0x00, + 0x01, 0x3F, 0x06, 0xFF, 0x01, 0xB0, 0x0B, 0x00, 0x01, 0x3F, 0x06, 0xFF, + 0x01, 0xB0, 0x0B, 0x00, 0x01, 0x01, 0x06, 0x11, 0xFF, 0x00, 0x75, 0x00, /* 29 FEMININE_ORDINAL */ - 0x89, 0x00, 0x01, 0x12, 0x01, 0x10, 0x0f, 0x00, 0x01, 0x49, 0x01, 0xdf, - 0x02, 0xff, 0x01, 0xb4, 0x0d, 0x00, 0x01, 0x07, 0x05, 0xff, 0x01, 0xa0, - 0x0c, 0x00, 0x01, 0x07, 0x01, 0xfc, 0x01, 0x74, 0x01, 0x33, 0x01, 0x59, - 0x01, 0xff, 0x01, 0xf8, 0x0c, 0x00, 0x01, 0x03, 0x01, 0x20, 0x03, 0x00, - 0x01, 0x3f, 0x01, 0xff, 0x01, 0x10, 0x10, 0x00, 0x01, 0x09, 0x01, 0xff, - 0x01, 0x50, 0x0e, 0x00, 0x01, 0x01, 0x01, 0x11, 0x01, 0x16, 0x01, 0xff, - 0x01, 0x80, 0x0c, 0x00, 0x01, 0x05, 0x01, 0xae, 0x04, 0xff, 0x01, 0x90, - 0x0b, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x05, 0xff, 0x01, 0xa0, 0x0b, 0x00, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0xe9, 0x01, 0x65, 0x01, 0x44, 0x01, 0x48, - 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x5f, 0x01, 0xfd, 0x01, 0x10, - 0x02, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x9f, - 0x01, 0xf6, 0x03, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xa0, 0x0b, 0x00, - 0x01, 0xaf, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x01, 0xa0, - 0x0b, 0x00, 0x01, 0x9f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xaf, 0x01, 0xff, - 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0xa2, 0x01, 0x00, - 0x01, 0x3b, 0x02, 0xff, 0x01, 0xa0, 0x0b, 0x00, 0x01, 0x0a, 0x04, 0xff, - 0x01, 0xe7, 0x01, 0xff, 0x01, 0xa0, 0x0c, 0x00, 0x01, 0x8f, 0x02, 0xff, - 0x01, 0xf9, 0x01, 0x15, 0x01, 0xff, 0x01, 0xa0, 0x0d, 0x00, 0x01, 0x46, - 0x01, 0x64, 0x02, 0x00, 0x01, 0x11, 0x1f, 0x00, 0x01, 0x16, 0x06, 0x66, - 0x01, 0x40, 0x0b, 0x00, 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, - 0x01, 0x3f, 0x06, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x01, 0x06, 0x11, - 0xff, 0x00, 0x75, 0x00, + 0x89, 0x00, 0x01, 0x12, 0x01, 0x10, 0x0F, 0x00, 0x01, 0x49, 0x01, 0xDF, + 0x02, 0xFF, 0x01, 0xB4, 0x0D, 0x00, 0x01, 0x07, 0x05, 0xFF, 0x01, 0xA0, + 0x0C, 0x00, 0x01, 0x07, 0x01, 0xFC, 0x01, 0x74, 0x01, 0x33, 0x01, 0x59, + 0x01, 0xFF, 0x01, 0xF8, 0x0C, 0x00, 0x01, 0x03, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x10, 0x10, 0x00, 0x01, 0x09, 0x01, 0xFF, + 0x01, 0x50, 0x0E, 0x00, 0x01, 0x01, 0x01, 0x11, 0x01, 0x16, 0x01, 0xFF, + 0x01, 0x80, 0x0C, 0x00, 0x01, 0x05, 0x01, 0xAE, 0x04, 0xFF, 0x01, 0x90, + 0x0B, 0x00, 0x01, 0x01, 0x01, 0xCF, 0x05, 0xFF, 0x01, 0xA0, 0x0B, 0x00, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0xE9, 0x01, 0x65, 0x01, 0x44, 0x01, 0x48, + 0x01, 0xFF, 0x01, 0xA0, 0x0B, 0x00, 0x01, 0x5F, 0x01, 0xFD, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xA0, 0x0B, 0x00, 0x01, 0x9F, + 0x01, 0xF6, 0x03, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xA0, 0x0B, 0x00, + 0x01, 0xAF, 0x01, 0xF5, 0x03, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x01, 0xA0, + 0x0B, 0x00, 0x01, 0x9F, 0x01, 0xFA, 0x03, 0x00, 0x01, 0xAF, 0x01, 0xFF, + 0x01, 0xA0, 0x0B, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0xA2, 0x01, 0x00, + 0x01, 0x3B, 0x02, 0xFF, 0x01, 0xA0, 0x0B, 0x00, 0x01, 0x0A, 0x04, 0xFF, + 0x01, 0xE7, 0x01, 0xFF, 0x01, 0xA0, 0x0C, 0x00, 0x01, 0x8F, 0x02, 0xFF, + 0x01, 0xF9, 0x01, 0x15, 0x01, 0xFF, 0x01, 0xA0, 0x0D, 0x00, 0x01, 0x46, + 0x01, 0x64, 0x02, 0x00, 0x01, 0x11, 0x1F, 0x00, 0x01, 0x16, 0x06, 0x66, + 0x01, 0x40, 0x0B, 0x00, 0x01, 0x3F, 0x06, 0xFF, 0x01, 0xB0, 0x0B, 0x00, + 0x01, 0x3F, 0x06, 0xFF, 0x01, 0xB0, 0x0B, 0x00, 0x01, 0x01, 0x06, 0x11, + 0xFF, 0x00, 0x75, 0x00, #endif // TOUCH_UI_UTF8_ORDINALS #if ENABLED(TOUCH_UI_UTF8_COPYRIGHT) /* 30 COPYRIGHT_SIGN */ - 0xa0, 0x00, 0x01, 0x01, 0x01, 0x45, 0x01, 0x76, 0x01, 0x43, 0x0e, 0x00, - 0x01, 0x28, 0x01, 0xdf, 0x03, 0xff, 0x01, 0xe9, 0x01, 0x40, 0x0b, 0x00, - 0x01, 0x19, 0x02, 0xff, 0x01, 0xdb, 0x01, 0xab, 0x01, 0xce, 0x01, 0xff, - 0x01, 0xfb, 0x01, 0x30, 0x09, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xfb, - 0x01, 0x50, 0x03, 0x00, 0x01, 0x38, 0x01, 0xff, 0x01, 0xf7, 0x09, 0x00, - 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x19, 0x01, 0xff, - 0x01, 0xa0, 0x07, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xa0, 0x07, 0x00, - 0x01, 0x5f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xf8, 0x03, 0x00, + 0xA0, 0x00, 0x01, 0x01, 0x01, 0x45, 0x01, 0x76, 0x01, 0x43, 0x0E, 0x00, + 0x01, 0x28, 0x01, 0xDF, 0x03, 0xFF, 0x01, 0xE9, 0x01, 0x40, 0x0B, 0x00, + 0x01, 0x19, 0x02, 0xFF, 0x01, 0xDB, 0x01, 0xAB, 0x01, 0xCE, 0x01, 0xFF, + 0x01, 0xFB, 0x01, 0x30, 0x09, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x01, 0xFB, + 0x01, 0x50, 0x03, 0x00, 0x01, 0x38, 0x01, 0xFF, 0x01, 0xF7, 0x09, 0x00, + 0x01, 0x6F, 0x01, 0xFC, 0x01, 0x30, 0x05, 0x00, 0x01, 0x19, 0x01, 0xFF, + 0x01, 0xA0, 0x07, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xA0, 0x07, 0x00, + 0x01, 0x5F, 0x01, 0xFB, 0x07, 0x00, 0x01, 0x3F, 0x01, 0xF8, 0x03, 0x00, 0x01, 0x46, 0x01, 0x88, 0x01, 0x65, 0x01, 0x10, 0x01, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0x80, 0x06, 0x00, 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, - 0x01, 0x01, 0x01, 0x9f, 0x03, 0xff, 0x01, 0xfc, 0x01, 0x60, 0x01, 0x00, - 0x01, 0x4f, 0x01, 0xf4, 0x05, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, - 0x01, 0x4e, 0x02, 0xff, 0x01, 0xed, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, - 0x01, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x1f, 0x01, 0xf4, - 0x01, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x61, 0x01, 0x00, - 0x01, 0x01, 0x01, 0x4a, 0x01, 0xa0, 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, - 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, - 0x01, 0xc1, 0x07, 0x00, 0x01, 0x7f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0xbf, - 0x01, 0x60, 0x01, 0x00, 0x01, 0x7f, 0x01, 0xff, 0x01, 0x10, 0x07, 0x00, - 0x01, 0x1f, 0x01, 0xf0, 0x04, 0x00, 0x01, 0xff, 0x01, 0x20, 0x01, 0x00, - 0x01, 0xdf, 0x01, 0xf9, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xf4, 0x03, 0x00, - 0x01, 0x01, 0x01, 0xfe, 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf4, - 0x08, 0x00, 0x01, 0x0a, 0x01, 0xf6, 0x03, 0x00, 0x01, 0x03, 0x01, 0xfd, - 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf1, 0x08, 0x00, 0x01, 0x08, - 0x01, 0xf8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x03, - 0x01, 0xff, 0x01, 0xf0, 0x08, 0x00, 0x01, 0x07, 0x01, 0xf9, 0x03, 0x00, - 0x01, 0x03, 0x01, 0xfd, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf1, - 0x08, 0x00, 0x01, 0x08, 0x01, 0xf8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xfe, - 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf3, 0x08, 0x00, 0x01, 0x09, - 0x01, 0xf7, 0x04, 0x00, 0x01, 0xff, 0x01, 0x10, 0x01, 0x00, 0x01, 0xdf, - 0x01, 0xf8, 0x08, 0x00, 0x01, 0x0c, 0x01, 0xf5, 0x04, 0x00, 0x01, 0xbf, - 0x01, 0x60, 0x01, 0x00, 0x01, 0x8f, 0x01, 0xfe, 0x01, 0x10, 0x07, 0x00, - 0x01, 0x1f, 0x01, 0xf1, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xb0, 0x01, 0x00, - 0x01, 0x1f, 0x01, 0xff, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x6f, 0x01, 0xc0, - 0x04, 0x00, 0x01, 0x1f, 0x01, 0xf4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xff, - 0x01, 0xfd, 0x01, 0x50, 0x02, 0x00, 0x01, 0x29, 0x01, 0xa0, 0x02, 0x00, - 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, - 0x01, 0x6f, 0x02, 0xff, 0x01, 0xdb, 0x01, 0xce, 0x01, 0xff, 0x01, 0xb0, - 0x01, 0x00, 0x01, 0x07, 0x01, 0xfd, 0x05, 0x00, 0x01, 0x01, 0x01, 0xef, - 0x01, 0x90, 0x01, 0x00, 0x01, 0x02, 0x01, 0xbf, 0x03, 0xff, 0x01, 0xfe, - 0x01, 0x70, 0x01, 0x00, 0x01, 0x4f, 0x01, 0xf4, 0x06, 0x00, 0x01, 0x4f, - 0x01, 0xf7, 0x02, 0x00, 0x01, 0x01, 0x01, 0x58, 0x01, 0x9a, 0x01, 0x86, - 0x01, 0x30, 0x01, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0x80, 0x06, 0x00, - 0x01, 0x06, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfb, - 0x08, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, - 0x01, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfa, - 0x01, 0x40, 0x03, 0x00, 0x01, 0x27, 0x01, 0xef, 0x01, 0xf8, 0x0a, 0x00, - 0x01, 0x19, 0x02, 0xff, 0x01, 0xca, 0x01, 0x9a, 0x01, 0xbe, 0x01, 0xff, - 0x01, 0xfc, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x29, 0x01, 0xdf, 0x03, 0xff, - 0x01, 0xfa, 0x01, 0x40, 0x0d, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, - 0x01, 0x53, 0xc5, 0x00, + 0x01, 0xFF, 0x01, 0x80, 0x06, 0x00, 0x01, 0xEF, 0x01, 0xA0, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x9F, 0x03, 0xFF, 0x01, 0xFC, 0x01, 0x60, 0x01, 0x00, + 0x01, 0x4F, 0x01, 0xF4, 0x05, 0x00, 0x01, 0x08, 0x01, 0xFD, 0x02, 0x00, + 0x01, 0x4E, 0x02, 0xFF, 0x01, 0xED, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, + 0x01, 0x00, 0x01, 0x08, 0x01, 0xFD, 0x05, 0x00, 0x01, 0x1F, 0x01, 0xF4, + 0x01, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0x61, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x4A, 0x01, 0xA0, 0x02, 0x00, 0x01, 0xEF, 0x01, 0x60, + 0x04, 0x00, 0x01, 0x6F, 0x01, 0xC0, 0x01, 0x00, 0x01, 0x0E, 0x01, 0xFF, + 0x01, 0xC1, 0x07, 0x00, 0x01, 0x7F, 0x01, 0xB0, 0x04, 0x00, 0x01, 0xBF, + 0x01, 0x60, 0x01, 0x00, 0x01, 0x7F, 0x01, 0xFF, 0x01, 0x10, 0x07, 0x00, + 0x01, 0x1F, 0x01, 0xF0, 0x04, 0x00, 0x01, 0xFF, 0x01, 0x20, 0x01, 0x00, + 0x01, 0xDF, 0x01, 0xF9, 0x08, 0x00, 0x01, 0x0D, 0x01, 0xF4, 0x03, 0x00, + 0x01, 0x01, 0x01, 0xFE, 0x01, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF4, + 0x08, 0x00, 0x01, 0x0A, 0x01, 0xF6, 0x03, 0x00, 0x01, 0x03, 0x01, 0xFD, + 0x01, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xF1, 0x08, 0x00, 0x01, 0x08, + 0x01, 0xF8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xFC, 0x01, 0x00, 0x01, 0x03, + 0x01, 0xFF, 0x01, 0xF0, 0x08, 0x00, 0x01, 0x07, 0x01, 0xF9, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xFD, 0x01, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xF1, + 0x08, 0x00, 0x01, 0x08, 0x01, 0xF8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xFE, + 0x01, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF3, 0x08, 0x00, 0x01, 0x09, + 0x01, 0xF7, 0x04, 0x00, 0x01, 0xFF, 0x01, 0x10, 0x01, 0x00, 0x01, 0xDF, + 0x01, 0xF8, 0x08, 0x00, 0x01, 0x0C, 0x01, 0xF5, 0x04, 0x00, 0x01, 0xBF, + 0x01, 0x60, 0x01, 0x00, 0x01, 0x8F, 0x01, 0xFE, 0x01, 0x10, 0x07, 0x00, + 0x01, 0x1F, 0x01, 0xF1, 0x04, 0x00, 0x01, 0x6F, 0x01, 0xB0, 0x01, 0x00, + 0x01, 0x1F, 0x01, 0xFF, 0x01, 0xB0, 0x07, 0x00, 0x01, 0x6F, 0x01, 0xC0, + 0x04, 0x00, 0x01, 0x1F, 0x01, 0xF4, 0x01, 0x00, 0x01, 0x05, 0x01, 0xFF, + 0x01, 0xFD, 0x01, 0x50, 0x02, 0x00, 0x01, 0x29, 0x01, 0xA0, 0x02, 0x00, + 0x01, 0xEF, 0x01, 0x60, 0x04, 0x00, 0x01, 0x08, 0x01, 0xFD, 0x02, 0x00, + 0x01, 0x6F, 0x02, 0xFF, 0x01, 0xDB, 0x01, 0xCE, 0x01, 0xFF, 0x01, 0xB0, + 0x01, 0x00, 0x01, 0x07, 0x01, 0xFD, 0x05, 0x00, 0x01, 0x01, 0x01, 0xEF, + 0x01, 0x90, 0x01, 0x00, 0x01, 0x02, 0x01, 0xBF, 0x03, 0xFF, 0x01, 0xFE, + 0x01, 0x70, 0x01, 0x00, 0x01, 0x4F, 0x01, 0xF4, 0x06, 0x00, 0x01, 0x4F, + 0x01, 0xF7, 0x02, 0x00, 0x01, 0x01, 0x01, 0x58, 0x01, 0x9A, 0x01, 0x86, + 0x01, 0x30, 0x01, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0x80, 0x06, 0x00, + 0x01, 0x06, 0x01, 0xFF, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4F, 0x01, 0xFB, + 0x08, 0x00, 0x01, 0x6F, 0x01, 0xFC, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, + 0x01, 0xFF, 0x01, 0xB0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xEF, 0x01, 0xFA, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x27, 0x01, 0xEF, 0x01, 0xF8, 0x0A, 0x00, + 0x01, 0x19, 0x02, 0xFF, 0x01, 0xCA, 0x01, 0x9A, 0x01, 0xBE, 0x01, 0xFF, + 0x01, 0xFC, 0x01, 0x30, 0x0B, 0x00, 0x01, 0x29, 0x01, 0xDF, 0x03, 0xFF, + 0x01, 0xFA, 0x01, 0x40, 0x0D, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, + 0x01, 0x53, 0xC5, 0x00, /* 31 REGISTERED_SIGN */ - 0xa0, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, 0x01, 0x53, 0x0e, 0x00, - 0x01, 0x28, 0x01, 0xdf, 0x03, 0xff, 0x01, 0xea, 0x01, 0x40, 0x0b, 0x00, - 0x01, 0x19, 0x02, 0xff, 0x01, 0xcb, 0x01, 0x9a, 0x01, 0xce, 0x01, 0xff, - 0x01, 0xfc, 0x01, 0x30, 0x09, 0x00, 0x01, 0x04, 0x01, 0xef, 0x01, 0xfa, - 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xff, 0x01, 0xf8, 0x09, 0x00, - 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, 0x01, 0xff, - 0x01, 0xa0, 0x07, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, - 0x01, 0x4f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3f, 0x01, 0xf7, 0x01, 0x00, - 0x01, 0x13, 0x02, 0x33, 0x01, 0x32, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, - 0x01, 0x80, 0x06, 0x00, 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x7f, - 0x03, 0xff, 0x01, 0xfd, 0x01, 0x81, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xf5, - 0x05, 0x00, 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xff, - 0x01, 0xdd, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfe, 0x01, 0x30, 0x01, 0x00, - 0x01, 0x08, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x1f, 0x01, 0xf4, 0x02, 0x00, - 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x3c, 0x01, 0xff, 0x01, 0xd0, - 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, - 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x02, 0x01, 0xff, - 0x01, 0xf3, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0xbf, - 0x01, 0x60, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xff, - 0x01, 0xf4, 0x02, 0x00, 0x01, 0x1f, 0x01, 0xf0, 0x04, 0x00, 0x01, 0xff, - 0x01, 0x10, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, 0x01, 0xff, - 0x01, 0xf2, 0x02, 0x00, 0x01, 0x0c, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x01, - 0x01, 0xfe, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x08, - 0x01, 0xff, 0x01, 0xe0, 0x02, 0x00, 0x01, 0x0a, 0x01, 0xf6, 0x03, 0x00, - 0x01, 0x03, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfd, 0x01, 0x88, - 0x01, 0x9a, 0x01, 0xef, 0x01, 0xfe, 0x01, 0x30, 0x02, 0x00, 0x01, 0x08, - 0x01, 0xf8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xfc, 0x03, 0x00, 0x01, 0x7f, - 0x03, 0xff, 0x01, 0xfe, 0x01, 0x91, 0x03, 0x00, 0x01, 0x07, 0x01, 0xf9, - 0x03, 0x00, 0x01, 0x03, 0x01, 0xfd, 0x03, 0x00, 0x01, 0x7f, 0x01, 0xfc, - 0x01, 0x78, 0x01, 0xdf, 0x01, 0xfd, 0x01, 0x20, 0x03, 0x00, 0x01, 0x08, - 0x01, 0xf8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xfe, 0x03, 0x00, 0x01, 0x7f, - 0x01, 0xfa, 0x01, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xc0, 0x03, 0x00, - 0x01, 0x09, 0x01, 0xf6, 0x04, 0x00, 0x01, 0xff, 0x01, 0x10, 0x02, 0x00, - 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xf8, 0x03, 0x00, - 0x01, 0x0c, 0x01, 0xf5, 0x04, 0x00, 0x01, 0xbf, 0x01, 0x60, 0x02, 0x00, - 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x30, - 0x02, 0x00, 0x01, 0x1f, 0x01, 0xf1, 0x04, 0x00, 0x01, 0x6f, 0x01, 0xc0, - 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x09, 0x01, 0xff, - 0x01, 0xd0, 0x02, 0x00, 0x01, 0x6f, 0x01, 0xb0, 0x04, 0x00, 0x01, 0x1f, - 0x01, 0xf4, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x02, 0x00, 0x01, 0x01, - 0x01, 0xef, 0x01, 0xf7, 0x02, 0x00, 0x01, 0xef, 0x01, 0x60, 0x04, 0x00, - 0x01, 0x08, 0x01, 0xfd, 0x02, 0x00, 0x01, 0x7f, 0x01, 0xfa, 0x03, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0x20, 0x01, 0x08, 0x01, 0xfe, 0x06, 0x00, - 0x01, 0xef, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x5a, 0x01, 0xa6, 0x03, 0x00, - 0x01, 0x09, 0x01, 0xaa, 0x01, 0x60, 0x01, 0x4f, 0x01, 0xf4, 0x06, 0x00, - 0x01, 0x3f, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x03, 0x01, 0xff, 0x01, 0x80, - 0x06, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4f, - 0x01, 0xfb, 0x08, 0x00, 0x01, 0x6f, 0x01, 0xfc, 0x01, 0x30, 0x05, 0x00, - 0x01, 0x19, 0x01, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xef, - 0x01, 0xfa, 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xef, 0x01, 0xf8, - 0x0a, 0x00, 0x01, 0x19, 0x02, 0xff, 0x01, 0xcb, 0x01, 0x9a, 0x01, 0xce, - 0x01, 0xff, 0x01, 0xfc, 0x01, 0x30, 0x0b, 0x00, 0x01, 0x28, 0x01, 0xdf, - 0x03, 0xff, 0x01, 0xea, 0x01, 0x40, 0x0d, 0x00, 0x01, 0x02, 0x01, 0x45, - 0x01, 0x76, 0x01, 0x43, 0xc5, 0x00, + 0xA0, 0x00, 0x01, 0x02, 0x01, 0x46, 0x01, 0x76, 0x01, 0x53, 0x0E, 0x00, + 0x01, 0x28, 0x01, 0xDF, 0x03, 0xFF, 0x01, 0xEA, 0x01, 0x40, 0x0B, 0x00, + 0x01, 0x19, 0x02, 0xFF, 0x01, 0xCB, 0x01, 0x9A, 0x01, 0xCE, 0x01, 0xFF, + 0x01, 0xFC, 0x01, 0x30, 0x09, 0x00, 0x01, 0x04, 0x01, 0xEF, 0x01, 0xFA, + 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xFF, 0x01, 0xF8, 0x09, 0x00, + 0x01, 0x6F, 0x01, 0xFC, 0x01, 0x30, 0x05, 0x00, 0x01, 0x18, 0x01, 0xFF, + 0x01, 0xA0, 0x07, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0x90, 0x07, 0x00, + 0x01, 0x4F, 0x01, 0xFB, 0x07, 0x00, 0x01, 0x3F, 0x01, 0xF7, 0x01, 0x00, + 0x01, 0x13, 0x02, 0x33, 0x01, 0x32, 0x03, 0x00, 0x01, 0x02, 0x01, 0xFF, + 0x01, 0x80, 0x06, 0x00, 0x01, 0xEF, 0x01, 0xA0, 0x01, 0x00, 0x01, 0x7F, + 0x03, 0xFF, 0x01, 0xFD, 0x01, 0x81, 0x02, 0x00, 0x01, 0x4F, 0x01, 0xF5, + 0x05, 0x00, 0x01, 0x08, 0x01, 0xFD, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFF, + 0x01, 0xDD, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0x30, 0x01, 0x00, + 0x01, 0x08, 0x01, 0xFE, 0x05, 0x00, 0x01, 0x1F, 0x01, 0xF4, 0x02, 0x00, + 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x3C, 0x01, 0xFF, 0x01, 0xD0, + 0x02, 0x00, 0x01, 0xEF, 0x01, 0x60, 0x04, 0x00, 0x01, 0x6F, 0x01, 0xC0, + 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x02, 0x01, 0xFF, + 0x01, 0xF3, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xB0, 0x04, 0x00, 0x01, 0xBF, + 0x01, 0x60, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x03, 0x00, 0x01, 0xFF, + 0x01, 0xF4, 0x02, 0x00, 0x01, 0x1F, 0x01, 0xF0, 0x04, 0x00, 0x01, 0xFF, + 0x01, 0x10, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x03, 0x00, 0x01, 0xFF, + 0x01, 0xF2, 0x02, 0x00, 0x01, 0x0C, 0x01, 0xF5, 0x03, 0x00, 0x01, 0x01, + 0x01, 0xFE, 0x03, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xFF, 0x01, 0xE0, 0x02, 0x00, 0x01, 0x0A, 0x01, 0xF6, 0x03, 0x00, + 0x01, 0x03, 0x01, 0xFD, 0x03, 0x00, 0x01, 0x7F, 0x01, 0xFD, 0x01, 0x88, + 0x01, 0x9A, 0x01, 0xEF, 0x01, 0xFE, 0x01, 0x30, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xF8, 0x03, 0x00, 0x01, 0x04, 0x01, 0xFC, 0x03, 0x00, 0x01, 0x7F, + 0x03, 0xFF, 0x01, 0xFE, 0x01, 0x91, 0x03, 0x00, 0x01, 0x07, 0x01, 0xF9, + 0x03, 0x00, 0x01, 0x03, 0x01, 0xFD, 0x03, 0x00, 0x01, 0x7F, 0x01, 0xFC, + 0x01, 0x78, 0x01, 0xDF, 0x01, 0xFD, 0x01, 0x20, 0x03, 0x00, 0x01, 0x08, + 0x01, 0xF8, 0x03, 0x00, 0x01, 0x01, 0x01, 0xFE, 0x03, 0x00, 0x01, 0x7F, + 0x01, 0xFA, 0x01, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xC0, 0x03, 0x00, + 0x01, 0x09, 0x01, 0xF6, 0x04, 0x00, 0x01, 0xFF, 0x01, 0x10, 0x02, 0x00, + 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0xDF, 0x01, 0xF8, 0x03, 0x00, + 0x01, 0x0C, 0x01, 0xF5, 0x04, 0x00, 0x01, 0xBF, 0x01, 0x60, 0x02, 0x00, + 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x30, + 0x02, 0x00, 0x01, 0x1F, 0x01, 0xF1, 0x04, 0x00, 0x01, 0x6F, 0x01, 0xC0, + 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x09, 0x01, 0xFF, + 0x01, 0xD0, 0x02, 0x00, 0x01, 0x6F, 0x01, 0xB0, 0x04, 0x00, 0x01, 0x1F, + 0x01, 0xF4, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x02, 0x00, 0x01, 0x01, + 0x01, 0xEF, 0x01, 0xF7, 0x02, 0x00, 0x01, 0xEF, 0x01, 0x60, 0x04, 0x00, + 0x01, 0x08, 0x01, 0xFD, 0x02, 0x00, 0x01, 0x7F, 0x01, 0xFA, 0x03, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x20, 0x01, 0x08, 0x01, 0xFE, 0x06, 0x00, + 0x01, 0xEF, 0x01, 0xA0, 0x01, 0x00, 0x01, 0x5A, 0x01, 0xA6, 0x03, 0x00, + 0x01, 0x09, 0x01, 0xAA, 0x01, 0x60, 0x01, 0x4F, 0x01, 0xF4, 0x06, 0x00, + 0x01, 0x3F, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x03, 0x01, 0xFF, 0x01, 0x80, + 0x06, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0x90, 0x07, 0x00, 0x01, 0x4F, + 0x01, 0xFB, 0x08, 0x00, 0x01, 0x6F, 0x01, 0xFC, 0x01, 0x30, 0x05, 0x00, + 0x01, 0x19, 0x01, 0xFF, 0x01, 0xA0, 0x08, 0x00, 0x01, 0x04, 0x01, 0xEF, + 0x01, 0xFA, 0x01, 0x40, 0x03, 0x00, 0x01, 0x38, 0x01, 0xEF, 0x01, 0xF8, + 0x0A, 0x00, 0x01, 0x19, 0x02, 0xFF, 0x01, 0xCB, 0x01, 0x9A, 0x01, 0xCE, + 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x30, 0x0B, 0x00, 0x01, 0x28, 0x01, 0xDF, + 0x03, 0xFF, 0x01, 0xEA, 0x01, 0x40, 0x0D, 0x00, 0x01, 0x02, 0x01, 0x45, + 0x01, 0x76, 0x01, 0x43, 0xC5, 0x00, #endif // TOUCH_UI_UTF8_COPYRIGHT #if ENABLED(TOUCH_UI_UTF8_MATHEMATICS) /* 32 PLUS_MINUS_SIGN */ - 0xeb, 0x00, 0x01, 0x02, 0x01, 0x77, 0x01, 0x70, 0x10, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf0, 0x0b, 0x00, 0x01, 0x6a, 0x04, 0xaa, 0x01, 0xac, - 0x01, 0xff, 0x01, 0xfa, 0x05, 0xaa, 0x01, 0x20, 0x05, 0x00, 0x01, 0x9f, - 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, - 0x05, 0x00, 0x01, 0x7c, 0x04, 0xcc, 0x01, 0xcd, 0x01, 0xff, 0x01, 0xfc, - 0x05, 0xcc, 0x01, 0x30, 0x0a, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, - 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf0, - 0x10, 0x00, 0x01, 0x03, 0x01, 0x99, 0x01, 0x90, 0x44, 0x00, 0x01, 0x9f, - 0x0c, 0xff, 0x01, 0x30, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, - 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x47, - 0x0c, 0x77, 0x01, 0x10, 0xc1, 0x00, + 0xEB, 0x00, 0x01, 0x02, 0x01, 0x77, 0x01, 0x70, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF0, 0x0B, 0x00, 0x01, 0x6A, 0x04, 0xAA, 0x01, 0xAC, + 0x01, 0xFF, 0x01, 0xFA, 0x05, 0xAA, 0x01, 0x20, 0x05, 0x00, 0x01, 0x9F, + 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x7C, 0x04, 0xCC, 0x01, 0xCD, 0x01, 0xFF, 0x01, 0xFC, + 0x05, 0xCC, 0x01, 0x30, 0x0A, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, + 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF0, + 0x10, 0x00, 0x01, 0x03, 0x01, 0x99, 0x01, 0x90, 0x44, 0x00, 0x01, 0x9F, + 0x0C, 0xFF, 0x01, 0x30, 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x47, + 0x0C, 0x77, 0x01, 0x10, 0xC1, 0x00, /* 33 MULTIPLICATION_SIGN */ - 0xff, 0x00, 0x0e, 0x00, 0x01, 0x09, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x03, - 0x01, 0xe4, 0x08, 0x00, 0x01, 0x9f, 0x01, 0xfb, 0x07, 0x00, 0x01, 0x3e, - 0x01, 0xff, 0x01, 0x40, 0x06, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb0, 0x05, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xa0, - 0x07, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x3e, - 0x01, 0xff, 0x01, 0xfb, 0x08, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb0, 0x03, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, - 0x09, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x03, 0x00, 0x01, 0x3e, - 0x01, 0xff, 0x01, 0xfb, 0x0a, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb0, 0x01, 0x00, 0x01, 0x03, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, - 0x0b, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x3e, - 0x01, 0xff, 0x01, 0xfb, 0x0c, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb3, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0d, 0x00, 0x01, 0x3e, - 0x03, 0xff, 0x01, 0xfb, 0x0e, 0x00, 0x01, 0x03, 0x01, 0xef, 0x02, 0xff, - 0x01, 0xb0, 0x0f, 0x00, 0x01, 0x5f, 0x02, 0xff, 0x01, 0x10, 0x0e, 0x00, - 0x01, 0x03, 0x01, 0xef, 0x02, 0xff, 0x01, 0xb0, 0x0e, 0x00, 0x01, 0x3e, - 0x03, 0xff, 0x01, 0xfb, 0x0d, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xb3, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, - 0x0b, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x01, 0x00, - 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x0a, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0xfb, 0x03, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, - 0x09, 0x00, 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x03, 0x00, - 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x08, 0x00, 0x01, 0x2e, - 0x01, 0xff, 0x01, 0xfb, 0x05, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0xfb, - 0x07, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x01, 0xb0, 0x05, 0x00, - 0x01, 0x02, 0x01, 0xef, 0x01, 0xff, 0x01, 0xa0, 0x07, 0x00, 0x01, 0x8f, - 0x01, 0xfb, 0x07, 0x00, 0x01, 0x2e, 0x01, 0xff, 0x01, 0x40, 0x07, 0x00, - 0x01, 0x09, 0x01, 0xb0, 0x07, 0x00, 0x01, 0x02, 0x01, 0xe4, 0xe9, 0x00, + 0xFF, 0x00, 0x0E, 0x00, 0x01, 0x09, 0x01, 0xB0, 0x07, 0x00, 0x01, 0x03, + 0x01, 0xE4, 0x08, 0x00, 0x01, 0x9F, 0x01, 0xFB, 0x07, 0x00, 0x01, 0x3E, + 0x01, 0xFF, 0x01, 0x40, 0x06, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB0, 0x05, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xA0, + 0x07, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, 0x05, 0x00, 0x01, 0x3E, + 0x01, 0xFF, 0x01, 0xFB, 0x08, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB0, 0x03, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, + 0x09, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, 0x03, 0x00, 0x01, 0x3E, + 0x01, 0xFF, 0x01, 0xFB, 0x0A, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB0, 0x01, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, + 0x0B, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, 0x01, 0x00, 0x01, 0x3E, + 0x01, 0xFF, 0x01, 0xFB, 0x0C, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB3, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x0D, 0x00, 0x01, 0x3E, + 0x03, 0xFF, 0x01, 0xFB, 0x0E, 0x00, 0x01, 0x03, 0x01, 0xEF, 0x02, 0xFF, + 0x01, 0xB0, 0x0F, 0x00, 0x01, 0x5F, 0x02, 0xFF, 0x01, 0x10, 0x0E, 0x00, + 0x01, 0x03, 0x01, 0xEF, 0x02, 0xFF, 0x01, 0xB0, 0x0E, 0x00, 0x01, 0x3E, + 0x03, 0xFF, 0x01, 0xFB, 0x0D, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xB3, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x0C, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0xFB, 0x01, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, + 0x0B, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x01, 0x00, + 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x0A, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0xFB, 0x03, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, + 0x09, 0x00, 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x03, 0x00, + 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x08, 0x00, 0x01, 0x2E, + 0x01, 0xFF, 0x01, 0xFB, 0x05, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0xFB, + 0x07, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xB0, 0x05, 0x00, + 0x01, 0x02, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xA0, 0x07, 0x00, 0x01, 0x8F, + 0x01, 0xFB, 0x07, 0x00, 0x01, 0x2E, 0x01, 0xFF, 0x01, 0x40, 0x07, 0x00, + 0x01, 0x09, 0x01, 0xB0, 0x07, 0x00, 0x01, 0x02, 0x01, 0xE4, 0xE9, 0x00, /* 34 DIVISION_SIGN */ - 0xff, 0x00, 0x25, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x76, 0x10, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, - 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, - 0x01, 0x76, 0x31, 0x00, 0x01, 0x24, 0x0c, 0x44, 0x01, 0x10, 0x05, 0x00, - 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, - 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, - 0x01, 0x12, 0x0c, 0x22, 0x31, 0x00, 0x01, 0x18, 0x01, 0x88, 0x01, 0x87, - 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, - 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0xfc, 0x10, 0x00, 0x01, 0x16, - 0x01, 0x66, 0x01, 0x65, 0xff, 0x00, 0x01, 0x00, + 0xFF, 0x00, 0x25, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x76, 0x10, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, + 0x01, 0xFC, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, + 0x01, 0x76, 0x31, 0x00, 0x01, 0x24, 0x0C, 0x44, 0x01, 0x10, 0x05, 0x00, + 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, + 0x01, 0x40, 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, + 0x01, 0x12, 0x0C, 0x22, 0x31, 0x00, 0x01, 0x18, 0x01, 0x88, 0x01, 0x87, + 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, + 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0xFC, 0x10, 0x00, 0x01, 0x16, + 0x01, 0x66, 0x01, 0x65, 0xFF, 0x00, 0x01, 0x00, #endif // TOUCH_UI_UTF8_MATHEMATICS #if ENABLED(TOUCH_UI_UTF8_FRACTIONS) /* 35 FRACTION_QUARTER */ 0x92, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x40, 0x04, 0x00, 0x01, 0x04, - 0x01, 0x79, 0x01, 0xce, 0x01, 0xee, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0x90, 0x04, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, - 0x07, 0x00, 0x01, 0x3f, 0x01, 0xfe, 0x01, 0x10, 0x04, 0x00, 0x01, 0x3f, - 0x01, 0xdb, 0x01, 0x8d, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0xdf, - 0x01, 0xf5, 0x05, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0x1f, 0x01, 0xff, - 0x01, 0x20, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, - 0x01, 0xaf, 0x01, 0xf8, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x05, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe1, 0x08, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, - 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x7f, - 0x01, 0xfc, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, - 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x20, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x4f, 0x01, 0xfe, - 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0xdf, - 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, 0x04, 0x00, 0x01, 0x37, 0x01, 0x77, - 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5d, 0x01, 0xff, 0x01, 0x75, - 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0x20, - 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0xff, 0x02, 0x00, 0x01, 0x0d, - 0x05, 0xff, 0x01, 0x40, 0x01, 0x00, 0x01, 0xaf, 0x01, 0xf8, 0x04, 0x00, - 0x01, 0x0c, 0x02, 0xff, 0x02, 0x00, 0x01, 0x0c, 0x05, 0xee, 0x01, 0x40, - 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, 0x04, 0x00, 0x01, 0x8f, 0x01, 0xbe, - 0x01, 0xff, 0x09, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x03, 0x00, - 0x01, 0x04, 0x01, 0xfe, 0x01, 0x1e, 0x01, 0xff, 0x09, 0x00, 0x01, 0x7f, - 0x01, 0xfc, 0x04, 0x00, 0x01, 0x1e, 0x01, 0xf4, 0x01, 0x0e, 0x01, 0xff, - 0x08, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xbf, - 0x01, 0x80, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xfc, 0x01, 0x00, 0x01, 0x0e, - 0x01, 0xff, 0x08, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x04, 0x00, 0x01, 0x4f, - 0x01, 0xe1, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0xdf, - 0x01, 0xf5, 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0x40, 0x01, 0x00, - 0x01, 0x0e, 0x01, 0xff, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, - 0x03, 0x00, 0x01, 0x0b, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0e, 0x01, 0xff, - 0x07, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3f, - 0x01, 0xf8, 0x02, 0x88, 0x01, 0x8f, 0x01, 0xff, 0x01, 0x88, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x4f, 0x06, 0xff, 0x05, 0x00, - 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, 0x04, 0x00, 0x01, 0x2a, 0x03, 0xaa, - 0x01, 0xaf, 0x01, 0xff, 0x01, 0xaa, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0x50, 0x08, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x06, 0x00, 0x01, 0x8f, - 0x01, 0xfb, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, 0x01, 0x02, - 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, 0x01, 0x05, 0x01, 0x66, - 0xbf, 0x00, + 0x01, 0x79, 0x01, 0xCE, 0x01, 0xEE, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0x90, 0x04, 0x00, 0x01, 0x3F, 0x03, 0xFF, 0x01, 0x20, + 0x07, 0x00, 0x01, 0x3F, 0x01, 0xFE, 0x01, 0x10, 0x04, 0x00, 0x01, 0x3F, + 0x01, 0xDB, 0x01, 0x8D, 0x01, 0xFF, 0x01, 0x20, 0x07, 0x00, 0x01, 0xDF, + 0x01, 0xF5, 0x05, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xC0, 0x07, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x06, 0x00, 0x01, 0x1F, 0x01, 0xFF, + 0x01, 0x20, 0x07, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x06, 0x00, + 0x01, 0xAF, 0x01, 0xF8, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x05, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xE1, 0x08, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x05, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, + 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x05, 0x00, 0x01, 0x7F, + 0x01, 0xFC, 0x09, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x04, 0x00, + 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF2, 0x09, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x20, 0x04, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0x80, 0x09, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x4F, 0x01, 0xFE, + 0x0A, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0xDF, + 0x01, 0xF5, 0x0A, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xB0, 0x04, 0x00, 0x01, 0x37, 0x01, 0x77, + 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5D, 0x01, 0xFF, 0x01, 0x75, + 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0x20, + 0x03, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0xFF, 0x02, 0x00, 0x01, 0x0D, + 0x05, 0xFF, 0x01, 0x40, 0x01, 0x00, 0x01, 0xAF, 0x01, 0xF8, 0x04, 0x00, + 0x01, 0x0C, 0x02, 0xFF, 0x02, 0x00, 0x01, 0x0C, 0x05, 0xEE, 0x01, 0x40, + 0x01, 0x04, 0x01, 0xFF, 0x01, 0xE0, 0x04, 0x00, 0x01, 0x8F, 0x01, 0xBE, + 0x01, 0xFF, 0x09, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, 0x03, 0x00, + 0x01, 0x04, 0x01, 0xFE, 0x01, 0x1E, 0x01, 0xFF, 0x09, 0x00, 0x01, 0x7F, + 0x01, 0xFC, 0x04, 0x00, 0x01, 0x1E, 0x01, 0xF4, 0x01, 0x0E, 0x01, 0xFF, + 0x08, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF2, 0x04, 0x00, 0x01, 0xBF, + 0x01, 0x80, 0x01, 0x0E, 0x01, 0xFF, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xFC, 0x01, 0x00, 0x01, 0x0E, + 0x01, 0xFF, 0x08, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x04, 0x00, 0x01, 0x4F, + 0x01, 0xE1, 0x01, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x08, 0x00, 0x01, 0xDF, + 0x01, 0xF5, 0x03, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x0E, 0x01, 0xFF, 0x07, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xB0, + 0x03, 0x00, 0x01, 0x0B, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x0E, 0x01, 0xFF, + 0x07, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3F, + 0x01, 0xF8, 0x02, 0x88, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0x88, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xF8, 0x04, 0x00, 0x01, 0x4F, 0x06, 0xFF, 0x05, 0x00, + 0x01, 0x04, 0x01, 0xFF, 0x01, 0xE0, 0x04, 0x00, 0x01, 0x2A, 0x03, 0xAA, + 0x01, 0xAF, 0x01, 0xFF, 0x01, 0xAA, 0x05, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0x50, 0x08, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x06, 0x00, 0x01, 0x8F, + 0x01, 0xFB, 0x09, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x05, 0x00, 0x01, 0x02, + 0x01, 0xFF, 0x01, 0xF2, 0x09, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x05, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x80, 0x09, 0x00, 0x01, 0x05, 0x01, 0x66, + 0xBF, 0x00, /* 36 FRACTION_HALF */ 0x92, 0x00, 0x01, 0x01, 0x01, 0x44, 0x01, 0x40, 0x04, 0x00, 0x01, 0x04, - 0x01, 0x7a, 0x01, 0xce, 0x01, 0xee, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0x80, 0x04, 0x00, 0x01, 0x3f, 0x03, 0xff, 0x01, 0x20, - 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x3f, 0x01, 0xda, - 0x01, 0x7d, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0xdf, 0x01, 0xf5, - 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, - 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x06, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x06, 0x00, 0x01, 0xaf, 0x01, 0xf8, 0x08, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x04, 0x01, 0xff, - 0x01, 0xe0, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, - 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x20, 0x05, 0x00, 0x01, 0x7f, 0x01, 0xfc, 0x09, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf2, - 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0x80, 0x09, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0x20, - 0x04, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x0a, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x20, 0x04, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x0a, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xb0, - 0x01, 0x00, 0x01, 0x04, 0x01, 0x8a, 0x01, 0xcc, 0x01, 0xa7, 0x01, 0x10, - 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5d, 0x01, 0xff, 0x01, 0x75, - 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, - 0x01, 0x06, 0x04, 0xff, 0x01, 0xf7, 0x02, 0x00, 0x01, 0x0d, 0x05, 0xff, - 0x01, 0x40, 0x01, 0x00, 0x01, 0xbf, 0x01, 0xf8, 0x01, 0x00, 0x01, 0x08, - 0x01, 0xff, 0x01, 0xa7, 0x01, 0x68, 0x01, 0xdf, 0x01, 0xff, 0x01, 0x70, - 0x01, 0x00, 0x01, 0x0b, 0x05, 0xdd, 0x01, 0x40, 0x01, 0x04, 0x01, 0xff, - 0x01, 0xe0, 0x01, 0x00, 0x01, 0x05, 0x01, 0x60, 0x02, 0x00, 0x01, 0x08, - 0x01, 0xff, 0x01, 0xf1, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, - 0x06, 0x00, 0x01, 0xef, 0x01, 0xf4, 0x08, 0x00, 0x01, 0x7f, 0x01, 0xfb, - 0x07, 0x00, 0x01, 0xcf, 0x01, 0xf3, 0x07, 0x00, 0x01, 0x02, 0x01, 0xff, - 0x01, 0xf2, 0x06, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xe0, 0x07, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x06, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0x50, 0x07, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x07, 0x00, 0x01, 0xaf, - 0x01, 0xfa, 0x08, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x06, 0x00, 0x01, 0x09, - 0x01, 0xff, 0x01, 0xc0, 0x07, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, - 0x06, 0x00, 0x01, 0x8f, 0x01, 0xfd, 0x01, 0x10, 0x07, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0x20, 0x05, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xc1, - 0x08, 0x00, 0x01, 0xbf, 0x01, 0xf8, 0x06, 0x00, 0x01, 0xaf, 0x01, 0xfb, - 0x08, 0x00, 0x01, 0x05, 0x01, 0xff, 0x01, 0xe0, 0x05, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0xa0, 0x08, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, - 0x04, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xf9, 0x09, 0x00, 0x01, 0x8f, - 0x01, 0xfb, 0x05, 0x00, 0x01, 0x09, 0x01, 0xff, 0x01, 0xfe, 0x03, 0xee, - 0x01, 0xe6, 0x04, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf2, 0x05, 0x00, - 0x01, 0x0a, 0x05, 0xff, 0x01, 0xf7, 0x04, 0x00, 0x01, 0x0a, 0x01, 0xee, - 0x01, 0x70, 0x05, 0x00, 0x01, 0x04, 0x05, 0x66, 0x01, 0x62, 0xbe, 0x00, + 0x01, 0x7A, 0x01, 0xCE, 0x01, 0xEE, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0x80, 0x04, 0x00, 0x01, 0x3F, 0x03, 0xFF, 0x01, 0x20, + 0x07, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x05, 0x00, 0x01, 0x3F, 0x01, 0xDA, + 0x01, 0x7D, 0x01, 0xFF, 0x01, 0x20, 0x07, 0x00, 0x01, 0xDF, 0x01, 0xF5, + 0x07, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x06, 0x00, 0x01, 0x07, + 0x01, 0xFF, 0x01, 0xC0, 0x07, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x06, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x01, 0x20, 0x07, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x06, 0x00, 0x01, 0xAF, 0x01, 0xF8, 0x08, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x05, 0x00, 0x01, 0x04, 0x01, 0xFF, + 0x01, 0xE0, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x05, 0x00, + 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x20, 0x05, 0x00, 0x01, 0x7F, 0x01, 0xFC, 0x09, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF2, + 0x09, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, 0x04, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0x80, 0x09, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x20, + 0x04, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x0A, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x20, 0x04, 0x00, 0x01, 0xDF, 0x01, 0xF5, 0x0A, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0x20, 0x03, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xB0, + 0x01, 0x00, 0x01, 0x04, 0x01, 0x8A, 0x01, 0xCC, 0x01, 0xA7, 0x01, 0x10, + 0x02, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x5D, 0x01, 0xFF, 0x01, 0x75, + 0x01, 0x55, 0x01, 0x10, 0x01, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x20, + 0x01, 0x06, 0x04, 0xFF, 0x01, 0xF7, 0x02, 0x00, 0x01, 0x0D, 0x05, 0xFF, + 0x01, 0x40, 0x01, 0x00, 0x01, 0xBF, 0x01, 0xF8, 0x01, 0x00, 0x01, 0x08, + 0x01, 0xFF, 0x01, 0xA7, 0x01, 0x68, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0x70, + 0x01, 0x00, 0x01, 0x0B, 0x05, 0xDD, 0x01, 0x40, 0x01, 0x04, 0x01, 0xFF, + 0x01, 0xE0, 0x01, 0x00, 0x01, 0x05, 0x01, 0x60, 0x02, 0x00, 0x01, 0x08, + 0x01, 0xFF, 0x01, 0xF1, 0x08, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, + 0x06, 0x00, 0x01, 0xEF, 0x01, 0xF4, 0x08, 0x00, 0x01, 0x7F, 0x01, 0xFB, + 0x07, 0x00, 0x01, 0xCF, 0x01, 0xF3, 0x07, 0x00, 0x01, 0x02, 0x01, 0xFF, + 0x01, 0xF2, 0x06, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xE0, 0x07, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x80, 0x06, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0x50, 0x07, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x07, 0x00, 0x01, 0xAF, + 0x01, 0xFA, 0x08, 0x00, 0x01, 0xDF, 0x01, 0xF5, 0x06, 0x00, 0x01, 0x09, + 0x01, 0xFF, 0x01, 0xC0, 0x07, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xB0, + 0x06, 0x00, 0x01, 0x8F, 0x01, 0xFD, 0x01, 0x10, 0x07, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0x20, 0x05, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xC1, + 0x08, 0x00, 0x01, 0xBF, 0x01, 0xF8, 0x06, 0x00, 0x01, 0xAF, 0x01, 0xFB, + 0x08, 0x00, 0x01, 0x05, 0x01, 0xFF, 0x01, 0xE0, 0x05, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0xA0, 0x08, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, + 0x04, 0x00, 0x01, 0x01, 0x01, 0xCF, 0x01, 0xF9, 0x09, 0x00, 0x01, 0x8F, + 0x01, 0xFB, 0x05, 0x00, 0x01, 0x09, 0x01, 0xFF, 0x01, 0xFE, 0x03, 0xEE, + 0x01, 0xE6, 0x04, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xF2, 0x05, 0x00, + 0x01, 0x0A, 0x05, 0xFF, 0x01, 0xF7, 0x04, 0x00, 0x01, 0x0A, 0x01, 0xEE, + 0x01, 0x70, 0x05, 0x00, 0x01, 0x04, 0x05, 0x66, 0x01, 0x62, 0xBE, 0x00, /* 37 FRACTION_THREE_FOURTHS */ 0x87, 0x00, 0x01, 0x02, 0x01, 0x34, 0x01, 0x42, 0x08, 0x00, 0x01, 0x01, - 0x01, 0x55, 0x01, 0x50, 0x04, 0x00, 0x01, 0x4c, 0x03, 0xff, 0x01, 0xe9, - 0x01, 0x10, 0x06, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0x80, 0x04, 0x00, - 0x01, 0x7f, 0x01, 0xff, 0x01, 0xfe, 0x02, 0xff, 0x01, 0xe2, 0x06, 0x00, - 0x01, 0x4f, 0x01, 0xfe, 0x05, 0x00, 0x01, 0x47, 0x01, 0x30, 0x01, 0x00, - 0x01, 0x05, 0x01, 0xef, 0x01, 0xfb, 0x06, 0x00, 0x01, 0xdf, 0x01, 0xf5, - 0x09, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x05, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xb0, 0x09, 0x00, 0x01, 0x1f, 0x01, 0xff, 0x05, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0x20, 0x09, 0x00, 0x01, 0x6f, 0x01, 0xfb, 0x05, 0x00, - 0x01, 0xbf, 0x01, 0xf8, 0x07, 0x00, 0x01, 0x03, 0x01, 0x44, 0x01, 0x5a, - 0x01, 0xff, 0x01, 0xd1, 0x04, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, - 0x07, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x01, 0xe7, 0x05, 0x00, 0x01, 0x0d, - 0x01, 0xff, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0b, 0x01, 0xef, 0x01, 0xff, - 0x01, 0xfe, 0x01, 0x70, 0x04, 0x00, 0x01, 0x7f, 0x01, 0xfb, 0x0a, 0x00, - 0x01, 0x16, 0x01, 0xdf, 0x01, 0xf9, 0x03, 0x00, 0x01, 0x02, 0x01, 0xff, - 0x01, 0xf2, 0x0b, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0x20, 0x02, 0x00, - 0x01, 0x0b, 0x01, 0xff, 0x01, 0x80, 0x0b, 0x00, 0x01, 0x0a, 0x01, 0xff, - 0x01, 0x60, 0x02, 0x00, 0x01, 0x4f, 0x01, 0xfe, 0x0c, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0x60, 0x02, 0x00, 0x01, 0xdf, 0x01, 0xf5, 0x0c, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0x30, 0x01, 0x00, 0x01, 0x08, 0x01, 0xff, - 0x01, 0xb0, 0x04, 0x00, 0x01, 0x47, 0x01, 0x77, 0x02, 0x00, 0x01, 0xd7, - 0x01, 0x42, 0x01, 0x01, 0x01, 0x38, 0x01, 0xef, 0x01, 0xfc, 0x02, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x02, 0x02, 0xff, - 0x02, 0x00, 0x05, 0xff, 0x01, 0xc1, 0x02, 0x00, 0x01, 0xbf, 0x01, 0xf8, - 0x04, 0x00, 0x01, 0x0c, 0x02, 0xff, 0x02, 0x00, 0x01, 0x7b, 0x01, 0xef, - 0x02, 0xff, 0x01, 0xb6, 0x02, 0x00, 0x01, 0x04, 0x01, 0xff, 0x01, 0xe0, - 0x04, 0x00, 0x01, 0x9f, 0x01, 0xbe, 0x01, 0xff, 0x04, 0x00, 0x01, 0x22, - 0x01, 0x10, 0x03, 0x00, 0x01, 0x0d, 0x01, 0xff, 0x01, 0x50, 0x03, 0x00, - 0x01, 0x04, 0x01, 0xfe, 0x01, 0x1e, 0x01, 0xff, 0x09, 0x00, 0x01, 0x8f, - 0x01, 0xfb, 0x04, 0x00, 0x01, 0x1e, 0x01, 0xf3, 0x01, 0x0e, 0x01, 0xff, - 0x08, 0x00, 0x01, 0x02, 0x01, 0xff, 0x01, 0xf2, 0x04, 0x00, 0x01, 0xcf, - 0x01, 0x70, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0x0b, 0x01, 0xff, - 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xfb, 0x01, 0x00, 0x01, 0x0e, - 0x01, 0xff, 0x08, 0x00, 0x01, 0x5f, 0x01, 0xfe, 0x04, 0x00, 0x01, 0x4f, - 0x01, 0xe1, 0x01, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x08, 0x00, 0x01, 0xdf, - 0x01, 0xf4, 0x03, 0x00, 0x01, 0x01, 0x01, 0xef, 0x01, 0x40, 0x01, 0x00, - 0x01, 0x0e, 0x01, 0xff, 0x07, 0x00, 0x01, 0x08, 0x01, 0xff, 0x01, 0xb0, - 0x03, 0x00, 0x01, 0x0b, 0x01, 0xf8, 0x02, 0x00, 0x01, 0x0e, 0x01, 0xff, - 0x07, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3f, - 0x01, 0xf9, 0x02, 0x99, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x99, 0x06, 0x00, - 0x01, 0xbf, 0x01, 0xf8, 0x04, 0x00, 0x01, 0x4f, 0x06, 0xff, 0x05, 0x00, - 0x01, 0x05, 0x01, 0xff, 0x01, 0xd0, 0x04, 0x00, 0x01, 0x29, 0x03, 0x99, - 0x01, 0x9f, 0x01, 0xff, 0x01, 0x99, 0x05, 0x00, 0x01, 0x0d, 0x01, 0xff, - 0x01, 0x40, 0x08, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x06, 0x00, 0x01, 0x8f, - 0x01, 0xfb, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, 0x01, 0x02, - 0x01, 0xff, 0x01, 0xf2, 0x09, 0x00, 0x01, 0x0e, 0x01, 0xff, 0x05, 0x00, - 0x01, 0x0a, 0x01, 0xee, 0x01, 0x70, 0x09, 0x00, 0x01, 0x04, 0x01, 0x55, - 0xbf, 0x00, + 0x01, 0x55, 0x01, 0x50, 0x04, 0x00, 0x01, 0x4C, 0x03, 0xFF, 0x01, 0xE9, + 0x01, 0x10, 0x06, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0x80, 0x04, 0x00, + 0x01, 0x7F, 0x01, 0xFF, 0x01, 0xFE, 0x02, 0xFF, 0x01, 0xE2, 0x06, 0x00, + 0x01, 0x4F, 0x01, 0xFE, 0x05, 0x00, 0x01, 0x47, 0x01, 0x30, 0x01, 0x00, + 0x01, 0x05, 0x01, 0xEF, 0x01, 0xFB, 0x06, 0x00, 0x01, 0xDF, 0x01, 0xF5, + 0x09, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x05, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xB0, 0x09, 0x00, 0x01, 0x1F, 0x01, 0xFF, 0x05, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0x20, 0x09, 0x00, 0x01, 0x6F, 0x01, 0xFB, 0x05, 0x00, + 0x01, 0xBF, 0x01, 0xF8, 0x07, 0x00, 0x01, 0x03, 0x01, 0x44, 0x01, 0x5A, + 0x01, 0xFF, 0x01, 0xD1, 0x04, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xE0, + 0x07, 0x00, 0x01, 0x0C, 0x02, 0xFF, 0x01, 0xE7, 0x05, 0x00, 0x01, 0x0D, + 0x01, 0xFF, 0x01, 0x50, 0x07, 0x00, 0x01, 0x0B, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0xFE, 0x01, 0x70, 0x04, 0x00, 0x01, 0x7F, 0x01, 0xFB, 0x0A, 0x00, + 0x01, 0x16, 0x01, 0xDF, 0x01, 0xF9, 0x03, 0x00, 0x01, 0x02, 0x01, 0xFF, + 0x01, 0xF2, 0x0B, 0x00, 0x01, 0x1E, 0x01, 0xFF, 0x01, 0x20, 0x02, 0x00, + 0x01, 0x0B, 0x01, 0xFF, 0x01, 0x80, 0x0B, 0x00, 0x01, 0x0A, 0x01, 0xFF, + 0x01, 0x60, 0x02, 0x00, 0x01, 0x4F, 0x01, 0xFE, 0x0C, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0x60, 0x02, 0x00, 0x01, 0xDF, 0x01, 0xF5, 0x0C, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x30, 0x01, 0x00, 0x01, 0x08, 0x01, 0xFF, + 0x01, 0xB0, 0x04, 0x00, 0x01, 0x47, 0x01, 0x77, 0x02, 0x00, 0x01, 0xD7, + 0x01, 0x42, 0x01, 0x01, 0x01, 0x38, 0x01, 0xEF, 0x01, 0xFC, 0x02, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x20, 0x03, 0x00, 0x01, 0x02, 0x02, 0xFF, + 0x02, 0x00, 0x05, 0xFF, 0x01, 0xC1, 0x02, 0x00, 0x01, 0xBF, 0x01, 0xF8, + 0x04, 0x00, 0x01, 0x0C, 0x02, 0xFF, 0x02, 0x00, 0x01, 0x7B, 0x01, 0xEF, + 0x02, 0xFF, 0x01, 0xB6, 0x02, 0x00, 0x01, 0x04, 0x01, 0xFF, 0x01, 0xE0, + 0x04, 0x00, 0x01, 0x9F, 0x01, 0xBE, 0x01, 0xFF, 0x04, 0x00, 0x01, 0x22, + 0x01, 0x10, 0x03, 0x00, 0x01, 0x0D, 0x01, 0xFF, 0x01, 0x50, 0x03, 0x00, + 0x01, 0x04, 0x01, 0xFE, 0x01, 0x1E, 0x01, 0xFF, 0x09, 0x00, 0x01, 0x8F, + 0x01, 0xFB, 0x04, 0x00, 0x01, 0x1E, 0x01, 0xF3, 0x01, 0x0E, 0x01, 0xFF, + 0x08, 0x00, 0x01, 0x02, 0x01, 0xFF, 0x01, 0xF2, 0x04, 0x00, 0x01, 0xCF, + 0x01, 0x70, 0x01, 0x0E, 0x01, 0xFF, 0x08, 0x00, 0x01, 0x0B, 0x01, 0xFF, + 0x01, 0x80, 0x03, 0x00, 0x01, 0x08, 0x01, 0xFB, 0x01, 0x00, 0x01, 0x0E, + 0x01, 0xFF, 0x08, 0x00, 0x01, 0x5F, 0x01, 0xFE, 0x04, 0x00, 0x01, 0x4F, + 0x01, 0xE1, 0x01, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x08, 0x00, 0x01, 0xDF, + 0x01, 0xF4, 0x03, 0x00, 0x01, 0x01, 0x01, 0xEF, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x0E, 0x01, 0xFF, 0x07, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0xB0, + 0x03, 0x00, 0x01, 0x0B, 0x01, 0xF8, 0x02, 0x00, 0x01, 0x0E, 0x01, 0xFF, + 0x07, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x20, 0x03, 0x00, 0x01, 0x3F, + 0x01, 0xF9, 0x02, 0x99, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x99, 0x06, 0x00, + 0x01, 0xBF, 0x01, 0xF8, 0x04, 0x00, 0x01, 0x4F, 0x06, 0xFF, 0x05, 0x00, + 0x01, 0x05, 0x01, 0xFF, 0x01, 0xD0, 0x04, 0x00, 0x01, 0x29, 0x03, 0x99, + 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x99, 0x05, 0x00, 0x01, 0x0D, 0x01, 0xFF, + 0x01, 0x40, 0x08, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x06, 0x00, 0x01, 0x8F, + 0x01, 0xFB, 0x09, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x05, 0x00, 0x01, 0x02, + 0x01, 0xFF, 0x01, 0xF2, 0x09, 0x00, 0x01, 0x0E, 0x01, 0xFF, 0x05, 0x00, + 0x01, 0x0A, 0x01, 0xEE, 0x01, 0x70, 0x09, 0x00, 0x01, 0x04, 0x01, 0x55, + 0xBF, 0x00, #endif // TOUCH_UI_UTF8_FRACTIONS #if ENABLED(TOUCH_UI_UTF8_SYMBOLS) /* 38 MICRON_SIGN */ - 0xff, 0x00, 0x1f, 0x00, 0x01, 0x02, 0x01, 0x44, 0x01, 0x40, 0x05, 0x00, - 0x01, 0x14, 0x01, 0x44, 0x01, 0x10, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, - 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x05, 0x00, 0x01, 0x4f, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf4, 0x05, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf6, 0x05, 0x00, 0x01, 0x9f, 0x01, 0xff, 0x01, 0x70, 0x08, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xfa, 0x05, 0x00, 0x01, 0xef, 0x01, 0xff, - 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xff, 0x01, 0x20, 0x03, 0x00, - 0x01, 0x07, 0x02, 0xff, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xff, - 0x01, 0xd2, 0x03, 0x00, 0x01, 0x6f, 0x02, 0xff, 0x01, 0xa0, 0x08, 0x00, - 0x01, 0x07, 0x03, 0xff, 0x01, 0xa6, 0x01, 0x55, 0x01, 0x8d, 0x03, 0xff, - 0x01, 0xf9, 0x01, 0xa4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf7, - 0x05, 0xff, 0x01, 0x5d, 0x02, 0xff, 0x01, 0xf4, 0x07, 0x00, 0x01, 0x07, - 0x01, 0xff, 0x01, 0xf3, 0x01, 0x5f, 0x03, 0xff, 0x01, 0xf5, 0x01, 0x06, - 0x02, 0xff, 0x01, 0xf4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, - 0x01, 0x01, 0x01, 0x7c, 0x01, 0xdd, 0x01, 0xc7, 0x01, 0x10, 0x01, 0x00, - 0x01, 0x6c, 0x01, 0xdb, 0x01, 0x50, 0x07, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, - 0x01, 0x07, 0x01, 0xff, 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xff, - 0x01, 0xf3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xee, 0x01, 0xe3, 0x35, 0x00, + 0xFF, 0x00, 0x1F, 0x00, 0x01, 0x02, 0x01, 0x44, 0x01, 0x40, 0x05, 0x00, + 0x01, 0x14, 0x01, 0x44, 0x01, 0x10, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, + 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x05, 0x00, 0x01, 0x4F, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF4, 0x05, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF6, 0x05, 0x00, 0x01, 0x9F, 0x01, 0xFF, 0x01, 0x70, 0x08, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xFA, 0x05, 0x00, 0x01, 0xEF, 0x01, 0xFF, + 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xFF, 0x01, 0x20, 0x03, 0x00, + 0x01, 0x07, 0x02, 0xFF, 0x01, 0x70, 0x08, 0x00, 0x01, 0x07, 0x02, 0xFF, + 0x01, 0xD2, 0x03, 0x00, 0x01, 0x6F, 0x02, 0xFF, 0x01, 0xA0, 0x08, 0x00, + 0x01, 0x07, 0x03, 0xFF, 0x01, 0xA6, 0x01, 0x55, 0x01, 0x8D, 0x03, 0xFF, + 0x01, 0xF9, 0x01, 0xA4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF7, + 0x05, 0xFF, 0x01, 0x5D, 0x02, 0xFF, 0x01, 0xF4, 0x07, 0x00, 0x01, 0x07, + 0x01, 0xFF, 0x01, 0xF3, 0x01, 0x5F, 0x03, 0xFF, 0x01, 0xF5, 0x01, 0x06, + 0x02, 0xFF, 0x01, 0xF4, 0x07, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, + 0x01, 0x01, 0x01, 0x7C, 0x01, 0xDD, 0x01, 0xC7, 0x01, 0x10, 0x01, 0x00, + 0x01, 0x6C, 0x01, 0xDB, 0x01, 0x50, 0x07, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x10, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x10, 0x00, + 0x01, 0x07, 0x01, 0xFF, 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xFF, + 0x01, 0xF3, 0x10, 0x00, 0x01, 0x07, 0x01, 0xEE, 0x01, 0xE3, 0x35, 0x00, /* 39 PILCROW_SIGN */ - 0x9c, 0x00, 0x01, 0x16, 0x01, 0x9b, 0x04, 0xcc, 0x01, 0xca, 0x0b, 0x00, - 0x01, 0x19, 0x06, 0xff, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x03, 0x01, 0xef, - 0x03, 0xff, 0x01, 0xfb, 0x01, 0xaa, 0x01, 0xaf, 0x01, 0xfd, 0x0a, 0x00, - 0x01, 0x2e, 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, - 0x0a, 0x00, 0x01, 0xbf, 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, - 0x01, 0xfd, 0x09, 0x00, 0x01, 0x03, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x08, 0x05, 0xff, 0x01, 0xf2, - 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0b, 0x05, 0xff, - 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, 0x01, 0x0c, - 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x09, 0x00, - 0x01, 0x0b, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, - 0x09, 0x00, 0x01, 0x0a, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, - 0x01, 0xfd, 0x09, 0x00, 0x01, 0x06, 0x05, 0xff, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0xef, 0x04, 0xff, 0x01, 0xf2, - 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x6f, 0x04, 0xff, - 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0a, 0x00, 0x01, 0x08, - 0x04, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, 0x0b, 0x00, - 0x01, 0x5e, 0x03, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, 0x01, 0xfd, - 0x0c, 0x00, 0x01, 0x6b, 0x02, 0xff, 0x01, 0xf2, 0x01, 0x00, 0x01, 0x0f, - 0x01, 0xfd, 0x0d, 0x00, 0x01, 0x01, 0x01, 0xcf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0xbf, 0x01, 0xf2, 0x01, 0x00, - 0x01, 0x0f, 0x01, 0xfd, 0x0e, 0x00, 0x01, 0x34, 0x01, 0x40, 0x01, 0x00, - 0x01, 0x04, 0x01, 0x43, 0x7a, 0x00, + 0x9C, 0x00, 0x01, 0x16, 0x01, 0x9B, 0x04, 0xCC, 0x01, 0xCA, 0x0B, 0x00, + 0x01, 0x19, 0x06, 0xFF, 0x01, 0xFD, 0x0A, 0x00, 0x01, 0x03, 0x01, 0xEF, + 0x03, 0xFF, 0x01, 0xFB, 0x01, 0xAA, 0x01, 0xAF, 0x01, 0xFD, 0x0A, 0x00, + 0x01, 0x2E, 0x04, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, + 0x0A, 0x00, 0x01, 0xBF, 0x04, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, + 0x01, 0xFD, 0x09, 0x00, 0x01, 0x03, 0x05, 0xFF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x09, 0x00, 0x01, 0x08, 0x05, 0xFF, 0x01, 0xF2, + 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x09, 0x00, 0x01, 0x0B, 0x05, 0xFF, + 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x09, 0x00, 0x01, 0x0C, + 0x05, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x09, 0x00, + 0x01, 0x0B, 0x05, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, + 0x09, 0x00, 0x01, 0x0A, 0x05, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, + 0x01, 0xFD, 0x09, 0x00, 0x01, 0x06, 0x05, 0xFF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0A, 0x00, 0x01, 0xEF, 0x04, 0xFF, 0x01, 0xF2, + 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x0A, 0x00, 0x01, 0x6F, 0x04, 0xFF, + 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x0A, 0x00, 0x01, 0x08, + 0x04, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, 0x0B, 0x00, + 0x01, 0x5E, 0x03, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, 0x01, 0xFD, + 0x0C, 0x00, 0x01, 0x6B, 0x02, 0xFF, 0x01, 0xF2, 0x01, 0x00, 0x01, 0x0F, + 0x01, 0xFD, 0x0D, 0x00, 0x01, 0x01, 0x01, 0xCF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0xBF, 0x01, 0xF2, 0x01, 0x00, + 0x01, 0x0F, 0x01, 0xFD, 0x0E, 0x00, 0x01, 0x34, 0x01, 0x40, 0x01, 0x00, + 0x01, 0x04, 0x01, 0x43, 0x7A, 0x00, /* 40 BROKEN_BAR */ - 0xad, 0x00, 0x01, 0x07, 0x01, 0x99, 0x01, 0x60, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x08, 0x01, 0xbb, 0x01, 0x70, 0x6f, 0x00, 0x01, 0x0b, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, - 0x10, 0x00, 0x01, 0x0c, 0x01, 0xff, 0x01, 0xa0, 0x10, 0x00, 0x01, 0x04, + 0xAD, 0x00, 0x01, 0x07, 0x01, 0x99, 0x01, 0x60, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x08, 0x01, 0xBB, 0x01, 0x70, 0x6F, 0x00, 0x01, 0x0B, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, + 0x10, 0x00, 0x01, 0x0C, 0x01, 0xFF, 0x01, 0xA0, 0x10, 0x00, 0x01, 0x04, 0x01, 0x55, 0x01, 0x30, 0x47, 0x00, /* 41 SECTION_SIGN */ - 0x89, 0x00, 0x01, 0x35, 0x01, 0x64, 0x01, 0x31, 0x0e, 0x00, 0x01, 0x01, - 0x01, 0x9e, 0x03, 0xff, 0x01, 0xd9, 0x01, 0x30, 0x0c, 0x00, 0x01, 0x2e, - 0x05, 0xff, 0x01, 0xb0, 0x0c, 0x00, 0x01, 0xef, 0x01, 0xff, 0x01, 0xfb, - 0x01, 0x98, 0x01, 0xae, 0x01, 0xff, 0x01, 0xb0, 0x0b, 0x00, 0x01, 0x07, - 0x01, 0xff, 0x01, 0xfc, 0x01, 0x10, 0x02, 0x00, 0x01, 0x39, 0x01, 0xa0, - 0x0b, 0x00, 0x01, 0x0b, 0x01, 0xff, 0x01, 0xf2, 0x10, 0x00, 0x01, 0x0c, - 0x01, 0xff, 0x01, 0xf0, 0x10, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xf3, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x20, 0x10, 0x00, - 0x01, 0xdf, 0x01, 0xff, 0x01, 0xe4, 0x10, 0x00, 0x01, 0x1d, 0x02, 0xff, - 0x01, 0xa1, 0x0f, 0x00, 0x01, 0x4e, 0x03, 0xff, 0x01, 0x70, 0x0d, 0x00, - 0x01, 0x06, 0x01, 0xff, 0x01, 0xf9, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfd, - 0x01, 0x30, 0x0c, 0x00, 0x01, 0x3f, 0x01, 0xff, 0x01, 0x60, 0x01, 0x07, - 0x02, 0xff, 0x01, 0xf8, 0x0c, 0x00, 0x01, 0xbf, 0x01, 0xf9, 0x02, 0x00, - 0x01, 0x19, 0x02, 0xff, 0x01, 0xc0, 0x0b, 0x00, 0x01, 0xff, 0x01, 0xf3, - 0x03, 0x00, 0x01, 0x4e, 0x01, 0xff, 0x01, 0xfb, 0x0a, 0x00, 0x01, 0x01, - 0x01, 0xff, 0x01, 0xf2, 0x03, 0x00, 0x01, 0x01, 0x01, 0xdf, 0x01, 0xff, - 0x01, 0x40, 0x09, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0xf7, 0x04, 0x00, - 0x01, 0x2f, 0x01, 0xff, 0x01, 0x90, 0x0a, 0x00, 0x01, 0xdf, 0x01, 0xff, - 0x01, 0x20, 0x03, 0x00, 0x01, 0x0a, 0x01, 0xff, 0x01, 0xb0, 0x0a, 0x00, - 0x01, 0x6f, 0x01, 0xff, 0x01, 0xf5, 0x03, 0x00, 0x01, 0x08, 0x01, 0xff, - 0x01, 0xa0, 0x0a, 0x00, 0x01, 0x0a, 0x02, 0xff, 0x01, 0x91, 0x02, 0x00, - 0x01, 0x0c, 0x01, 0xff, 0x01, 0x70, 0x0b, 0x00, 0x01, 0x8f, 0x01, 0xff, - 0x01, 0xfe, 0x01, 0x60, 0x01, 0x00, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x10, - 0x0b, 0x00, 0x01, 0x03, 0x01, 0xdf, 0x01, 0xff, 0x01, 0xfd, 0x01, 0x46, - 0x01, 0xff, 0x01, 0xf5, 0x0d, 0x00, 0x01, 0x07, 0x04, 0xff, 0x01, 0x50, - 0x0e, 0x00, 0x01, 0x2a, 0x02, 0xff, 0x01, 0xf5, 0x10, 0x00, 0x01, 0x4e, - 0x01, 0xff, 0x01, 0xfe, 0x01, 0x20, 0x0f, 0x00, 0x01, 0x01, 0x01, 0xcf, - 0x01, 0xff, 0x01, 0xc0, 0x10, 0x00, 0x01, 0x1e, 0x01, 0xff, 0x01, 0xf3, - 0x10, 0x00, 0x01, 0x06, 0x01, 0xff, 0x01, 0xf6, 0x10, 0x00, 0x01, 0x05, - 0x01, 0xff, 0x01, 0xf6, 0x0b, 0x00, 0x01, 0x01, 0x04, 0x00, 0x01, 0x0a, - 0x01, 0xff, 0x01, 0xf3, 0x0b, 0x00, 0x01, 0x08, 0x01, 0xe8, 0x01, 0x20, - 0x01, 0x00, 0x01, 0x01, 0x01, 0x8f, 0x01, 0xff, 0x01, 0xe0, 0x0b, 0x00, - 0x01, 0x08, 0x01, 0xff, 0x01, 0xfe, 0x01, 0xcb, 0x01, 0xdf, 0x02, 0xff, - 0x01, 0x40, 0x0b, 0x00, 0x01, 0x08, 0x05, 0xff, 0x01, 0xf5, 0x0d, 0x00, - 0x01, 0x49, 0x01, 0xdf, 0x02, 0xff, 0x01, 0xe8, 0x01, 0x20, 0x0f, 0x00, - 0x01, 0x12, 0x01, 0x21, 0x7f, 0x00, + 0x89, 0x00, 0x01, 0x35, 0x01, 0x64, 0x01, 0x31, 0x0E, 0x00, 0x01, 0x01, + 0x01, 0x9E, 0x03, 0xFF, 0x01, 0xD9, 0x01, 0x30, 0x0C, 0x00, 0x01, 0x2E, + 0x05, 0xFF, 0x01, 0xB0, 0x0C, 0x00, 0x01, 0xEF, 0x01, 0xFF, 0x01, 0xFB, + 0x01, 0x98, 0x01, 0xAE, 0x01, 0xFF, 0x01, 0xB0, 0x0B, 0x00, 0x01, 0x07, + 0x01, 0xFF, 0x01, 0xFC, 0x01, 0x10, 0x02, 0x00, 0x01, 0x39, 0x01, 0xA0, + 0x0B, 0x00, 0x01, 0x0B, 0x01, 0xFF, 0x01, 0xF2, 0x10, 0x00, 0x01, 0x0C, + 0x01, 0xFF, 0x01, 0xF0, 0x10, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xF3, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x20, 0x10, 0x00, + 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xE4, 0x10, 0x00, 0x01, 0x1D, 0x02, 0xFF, + 0x01, 0xA1, 0x0F, 0x00, 0x01, 0x4E, 0x03, 0xFF, 0x01, 0x70, 0x0D, 0x00, + 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF9, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xFD, + 0x01, 0x30, 0x0C, 0x00, 0x01, 0x3F, 0x01, 0xFF, 0x01, 0x60, 0x01, 0x07, + 0x02, 0xFF, 0x01, 0xF8, 0x0C, 0x00, 0x01, 0xBF, 0x01, 0xF9, 0x02, 0x00, + 0x01, 0x19, 0x02, 0xFF, 0x01, 0xC0, 0x0B, 0x00, 0x01, 0xFF, 0x01, 0xF3, + 0x03, 0x00, 0x01, 0x4E, 0x01, 0xFF, 0x01, 0xFB, 0x0A, 0x00, 0x01, 0x01, + 0x01, 0xFF, 0x01, 0xF2, 0x03, 0x00, 0x01, 0x01, 0x01, 0xDF, 0x01, 0xFF, + 0x01, 0x40, 0x09, 0x00, 0x01, 0x01, 0x01, 0xFF, 0x01, 0xF7, 0x04, 0x00, + 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x90, 0x0A, 0x00, 0x01, 0xDF, 0x01, 0xFF, + 0x01, 0x20, 0x03, 0x00, 0x01, 0x0A, 0x01, 0xFF, 0x01, 0xB0, 0x0A, 0x00, + 0x01, 0x6F, 0x01, 0xFF, 0x01, 0xF5, 0x03, 0x00, 0x01, 0x08, 0x01, 0xFF, + 0x01, 0xA0, 0x0A, 0x00, 0x01, 0x0A, 0x02, 0xFF, 0x01, 0x91, 0x02, 0x00, + 0x01, 0x0C, 0x01, 0xFF, 0x01, 0x70, 0x0B, 0x00, 0x01, 0x8F, 0x01, 0xFF, + 0x01, 0xFE, 0x01, 0x60, 0x01, 0x00, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x10, + 0x0B, 0x00, 0x01, 0x03, 0x01, 0xDF, 0x01, 0xFF, 0x01, 0xFD, 0x01, 0x46, + 0x01, 0xFF, 0x01, 0xF5, 0x0D, 0x00, 0x01, 0x07, 0x04, 0xFF, 0x01, 0x50, + 0x0E, 0x00, 0x01, 0x2A, 0x02, 0xFF, 0x01, 0xF5, 0x10, 0x00, 0x01, 0x4E, + 0x01, 0xFF, 0x01, 0xFE, 0x01, 0x20, 0x0F, 0x00, 0x01, 0x01, 0x01, 0xCF, + 0x01, 0xFF, 0x01, 0xC0, 0x10, 0x00, 0x01, 0x1E, 0x01, 0xFF, 0x01, 0xF3, + 0x10, 0x00, 0x01, 0x06, 0x01, 0xFF, 0x01, 0xF6, 0x10, 0x00, 0x01, 0x05, + 0x01, 0xFF, 0x01, 0xF6, 0x0B, 0x00, 0x01, 0x01, 0x04, 0x00, 0x01, 0x0A, + 0x01, 0xFF, 0x01, 0xF3, 0x0B, 0x00, 0x01, 0x08, 0x01, 0xE8, 0x01, 0x20, + 0x01, 0x00, 0x01, 0x01, 0x01, 0x8F, 0x01, 0xFF, 0x01, 0xE0, 0x0B, 0x00, + 0x01, 0x08, 0x01, 0xFF, 0x01, 0xFE, 0x01, 0xCB, 0x01, 0xDF, 0x02, 0xFF, + 0x01, 0x40, 0x0B, 0x00, 0x01, 0x08, 0x05, 0xFF, 0x01, 0xF5, 0x0D, 0x00, + 0x01, 0x49, 0x01, 0xDF, 0x02, 0xFF, 0x01, 0xE8, 0x01, 0x20, 0x0F, 0x00, + 0x01, 0x12, 0x01, 0x21, 0x7F, 0x00, /* 42 NOT_SIGN */ - 0xff, 0x00, 0x7f, 0x00, 0x01, 0x12, 0x0c, 0x22, 0x06, 0x00, 0x01, 0x9f, - 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, - 0x05, 0x00, 0x01, 0x9f, 0x0c, 0xff, 0x01, 0x40, 0x05, 0x00, 0x01, 0x24, - 0x0a, 0x44, 0x01, 0x6f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, - 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, - 0x10, 0x00, 0x01, 0x2f, 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2f, - 0x01, 0xff, 0x01, 0x40, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x10, - 0xff, 0x00, 0x34, 0x00 + 0xFF, 0x00, 0x7F, 0x00, 0x01, 0x12, 0x0C, 0x22, 0x06, 0x00, 0x01, 0x9F, + 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, + 0x05, 0x00, 0x01, 0x9F, 0x0C, 0xFF, 0x01, 0x40, 0x05, 0x00, 0x01, 0x24, + 0x0A, 0x44, 0x01, 0x6F, 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x40, + 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x40, + 0x10, 0x00, 0x01, 0x2F, 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x2F, + 0x01, 0xFF, 0x01, 0x40, 0x10, 0x00, 0x01, 0x17, 0x01, 0x77, 0x01, 0x10, + 0xFF, 0x00, 0x34, 0x00 #endif // TOUCH_UI_UTF8_SYMBOLS }; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp index f126ffe1dd42..902472b8842a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_keyboard.cpp @@ -236,14 +236,14 @@ void lv_draw_keyboard() { lv_style_copy(&rel_style, &lv_style_btn_rel); rel_style.body.radius = 0; rel_style.body.border.width = 1; - rel_style.body.main_color = lv_color_make(0xa9, 0x62, 0x1d); - rel_style.body.grad_color = lv_color_make(0xa7, 0x59, 0x0e); + rel_style.body.main_color = lv_color_make(0xA9, 0x62, 0x1D); + rel_style.body.grad_color = lv_color_make(0xA7, 0x59, 0x0E); lv_style_copy(&pr_style, &lv_style_btn_pr); pr_style.body.radius = 0; pr_style.body.border.width = 1; pr_style.body.main_color = lv_color_make(0x72, 0x42, 0x15); - pr_style.body.grad_color = lv_color_make(0x6a, 0x3a, 0x0c); + pr_style.body.grad_color = lv_color_make(0x6A, 0x3A, 0x0C); /*Create a keyboard and apply the styles*/ lv_obj_t *kb = lv_kb_create(scr, NULL); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp index add0f0394b3f..6d7b68af42a7 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp @@ -479,9 +479,9 @@ int ascii2dec_test(char *ascii) { if (*(ascii) >= '0' && *(ascii) <= '9') result = *(ascii) - '0'; else if (*(ascii) >= 'a' && *(ascii) <= 'f') - result = *(ascii) - 'a' + 0x0a; + result = *(ascii) - 'a' + 0x0A; else if (*(ascii) >= 'A' && *(ascii) <= 'F') - result = *(ascii) - 'A' + 0x0a; + result = *(ascii) - 'A' + 0x0A; else return 0; @@ -525,7 +525,7 @@ void lv_gcode_file_read(uint8_t *data_buf) { p_index = (uint16_t *)(&public_buf[i]); //Color = (*p_index >> 8); - //*p_index = Color | ((*p_index & 0xff) << 8); + //*p_index = Color | ((*p_index & 0xFF) << 8); i += 2; if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; } @@ -533,7 +533,7 @@ void lv_gcode_file_read(uint8_t *data_buf) { for (i = 0; i < 200;) { p_index = (uint16_t *)(&public_buf[i]); //Color = (*p_index >> 8); - //*p_index = Color | ((*p_index & 0xff) << 8); + //*p_index = Color | ((*p_index & 0xFF) << 8); i += 2; if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; // 0x18C3; } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index 922f6a2dc71c..458620801b1b 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -378,7 +378,7 @@ void tft_style_init() { style_sel_text.text.letter_space = 0; style_sel_text.text.line_space = -5; lv_style_copy(&style_line, &lv_style_plain); - style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xff); + style_line.line.color = LV_COLOR_MAKE(0x49, 0x54, 0xFF); style_line.line.width = 1; style_line.line.rounded = 1; @@ -703,12 +703,12 @@ char *creat_title_text() { card.closefile(); /* - if (gCurFileState.file_open_flag != 0xaa) { + if (gCurFileState.file_open_flag != 0xAA) { reset_file_info(); res = f_open(file, curFileName, FA_OPEN_EXISTING | FA_READ); if (res == FR_OK) { f_lseek(file,PREVIEW_SIZE+To_pre_view); - gCurFileState.file_open_flag = 0xaa; + gCurFileState.file_open_flag = 0xAA; //bakup_file_path((uint8_t *)curFileName, strlen(curFileName)); srcfp = file; mksReprint.mks_printer_state = MKS_WORKING; @@ -803,7 +803,7 @@ char *creat_title_text() { p_index = (uint16_t *)(&bmp_public_buf[i]); Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xff) << 8); + *p_index = Color | ((*p_index & 0xFF) << 8); i += 2; if (*p_index == 0x0000) *p_index = 0xC318; } @@ -835,12 +835,12 @@ char *creat_title_text() { card.closefile(); /* - if (gCurFileState.file_open_flag != 0xaa) { + if (gCurFileState.file_open_flag != 0xAA) { reset_file_info(); res = f_open(file, curFileName, FA_OPEN_EXISTING | FA_READ); if (res == FR_OK) { f_lseek(file,PREVIEW_SIZE+To_pre_view); - gCurFileState.file_open_flag = 0xaa; + gCurFileState.file_open_flag = 0xAA; //bakup_file_path((uint8_t *)curFileName, strlen(curFileName)); srcfp = file; mksReprint.mks_printer_state = MKS_WORKING; @@ -1650,7 +1650,7 @@ void print_time_count() { void LV_TASK_HANDLER() { //lv_tick_inc(1); lv_task_handler(); - if (mks_test_flag == 0x1e) mks_hardware_test(); + if (mks_test_flag == 0x1E) mks_hardware_test(); #if HAS_GCODE_PREVIEW disp_pre_gcode(2, 36); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h index ddc9ea62714a..51782688c0b1 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.h @@ -92,7 +92,7 @@ #define TICK_CYCLE 1 -#define PARA_SEL_ICON_TEXT_COLOR LV_COLOR_MAKE(0x4a, 0x52, 0xff); +#define PARA_SEL_ICON_TEXT_COLOR LV_COLOR_MAKE(0x4A, 0x52, 0xFF); #define TFT35 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp index 743863d1f702..eeb6bae706bc 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp @@ -662,7 +662,7 @@ const char *MKSTestPath = "MKS_TEST"; void mks_test_get() { SdFile dir, root = card.getroot(); if (dir.open(&root, MKSTestPath, O_RDONLY)) - mks_test_flag = 0x1e; + mks_test_flag = 0x1E; } #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp index e629915309bb..d6f5fbf8b5fd 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp @@ -543,7 +543,7 @@ void Pic_Read(uint8_t *Pname, uint8_t *P_Rbuff) { PIC_MSG PIC; W25QXX.SPI_FLASH_BufferRead(&Pic_cnt, PIC_COUNTER_ADDR, 1); - if (Pic_cnt == 0xff) + if (Pic_cnt == 0xFF) Pic_cnt = 0; for (i = 0; i < Pic_cnt; i++) { diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index 5d5227c2a480..ea75915df363 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -76,7 +76,7 @@ #define PIC_DATA_ADDR 0x003000 // // TFT35 - #define DEFAULT_VIEW_ADDR_TFT35 0x1ea070 + #define DEFAULT_VIEW_ADDR_TFT35 0x1EA070 #define BAK_VIEW_ADDR_TFT35 (DEFAULT_VIEW_ADDR_TFT35+90*1024) #define PIC_ICON_LOGO_ADDR_TFT35 (BAK_VIEW_ADDR_TFT35+80*1024) #define PIC_DATA_ADDR_TFT35 0x003000 // (PIC_ICON_LOGO_ADDR_TFT35+350*1024) //0xC5800 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index c2ff2c436264..49b44799a69f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -198,10 +198,10 @@ void SysTick_Callback() { LCD_WriteReg(0x0046, xEnd); } else if (DeviceCode == 0x9488) { - s_h = (StartX >> 8) & 0x00ff; - s_l = StartX & 0x00ff; - e_h = ((StartX + width - 1) >> 8) & 0x00ff; - e_l = (StartX + width - 1) & 0x00ff; + s_h = (StartX >> 8) & 0x00FF; + s_l = StartX & 0x00FF; + e_h = ((StartX + width - 1) >> 8) & 0x00FF; + e_l = (StartX + width - 1) & 0x00FF; LCD_IO_WriteReg(0x002A); LCD_IO_WriteData(s_h); @@ -209,10 +209,10 @@ void SysTick_Callback() { LCD_IO_WriteData(e_h); LCD_IO_WriteData(e_l); - s_h = (StartY >> 8) & 0x00ff; - s_l = StartY & 0x00ff; - e_h = ((StartY + heigh - 1) >> 8) & 0x00ff; - e_l = (StartY + heigh - 1) & 0x00ff; + s_h = (StartY >> 8) & 0x00FF; + s_l = StartY & 0x00FF; + e_h = ((StartY + heigh - 1) >> 8) & 0x00FF; + e_l = (StartY + heigh - 1) & 0x00FF; LCD_IO_WriteReg(0x002B); LCD_IO_WriteData(s_h); @@ -275,18 +275,18 @@ void SysTick_Callback() { //while(index --) LCD_IO_WriteData(Color); } else if (DeviceCode == 0x5761) { - LCD_IO_WriteReg(0x002a); + LCD_IO_WriteReg(0x002A); LCD_IO_WriteData(0); LCD_IO_WriteData(0); LCD_IO_WriteData(HDP >> 8); - LCD_IO_WriteData(HDP & 0x00ff); - LCD_IO_WriteReg(0x002b); + LCD_IO_WriteData(HDP & 0x00FF); + LCD_IO_WriteReg(0x002B); LCD_IO_WriteData(0); LCD_IO_WriteData(0); LCD_IO_WriteData(VDP >> 8); - LCD_IO_WriteData(VDP & 0x00ff); - LCD_IO_WriteReg(0x002c); - LCD_IO_WriteReg(0x002c); + LCD_IO_WriteData(VDP & 0x00FF); + LCD_IO_WriteReg(0x002C); + LCD_IO_WriteReg(0x002C); for (count = 0; count < (HDP + 1) * (VDP + 1); count++) LCD_IO_WriteData(Color); } @@ -323,19 +323,19 @@ void SysTick_Callback() { LCD_IO_WriteReg(0x00E0); LCD_IO_WriteData(0x0000); LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x000f); + LCD_IO_WriteData(0x000F); LCD_IO_WriteData(0x000D); LCD_IO_WriteData(0x001B); LCD_IO_WriteData(0x000A); - LCD_IO_WriteData(0x003c); + LCD_IO_WriteData(0x003C); LCD_IO_WriteData(0x0078); LCD_IO_WriteData(0x004A); LCD_IO_WriteData(0x0007); LCD_IO_WriteData(0x000E); LCD_IO_WriteData(0x0009); LCD_IO_WriteData(0x001B); - LCD_IO_WriteData(0x001e); - LCD_IO_WriteData(0x000f); + LCD_IO_WriteData(0x001E); + LCD_IO_WriteData(0x000F); LCD_IO_WriteReg(0x00E1); LCD_IO_WriteData(0x0000); @@ -348,11 +348,11 @@ void SysTick_Callback() { LCD_IO_WriteData(0x0047); LCD_IO_WriteData(0x0047); LCD_IO_WriteData(0x0006); - LCD_IO_WriteData(0x000a); + LCD_IO_WriteData(0x000A); LCD_IO_WriteData(0x0007); LCD_IO_WriteData(0x0030); LCD_IO_WriteData(0x0037); - LCD_IO_WriteData(0x000f); + LCD_IO_WriteData(0x000F); LCD_IO_WriteReg(0x00C0); LCD_IO_WriteData(0x0010); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp index 5c025f13f986..f5d954792ead 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp @@ -125,7 +125,7 @@ uint32_t getWifiTickDiff(int32_t lastTick, int32_t curTick) { return (curTick - lastTick) * TICK_CYCLE; } else { - return (0xffffffff - lastTick + curTick) * TICK_CYCLE; + return (0xFFFFFFFF - lastTick + curTick) * TICK_CYCLE; } } @@ -334,8 +334,8 @@ void wifi_ret_ack() {} char buf_to_wifi[256]; int index_to_wifi = 0; int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len) { - char wifi_ret_head = 0xa5; - char wifi_ret_tail = 0xfc; + char wifi_ret_head = 0xA5; + char wifi_ret_tail = 0xFC; if (type == WIFI_PARA_SET) { int data_offset = 4; @@ -356,8 +356,8 @@ int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len) { buf_to_wifi[0] = wifi_ret_head; buf_to_wifi[1] = type; - buf_to_wifi[2] = index_to_wifi & 0xff; - buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + buf_to_wifi[2] = index_to_wifi & 0xFF; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xFF; raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); @@ -392,8 +392,8 @@ int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len) { buf_to_wifi[0] = wifi_ret_head; buf_to_wifi[1] = type; - buf_to_wifi[2] = index_to_wifi & 0xff; - buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + buf_to_wifi[2] = index_to_wifi & 0xFF; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xFF; buf_to_wifi[4 + index_to_wifi] = wifi_ret_tail; raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); @@ -426,22 +426,22 @@ int package_to_wifi(WIFI_RET_TYPE type,char *buf, int len) { index_to_wifi = 0; if (gCfgItems.cloud_enable == true) - buf_to_wifi[data_offset] = 0x0a; + buf_to_wifi[data_offset] = 0x0A; else buf_to_wifi[data_offset] = 0x05; buf_to_wifi[data_offset + 1] = urlLen; strncpy(&buf_to_wifi[data_offset + 2], (const char *)uiCfg.cloud_hostUrl, urlLen); - buf_to_wifi[data_offset + urlLen + 2] = uiCfg.cloud_port & 0xff; - buf_to_wifi[data_offset + urlLen + 3] = (uiCfg.cloud_port >> 8) & 0xff; + buf_to_wifi[data_offset + urlLen + 2] = uiCfg.cloud_port & 0xFF; + buf_to_wifi[data_offset + urlLen + 3] = (uiCfg.cloud_port >> 8) & 0xFF; buf_to_wifi[data_offset + urlLen + 4] = wifi_ret_tail; index_to_wifi = urlLen + 4; buf_to_wifi[0] = wifi_ret_head; buf_to_wifi[1] = type; - buf_to_wifi[2] = index_to_wifi & 0xff; - buf_to_wifi[3] = (index_to_wifi >> 8) & 0xff; + buf_to_wifi[2] = index_to_wifi & 0xFF; + buf_to_wifi[3] = (index_to_wifi >> 8) & 0xFF; raw_send_to_wifi(buf_to_wifi, 5 + index_to_wifi); @@ -526,8 +526,8 @@ int write_to_file(char *buf, int len) { return 0; } -#define ESP_PROTOC_HEAD (uint8_t)0xa5 -#define ESP_PROTOC_TAIL (uint8_t)0xfc +#define ESP_PROTOC_HEAD (uint8_t)0xA5 +#define ESP_PROTOC_TAIL (uint8_t)0xFC #define ESP_TYPE_NET (uint8_t)0x0 #define ESP_TYPE_GCODE (uint8_t)0x1 @@ -1282,22 +1282,22 @@ void utf8_2_unicode(uint8_t *source,uint8_t Len) { else if (char_byte_num == 0XC0 || char_byte_num == 0XD0) { //--2byte - u16_h = (((uint16_t)source[i] <<8) & 0x1f00) >> 2; - u16_l = ((uint16_t)source[i+1] & 0x003f); + u16_h = (((uint16_t)source[i] <<8) & 0x1F00) >> 2; + u16_l = ((uint16_t)source[i+1] & 0x003F); u16_value = (u16_h | u16_l); - FileName_unicode[char_i] = (uint8_t)((u16_value & 0xff00) >> 8); - FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00ff); + FileName_unicode[char_i] = (uint8_t)((u16_value & 0xFF00) >> 8); + FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00FF); i += 2; char_i += 2; } else if (char_byte_num == 0XE0) { //--3byte - u16_h = (((uint16_t)source[i] <<8 ) & 0x0f00) << 4; - u16_m = (((uint16_t)source[i+1] << 8) & 0x3f00) >> 2; - u16_l = ((uint16_t)source[i+2] & 0x003f); + u16_h = (((uint16_t)source[i] <<8 ) & 0x0F00) << 4; + u16_m = (((uint16_t)source[i+1] << 8) & 0x3F00) >> 2; + u16_l = ((uint16_t)source[i+2] & 0x003F); u16_value = (u16_h | u16_m | u16_l); - FileName_unicode[char_i] = (uint8_t)((u16_value & 0xff00) >> 8); - FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00ff); + FileName_unicode[char_i] = (uint8_t)((u16_value & 0xFF00) >> 8); + FileName_unicode[char_i + 1] = (uint8_t)(u16_value & 0x00FF); i += 3; char_i += 2; } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp index 132838c8a951..77bcb767b72d 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp @@ -55,24 +55,24 @@ const uint8_t ESP_MEM_END = 0x06; const uint8_t ESP_MEM_DATA = 0x07; const uint8_t ESP_SYNC = 0x08; const uint8_t ESP_WRITE_REG = 0x09; -const uint8_t ESP_READ_REG = 0x0a; +const uint8_t ESP_READ_REG = 0x0A; // MAC address storage locations -const uint32_t ESP_OTP_MAC0 = 0x3ff00050; -const uint32_t ESP_OTP_MAC1 = 0x3ff00054; -const uint32_t ESP_OTP_MAC2 = 0x3ff00058; -const uint32_t ESP_OTP_MAC3 = 0x3ff0005c; +const uint32_t ESP_OTP_MAC0 = 0x3FF00050; +const uint32_t ESP_OTP_MAC1 = 0x3FF00054; +const uint32_t ESP_OTP_MAC2 = 0x3FF00058; +const uint32_t ESP_OTP_MAC3 = 0x3FF0005C; const size_t EspFlashBlockSize = 0x0400; // 1K byte blocks -const uint8_t ESP_IMAGE_MAGIC = 0xe9; -const uint8_t ESP_CHECKSUM_MAGIC = 0xef; +const uint8_t ESP_IMAGE_MAGIC = 0xE9; +const uint8_t ESP_CHECKSUM_MAGIC = 0xEF; const uint32_t ESP_ERASE_CHIP_ADDR = 0x40004984; // &SPIEraseChip -const uint32_t ESP_SEND_PACKET_ADDR = 0x40003c80; // &send_packet -const uint32_t ESP_SPI_READ_ADDR = 0x40004b1c; // &SPIRead +const uint32_t ESP_SEND_PACKET_ADDR = 0x40003C80; // &send_packet +const uint32_t ESP_SPI_READ_ADDR = 0x40004B1C; // &SPIRead const uint32_t ESP_UNKNOWN_ADDR = 0x40001121; // not used -const uint32_t ESP_USER_DATA_RAM_ADDR = 0x3ffe8000; // &user data ram +const uint32_t ESP_USER_DATA_RAM_ADDR = 0x3FFE8000; // &user data ram const uint32_t ESP_IRAM_ADDR = 0x40100000; // instruction RAM const uint32_t ESP_FLASH_ADDR = 0x40200000; // address of start of Flash //const uint32_t ESP_FLASH_READ_STUB_BEGIN = IRAM_ADDR + 0x18; @@ -190,7 +190,7 @@ void putData(uint32_t val, unsigned byteCnt, uint8_t *buf, int ofst) { byteCnt = 4; } do { - buf[ofst++] = (uint8_t)(val & 0xff); + buf[ofst++] = (uint8_t)(val & 0xFF); val >>= 8; } while (--byteCnt); } @@ -201,7 +201,7 @@ void putData(uint32_t val, unsigned byteCnt, uint8_t *buf, int ofst) { // 2 - an escaped byte was read successfully // 1 - a non-escaped byte was read successfully // 0 - no data was available -// -1 - the value 0xc0 was encountered (shouldn't happen) +// -1 - the value 0xC0 was encountered (shouldn't happen) // -2 - a SLIP escape byte was found but the following byte wasn't available // -3 - a SLIP escape byte was followed by an invalid byte int ReadByte(uint8_t *data, signed char slipDecode) { @@ -215,13 +215,13 @@ int ReadByte(uint8_t *data, signed char slipDecode) { return(1); } - if (*data == 0xc0) { + if (*data == 0xC0) { // this shouldn't happen return(-1); } // if not the SLIP escape, we're done - if (*data != 0xdb) { + if (*data != 0xDB) { return(1); } @@ -232,13 +232,13 @@ int ReadByte(uint8_t *data, signed char slipDecode) { // process the escaped byte *data = uploadPort_read(); - if (*data == 0xdc) { - *data = 0xc0; + if (*data == 0xDC) { + *data = 0xC0; return(2); } - if (*data == 0xdd) { - *data = 0xdb; + if (*data == 0xDD) { + *data = 0xDB; return(2); } // invalid @@ -325,7 +325,7 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t switch(state) { case begin: // expecting frame start c = uploadPort_read(); - if (c != (uint8_t)0xc0) { + if (c != (uint8_t)0xC0) { break; } state = header; @@ -334,7 +334,7 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t break; case end: // expecting frame end c = uploadPort_read(); - if (c != (uint8_t)0xc0) { + if (c != (uint8_t)0xC0) { return slipFrame; } state = done; @@ -428,24 +428,24 @@ void _writePacket(const uint8_t *data, size_t len) { } // Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. -// A SLIP packet begins and ends with 0xc0. The data encapsulated has the bytes -// 0xc0 and 0xdb replaced by the two-byte sequences {0xdb, 0xdc} and {0xdb, 0xdd} respectively. +// A SLIP packet begins and ends with 0xC0. The data encapsulated has the bytes +// 0xC0 and 0xDB replaced by the two-byte sequences {0xDB, 0xDC} and {0xDB, 0xDD} respectively. void writePacket(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { - WriteByteRaw(0xc0); // send the packet start character + WriteByteRaw(0xC0); // send the packet start character _writePacket(hdr, hdrLen); // send the header _writePacket(data, dataLen); // send the data block - WriteByteRaw(0xc0); // send the packet end character + WriteByteRaw(0xC0); // send the packet end character } // Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. // This is like writePacket except that it does a fast block write for both the header and the main data with no SLIP encoding. Used to send sync commands. void writePacketRaw(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { - WriteByteRaw(0xc0); // send the packet start character + WriteByteRaw(0xC0); // send the packet start character _writePacketRaw(hdr, hdrLen); // send the header _writePacketRaw(data, dataLen); // send the data block in raw mode - WriteByteRaw(0xc0); // send the packet end character + WriteByteRaw(0xC0); // send the packet end character } // Send a command to the attached device together with the supplied data, if any. @@ -585,7 +585,7 @@ EspUploadResult flashWriteBlock(uint16_t flashParmVal, uint16_t flashParmMask) { if (cnt != blkSize) { if (f_tell(&esp_upload.uploadFile) == esp_upload.fileSize) { // partial last block, fill the remainder - memset(blkBuf + dataOfst + cnt, 0xff, blkSize - cnt); + memset(blkBuf + dataOfst + cnt, 0xFF, blkSize - cnt); } else { return fileRead; diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h index 14df5309d7d0..cf34a7ade92e 100644 --- a/Marlin/src/lcd/lcdprint.h +++ b/Marlin/src/lcd/lcdprint.h @@ -101,7 +101,7 @@ #define SETCURSOR_X(col) SETCURSOR(col, _lcdLineNr) #define SETCURSOR_X_RJ(len) SETCURSOR_RJ(len, _lcdLineNr) -#define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) +#define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80U) int lcd_glyph_height(); diff --git a/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp b/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp index 1694986091e0..ade8bf23b8e4 100644 --- a/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp +++ b/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp @@ -40,89 +40,89 @@ Max Font ascent = 8 descent=-2 */ extern const uint8_t ISO10646_1_5x7[1325] = { - 0x00,0x0c,0x0d,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0x7f,0xfe,0x0a,0xfe,0x08, - 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, - 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, - 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, - 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, - 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, - 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, - 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, - 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, - 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, - 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, - 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, - 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, - 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, - 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, - 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, - 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, - 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, - 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, - 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, - 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, - 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x00,0x0C,0x0D,0x00,0xFE,0x07,0x02,0x26,0x03,0xBC,0x01,0x7F,0xFE,0x0A,0xFE,0x08, + 0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xC0,0xF8,0x88,0x88,0x88,0x88,0x88,0xF8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xF8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xF8,0x20,0x20,0x20,0x20,0xE0,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA8, + 0xB8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xE0,0x8C,0xEA,0x8C,0x8A, + 0x0A,0x05,0x09,0x09,0x06,0x00,0xFF,0xF8,0xA8,0x88,0x88,0x88,0x88,0x88,0xA8,0xF8, + 0x05,0x0A,0x0A,0x06,0x00,0xFE,0x20,0x50,0x50,0x50,0x50,0x88,0xA8,0xA8,0x88,0x70, + 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xA0,0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0x00,0x00,0x06,0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, + 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xA0,0xA0,0xA0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x50,0xF8,0x50,0x50,0xF8,0x50,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8, + 0xA0,0x70,0x28,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xC8,0xC8,0x10,0x20, + 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68, + 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x20, + 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40, + 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xA8,0x70, + 0x20,0x70,0xA8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xF8,0x20,0x20,0x02, + 0x03,0x03,0x06,0x01,0xFF,0xC0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xF8,0x02, + 0x02,0x02,0x06,0x01,0x00,0xC0,0xC0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, + 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xA8,0xC8,0x88, + 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xC0,0x40,0x40,0x40,0x40,0xE0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xF8,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, + 0x50,0x90,0xF8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0xF0,0x08,0x08, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xF0,0x88,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, - 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, - 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, - 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, + 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xC0,0xC0,0x00,0xC0, + 0xC0,0x02,0x06,0x06,0x06,0x01,0xFF,0xC0,0xC0,0x00,0xC0,0x40,0x80,0x03,0x05,0x05, + 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xF8,0x00, + 0xF8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, - 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, + 0x88,0xB8,0xA8,0xB8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8, + 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0xF0, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x06,0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0xF0,0x05,0x07,0x07,0x06,0x00,0x00, + 0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00, 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, - 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, - 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, - 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, + 0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, + 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF0, + 0x88,0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, + 0xA8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, - 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, + 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xA8,0xA8, 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, - 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, - 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, - 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, - 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, + 0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, + 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0xE0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, + 0x00,0xFE,0xF8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0, + 0x88,0x88,0x88,0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, - 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, - 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, - 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, + 0x00,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, + 0xE0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x88,0x88,0x78,0x08, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x04,0x09,0x09,0x06,0x01, + 0xFE,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0x88,0x90,0xE0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xC0,0x40,0x40, + 0x40,0x40,0x40,0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0, + 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xFE,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, + 0x05,0x05,0x06,0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x78,0x80,0x70,0x08,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20, 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, - 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, - 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, - 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff + 0xA8,0xA8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, + 0x00,0xF8,0x10,0x20,0x40,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40,0x40,0x40, + 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xFF,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40,0x40,0x20,0x40, + 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xA8,0x90,0xFF }; #else // !STM32_NOT_EXTENDED_ISO10646_1_5X7 @@ -141,171 +141,171 @@ extern const uint8_t ISO10646_1_5x7[1325] = { Max Font ascent =10 descent=-2 */ extern const uint8_t ISO10646_1_5x7[2648] = { - 0x00,0x0c,0x0d,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0xff,0xfe,0x0a,0xfe,0x08, - 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, - 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, - 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, - 0xb8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, - 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, - 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, - 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, - 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, - 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, - 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, - 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, - 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, - 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, - 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, - 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, - 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, - 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, - 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, - 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, - 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, - 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, - 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, - 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, - 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x00,0x0C,0x0D,0x00,0xFE,0x07,0x02,0x26,0x03,0xBC,0x01,0xFF,0xFE,0x0A,0xFE,0x08, + 0xFE,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xF0,0xC8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xC0,0xF8,0x88,0x88,0x88,0x88,0x88,0xF8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xF8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xF8,0x20,0x20,0x20,0x20,0xE0,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA8, + 0xB8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xE0,0x8C,0xEA,0x8C,0x8A, + 0x0A,0x05,0x09,0x09,0x06,0x00,0xFF,0xF8,0xA8,0x88,0x88,0x88,0x88,0x88,0xA8,0xF8, + 0x05,0x0A,0x0A,0x06,0x00,0xFE,0x20,0x50,0x50,0x50,0x50,0x88,0xA8,0xA8,0x88,0x70, + 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xA0,0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0x00,0x00,0x06,0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, + 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xA0,0xA0,0xA0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x50,0xF8,0x50,0x50,0xF8,0x50,0x05,0x09,0x09,0x06,0x00,0xFF,0x20,0x70,0xA8, + 0xA0,0x70,0x28,0xA8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xC8,0xC8,0x10,0x20, + 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68, + 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x20, + 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40, + 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xA8,0x70, + 0x20,0x70,0xA8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xF8,0x20,0x20,0x02, + 0x03,0x03,0x06,0x01,0xFF,0xC0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xF8,0x02, + 0x02,0x02,0x06,0x01,0x00,0xC0,0xC0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, + 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xA8,0xC8,0x88, + 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xC0,0x40,0x40,0x40,0x40,0xE0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xF8,0x05,0x07,0x07,0x06,0x00, + 0x00,0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, + 0x50,0x90,0xF8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0xF0,0x08,0x08, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xF0,0x88,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, - 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, - 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, - 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, + 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xC0,0xC0,0x00,0xC0, + 0xC0,0x02,0x06,0x06,0x06,0x01,0xFF,0xC0,0xC0,0x00,0xC0,0x40,0x80,0x03,0x05,0x05, + 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xF8,0x00, + 0xF8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, - 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, - 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, + 0x88,0xB8,0xA8,0xB8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8, + 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0xF0, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, - 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x06,0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0xF0,0x05,0x07,0x07,0x06,0x00,0x00, + 0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00, 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, - 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, - 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, - 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, - 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, + 0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, + 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xF0, + 0x88,0x88,0xF0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, + 0xA8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88, 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0x06,0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, - 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, + 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xA8,0xA8, 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, - 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, - 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, - 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, - 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, - 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, + 0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, + 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xFF,0xE0,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0xE0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, + 0x00,0xFE,0xF8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0, + 0x88,0x88,0x88,0xF0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, - 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, - 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, - 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, - 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, - 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, - 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, - 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, - 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, - 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, - 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, + 0x00,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, + 0xE0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x88,0x88,0x78,0x08, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0,0x04,0x09,0x09,0x06,0x01, + 0xFE,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0x88,0x90,0xE0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xC0,0x40,0x40, + 0x40,0x40,0x40,0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xFE,0xF0,0x88,0x88,0x88,0xF0, + 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xFE,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, + 0x05,0x05,0x06,0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x78,0x80,0x70,0x08,0xF0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20, 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, - 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, - 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, - 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, - 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, - 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00, - 0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80, - 0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,0x07,0x07, - 0x06,0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05,0x06,0x00,0x00, - 0xa8,0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xf8,0x20,0xf8, + 0xA8,0xA8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, + 0x00,0xF8,0x10,0x20,0x40,0xF8,0x03,0x09,0x09,0x06,0x01,0xFF,0x20,0x40,0x40,0x40, + 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xFF,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xFF,0x80,0x40,0x40,0x40,0x20,0x40, + 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xA8,0x90,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00, + 0x06,0x05,0xFF,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80, + 0x05,0x07,0x07,0x06,0x00,0xFF,0x20,0x70,0xA8,0xA0,0xA8,0x70,0x20,0x05,0x07,0x07, + 0x06,0x00,0x00,0x30,0x48,0x40,0xE0,0x40,0x48,0xB0,0x05,0x05,0x05,0x06,0x00,0x00, + 0xA8,0x50,0x88,0x50,0xA8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xF8,0x20,0xF8, 0x20,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x04, - 0x08,0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0,0x03,0x01,0x01, - 0x06,0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4,0xb4,0x84, - 0x78,0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05,0x05,0x05,0x06, - 0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x08,0x08, - 0x03,0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4, - 0xa4,0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04,0x04,0x06,0x01, - 0x05,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, - 0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xa0,0x20,0x40,0xe0,0x03,0x05,0x05, - 0x06,0x01,0x04,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40, - 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x08, - 0x08,0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06, - 0x02,0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03,0x05,0x05,0x06, - 0x01,0x04,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x40, - 0x00,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38,0x05,0x0a,0x0a, - 0x06,0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10,0x05,0x07,0x07, - 0x06,0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x40,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x10,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x20,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, - 0x68,0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00, - 0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, - 0x50,0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78, - 0xa0,0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x80, - 0x80,0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80, - 0x80,0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80, - 0xf0,0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00,0xe0,0x40,0x40, - 0x40,0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40, - 0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,0x48,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, - 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x08,0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xE0,0x03,0x01,0x01, + 0x06,0x01,0x07,0xA0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xB4,0xA4,0xB4,0x84, + 0x78,0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xA0,0x60,0x00,0xE0,0x05,0x05,0x05,0x06, + 0x00,0x00,0x28,0x50,0xA0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xF8,0x08,0x08, + 0x03,0x01,0x01,0x06,0x01,0x03,0xE0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xB4, + 0xA4,0xA4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xF8,0x04,0x04,0x04,0x06,0x01, + 0x05,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xF8,0x20,0x20, + 0x00,0xF8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xA0,0x20,0x40,0xE0,0x03,0x05,0x05, + 0x06,0x01,0x04,0xC0,0x20,0x40,0x20,0xC0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40, + 0x80,0x05,0x07,0x07,0x06,0x00,0xFE,0x88,0x88,0x88,0x98,0xE8,0x80,0x80,0x05,0x08, + 0x08,0x06,0x00,0x00,0x78,0xE8,0xE8,0xE8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06, + 0x02,0x03,0xC0,0xC0,0x03,0x02,0x02,0x06,0x01,0xFE,0x20,0xC0,0x03,0x05,0x05,0x06, + 0x01,0x04,0x40,0xC0,0x40,0x40,0xE0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xA0,0x40, + 0x00,0xE0,0x05,0x05,0x05,0x06,0x00,0x00,0xA0,0x50,0x28,0x50,0xA0,0x05,0x0A,0x0A, + 0x06,0x00,0x00,0x40,0xC0,0x48,0x50,0x60,0x50,0xB0,0x50,0x78,0x10,0x05,0x0A,0x0A, + 0x06,0x00,0x00,0x40,0xC0,0x48,0x50,0x60,0x50,0xA8,0x08,0x10,0x38,0x05,0x0A,0x0A, + 0x06,0x00,0x00,0xC0,0x20,0x48,0x30,0xE0,0x50,0xB0,0x50,0x78,0x10,0x05,0x07,0x07, + 0x06,0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00, + 0x40,0x20,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00, + 0x10,0x20,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00, + 0x20,0x50,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00, + 0x68,0xB0,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00, + 0x50,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20, + 0x50,0x20,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78, + 0xA0,0xA0,0xF0,0xA0,0xA0,0xB8,0x05,0x09,0x09,0x06,0x00,0xFE,0x70,0x88,0x80,0x80, + 0x80,0x88,0x70,0x10,0x60,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x20,0x00,0xF8,0x80, + 0x80,0xF0,0x80,0x80,0xF8,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0xF8,0x80, + 0x80,0xF0,0x80,0x80,0xF8,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20,0x50,0x00,0xF8,0x80, + 0x80,0xF0,0x80,0x80,0xF8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xF8,0x80,0x80, + 0xF0,0x80,0x80,0xF8,0x03,0x0A,0x0A,0x06,0x01,0x00,0x80,0x40,0x00,0xE0,0x40,0x40, + 0x40,0x40,0x40,0xE0,0x03,0x0A,0x0A,0x06,0x01,0x00,0x20,0x40,0x00,0xE0,0x40,0x40, + 0x40,0x40,0x40,0xE0,0x03,0x0A,0x0A,0x06,0x01,0x00,0x40,0xA0,0x00,0xE0,0x40,0x40, + 0x40,0x40,0x40,0xE0,0x03,0x09,0x09,0x06,0x01,0x00,0xA0,0x00,0xE0,0x40,0x40,0x40, + 0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xE8,0x48,0x48,0x70, + 0x05,0x0A,0x0A,0x06,0x00,0x00,0x68,0xB0,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88, + 0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0A,0x0A,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0A,0x0A,0x06,0x00,0x00,0x68,0xB0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, 0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, - 0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xff, - 0x08,0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, - 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, - 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, + 0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xFF, + 0x08,0x70,0x98,0xA8,0xA8,0xA8,0xC8,0x70,0x80,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40, + 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10, + 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x20, 0x50,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50, - 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20, - 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xe0, - 0x90,0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xa0,0x90, - 0x88,0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78, + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0x00,0x10,0x20, + 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xE0, + 0x90,0x90,0x90,0xE0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xA0,0x90, + 0x88,0xB0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78, 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08, 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06, - 0x00,0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, + 0x00,0x00,0x68,0xB0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, 0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20, - 0x70,0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xa0,0x78, - 0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08, - 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00, - 0x00,0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20, - 0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70, - 0x88,0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40, - 0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0, - 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03,0x07, - 0x07,0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09,0x09,0x06,0x00, + 0x70,0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xA0,0x78, + 0x05,0x07,0x07,0x06,0x00,0xFE,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08, + 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x08,0x08,0x06,0x00, + 0x00,0x10,0x20,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20, + 0x50,0x00,0x70,0x88,0xF0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70, + 0x88,0xF0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xC0,0x40,0x40, + 0x40,0xE0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xC0,0x40,0x40,0x40,0xE0, + 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xA0,0x00,0xC0,0x40,0x40,0x40,0xE0,0x03,0x07, + 0x07,0x06,0x01,0x00,0xA0,0x00,0xC0,0x40,0x40,0x40,0xE0,0x05,0x09,0x09,0x06,0x00, 0x00,0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00, - 0x68,0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, + 0x68,0xB0,0x00,0xB0,0xC8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, 0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70, 0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88, - 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x70, + 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xB0,0x00,0x70,0x88,0x88,0x88,0x70, 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05, - 0x06,0x00,0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98, - 0xa8,0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88, + 0x06,0x00,0x01,0x20,0x00,0xF8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98, + 0xA8,0xC8,0xF0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88, 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x70,0x05, 0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07, - 0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe, - 0x10,0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xfe, - 0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x50, + 0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0A,0x0A,0x06,0x00,0xFE, + 0x10,0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xFE, + 0x80,0x80,0xF0,0x88,0x88,0x88,0xF0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xFE,0x50, 0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80 }; diff --git a/Marlin/src/lcd/tft/images/back_32x32x4.cpp b/Marlin/src/lcd/tft/images/back_32x32x4.cpp index 8f5809d5dc0c..84a6e3aba6f5 100644 --- a/Marlin/src/lcd/tft/images/back_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/back_32x32x4.cpp @@ -30,29 +30,29 @@ extern const uint8_t back_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x6f, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x76, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x6e, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x76, 0xef, 0xff, 0xe5, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x6e, 0xff, 0xff, 0xd5, 0x55, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x76, 0xff, 0xff, 0xff, 0xfe, 0xb8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x85, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, - 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x66, 0x88, 0x88, 0x88, - 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x56, 0x78, 0x88, 0x88, - 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x67, 0x88, 0x88, - 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x56, 0x78, 0x88, - 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x65, 0x68, 0x88, - 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, - 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xfc, 0xde, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, - 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xd5, 0x67, 0x77, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0x56, 0x78, - 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xe5, 0x78, 0x87, 0x77, 0x77, 0xae, 0xff, 0xff, 0x95, 0x68, - 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xf5, 0x58, - 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xf8, 0x57, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xe6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xfc, 0x56, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xd7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0x66, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0x97, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x6F, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xFF, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x6E, 0xFF, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x76, 0xEF, 0xFF, 0xE5, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x6E, 0xFF, 0xFF, 0xD5, 0x55, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x76, 0xFF, 0xFF, 0xFF, 0xFE, 0xB8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x85, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x76, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, + 0x87, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x66, 0x88, 0x88, 0x88, + 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x56, 0x78, 0x88, 0x88, + 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x67, 0x88, 0x88, + 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x56, 0x78, 0x88, + 0x88, 0x77, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x68, 0x88, + 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x67, 0x88, + 0x88, 0x88, 0x77, 0xEF, 0xFF, 0xFF, 0xFC, 0xDE, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x56, 0x88, + 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xD5, 0x67, 0x77, 0x8A, 0xDF, 0xFF, 0xFF, 0xFF, 0x56, 0x78, + 0x88, 0x88, 0x88, 0x77, 0xEF, 0xFF, 0xE5, 0x78, 0x87, 0x77, 0x77, 0xAE, 0xFF, 0xFF, 0x95, 0x68, + 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xF5, 0x58, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xEF, 0xE5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0xDF, 0xF8, 0x57, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x7F, 0xE6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFC, 0x56, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xD7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0x66, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7D, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/background_320x30x16.cpp b/Marlin/src/lcd/tft/images/background_320x30x16.cpp index f6eca2d6dd9f..49c4a84a0c9d 100644 --- a/Marlin/src/lcd/tft/images/background_320x30x16.cpp +++ b/Marlin/src/lcd/tft/images/background_320x30x16.cpp @@ -25,36 +25,36 @@ #if HAS_GRAPHICAL_TFT extern const uint16_t background_320x30x16[9600] = { - 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x20f3, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x20f3, 0x20f2, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, - 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2dfd, 0x2dfd, 0x2dfe, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x1ddd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, - 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2dde, 0x2d5d, 0x2d1c, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x251d, 0x2d1d, 0x2cfc, 0x253c, 0x25bd, 0x25bd, 0x2cfd, 0x24fd, 0x2d1d, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x255d, 0x25fd, 0x251c, 0x24fd, 0x24dd, 0x24fc, 0x24fd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x253d, 0x25bd, 0x253d, 0x24dc, 0x24dc, 0x24dc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, - 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2bbc, 0x25bd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x247c, 0x259c, 0x2b1c, 0x2b1c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x1cfd, 0x253c, 0x233c, 0x22fc, 0x231b, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fb, 0x22dc, 0x22db, 0x22dc, 0x235b, 0x1d5c, 0x1d1c, 0x231c, 0x22fb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, - 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x259d, 0x241c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1d9c, 0x247c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bdc, 0x23fc, 0x1d7d, 0x1cdc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9b, 0x1bbc, 0x1b9b, 0x1bbb, 0x1b9c, 0x1bfb, 0x1d5c, 0x1d3c, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, - 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bbb, 0x23bc, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bdb, 0x1bbb, 0x1c7c, 0x1cfc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1d1c, 0x1c9c, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9b, 0x1c3c, 0x1d5c, 0x1c3b, 0x1b9c, 0x1b9b, 0x1b9b, 0x139b, 0x1b9b, 0x139b, 0x13bb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x1b9b, 0x139b, 0x139b, 0x137b, 0x139b, 0x1b7b, 0x151c, 0x153c, 0x1bbb, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, - 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19db, 0x19da, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x1a3b, 0x153c, 0x1a1b, 0x19da, 0x19db, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19da, 0x1afb, 0x14fb, 0x1a3b, 0x19da, 0x11da, 0x19db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19ba, 0x11da, 0x137b, 0x14db, 0x127a, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11bb, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11db, 0x13fb, 0x14bb, 0x12ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, - 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x133b, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x14db, 0x13bb, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133b, 0x135a, 0x135b, 0x147b, 0x143a, 0x133b, 0x0b5b, 0x135a, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x0b3a, 0x133b, 0x133b, 0x0c5b, 0x0cdb, 0x137a, 0x0b3a, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x133b, 0x133b, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x131a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0bfa, 0x14bb, 0x0bdb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, - 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b7a, 0x0c7b, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c1a, 0x0c5b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0c5a, 0x0c3a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x031a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0af9, 0x0afa, 0x0b5a, 0x0c7b, 0x0c1a, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, - 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0979, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0979, 0x0179, 0x0c3b, 0x09b9, 0x0179, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0959, 0x0199, 0x043a, 0x0a79, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0959, 0x0958, 0x0179, 0x0959, 0x01f9, 0x041a, 0x033a, 0x0958, 0x0159, 0x0178, 0x0159, 0x0979, 0x0958, 0x0179, 0x0979, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0179, 0x0159, 0x0158, 0x0959, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0159, 0x0159, 0x0958, 0x0218, 0x0bda, 0x037a, 0x01b9, 0x0159, 0x0158, 0x0158, 0x0178, 0x0138, 0x0158, 0x0158, 0x0158, - 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0159, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0319, 0x02d9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01f9, 0x03f9, 0x01d9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0178, 0x0399, 0x0339, 0x0178, 0x0158, 0x0158, 0x0158, 0x0938, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0178, 0x02b9, 0x03d9, 0x0278, 0x0138, 0x0157, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, - 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x01b8, 0x03b9, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0278, 0x0359, 0x0158, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0157, 0x02f8, 0x0359, 0x0157, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0136, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x01d7, 0x0379, 0x0318, 0x0177, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, - 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x03b8, 0x0338, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0399, 0x0358, 0x0318, 0x02f8, 0x02f8, 0x02f7, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, - 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x01b7, 0x01b6, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0257, 0x02f7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x01b6, 0x0318, 0x0277, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0217, 0x0358, 0x0237, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0197, 0x01b6, 0x02d7, 0x0337, 0x01f7, 0x0196, 0x0196, - 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d6, 0x00f5, 0x00f6, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f6, 0x00d5, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00d6, 0x00d6, 0x00f5, 0x00f6, 0x00f6, 0x00f6, 0x00d5, 0x00d5, 0x0156, 0x0337, 0x0155, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, - 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d5, 0x0255, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x02b5, 0x00f4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x0134, 0x02b5, 0x01d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x0134, 0x0255, 0x0275, - 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0153, 0x0253, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0092, 0x01d3, 0x0213, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0112, 0x0253, 0x01d3, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x0172, - 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x0090, 0x00b0, 0x0252, 0x00f1, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0212, 0x0171, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, - 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0191, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0252, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d1, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, - 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0232, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0130, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0232, 0x00f0, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x01f1, 0x0130, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0070, 0x01b1, 0x01f1, 0x0090, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0151, 0x0212, 0x00f0, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0130, 0x01d2, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x01f2, 0x0170, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x0130, 0x0252, 0x0110, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x00af, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x00af, 0x0212, 0x010f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x00cf, 0x0232, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0191, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x008f, 0x006e, 0x006f, 0x008f, 0x0110, 0x0212, 0x00cf, 0x006f, 0x006e, 0x006e, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x00cf, 0x01f1, 0x0191, 0x006e, 0x008e, 0x006f, 0x006f, 0x006e, 0x006e, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x00cf, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x0170, 0x01f1, 0x00ae, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x01f1, 0x01d1, 0x008e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x01f1, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0190, 0x01d1, 0x00af, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x008e, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x0191, 0x0212, 0x00af, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x0232, 0x008e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x004e, 0x00cf, 0x0212, 0x00af, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x010f, 0x0212, 0x00ef, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x0191, 0x0130, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01d1, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006d, 0x00ef, 0x0212, 0x010f, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, - 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004e, 0x006e, 0x006d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x010f, 0x01d1, 0x006e, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x01b1, 0x0170, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x00ae, 0x01f1, 0x0150, 0x004d, 0x004d, 0x004d, 0x004e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d + 0x10F2, 0x18D2, 0x18D2, 0x10D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x20F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2112, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F2, 0x20F3, 0x20F2, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x28F3, 0x2113, 0x20F3, 0x2113, 0x28F3, 0x20F3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x20F3, 0x28F3, 0x2113, 0x20F3, 0x2113, 0x28F3, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F2, 0x20F3, 0x20F2, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2112, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x20F2, 0x18F3, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, + 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x259C, 0x1DBC, 0x1D9D, 0x259D, 0x1D9C, 0x259C, 0x259C, 0x259C, 0x259C, 0x259C, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x1DDD, 0x25DD, 0x25DD, 0x25DD, 0x25BD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x25FD, 0x2DFE, 0x2DFD, 0x2DFD, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3E, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x365E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x365E, 0x2E5E, 0x2E5E, 0x2E5E, 0x365E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3E, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2DFD, 0x2DFD, 0x2DFE, 0x25FD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25BD, 0x25DD, 0x25DD, 0x25DD, 0x1DDD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, + 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7B, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x249C, 0x1C9C, 0x1D9D, 0x1D7C, 0x1CFC, 0x1C9C, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x24DC, 0x24DC, 0x24DC, 0x253D, 0x25BD, 0x253D, 0x24DD, 0x24BC, 0x24BC, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24FD, 0x24DC, 0x24DC, 0x24FD, 0x24FD, 0x24FC, 0x24DD, 0x24FD, 0x251C, 0x25FD, 0x255D, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FC, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x251D, 0x24FD, 0x24FD, 0x251D, 0x2D1D, 0x24FD, 0x2CFD, 0x25BD, 0x25BD, 0x253C, 0x2CFC, 0x2D1D, 0x251D, 0x2CFD, 0x2CFD, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1C, 0x2D5D, 0x2DDE, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2E1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2DDE, 0x2D5D, 0x2D1C, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2CFD, 0x2CFD, 0x251D, 0x2D1D, 0x2CFC, 0x253C, 0x25BD, 0x25BD, 0x2CFD, 0x24FD, 0x2D1D, 0x251D, 0x24FD, 0x24FD, 0x251D, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FC, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x255D, 0x25FD, 0x251C, 0x24FD, 0x24DD, 0x24FC, 0x24FD, 0x24FD, 0x24DC, 0x24DC, 0x24FD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24BC, 0x24BC, 0x24DD, 0x253D, 0x25BD, 0x253D, 0x24DC, 0x24DC, 0x24DC, 0x1CBC, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, + 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1B3B, 0x1CFC, 0x157C, 0x1C1C, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x22FB, 0x231C, 0x1D1C, 0x1D5C, 0x235B, 0x22DC, 0x22DB, 0x22DC, 0x22FB, 0x22FC, 0x22DC, 0x22DC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FB, 0x22FB, 0x22FB, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231B, 0x22FC, 0x233C, 0x253C, 0x1CFD, 0x22FC, 0x22FC, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x2AFC, 0x2AFC, 0x231C, 0x2B1C, 0x2B1C, 0x259C, 0x247C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x25BD, 0x2BBC, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x25DD, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2BBC, 0x25BD, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x231C, 0x247C, 0x259C, 0x2B1C, 0x2B1C, 0x231C, 0x2AFC, 0x2AFC, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FB, 0x22FC, 0x22FC, 0x1CFD, 0x253C, 0x233C, 0x22FC, 0x231B, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FB, 0x22FB, 0x22FB, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22DC, 0x22DC, 0x22FC, 0x22FB, 0x22DC, 0x22DB, 0x22DC, 0x235B, 0x1D5C, 0x1D1C, 0x231C, 0x22FB, 0x22DB, 0x22DB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, + 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x137B, 0x1B5B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x139B, 0x1BBB, 0x14FB, 0x153C, 0x13FB, 0x1B7B, 0x139B, 0x1B7B, 0x1B7C, 0x1B9B, 0x1B7B, 0x1B7B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1B9B, 0x1B9B, 0x139C, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1D3C, 0x1D5C, 0x1BFB, 0x1B9C, 0x1BBB, 0x1B9B, 0x1BBC, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1CDC, 0x1D7D, 0x23FC, 0x1BDC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x1BBC, 0x1BBC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x247C, 0x1D9C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x241C, 0x259D, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1DBD, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x259D, 0x241C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1D9C, 0x247C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1BBC, 0x1BBC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BDC, 0x23FC, 0x1D7D, 0x1CDC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1B9B, 0x1BBC, 0x1B9B, 0x1BBB, 0x1B9C, 0x1BFB, 0x1D5C, 0x1D3C, 0x1B9B, 0x1B9C, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x139C, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1B9B, 0x1B9B, + 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x137B, 0x135A, 0x135A, 0x137B, 0x135A, 0x135B, 0x139B, 0x14BB, 0x14FB, 0x13FB, 0x137B, 0x137B, 0x135B, 0x137B, 0x137A, 0x137A, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1BBB, 0x153C, 0x151C, 0x1B7B, 0x139B, 0x137B, 0x139B, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x13BB, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1C3B, 0x1D5C, 0x1C3C, 0x1B9B, 0x1BBB, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1C9C, 0x1D1C, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BDB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1CFC, 0x1C7C, 0x1BBB, 0x1BDB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BDC, 0x23BC, 0x1BBB, 0x1D7C, 0x1BBB, 0x1BBB, 0x23BC, 0x1BDC, 0x1BBB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BDB, 0x1BBB, 0x1C7C, 0x1CFC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BDB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1D1C, 0x1C9C, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BBB, 0x1B9B, 0x1C3C, 0x1D5C, 0x1C3B, 0x1B9C, 0x1B9B, 0x1B9B, 0x139B, 0x1B9B, 0x139B, 0x13BB, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x1B9B, 0x1B9B, 0x139B, 0x1B9B, 0x139B, 0x139B, 0x137B, 0x139B, 0x1B7B, 0x151C, 0x153C, 0x1BBB, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x137B, + 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11BA, 0x11BA, 0x11B9, 0x09B9, 0x11BA, 0x1199, 0x11BA, 0x11BA, 0x1199, 0x11DA, 0x0B3A, 0x0C9B, 0x0BFB, 0x127A, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x12BA, 0x14BB, 0x13FB, 0x11DB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BB, 0x11BA, 0x11DA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x127A, 0x14DB, 0x137B, 0x11DA, 0x19BA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x19DB, 0x11DA, 0x19DA, 0x1A3B, 0x14FB, 0x1AFB, 0x19DA, 0x11DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19DA, 0x1A1B, 0x153C, 0x1A3B, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x153B, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x1A3B, 0x153C, 0x1A1B, 0x19DA, 0x19DB, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x11DB, 0x19DA, 0x1AFB, 0x14FB, 0x1A3B, 0x19DA, 0x11DA, 0x19DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19BA, 0x11DA, 0x137B, 0x14DB, 0x127A, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x11DA, 0x11BA, 0x11BB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11DB, 0x13FB, 0x14BB, 0x12BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, + 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0C3A, 0x0C9A, 0x0BDA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0BDB, 0x14BB, 0x0BFA, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x131A, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133B, 0x133B, 0x133A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133A, 0x0B3A, 0x137A, 0x0CDB, 0x0C5B, 0x133B, 0x133B, 0x0B3A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x135B, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x135A, 0x0B5B, 0x133B, 0x143A, 0x147B, 0x135B, 0x135A, 0x133B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x13BB, 0x14DB, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x133B, 0x14FB, 0x135A, 0x133B, 0x135B, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x14DB, 0x13BB, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x133B, 0x135A, 0x135B, 0x147B, 0x143A, 0x133B, 0x0B5B, 0x135A, 0x133B, 0x133B, 0x135B, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x0B3A, 0x133B, 0x133B, 0x0C5B, 0x0CDB, 0x137A, 0x0B3A, 0x133A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133A, 0x133B, 0x133B, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B3A, 0x131A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0BFA, 0x14BB, 0x0BDB, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, + 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02F9, 0x02D9, 0x02DA, 0x0ADA, 0x0AFA, 0x0BFA, 0x0C5B, 0x0BFA, 0x0AD9, 0x02FA, 0x02F9, 0x02F9, 0x0AF9, 0x02F9, 0x0AF9, 0x02D9, 0x02F9, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0C1A, 0x0C7B, 0x0B5A, 0x0AFA, 0x0AF9, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x031A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0C3A, 0x0C5A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0C5B, 0x0C1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0C7B, 0x0B7A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0CBB, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B7A, 0x0C7B, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0C1A, 0x0C5B, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0C5A, 0x0C3A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x031A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AF9, 0x0AFA, 0x0B5A, 0x0C7B, 0x0C1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, + 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03B9, 0x03DA, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01B9, 0x037A, 0x0BDA, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033A, 0x041A, 0x01F9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0A79, 0x043A, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09B9, 0x0C3B, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0C7A, 0x0979, 0x0179, 0x0979, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0979, 0x0179, 0x0C3B, 0x09B9, 0x0179, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0959, 0x0199, 0x043A, 0x0A79, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0959, 0x0958, 0x0179, 0x0959, 0x01F9, 0x041A, 0x033A, 0x0958, 0x0159, 0x0178, 0x0159, 0x0979, 0x0958, 0x0179, 0x0979, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0179, 0x0159, 0x0158, 0x0959, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0159, 0x0159, 0x0958, 0x0218, 0x0BDA, 0x037A, 0x01B9, 0x0159, 0x0158, 0x0158, 0x0178, 0x0138, 0x0158, 0x0158, 0x0158, + 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01D8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03D9, 0x02B9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01D9, 0x03F9, 0x01F9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02D9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041A, 0x0959, 0x0159, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0319, 0x02D9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01F9, 0x03F9, 0x01D9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0178, 0x0399, 0x0339, 0x0178, 0x0158, 0x0158, 0x0158, 0x0938, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0178, 0x02B9, 0x03D9, 0x0278, 0x0138, 0x0157, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, + 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01D7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01D7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02F8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03B9, 0x01B8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03F9, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x01B8, 0x03B9, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0278, 0x0359, 0x0158, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0157, 0x02F8, 0x0359, 0x0157, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0136, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x01D7, 0x0379, 0x0318, 0x0177, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, + 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02F7, 0x0358, 0x0378, 0x02F7, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D7, 0x02F8, 0x02F8, 0x0398, 0x0378, 0x02F8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0378, 0x0398, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x02F7, 0x02F8, 0x02F8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03B8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03B8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x03B8, 0x0338, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x02F8, 0x0318, 0x0399, 0x0358, 0x0318, 0x02F8, 0x02F8, 0x02F7, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0398, 0x0378, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D8, 0x02F8, 0x0378, 0x0398, 0x02F8, 0x02F8, 0x02D7, 0x02F8, 0x02F8, + 0x0176, 0x01B6, 0x02F8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01F7, 0x0337, 0x02D7, 0x01B6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01B6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x02F7, 0x0257, 0x0197, 0x01B6, 0x01B7, 0x01B6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x01B6, 0x01B7, 0x0378, 0x01B7, 0x01B7, 0x01B6, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x01B7, 0x01B6, 0x0197, 0x0257, 0x02F7, 0x01B6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x01B6, 0x0318, 0x0277, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0217, 0x0358, 0x0237, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0197, 0x01B6, 0x02D7, 0x0337, 0x01F7, 0x0196, 0x0196, + 0x0236, 0x0317, 0x0256, 0x00F4, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00F5, 0x01F6, 0x0317, 0x01F6, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00F5, 0x01B6, 0x0337, 0x01B6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x0155, 0x0337, 0x0156, 0x00D5, 0x00D5, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00D6, 0x00D6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00D5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x0115, 0x0338, 0x0115, 0x00F6, 0x00F5, 0x00F6, 0x00F5, 0x00D6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00F6, 0x00D5, 0x00F5, 0x0357, 0x00F5, 0x00F5, 0x00D5, 0x00F6, 0x00D5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D6, 0x00F5, 0x00F6, 0x00F5, 0x00F6, 0x0115, 0x0338, 0x0115, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00F6, 0x00D5, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00D6, 0x00D6, 0x00F5, 0x00F6, 0x00F6, 0x00F6, 0x00D5, 0x00D5, 0x0156, 0x0337, 0x0155, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x01B6, 0x0337, 0x01B6, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x01F6, 0x0317, 0x01F6, 0x00F5, + 0x01F4, 0x0113, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00D3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00D3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00D3, 0x00B3, 0x00D3, 0x00D3, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x01D4, 0x02B5, 0x0134, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00F4, 0x02B5, 0x01B5, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01B5, 0x0255, 0x00D5, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x02F6, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D5, 0x0255, 0x01B5, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01B5, 0x02B5, 0x00F4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x0134, 0x02B5, 0x01D4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D3, 0x00D3, 0x00B3, 0x00D3, 0x0134, 0x0255, 0x0275, + 0x00B1, 0x0091, 0x0091, 0x0091, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x00D2, 0x01B2, 0x0273, 0x0172, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x01D3, 0x0253, 0x0112, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0213, 0x01D3, 0x0092, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0253, 0x0153, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0294, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0153, 0x0253, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0092, 0x01D3, 0x0213, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0112, 0x0253, 0x01D3, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x0172, + 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01D1, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01D2, 0x01F2, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0171, 0x0212, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00F1, 0x0252, 0x00B0, 0x0090, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0272, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x0090, 0x00B0, 0x0252, 0x00F1, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0212, 0x0171, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F2, 0x01D2, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F2, 0x01D1, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01B1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0191, 0x01B1, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00D0, 0x0252, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01D1, 0x01F2, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x00D0, 0x0212, 0x01D2, 0x00D0, 0x0090, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x00F0, 0x0232, 0x01B1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0232, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00D0, 0x0232, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0130, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x01B1, 0x0232, 0x00F0, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0171, 0x0232, 0x0151, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x00F0, 0x0212, 0x0151, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x01F1, 0x01B1, 0x0070, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0130, 0x01F1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x01F1, 0x0130, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0070, 0x01B1, 0x01F1, 0x0090, 0x0070, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0151, 0x0212, 0x00F0, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0070, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0070, 0x008F, 0x006F, 0x008F, 0x0110, 0x0232, 0x01B1, 0x00AF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0110, 0x0252, 0x0130, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0170, 0x01F2, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x01D2, 0x0130, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0130, 0x01D2, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x01F2, 0x0170, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x0130, 0x0252, 0x0110, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x01B1, 0x0232, 0x010F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0232, 0x00CF, 0x006F, 0x006F, 0x008E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x010F, 0x0212, 0x00AF, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x00AF, 0x0212, 0x00AF, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x0252, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x00AF, 0x0212, 0x00AF, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x00AF, 0x0212, 0x010F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008E, 0x006F, 0x006F, 0x00CF, 0x0232, 0x0150, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0110, 0x0212, 0x01B1, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x008F, 0x006E, 0x006E, 0x006F, 0x006F, 0x008E, 0x006E, 0x0191, 0x01F1, 0x00CF, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006E, 0x006E, 0x006F, 0x00CF, 0x0212, 0x0110, 0x008F, 0x006F, 0x006E, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0191, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0232, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0191, 0x0150, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x006F, 0x008F, 0x006E, 0x006F, 0x008F, 0x0110, 0x0212, 0x00CF, 0x006F, 0x006E, 0x006E, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006F, 0x006F, 0x00CF, 0x01F1, 0x0191, 0x006E, 0x008E, 0x006F, 0x006F, 0x006E, 0x006E, 0x008F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x0212, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x008E, 0x01D1, 0x01F1, 0x008F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x01F1, 0x0170, 0x006F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0211, 0x00CF, 0x008F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008F, 0x00CF, 0x0211, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006F, 0x0170, 0x01F1, 0x00AE, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x008F, 0x01F1, 0x01D1, 0x008E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0130, 0x0212, 0x0170, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x01D1, 0x0190, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x01F1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00EF, 0x0211, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0211, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x01F1, 0x0190, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0190, 0x01D1, 0x00AF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x01F2, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x0212, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x0212, 0x008E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0150, 0x0190, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x008E, 0x0212, 0x010F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x0191, 0x0212, 0x00AF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x004D, 0x0130, 0x01F2, 0x0150, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x00EF, 0x0212, 0x010F, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x00AF, 0x0212, 0x00CF, 0x004E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x008E, 0x0232, 0x008E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x008E, 0x0232, 0x008E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x004E, 0x00CF, 0x0212, 0x00AF, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x010F, 0x0212, 0x00EF, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006D, 0x004D, 0x004D, 0x004E, 0x004D, 0x004D, 0x006D, 0x006D, 0x008E, 0x01B1, 0x01D1, 0x00CE, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006E, 0x004D, 0x006E, 0x006E, 0x004E, 0x006D, 0x010F, 0x0212, 0x00EF, 0x006D, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x004D, 0x006E, 0x01D1, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0130, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0232, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x0191, 0x0130, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0150, 0x01D1, 0x006E, 0x004D, 0x006E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006E, 0x006E, 0x006D, 0x00EF, 0x0212, 0x010F, 0x006D, 0x004E, 0x006E, 0x006E, 0x004D, 0x006E, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, + 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x0150, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004E, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x00AE, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x0170, 0x01B1, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004E, 0x006E, 0x01D1, 0x010F, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x004E, 0x0212, 0x004D, 0x004E, 0x006E, 0x006D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x010F, 0x01D1, 0x006E, 0x004E, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x01B1, 0x0170, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x00AE, 0x01F1, 0x0150, 0x004D, 0x004D, 0x004D, 0x004E, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp index 454e96402841..2545f845a80f 100644 --- a/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp +++ b/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp @@ -25,65 +25,65 @@ #if HAS_GRAPHICAL_TFT extern const uint16_t marlin_logo_195x59x16[11505] = { - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x20ab, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, - 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xc53a, 0xc67c, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, - 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xbe3b, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, - 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xbe3b, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, - 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, - 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, - 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, - 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, - 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, - 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, - 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, - 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, - 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, - 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, - 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, - 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, - 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, - 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, - 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, - 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, - 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, - 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, - 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, - 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, - 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, - 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, - 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, - 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, - 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, - 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, - 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, - 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, - 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, - 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, - 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, - 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, - 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, - 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, - 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xec6f, 0xa8f1, 0xa8f1, 0xa8f1, - 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xec8e, 0xa911, 0xa911, 0xa911, - 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe42e, 0xa111, 0xa911, 0xa911, - 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc2b0, 0xa111, 0xa111, 0x80f0, - 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe2d, 0xa112, 0xa111, 0xa111, 0x60ef, - 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xcbcf, 0xa111, 0xa111, 0xa111, 0x28cd, - 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0xa171, 0xa111, 0x9911, 0x8110, 0x18ad, - 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe2d, 0xaa31, 0x9931, 0x9931, 0x9931, 0x38ce, 0x20ac, - 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfe8c, 0xfe8c, 0xf62d, 0xb270, 0x9931, 0x9931, 0x9912, 0x60ef, 0x20ac, 0x20ad, - 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe8c, 0xf5cd, 0xaa31, 0x9911, 0x9931, 0x9931, 0x8110, 0x28ad, 0x20ac, 0x18ac, - 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xcbcf, 0xa171, 0x9931, 0x9931, 0x9931, 0x9111, 0x28ad, 0x18ac, 0x20ac, 0x20ac, - 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x8111, 0x28cd, 0x20ac, 0x18ac, 0x18ac, 0x18ac, - 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9911, 0x610f, 0x28cc, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, - 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7910, 0x40ce, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, - 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9932, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x7910, 0x58cf, 0x30cc, 0x18ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x310E, 0x7A32, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x496F, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x20AB, 0x18AD, 0x18AD, 0x18AD, 0x20EE, 0x8252, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD3B5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD4F8, 0xD65C, 0xD6DD, 0xD6FD, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, + 0x18AD, 0x20AD, 0x18AE, 0x28EE, 0xCB55, 0xD375, 0xD395, 0xD395, 0xD3D6, 0xD5DB, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD477, 0xD77E, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x18CD, 0x8252, 0xD395, 0xD395, 0xD396, 0xD4B8, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD457, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCF3E, 0xC67C, 0xC53A, 0xACB8, 0xACB8, 0xACB8, 0xACB8, 0xACB8, 0xACB8, 0xC53A, 0xC67C, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD65B, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD396, 0xD395, + 0x20AE, 0xA2D3, 0xD395, 0xD395, 0xD3D6, 0xD75E, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFDF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7DF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCFFF, 0xD7DF, 0xACD8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xBE3B, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD65C, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, + 0x310E, 0xD395, 0xD375, 0xD375, 0xD5BA, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5B, 0xBE3C, 0xB57A, 0xACB8, 0xBDBB, 0xC63C, 0xBE3B, 0xC71E, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5C, 0xB5DB, 0xACB8, 0xAC98, 0xBD5A, 0xBE3C, 0xC61C, 0xC69D, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xACB9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA111, 0xBE3B, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCF5E, 0xBE5C, 0xBE5C, 0xC63C, 0xC61C, 0xCEFD, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFFF, 0xCFDF, 0xD63B, 0xD375, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD395, + 0x79F1, 0xD355, 0xD355, 0xD355, 0xCF7E, 0xC7DF, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xCFBF, 0xBEFD, 0xACB8, 0x8A52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA192, 0xAB96, 0xBE7D, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xCFDF, 0xCFBF, 0xC75E, 0xAD19, 0x92B4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xA111, 0x9931, 0xA111, 0x9911, 0xAB36, 0xBD5A, 0xC75E, 0xCFDF, 0xC7BF, 0xC7BF, 0xCFDF, 0xC7DF, 0xC7BF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xC7BF, 0xCFBF, 0xC7DF, 0xA4B8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xBE3B, 0xCFBF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xB5DA, 0x8A12, 0x8971, 0x9931, 0x9931, 0xA111, 0x9931, 0xAB35, 0xC75E, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFBF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCE1B, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, + 0xA293, 0xD335, 0xD335, 0xCC98, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC75E, 0xA4B8, 0x8191, 0x9151, 0x9911, 0xA131, 0xA111, 0xA111, 0x9931, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xAB35, 0xBEFE, 0xC7BF, 0xC7BE, 0xC7BF, 0xB5DB, 0x89F1, 0x8971, 0x9931, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA132, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA172, 0xBD3A, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BE, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xAC98, 0x8191, 0x9151, 0x9931, 0xA111, 0xA131, 0xA111, 0xA131, 0xA111, 0x9931, 0xBE1B, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xBEFD, 0x89F2, 0x8991, 0x9931, 0xA112, 0xA131, 0xA111, 0xA111, 0xA111, 0xAB97, 0xC7BF, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC6DD, 0xD375, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, + 0xD315, 0xD315, 0xD314, 0xC5FB, 0xC79F, 0xC79E, 0xC7BF, 0xC7BF, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xBF9E, 0xBFBF, 0xBFBE, 0xB67C, 0x8A53, 0x8971, 0xA131, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA172, 0xB539, 0xBF9F, 0x9BF6, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xAB15, 0xBF3D, 0xC79F, 0xC7BE, 0xC79F, 0xC79F, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79F, 0xC79E, 0xC79F, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xA4B8, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xBDFB, 0xC79F, 0xC79E, 0xC7BE, 0xC79F, 0xACF9, 0x8191, 0x9171, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA131, 0xA111, 0xBF3E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xC7BF, 0xC79E, 0xC79E, 0xC79E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xBF9E, 0xC79F, 0xC79E, 0xBFBE, 0xC79E, 0xC6BD, 0xD355, 0xD2F5, 0xD315, 0xCB14, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD315, 0xD315, 0xD315, 0xD314, + 0xD2F4, 0xCAF4, 0xD2F4, 0xC65C, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF7F, 0xB67C, 0x8A12, 0x8971, 0xA111, 0xA111, 0xA911, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA912, 0xA911, 0xA1F3, 0x8191, 0x9931, 0xA111, 0xA111, 0xA912, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA112, 0xA911, 0xAA54, 0xBF1D, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xB79E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xB5FB, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA911, 0xB5FB, 0xBF7E, 0xBF9E, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBEBD, 0xD335, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2F5, 0xCAF4, + 0xD2D4, 0xD2D4, 0xD2D4, 0xBE5C, 0xB77E, 0xB79E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xB77E, 0xB79E, 0xBF7E, 0xAE7B, 0x89F2, 0x8971, 0xA111, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA912, 0xA911, 0xA911, 0xA111, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA111, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA912, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA111, 0xAA34, 0xB71E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7F, 0xB77E, 0x9C97, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA911, 0xA8F1, 0xB5DB, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xA478, 0x8191, 0x9951, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xB5DB, 0xB77F, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xBE9D, 0xCB75, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D5, + 0xD2B4, 0xD2B4, 0xD2B4, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB71D, 0x8A53, 0x8191, 0xA111, 0xA8F1, 0xB0F1, 0xA911, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F2, 0xA8F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB2F5, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C78, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C77, 0x8191, 0x9151, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB71D, 0xCB96, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCA94, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, + 0xD294, 0xD294, 0xCA94, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0x9416, 0x8991, 0x9951, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F2, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xACF9, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF7E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5D, 0xB75E, 0xAF5E, 0xAF5E, 0x9C77, 0x8191, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xB75E, 0xB75E, 0xB75E, 0xB75E, 0x9C78, 0x8991, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB5BB, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF1D, 0xCB75, 0xCA93, 0xD294, 0xCA74, 0xCA94, 0xCA74, 0xD274, 0xCA74, 0xD294, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA93, 0xCA94, 0xD293, 0xCA74, + 0xD274, 0xD274, 0xCA53, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF5D, 0xAF3D, 0xAF3E, 0xA69C, 0x8191, 0x8191, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F2, 0xB0D1, 0xB0D1, 0xB0F2, 0xB0F1, 0xB0F1, 0xAA13, 0xB418, 0xA438, 0x9AB4, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xAA74, 0xAC78, 0xACF9, 0x9B35, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F2, 0xB0D1, 0xB0F1, 0xA9B3, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0x9C77, 0x8191, 0x9931, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xAF3E, 0xAF3E, 0xAF5D, 0xAF3E, 0x9477, 0x8191, 0x9951, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xADBA, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAEFD, 0xCB56, 0xCA53, 0xCA74, 0xD253, 0xD274, 0xD274, 0xD273, 0xCA73, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD254, 0xCA74, 0xCA54, 0xCA54, 0xCA74, + 0xCA53, 0xCA53, 0xCA53, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0x9457, 0x8191, 0x9931, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB1B3, 0xAD9A, 0xAF3D, 0xAF3D, 0xA73D, 0xA73D, 0x9DDA, 0x89D1, 0x9951, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB213, 0xAD9B, 0xA73E, 0xA73D, 0xAF3E, 0xAF3E, 0x9DDA, 0x81F2, 0x9171, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D2, 0xB0F1, 0xAD39, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3E, 0xAF1E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xAF3E, 0xA73E, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xA73E, 0x9478, 0x8191, 0x9931, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xAD9A, 0xA73E, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xAF3D, 0xAF3D, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xAEDD, 0xC376, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xCA53, 0xD253, 0xCA53, 0xCA53, + 0xCA13, 0xCA33, 0xCA13, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0x8A53, 0x8191, 0xA8F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB213, 0xA6BD, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0x9E1B, 0x81F1, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB1F3, 0xA6BD, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0x9E1B, 0x89F2, 0x8991, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB336, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71E, 0xA71D, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA73E, 0xA71D, 0xA73E, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA73E, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0x9477, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA59A, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71E, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71E, 0xA71D, 0xA73D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xBBF7, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA14, 0xD233, 0xCA33, + 0xCA13, 0xCA13, 0xCA13, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x8191, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9EFD, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB932, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1E, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E1B, 0x9457, 0x92D4, 0xA1F3, 0xA911, 0xB0F1, 0xB0F1, 0xA911, 0xB274, 0xB254, 0xB254, 0xABF7, 0xA5DB, 0xA6FD, 0xA6FD, 0xA71D, 0xA71D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E7C, 0x9498, 0x8B14, 0x9A13, 0xA131, 0xA912, 0xB0F1, 0xA8F1, 0xB255, 0xB274, 0xB254, 0xAB97, 0xAD1A, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9457, 0x8191, 0xA131, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA57A, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9E7C, 0x9DBA, 0xA59A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA69C, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E5C, 0x94B8, 0x8AF4, 0x9A13, 0xA131, 0xA8F1, 0xB0F1, 0xB0F1, 0xB932, 0xB274, 0xB254, 0xB336, 0xACB9, 0xA63C, 0x9F1D, 0xBBF7, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA13, + 0xC9D3, 0xC9D3, 0xC9D3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x959A, 0x8191, 0x9151, 0xC0B1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB2B5, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8252, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB1F3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9F1D, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8A93, 0x8191, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xA63C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x94F8, 0x8A53, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8B1, 0xC0B1, 0xC0D1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB8B1, 0xB992, 0xACB9, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E5C, 0x8B96, 0x8991, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB932, 0xABF7, 0x9E9C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E9C, 0x8B96, 0x8971, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB335, 0xA63C, 0xBBD7, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, + 0xC9B3, 0xC9B3, 0xC9B3, 0x9EDD, 0x96FD, 0x9EDD, 0x96FD, 0x9EFC, 0x96FD, 0x96FD, 0x9599, 0x8991, 0x9171, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xABD7, 0x9EFC, 0x96FD, 0x96FD, 0x96DD, 0x96FD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x9EFD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xAB76, 0x9EDD, 0x9EFD, 0x9EFD, 0x9EDD, 0x9EDD, 0x96DD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x8C37, 0x8191, 0xA131, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xA55A, 0x96FD, 0x9EDD, 0x9EFD, 0x96FD, 0x963B, 0x8AF4, 0x8991, 0xA911, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xB992, 0xA55A, 0x9EDD, 0x9EFC, 0x96FD, 0x9EDD, 0x96FD, 0x9EFD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x94F9, 0x81F1, 0x9171, 0xB8D2, 0xC0B1, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB992, 0x9DBB, 0x96FD, 0x9EDD, 0x96FD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x9EDD, 0x96FD, 0x96FD, 0x9EFD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x96FD, 0x9EFD, 0x96FD, 0x9EFD, 0x9EFD, 0x96FD, 0x9EFD, 0x96FD, 0x9539, 0x81F1, 0x9171, 0xB0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB911, 0xACFA, 0xB458, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9D3, 0xC9D3, 0xC9B3, + 0xC993, 0xC993, 0xC992, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8D79, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x95DA, 0x89F2, 0x8971, 0xB8D1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0x9931, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DC, 0x96DD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8CD8, 0x8191, 0x9951, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xAC79, 0xACF9, 0xC992, 0xC993, 0xC9B2, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, 0xC992, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, + 0xC972, 0xC972, 0xC972, 0x8EBC, 0x8EBD, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8D7A, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D39, 0x8EBD, 0x8EDD, 0x8DBA, 0x81F2, 0x9171, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC0B1, 0xC8B2, 0xC8B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xA437, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBD, 0x8EBD, 0x8CD8, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC8B1, 0xA4D9, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0x9D3A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8CD8, 0x8191, 0x9951, 0xC8B1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC8B1, 0xC8D1, 0xA478, 0xA4D9, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, + 0xC952, 0xC952, 0xC952, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D59, 0x8191, 0x9171, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xABD7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA931, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC0F2, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8437, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D3A, 0x8EBC, 0x8E1B, 0x81F2, 0x8971, 0xB912, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8D1, 0xC112, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8D1, 0xC8F2, 0xC8D1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F1, 0xA498, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8DBA, 0x8991, 0x8991, 0xC0F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC8F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC132, 0x8E5C, 0x8C17, 0x8191, 0xA931, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C17, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8DBA, 0x81F2, 0x8991, 0xC111, 0xC8F1, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8D2, 0xC8F1, 0xC8F2, 0xC0F1, 0xC0F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC152, 0x95FB, 0xA4B8, 0xC152, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, + 0xC932, 0xC932, 0xC932, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D79, 0x8191, 0x9171, 0xC132, 0xC131, 0xC912, 0xC912, 0xC132, 0xC911, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC911, 0xC912, 0xC912, 0xC112, 0xC912, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8AD4, 0x8191, 0xB152, 0xC912, 0xC131, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC912, 0xC912, 0xC911, 0xC112, 0xC932, 0xC912, 0xC912, 0xC932, 0xC911, 0xC912, 0xC912, 0xC932, 0xC131, 0x9DBA, 0x8EBC, 0x96BC, 0x8EBC, 0x8EDC, 0x96BB, 0x8EBC, 0x8EDC, 0x82D4, 0x8191, 0xB932, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC131, 0xC912, 0xC132, 0xC131, 0xC912, 0xC912, 0xC911, 0xC911, 0xC131, 0xC912, 0xC912, 0xB356, 0x8C36, 0x8191, 0xA151, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC112, 0x9D59, 0x8EBC, 0x96BC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8EBC, 0x82F4, 0x8991, 0xB151, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC131, 0xC932, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC912, 0xC911, 0xC932, 0xC932, 0xC112, 0xC911, 0xC132, 0xC912, 0xC912, 0xC932, 0xB336, 0x96BC, 0xA4F9, 0xC192, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, + 0xC912, 0xC912, 0xC912, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9EDB, 0x9578, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xB417, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA518, 0x9EDB, 0x96DB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x94D8, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC253, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xBAB5, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9599, 0x8191, 0x91B1, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B5, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC972, 0xC1B2, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x8C36, 0x8991, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9598, 0x8191, 0x9191, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC172, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA61A, 0x9EDC, 0xA5DA, 0xC172, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0xC111, 0xC912, 0xC912, 0xC912, + 0xC8F1, 0xC8F1, 0xC8F2, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6DA, 0xA6FA, 0x9D98, 0x8191, 0x9191, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC992, 0xB436, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD99, 0x8A32, 0x8991, 0xC192, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC973, 0xC992, 0xC992, 0xC992, 0xBC36, 0xA69A, 0xA6FA, 0xA6FA, 0xA69A, 0x9395, 0x8991, 0xB992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0xAD98, 0xA6DB, 0xA6DA, 0xA6FA, 0xA6FB, 0xA6FA, 0x9395, 0x8191, 0xB192, 0xC992, 0xC992, 0xC992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC972, 0xC233, 0xAD98, 0xA6FA, 0xA6FB, 0xA639, 0x8A93, 0x9992, 0xC192, 0xC972, 0xC992, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0x9A93, 0x8191, 0xA992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6DA, 0x8B95, 0x8191, 0xB192, 0xC972, 0xC992, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC294, 0xADF9, 0xA6FA, 0xA6DA, 0xA69A, 0x9334, 0x9191, 0xB992, 0xC992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xB497, 0xAEFB, 0xAEFB, 0xB5D9, 0xC952, 0xC8F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, + 0xC0D1, 0xC0D1, 0xC8D2, 0xB71A, 0xB71A, 0xB71A, 0xAEFA, 0xB71A, 0xAF1A, 0xAEFA, 0xA598, 0x8191, 0x9191, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC9D3, 0xBC76, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0x9C55, 0x8191, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xC9D3, 0xB5B8, 0xB71A, 0xAF1A, 0xB71A, 0xB6FA, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB6FA, 0xAF1A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xA3B5, 0x8191, 0x9992, 0xC9B2, 0xC9B3, 0xC9D2, 0xC9B2, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xCA13, 0xBDB8, 0xAEFA, 0xAF1A, 0xB71A, 0xB6FA, 0xAEFA, 0xAF19, 0xA4F7, 0x8991, 0xB1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9B3, 0xC9B3, 0xC314, 0xAF1A, 0xAF1A, 0xAEF9, 0xAF1A, 0xAF1A, 0x89F1, 0x8191, 0xC1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9B2, 0xC9D3, 0xC9B3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xAEFA, 0xB71A, 0xB6B9, 0x8A93, 0x8991, 0xC1D2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B2, 0xA992, 0x8191, 0xA9B2, 0xC9D3, 0xC9B3, 0xC9D3, 0xC9B2, 0xC9B2, 0xC9B2, 0xC9B3, 0xB5B8, 0xAF1A, 0xAEFA, 0xAF1A, 0xB71A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xB5B8, 0xB6FA, 0xAF1A, 0xAF1A, 0xB6FA, 0x89F2, 0x8191, 0xC1B2, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xB71A, 0xB6FA, 0xB71A, 0x92F3, 0x89B1, 0xC1B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9D3, 0xC315, 0xB71A, 0xB71A, 0xB71A, 0xBDD9, 0xC132, 0xC0D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, + 0xC0B1, 0xC8B1, 0xC0B1, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA4B5, 0x8191, 0xA1B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xD1F3, 0xC496, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF39, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0x99F2, 0x8991, 0xB1D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC577, 0xBF19, 0xBF39, 0xBF39, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9BF5, 0x8191, 0xB1D2, 0xC9F3, 0xC9F3, 0xD1F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF19, 0xBF19, 0xB6B9, 0x8191, 0x8991, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9D3, 0xC9F3, 0xC9F3, 0xBED8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xAD57, 0x8191, 0x99B2, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xB9D3, 0x8191, 0xA9B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9C75, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xB6B8, 0x8191, 0x8191, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xADB7, 0x8191, 0x91B1, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC71A, 0xBF1A, 0xC73A, 0xBF3A, 0xC659, 0xC9D3, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, + 0xC0B1, 0xC0B1, 0xC0B1, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8991, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA34, 0xCA13, 0xCA33, 0xCA33, 0xCCB6, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA455, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xD213, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0x91B1, 0x8191, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA13, 0xC455, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0x8A52, 0x8991, 0xC213, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCD56, 0xC738, 0xC738, 0xC739, 0xB5D7, 0x8191, 0x91B1, 0xCA13, 0xCA13, 0xCA13, 0xD233, 0xCA33, 0xCA33, 0xCA33, 0xCB55, 0xCF38, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0x8191, 0x8191, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xD233, 0xCA13, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCDF7, 0xC738, 0xC738, 0xC738, 0xC739, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xB5D6, 0x8191, 0x99B2, 0xCA33, 0xCA33, 0xD213, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCB74, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0x8AB2, 0x8191, 0xBA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA13, 0xCF39, 0xC739, 0xC759, 0xCF3A, 0xCF39, 0xCED9, 0xC9F3, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, + 0xC0B1, 0xC0B1, 0xC0B1, 0xCF57, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0xCA54, 0xCCD6, 0xCF58, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF58, 0xAC75, 0x8191, 0xA9F2, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCE17, 0xCF57, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0x99D2, 0x89B1, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xD6B7, 0xD758, 0xCF58, 0xCF57, 0xCF58, 0xD758, 0xD757, 0xD758, 0xD757, 0xD758, 0xCF58, 0xB535, 0x8191, 0xA1D2, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCA73, 0xCA53, 0xCA53, 0xCC95, 0xD758, 0xD758, 0xCF58, 0xBDD6, 0x8191, 0x99D2, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xD254, 0xCA54, 0xD435, 0xD758, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF57, 0xD738, 0xCF58, 0x9AF3, 0x8991, 0xC213, 0xCA54, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA54, 0xCA73, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xD253, 0xCA54, 0xD253, 0xCA53, 0xCA54, 0xCE17, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xD617, 0xD758, 0xCF58, 0xCF58, 0xBDD6, 0x8191, 0x91B2, 0xCA53, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xD253, 0xD253, 0xCCD6, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF57, 0xD757, 0xCF58, 0xD758, 0x9AF3, 0x8191, 0xBA33, 0xCA54, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xD758, 0xD758, 0xDF59, 0xD779, 0xD759, 0xD759, 0xD6F9, 0xC1F2, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, + 0xC0B1, 0xC0B1, 0xC0B1, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xCA74, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0x99D2, 0x91D2, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xD3D4, 0xDF77, 0xDF77, 0xDF77, 0xDF76, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0x8191, 0x8992, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xCA94, 0xD3D5, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xCA94, 0xCA94, 0xD273, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xD515, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xD294, 0xCA94, 0x8191, 0xAA12, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xCA93, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xE779, 0xDF19, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, + 0xB8D1, 0xB8D1, 0xC0D1, 0xE776, 0xE796, 0xE797, 0xE797, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2D4, 0xD2B4, 0xD2B4, 0xDD35, 0xE776, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xB474, 0x8191, 0xAA33, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2D4, 0xE656, 0xEF96, 0xE776, 0xE797, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0x99D2, 0x99F2, 0xCAB4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2B4, 0xD3F5, 0xE777, 0xE797, 0xEF97, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xE777, 0xEF97, 0x8191, 0x8191, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD3D5, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xCAD4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xDD35, 0xE777, 0xEF76, 0xE796, 0xE797, 0xE797, 0xE776, 0xE796, 0xE776, 0xC534, 0xB494, 0xCC15, 0xD3F5, 0xDBF4, 0xDBF4, 0xDBF5, 0xD3F5, 0xD3F4, 0xCB34, 0x8191, 0xAA32, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xCAB4, 0xE656, 0xE776, 0xE796, 0xE796, 0xE776, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xDE56, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2D4, 0xCAD4, 0xCAD4, 0xDD15, 0xE796, 0xE796, 0xE776, 0xE796, 0xEF96, 0xE796, 0xE796, 0xE796, 0x9B13, 0x8191, 0xBA73, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xE797, 0xEF97, 0xEF77, 0xEF97, 0xEF78, 0xEF98, 0xEF98, 0xEF98, 0xC992, 0xB8D1, 0xC0D1, 0xC0B1, + 0xB8D1, 0xB8D1, 0xB8D1, 0xF796, 0xF7B6, 0xF796, 0xF795, 0xF795, 0xF796, 0xEFB6, 0xBC93, 0x8191, 0xAA52, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2F4, 0xDD55, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xEFB6, 0xBC93, 0x8191, 0xAA53, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xE675, 0xF796, 0xF795, 0xF796, 0xF796, 0xF796, 0xF7B6, 0xF7B5, 0xF7B5, 0xEF96, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0x99F2, 0x99F2, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2F4, 0xD2F4, 0xDC75, 0xF795, 0xF795, 0xF795, 0xF796, 0xF7B5, 0xF796, 0xF796, 0xF796, 0xF796, 0xEFB6, 0xF7B5, 0xF796, 0x8191, 0x8991, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xDC15, 0xF796, 0xF796, 0xF796, 0xD615, 0x8191, 0x99F2, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xE535, 0xF7B6, 0xF7B5, 0xF796, 0xEFB6, 0xF796, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xF795, 0xF796, 0xF796, 0xF795, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xBC93, 0x8191, 0xAA53, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF796, 0xF7B5, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF7B5, 0xF795, 0xD634, 0x8191, 0x99F2, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2D4, 0xE555, 0xF796, 0xF7B5, 0xF7B6, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xA311, 0x8191, 0xBA94, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xF796, 0xF796, 0xF797, 0xF797, 0xF797, 0xF7B7, 0xF798, 0xF798, 0xD273, 0xB8D1, 0xB8D1, 0xB8D1, + 0xB8D1, 0xB8D1, 0xB8D1, 0xFF94, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD315, 0xD335, 0xD335, 0xD335, 0xD334, 0xD315, 0xD335, 0xE575, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xF675, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB5, 0xFF95, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0x99F2, 0x99F2, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD315, 0xD335, 0xDC54, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0x8191, 0x8191, 0xD334, 0xD315, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xDC34, 0xFFB4, 0xFFB5, 0xFFB5, 0xDE34, 0x8191, 0x99F2, 0xD314, 0xD335, 0xD315, 0xD334, 0xD334, 0xD335, 0xD335, 0xE574, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xC4B3, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xEDF5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0xF694, 0xFFB5, 0xFFB5, 0xFFB5, 0xDE14, 0x8191, 0x99F2, 0xD335, 0xD335, 0xD314, 0xD334, 0xD314, 0xD334, 0xD315, 0xE555, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xA332, 0x8191, 0xBAB4, 0xD335, 0xD335, 0xD335, 0xD315, 0xD334, 0xD335, 0xD335, 0xFFB5, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB7, 0xFFB8, 0xDBD4, 0xB8D2, 0xB8D1, 0xB8D1, + 0xB8D1, 0xB8D1, 0xB8D1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xC3F0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xF590, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0x9A12, 0x91F2, 0xD355, 0xD354, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDBD4, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0x8191, 0x8191, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDC13, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x99F2, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xC3CF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xE4D1, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xC3D0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xF590, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x9A12, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD2, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE2F, 0xA2B0, 0x8191, 0xC2F4, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xFE2F, 0xFE50, 0xFE50, 0xFE50, 0xFE51, 0xFE51, 0xFE52, 0xFE52, 0xE3D2, 0xB8D2, 0xB8D1, 0xB8D1, + 0xB8D1, 0xB0D1, 0xB0D2, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xC30F, 0x81B1, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD375, 0xD395, 0xD395, 0xD375, 0xD395, 0xD396, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0x9A12, 0x8191, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xDBD3, 0xFC8D, 0xFC6D, 0xFC6D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC8D, 0xFC6D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD375, 0xD395, 0xD376, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFC8E, 0xFC8F, 0xFC8F, 0xFC8F, 0xFCB0, 0xFCB0, 0xFCB1, 0xFCB1, 0xF3B2, 0xB8D1, 0xB0F1, 0xB8D1, + 0xB0F1, 0xB0F1, 0xB0D1, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x9A12, 0x8191, 0xC334, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFC8E, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFC8D, 0xFC8D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB2F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB6F, 0x8191, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFC8E, 0xFC8F, 0xFCAF, 0xFCAF, 0xFCB0, 0xFCB0, 0xFCB0, 0xFCB2, 0xF451, 0xB0D1, 0xB0D1, 0xB0D1, + 0xB0F1, 0xB0F1, 0xB0D1, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xCB4E, 0x8191, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xBB11, 0x8191, 0xAA73, 0xD396, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFCAE, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFCAD, 0xFCCD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD3, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCAD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA94, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xFCAD, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFCCE, 0xFCCF, 0xFCCF, 0xFCEF, 0xFCD0, 0xFCF0, 0xFCF1, 0xFCF1, 0xFCF2, 0xB0F1, 0xB0F1, 0xB0F2, + 0xB0F1, 0xA8F1, 0xB0F1, 0xFD0D, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFD0D, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC6F, 0x91D1, 0x89D1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xDBB4, 0xEC70, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFCED, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBF3, 0xFCED, 0xFCED, 0xFCED, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xEC6E, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xF4AF, 0xFD0D, 0xFCED, 0xFD0D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD0E, 0xFD0F, 0xFD0F, 0xFD0F, 0xFD10, 0xFD10, 0xFD31, 0xFD31, 0xFD32, 0xB0F1, 0xB0F1, 0xB0F1, + 0xB0F1, 0xA8F1, 0xB0F1, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xE44E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xC34F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xE431, 0xEC71, 0xEC71, 0xDBF0, 0xE450, 0xF4CF, 0xFD0E, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xF4AF, 0xF4CF, 0xF4AF, 0xDC10, 0x9A12, 0xAA73, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2C, 0xFD2C, 0x9211, 0x8191, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFCEE, 0xFD2D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC10, 0xE44E, 0xDC2E, 0xE44E, 0xB2F0, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD2E, 0xFD2F, 0xFD2F, 0xFD4F, 0xFD50, 0xFD50, 0xFD51, 0xFD51, 0xFD71, 0xA8F1, 0xB0F1, 0xB0F2, + 0xA8F1, 0xA8F1, 0xA8F2, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xE46E, 0x8191, 0x9212, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD2D, 0x9211, 0x89B2, 0xCB75, 0xD396, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xBB2F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD6E, 0xFD6F, 0xFD6F, 0xFD8F, 0xFD90, 0xFD90, 0xFD91, 0xFD91, 0xFD92, 0xA8F1, 0xA8F1, 0xA8F1, + 0xA8F1, 0xA8F1, 0xA8F1, 0xEC6F, 0xFD8D, 0xFDAD, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xE48E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFDAD, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFD8D, 0xE4AE, 0x8991, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xE491, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFDAD, 0xF52D, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFD8D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFDAF, 0xFDAF, 0xFDAD, 0xFDAD, 0xFDAD, 0xFD8D, 0xFDAD, 0xFD8D, 0xEC6F, 0xA8F1, 0xA8F1, 0xA8F1, + 0xA911, 0xA911, 0xA911, 0xEC8E, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xE4CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDED, 0xFDCD, 0xD44F, 0x8191, 0xB2B3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0x8991, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xBB6F, 0x8191, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDED, 0xFDED, 0xFDED, 0xFDED, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFDEE, 0xFDEF, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xFDED, 0xEC8E, 0xA911, 0xA911, 0xA911, + 0xA911, 0xA911, 0xA111, 0xE42E, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xE4EE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xD44F, 0x8191, 0xBAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xECD1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xF5AD, 0x9A70, 0x89B1, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0E, 0xFE0D, 0xFE0E, 0xFE0E, 0xFE0E, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE0F, 0xFE0F, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xE42E, 0xA111, 0xA911, 0xA911, + 0x80F0, 0xA111, 0xA111, 0xC2B0, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x89D1, 0xA253, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xF60E, 0x9A70, 0x91F2, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF2, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE4E, 0xFE4F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC2B0, 0xA111, 0xA111, 0x80F0, + 0x60EF, 0xA111, 0xA111, 0xA112, 0xFE2D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xE54E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xF5CF, 0xFE6D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE6D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5CE, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6C, 0xFE8D, 0xF62D, 0xC40F, 0x9A12, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE8D, 0xFE6D, 0xFE2D, 0xBBCF, 0x89B1, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE8F, 0xFE8F, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE2D, 0xA112, 0xA111, 0xA111, 0x60EF, + 0x28CD, 0xA111, 0xA111, 0xA111, 0xCBCF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xF5ED, 0x89D1, 0x91D2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xED11, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xC42F, 0x81B1, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFECC, 0xFEAD, 0xC42F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF64D, 0xD4CE, 0xBBD0, 0xC3B2, 0xC314, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xED31, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xEE0D, 0xCC6F, 0xBB51, 0xBAD4, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xC334, 0x8191, 0xB294, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFEAE, 0xFECE, 0xFEAD, 0xFEAE, 0xFEAD, 0xFECE, 0xFEAE, 0xFEAE, 0xA2F0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC34, 0xFEAF, 0xFED0, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xCBCF, 0xA111, 0xA111, 0xA111, 0x28CD, + 0x18AD, 0x8110, 0x9911, 0xA111, 0xA171, 0xF5ED, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE6D, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5CF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE4E, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EE, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE8D, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xF64D, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE6E, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF60E, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF64E, 0xFEAC, 0xFEAD, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE6D, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5CF, 0xFEAD, 0xF62E, 0xF5EF, 0xF5D0, 0xF5EF, 0xF5CF, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xFE4F, 0xFECE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAF, 0xF610, 0xF5D0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF610, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xF5ED, 0xA171, 0xA111, 0x9911, 0x8110, 0x18AD, + 0x20AC, 0x38CE, 0x9931, 0x9931, 0x9931, 0xAA31, 0xFE2D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFEAC, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFEAC, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8E, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAF, 0xFEAE, 0xFEAE, 0xFEAF, 0xFE8E, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFE8F, 0xFEB0, 0xFEAF, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE2D, 0xAA31, 0x9931, 0x9931, 0x9931, 0x38CE, 0x20AC, + 0x20AD, 0x20AC, 0x60EF, 0x9912, 0x9931, 0x9931, 0xB270, 0xF62D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE6D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFEB0, 0xFE8C, 0xFE8C, 0xF62D, 0xB270, 0x9931, 0x9931, 0x9912, 0x60EF, 0x20AC, 0x20AD, + 0x18AC, 0x20AC, 0x28AD, 0x8110, 0x9931, 0x9931, 0x9911, 0xAA31, 0xF5CD, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE6E, 0xFE8D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE90, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFE8C, 0xF5CD, 0xAA31, 0x9911, 0x9931, 0x9931, 0x8110, 0x28AD, 0x20AC, 0x18AC, + 0x20AC, 0x20AC, 0x18AC, 0x28AD, 0x9111, 0x9931, 0x9931, 0x9931, 0xA171, 0xCBCF, 0xF60D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE70, 0xFE70, 0xFE6F, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE90, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xE471, 0xCBCF, 0xA171, 0x9931, 0x9931, 0x9931, 0x9111, 0x28AD, 0x18AC, 0x20AC, 0x20AC, + 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x28CD, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xBAB0, 0xDC6F, 0xE50F, 0xE50E, 0xFE4E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6F, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE4F, 0xFE6F, 0xFE70, 0xFE50, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xF612, 0xE531, 0xE512, 0xD472, 0xB271, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x8111, 0x28CD, 0x20AC, 0x18AC, 0x18AC, 0x18AC, + 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x28CC, 0x610F, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9911, 0x610F, 0x28CC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, + 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x40CE, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7910, 0x40CE, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, + 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x30CC, 0x58CF, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9932, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x7910, 0x58CF, 0x30CC, 0x18AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp b/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp index 452f47246920..08994071538d 100644 --- a/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp +++ b/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp @@ -25,261 +25,261 @@ #if HAS_GRAPHICAL_TFT extern const uint8_t marlin_logo_228x255x2[14535] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x90, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x02, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x2f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x01, 0xff, 0xff, 0xf9, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0b, 0xff, 0xff, 0x80, 0x02, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xf8, 0x00, 0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xaa, 0x50, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x07, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x1f, 0xff, 0xff, 0xf9, 0xbd, 0x00, 0xbf, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xbf, 0xff, 0xff, 0x00, 0x0b, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x46, 0xff, 0xff, 0xd0, 0x3f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x2f, 0xff, 0xf8, 0x06, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xff, 0xfc, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x2f, 0xff, 0x1f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xc2, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xf0, 0x2f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xfc, 0x07, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x55, 0x55, 0x56, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0x40, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xbf, 0xff, 0xff, 0xfd, 0xbf, 0xc0, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6f, 0xff, 0xff, 0xdf, 0xe0, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xf7, 0xf8, 0x02, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfd, 0xfd, 0x00, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x7f, 0x00, 0x1f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdf, 0x80, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf7, 0xd0, 0x01, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfd, 0xf0, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7c, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xed, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0xbf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x87, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf9, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x2f, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0b, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0xaa, 0xa9, 0x55, 0x55, 0x40, 0x55, 0x56, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xd0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5a, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x90, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf4, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0xbf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x07, 0xff, 0xfd, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xbf, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x00, 0x01, 0xff, 0xff, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xe0, 0x2f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xfe, 0x0b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0xbf, 0xff, 0xd0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xd0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x2f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x02, 0xf8, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x80, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xd0, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xd0, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x40, 0x00, 0x00, 0x00, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x05, 0xab, 0xff, 0xe4, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x3f, 0x40, 0x00, 0x02, 0xff, 0xff, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfd, 0x6b, 0xff, 0xff, 0xe4, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x02, 0xff, 0xff, 0x40, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0xbf, 0xff, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x0f, 0xd0, 0x00, 0x00, 0xbf, 0xff, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xd0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfd, 0x00, 0x06, 0xff, 0xff, 0xaa, 0xa5, 0x40, 0x00, 0x05, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfc, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xd0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xd0, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfd, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x6a, 0x81, 0x6a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xd1, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x69, 0x55, 0x00, 0x00, 0x02, 0xff, 0x80, 0x03, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xd0, 0xbf, 0xf8, 0x00, 0x00, 0x16, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa4, 0x01, 0xff, 0xc0, 0x02, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0b, 0xff, 0xc0, 0x3f, 0xfc, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xd0, 0x02, 0xf4, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xfe, 0x40, 0x0f, 0xff, 0x80, 0x3f, 0xfd, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xf4, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xbe, 0x90, 0x00, 0x2f, 0xff, 0x80, 0x7f, 0xfd, 0x0a, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0xf8, 0x00, 0x00, 0x0b, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x78, 0x00, 0x00, 0x0b, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3c, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfd, 0x02, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x3c, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xfc, 0x00, 0x2c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x6f, 0xff, 0xfc, 0x07, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfd, 0x00, 0x1c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x05, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbf, 0xff, 0xff, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x08, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, - 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, - 0x00, 0x7f, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xa5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x6a, 0xaa, 0xaa, 0xab, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x5a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, - 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, - 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf0, 0x00, - 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0x2f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0xbf, 0x00, 0x00, 0x00, 0x00, 0x06, 0xaa, 0x90, 0x00, 0x00, 0x01, 0xaa, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0xfe, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xfe, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0xfc, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, - 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x0b, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x05, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, - 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xc0, 0x00, 0x01, 0xff, 0xe4, 0x00, - 0xfc, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xed, 0x00, - 0xfc, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xbf, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xdf, 0x00, - 0xfc, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xea, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xbf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xdf, 0x80, - 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x01, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xc0, - 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xd0, 0x00, 0x07, 0xff, 0xff, 0xf4, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xd0, - 0xfc, 0x00, 0x00, 0xbf, 0xff, 0x40, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xf0, - 0xfc, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x2f, 0xff, 0xc0, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x06, 0xaa, 0xa0, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xbf, 0xf0, - 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x7f, 0xff, 0xff, 0xf8, 0x02, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xbf, 0x54, - 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf4, 0x1f, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x7f, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x3f, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x3e, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xf8, 0x00, 0x7f, 0xe0, 0x00, 0x01, 0xfe, 0x3e, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xf8, 0x00, 0x2f, 0xf0, 0x00, 0x01, 0xfe, 0x7d, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x40, 0x7f, 0xff, 0xfd, 0x00, 0x00, 0xbf, 0xff, 0xf4, 0x07, 0xff, 0xff, 0x82, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xfe, 0x01, 0xbf, 0xff, 0xf0, 0x03, 0xff, 0xf8, 0x00, 0x2f, 0xf0, 0x00, 0x01, 0xfd, 0x7d, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x7f, 0xff, 0xf4, 0x00, 0x0b, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0xbf, 0xff, 0xc2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf4, 0x00, 0xbf, 0xf8, 0x00, 0x2f, 0xf4, 0x00, 0x01, 0xfc, 0x7c, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xbf, 0xff, 0xc0, 0x00, 0x02, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xc2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x0b, 0xff, 0xf8, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xf8, 0x00, 0x01, 0xfc, 0x3c, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xff, 0xff, 0x40, 0x00, 0x00, 0xbf, 0xff, 0x40, 0x01, 0xff, 0xfd, 0x00, 0x00, 0x1f, 0xff, 0xd2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x0f, 0xf8, 0x00, 0x07, 0xfc, 0x00, 0x02, 0xfc, 0x3e, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe1, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xd2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xf8, 0x00, 0x02, 0xfc, 0x00, 0x02, 0xf8, 0x1f, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0xfe, 0x00, 0x02, 0xf4, 0x0b, 0x80, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x7f, 0x00, 0x03, 0xf4, 0x03, 0xc0, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x1f, 0x80, 0x03, 0xf0, 0x00, 0xe0, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x0b, 0xc0, 0x03, 0xf0, 0x00, 0x34, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x02, 0xe0, 0x03, 0xe0, 0x00, 0x0c, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x74, 0x07, 0xd0, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x08, 0x07, 0xc0, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xff, 0xff, 0x80, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xc0, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xbf, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfd, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x80, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x7f, 0xff, 0xfd, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x40, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x40, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xfa, 0xa8, 0x1f, 0xff, 0xea, 0xab, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x0b, 0xff, 0xf5, 0x55, 0xbf, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x02, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0xfd, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x01, 0xbf, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfe, 0x00, 0x00, 0x6a, 0xa9, 0x00, 0x00, 0x00, 0x2a, 0xaa, 0x40, 0x00, 0x00, 0x0a, 0xaa, 0x90, 0x00, 0x00, 0x06, 0xaa, 0xa8, 0x0a, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0x46, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x02, 0xaa, 0xa0, 0x00, 0x0b, 0xf2, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xbf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xd3, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x47, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0b, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0xbf, 0xfa, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x56, 0xff, 0xe0, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x07, 0x80, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, - 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0b, 0x80, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x1f, 0x40, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xab, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xa5, 0x55, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfa, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xd0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf4, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xea, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfd, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x03, 0xff, 0x40, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x02, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x01, 0xff, 0xd0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x00, 0x00, 0xbf, 0xf0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xbf, 0xf8, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xfc, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xfc, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x3f, 0xfe, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x40, 0x2f, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf4, 0x0f, 0xff, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x0f, 0xff, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x0b, 0xff, 0xd0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x0b, 0xff, 0xe0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcb, 0xff, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xd7, 0xff, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xf7, 0xff, 0xf4, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf4, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xd0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFE, 0x90, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x2F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x01, 0xFF, 0xFF, 0xF9, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0xFF, 0xFF, 0x80, 0x02, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xFF, 0xF8, 0x00, 0x6F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xAA, 0x50, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x1F, 0xFF, 0xFF, 0xF9, 0xBD, 0x00, 0xBF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0xBF, 0xFF, 0xFF, 0x00, 0x0B, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x46, 0xFF, 0xFF, 0xD0, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x2F, 0xFF, 0xF8, 0x06, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0xFF, 0xFC, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x2F, 0xFF, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0xFF, 0xC2, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xF0, 0x2F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0xFC, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x55, 0x55, 0x56, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xFF, 0x40, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xBF, 0xFF, 0xFF, 0xFD, 0xBF, 0xC0, 0x2F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6F, 0xFF, 0xFF, 0xDF, 0xE0, 0x0B, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0xF7, 0xF8, 0x02, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFD, 0xFD, 0x00, 0xBF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0x7F, 0x00, 0x1F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xDF, 0x80, 0x07, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xF7, 0xD0, 0x01, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFD, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7C, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xED, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0xBF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x87, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xF9, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFE, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x2F, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xBF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0B, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFE, 0xAA, 0xA9, 0x55, 0x55, 0x40, 0x55, 0x56, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xD0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5A, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x90, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6A, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x7F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0B, 0xFF, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0xBF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x07, 0xFF, 0xFD, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6A, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xBF, 0xFF, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xBF, 0xFF, 0xFF, 0xE0, 0x2F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x02, 0xE0, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xBF, 0xFF, 0xFE, 0x0B, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0xBF, 0xFF, 0xD0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xD0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x2F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x02, 0xF8, 0x00, 0x00, 0x2F, 0xFF, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x80, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x40, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x0B, 0xFF, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xD0, 0x00, 0x00, 0x00, 0x2F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xD0, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x02, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFD, 0x00, 0x05, 0xAB, 0xFF, 0xE4, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F, 0x40, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFD, 0x6B, 0xFF, 0xFF, 0xE4, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x02, 0xFF, 0xFF, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x00, 0x2F, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x2F, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0xBF, 0xFF, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xD0, 0x00, 0x00, 0xBF, 0xFF, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x0B, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xD0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFD, 0x00, 0x06, 0xFF, 0xFF, 0xAA, 0xA5, 0x40, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFC, 0x00, 0x0B, 0xE0, 0x00, 0x00, 0x3F, 0xFF, 0xD0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xD0, 0x00, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x0B, 0xE0, 0x00, 0x00, 0x3F, 0xFF, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFD, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x6A, 0x81, 0x6A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x2F, 0xFF, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0xFF, 0xD1, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x69, 0x55, 0x00, 0x00, 0x02, 0xFF, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x2F, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xD0, 0xBF, 0xF8, 0x00, 0x00, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xA4, 0x01, 0xFF, 0xC0, 0x02, 0xF0, 0x00, 0x00, 0x1F, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x0B, 0xFF, 0xC0, 0x3F, 0xFC, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0xFF, 0xD0, 0x02, 0xF4, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFE, 0x40, 0x0F, 0xFF, 0x80, 0x3F, 0xFD, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x01, 0xF4, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xBE, 0x90, 0x00, 0x2F, 0xFF, 0x80, 0x7F, 0xFD, 0x0A, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xF8, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0xBF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x16, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0xF8, 0x00, 0x00, 0x0B, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x78, 0x00, 0x00, 0x0B, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFD, 0x02, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFC, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFC, 0x02, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFC, 0x00, 0x2C, 0x00, 0x00, 0x03, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x6F, 0xFF, 0xFC, 0x07, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFD, 0x00, 0x1C, 0x00, 0x00, 0x03, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x05, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBF, 0xFF, 0xFF, 0xFE, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAB, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x0C, 0x00, 0x00, 0x03, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x08, 0x00, 0x00, 0x03, 0xFF, 0xF4, 0x00, + 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x04, 0x00, 0x00, 0x02, 0xFF, 0xF4, 0x00, + 0x00, 0x7F, 0xFE, 0xAA, 0xAA, 0xAA, 0xAA, 0xA5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x6A, 0xAA, 0xAA, 0xAB, 0xFF, 0xFF, 0xFA, 0x55, 0x55, 0x55, 0x55, 0x5A, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF4, 0x00, + 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF4, 0x00, + 0x07, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xF0, 0x00, + 0x0F, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0x2F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0xBF, 0x00, 0x00, 0x00, 0x00, 0x06, 0xAA, 0x90, 0x00, 0x00, 0x01, 0xAA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0xFE, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0xFE, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x02, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0xFC, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, + 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x05, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x00, + 0xFC, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xBF, 0xC0, 0x00, 0x01, 0xFF, 0xE4, 0x00, + 0xFC, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xED, 0x00, + 0xFC, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xBF, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xDF, 0x00, + 0xFC, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xEA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xBF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xDF, 0x80, + 0xFC, 0x00, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x2F, 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x01, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xEF, 0xC0, + 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xD0, 0x00, 0x07, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xEF, 0xD0, + 0xFC, 0x00, 0x00, 0xBF, 0xFF, 0x40, 0x00, 0x01, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xF8, 0x0B, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xEF, 0xF0, + 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x2F, 0xFF, 0xC0, 0x00, 0x00, 0x6F, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xE0, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x06, 0xAA, 0xA0, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xF9, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xBF, 0xF0, + 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xD0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFE, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xD0, 0x7F, 0xFF, 0xFF, 0xF8, 0x02, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xBF, 0x54, + 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xD0, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xF4, 0x1F, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xD0, 0x00, 0x01, 0xFF, 0x7F, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xD0, 0x00, 0x01, 0xFF, 0x3F, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xD0, 0x00, 0x01, 0xFF, 0x3E, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xF8, 0x00, 0x7F, 0xE0, 0x00, 0x01, 0xFE, 0x3E, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xF8, 0x00, 0x2F, 0xF0, 0x00, 0x01, 0xFE, 0x7D, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xFE, 0x40, 0x7F, 0xFF, 0xFD, 0x00, 0x00, 0xBF, 0xFF, 0xF4, 0x07, 0xFF, 0xFF, 0x82, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFE, 0x01, 0xBF, 0xFF, 0xF0, 0x03, 0xFF, 0xF8, 0x00, 0x2F, 0xF0, 0x00, 0x01, 0xFD, 0x7D, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x7F, 0xFF, 0xF4, 0x00, 0x0B, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0xBF, 0xFF, 0xC2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x2F, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF4, 0x00, 0xBF, 0xF8, 0x00, 0x2F, 0xF4, 0x00, 0x01, 0xFC, 0x7C, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0xBF, 0xFF, 0xC0, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xC2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x0B, 0xFF, 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0xFC, 0x3C, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0xBF, 0xFF, 0x40, 0x01, 0xFF, 0xFD, 0x00, 0x00, 0x1F, 0xFF, 0xD2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x0F, 0xF8, 0x00, 0x07, 0xFC, 0x00, 0x02, 0xFC, 0x3E, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE1, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xD2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x40, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x02, 0xFC, 0x00, 0x02, 0xF8, 0x1F, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x40, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x02, 0xF4, 0x0B, 0x80, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00, 0x03, 0xF4, 0x03, 0xC0, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0xE0, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0B, 0xC0, 0x03, 0xF0, 0x00, 0x34, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x02, 0xE0, 0x03, 0xE0, 0x00, 0x0C, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE2, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x74, 0x07, 0xD0, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE1, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x08, 0x07, 0xC0, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xC0, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0xBF, 0xFF, 0xE0, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFD, 0x00, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x80, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x7F, 0xFF, 0xFD, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x02, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0x0B, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x40, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xFA, 0xA8, 0x1F, 0xFF, 0xEA, 0xAB, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE9, 0x0B, 0xFF, 0xF5, 0x55, 0xBF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x02, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0xFC, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x03, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0xFD, 0x00, 0x00, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x40, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x01, 0xBF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x6A, 0xA9, 0x00, 0x00, 0x00, 0x2A, 0xAA, 0x40, 0x00, 0x00, 0x0A, 0xAA, 0x90, 0x00, 0x00, 0x06, 0xAA, 0xA8, 0x0A, 0xAA, 0xAA, 0xAA, 0xAA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6A, 0x46, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x00, 0x00, 0x02, 0xAA, 0xA0, 0x00, 0x0B, 0xF2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xBF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC7, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x47, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0B, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFE, 0x07, 0xD0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xF8, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0xBF, 0xFA, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x56, 0xFF, 0xE0, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x07, 0x80, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0B, 0x80, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x1F, 0x40, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xAA, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0xAB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xA5, 0x55, 0xAA, 0xBF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFA, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xD0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xF4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEA, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFD, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x02, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x01, 0xFF, 0xD0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xBF, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0xBF, 0xF8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFC, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF8, 0x00, 0x3F, 0xFC, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0x00, 0x3F, 0xFE, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x40, 0x2F, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF4, 0x0F, 0xFF, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x0B, 0xFF, 0xD0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x0B, 0xFF, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xCB, 0xFF, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xD7, 0xFF, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xF7, 0xFF, 0xF4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xF0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xD0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00 }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp b/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp index c84653f8a5b9..3ed61a1b20d2 100644 --- a/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp +++ b/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp @@ -25,261 +25,261 @@ #if HAS_GRAPHICAL_TFT extern const uint8_t marlin_logo_228x255x4[29070] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xdf, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x84, 0x32, 0x10, 0x00, 0x46, 0x89, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x28, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x10, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x38, 0xe8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x22, 0x11, 0x11, 0x12, 0x35, 0x57, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x4b, 0xef, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xef, 0xff, 0xff, 0xff, 0xed, 0xba, 0x98, 0x64, 0x00, 0x05, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xdf, 0xff, 0xff, 0xc5, 0x00, 0x01, 0x6c, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x97, 0x30, 0x37, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x9f, 0xe7, 0x10, 0x01, 0x8d, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0x23, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x10, 0x01, 0x8e, 0xff, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x60, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x0e, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa6, 0x39, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x7b, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x88, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x19, 0xff, 0xff, 0xfe, 0x37, 0xdf, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x3c, 0xff, 0xff, 0xe3, 0x08, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x7f, 0xff, 0xfe, 0x30, 0x3a, 0xff, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0xdf, 0xff, 0xe3, 0x00, 0x7f, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x76, 0x54, 0x44, 0x44, 0x55, 0x66, 0x68, 0x89, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x2a, 0xff, 0xff, 0x50, 0x03, 0xdf, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x8f, 0xff, 0xe0, 0x00, 0x1b, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xff, 0xf9, 0x00, 0x00, 0x8f, 0xff, 0xfc, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x6e, 0xff, 0x80, 0x00, 0x08, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xf7, 0xcf, 0xf6, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xff, 0xff, 0xff, 0x5c, 0xff, 0x20, 0x00, 0x04, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xff, 0xf4, 0xdf, 0xb0, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xfe, 0x4f, 0xf7, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xeb, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xff, 0xe6, 0xff, 0x30, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xfd, 0x6f, 0xd0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xca, 0xf5, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xce, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2f, 0x80, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x57, 0x89, 0x91, 0x7f, 0xe7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6b, 0xef, 0xfe, 0xb7, 0x18, 0xfb, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8e, 0xff, 0xea, 0x51, 0x01, 0x8b, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8e, 0xff, 0xe8, 0x20, 0x00, 0x06, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xcf, 0xff, 0xfa, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xdf, 0xff, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8c, 0xff, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x68, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x8b, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0xdb, 0xaa, 0x98, 0x88, 0x87, 0x66, 0x55, 0x54, 0x44, 0x43, 0x33, 0x44, 0x55, 0x67, 0x78, 0x89, 0xbc, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xd8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x89, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x56, 0x88, 0x9b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x35, 0x68, 0x8b, 0xbd, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x56, 0x78, 0x9b, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x68, 0x9b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x08, 0xff, 0xff, 0xf9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x8f, 0xfe, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x88, 0x00, 0x38, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xb1, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8f, 0xff, 0xf7, 0x00, 0x00, 0x13, 0x57, 0x8a, 0xbc, 0xde, 0xff, 0xeb, 0x50, 0x6d, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xc4, 0x58, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xca, 0x63, 0x00, 0x00, 0x00, 0x8f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x08, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6e, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0xdf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x90, 0x00, 0x00, 0x00, 0xbf, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x01, 0x7b, 0xce, 0xee, 0xee, 0xdd, 0xba, 0x98, 0x88, 0x65, 0x43, 0x32, 0x21, 0x12, 0x33, 0x57, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x8f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xe7, 0x10, 0x00, 0x00, 0x2a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x8f, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xe7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x8b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x78, 0x88, 0x82, 0x04, 0x78, 0x98, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0x20, 0x00, 0x00, 0x4f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x09, 0xff, 0xff, 0xf7, 0x07, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x35, 0x77, 0x78, 0x87, 0x65, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x80, 0x00, 0x00, 0x0d, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xfe, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x4f, 0xff, 0xff, 0xf5, 0x00, 0x8f, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x35, 0x78, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x98, 0x52, 0x00, 0x06, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x08, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xef, 0xff, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x71, 0x00, 0xaf, 0xff, 0xff, 0xe1, 0x00, 0x2f, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x37, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x65, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x08, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xf9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x71, 0x00, 0x02, 0xef, 0xff, 0xff, 0xb0, 0x00, 0x3f, 0xff, 0xff, 0xf5, 0x00, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x05, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x89, 0xbc, 0xca, 0x84, 0x10, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xf4, 0x01, 0x89, 0xab, 0xbc, 0xde, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0x40, 0x00, 0x9f, 0xff, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x35, 0x68, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xdf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xfc, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xdf, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x6f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfa, 0x00, 0x03, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x1f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xf6, 0x00, 0x08, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x0d, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x0b, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x08, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x23, 0x55, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x5f, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x05, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xdd, 0xdd, 0xee, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xdd, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, - 0x00, 0x00, 0x4c, 0xff, 0xff, 0xfb, 0xa9, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa8, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, - 0x00, 0x06, 0xef, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, - 0x00, 0x6e, 0xff, 0xfb, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, - 0x03, 0xef, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, - 0x0b, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, - 0x5f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, - 0xaf, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68, 0x9b, 0xba, 0x85, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x89, 0xba, 0xa9, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x01, 0x48, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, - 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xae, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x20, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, - 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, - 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x01, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x01, 0x47, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, - 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x02, 0x8d, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf9, 0x50, 0x00, 0x00, - 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x04, 0xce, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf8, 0xd6, 0x00, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x8e, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf7, 0xfe, 0x20, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf7, 0xff, 0x80, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x31, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x35, 0x55, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xef, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf8, 0xff, 0xe0, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x05, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfa, 0xff, 0xf6, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x35, 0x44, 0x20, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x9f, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xda, 0xff, 0xfd, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xfd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0xef, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xcf, 0xff, 0xff, 0xff, 0xc8, 0x20, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x68, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4a, 0xef, 0xff, 0xff, 0xff, 0xa6, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x5f, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xad, 0xff, 0xff, 0x20, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x09, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x8d, 0xff, 0x47, 0x60, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x05, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0x5f, 0xfe, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x01, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0x3f, 0xfc, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0xef, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xfe, 0x3f, 0xf9, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x5f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xfb, 0x3f, 0xf8, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x0a, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf8, 0x4f, 0xf5, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x43, 0x23, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x73, 0x32, 0x7d, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x33, 0x35, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x08, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf5, 0x4f, 0xf4, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xe0, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xbf, 0xff, 0xff, 0x90, 0x00, 0x00, 0x09, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf2, 0x4f, 0xf2, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xf2, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x0c, 0xff, 0xff, 0x90, 0x00, 0x00, 0x07, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x1f, 0xf3, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf4, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x01, 0xdf, 0xff, 0x90, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x08, 0xff, 0xc0, 0x0d, 0xf8, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf7, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x90, 0x04, 0xfe, 0x00, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x08, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xf9, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x60, 0x00, 0x9f, 0x80, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x09, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfe, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x50, 0x00, 0x0c, 0xe2, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0a, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0x10, 0x00, 0x01, 0xda, 0x00, - 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xf2, 0x00, 0x00, 0x2f, 0xfc, 0x00, 0x00, 0x00, 0x3e, 0x50, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfb, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xd2, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x08, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x50, 0x00, 0x5f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x11, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x06, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x90, 0x00, 0x7f, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xd0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xba, 0xa9, 0x80, 0x06, 0xff, 0xff, 0xff, 0xf9, 0x88, 0x88, 0x8c, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xf9, 0x84, 0x10, 0x9f, 0xff, 0xff, 0xfe, 0x66, 0x66, 0x66, 0xaf, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xf0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xf1, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xf1, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x30, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x69, 0xaa, 0xaa, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xaa, 0xaa, 0xaa, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x89, 0x9a, 0xaa, 0x90, 0x03, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x78, 0xaa, 0x60, 0x6a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xaa, 0xaa, 0xa8, 0x30, 0x00, 0x00, 0x00, 0xbf, 0xfc, 0x08, 0xef, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x8f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf6, 0x3f, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1f, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xd1, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0x60, 0x6f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xbf, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xff, 0xf8, 0x00, 0x6f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x90, 0x00, 0x6f, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x9f, 0xff, 0xfd, 0x88, 0x64, 0x44, 0x33, 0x22, 0x22, 0x21, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, 0x22, 0x33, 0x45, 0x56, 0x79, 0xef, 0xff, 0xf8, 0x10, 0x00, 0x6f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x00, 0x00, 0x7f, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x82, 0x00, 0x00, 0x00, 0x8f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x38, 0xbd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x71, 0x00, 0x00, 0x00, 0x04, 0xef, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x66, 0x77, 0x78, 0x88, 0x89, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbb, 0xbc, 0xdf, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xec, 0xca, 0x98, 0x88, 0x77, 0x77, 0x77, 0x88, 0x9a, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb9, 0x86, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x56, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xff, 0xff, 0xff, 0xff, 0xca, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xfb, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8c, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xb4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xe9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xea, 0x98, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfa, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xfc, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x30, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0x90, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf2, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xf8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x08, 0xff, 0xff, 0xfe, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x03, 0xff, 0xff, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xff, 0xff, 0x60, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0xdf, 0xff, 0xff, 0xf2, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfa, 0x00, 0xbf, 0xff, 0xff, 0xf7, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x30, 0x8f, 0xff, 0xff, 0xfa, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x8f, 0xff, 0xff, 0xfe, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xf5, 0x5f, 0xff, 0xff, 0xff, 0x20, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xfe, 0x6f, 0xff, 0xff, 0xff, 0x60, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xfd, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfb, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xfb, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf6, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xf5, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf2, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0x50, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xfe, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xc0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, 0x20, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfa, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf4, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8C, 0xEF, 0xFF, 0xFF, 0xFF, 0xD8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xDF, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x84, 0x32, 0x10, 0x00, 0x46, 0x89, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x28, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x10, 0x00, 0x00, 0x18, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x00, 0x04, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x10, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x00, 0x00, 0x38, 0xE8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x22, 0x11, 0x11, 0x12, 0x35, 0x57, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x00, 0x00, 0x4B, 0xEF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xEF, 0xFF, 0xFF, 0xFF, 0xED, 0xBA, 0x98, 0x64, 0x00, 0x05, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xDF, 0xFF, 0xFF, 0xC5, 0x00, 0x01, 0x6C, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x97, 0x30, 0x37, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x9F, 0xE7, 0x10, 0x01, 0x8D, 0xFF, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA8, 0x23, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x30, 0x10, 0x01, 0x8E, 0xFF, 0xFF, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x60, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x0E, 0xFF, 0xFF, 0xF8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x39, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x7B, 0xFE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x07, 0xFF, 0xFF, 0xFF, 0xF3, 0x88, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x19, 0xFF, 0xFF, 0xFE, 0x37, 0xDF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x3C, 0xFF, 0xFF, 0xE3, 0x08, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x7F, 0xFF, 0xFE, 0x30, 0x3A, 0xFF, 0xF8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xDF, 0xFF, 0xE3, 0x00, 0x7F, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x76, 0x54, 0x44, 0x44, 0x55, 0x66, 0x68, 0x89, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x2A, 0xFF, 0xFF, 0x50, 0x03, 0xDF, 0xFF, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x8F, 0xFF, 0xE0, 0x00, 0x1B, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0xFF, 0xF9, 0x00, 0x00, 0x8F, 0xFF, 0xFC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9F, 0xFF, 0xFF, 0xFF, 0xFE, 0x6E, 0xFF, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xF7, 0xCF, 0xF6, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xFF, 0xFF, 0xFF, 0x5C, 0xFF, 0x20, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xB6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xFF, 0xFF, 0xF4, 0xDF, 0xB0, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xFF, 0xFE, 0x4F, 0xF7, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xEB, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFF, 0xE6, 0xFF, 0x30, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xC8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFD, 0x6F, 0xD0, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xB3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xCA, 0xF5, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xB3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9A, 0xCE, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xEF, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2F, 0x80, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x57, 0x89, 0x91, 0x7F, 0xE7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6B, 0xEF, 0xFE, 0xB7, 0x18, 0xFB, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8E, 0xFF, 0xEA, 0x51, 0x01, 0x8B, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x40, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8E, 0xFF, 0xE8, 0x20, 0x00, 0x06, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC0, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xCF, 0xFF, 0xFA, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xDF, 0xFF, 0xFD, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8C, 0xFF, 0xFF, 0xFF, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x50, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x9C, 0xEF, 0xFF, 0xFF, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xA0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x68, 0x9C, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x8B, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFE, 0xDB, 0xAA, 0x98, 0x88, 0x87, 0x66, 0x55, 0x54, 0x44, 0x43, 0x33, 0x44, 0x55, 0x67, 0x78, 0x89, 0xBC, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x89, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x56, 0x88, 0x9B, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x35, 0x68, 0x8B, 0xBD, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x56, 0x78, 0x9B, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x50, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x68, 0x9B, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x20, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x20, 0x08, 0xFF, 0xFF, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x8F, 0xFE, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x88, 0x00, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8E, 0xB1, 0x00, 0x00, 0x07, 0xEF, 0xFF, 0xFF, 0xFC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8E, 0xF8, 0x10, 0x00, 0x00, 0x00, 0x07, 0xDF, 0xFF, 0xFF, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xDF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xFF, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8F, 0xFF, 0xF7, 0x00, 0x00, 0x13, 0x57, 0x8A, 0xBC, 0xDE, 0xFF, 0xEB, 0x50, 0x6D, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xC4, 0x58, 0xBC, 0xEF, 0xFF, 0xFF, 0xFF, 0xCA, 0x63, 0x00, 0x00, 0x00, 0x8F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAF, 0xFF, 0xFF, 0xFF, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0xDF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0xBF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xD7, 0x10, 0x00, 0x01, 0x7B, 0xCE, 0xEE, 0xEE, 0xDD, 0xBA, 0x98, 0x88, 0x65, 0x43, 0x32, 0x21, 0x12, 0x33, 0x57, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x8F, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xE7, 0x10, 0x00, 0x00, 0x2A, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x8F, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xE7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x8B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0x78, 0x88, 0x82, 0x04, 0x78, 0x98, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x4F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x09, 0xFF, 0xFF, 0xF7, 0x07, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x35, 0x77, 0x78, 0x87, 0x65, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0D, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFE, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x30, 0x4F, 0xFF, 0xFF, 0xF5, 0x00, 0x8F, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x35, 0x78, 0xCD, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x98, 0x52, 0x00, 0x06, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x08, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xEF, 0xFF, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x71, 0x00, 0xAF, 0xFF, 0xFF, 0xE1, 0x00, 0x2F, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x37, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x65, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x08, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xF9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x71, 0x00, 0x02, 0xEF, 0xFF, 0xFF, 0xB0, 0x00, 0x3F, 0xFF, 0xFF, 0xF5, 0x00, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x05, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xFF, 0xFF, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x89, 0xBC, 0xCA, 0x84, 0x10, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0xFF, 0xF4, 0x01, 0x89, 0xAB, 0xBC, 0xDE, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x9F, 0xFF, 0xFF, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x35, 0x68, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0xDF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFC, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x6F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFA, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x1F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xF6, 0x00, 0x08, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x0B, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x08, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x23, 0x55, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x5F, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x05, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xCC, 0xCC, 0xCC, 0xCC, 0xCD, 0xDD, 0xDD, 0xEE, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xBC, 0xEF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCC, 0xCB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xCC, 0xCC, 0xCC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xFB, 0xA9, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xA8, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, + 0x00, 0x06, 0xEF, 0xFF, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, + 0x00, 0x6E, 0xFF, 0xFB, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, + 0x03, 0xEF, 0xFE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, + 0x0B, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, + 0x5F, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, + 0xAF, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68, 0x9B, 0xBA, 0x85, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x89, 0xBA, 0xA9, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x01, 0x48, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x20, 0x00, 0x00, 0x00, 0x18, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x1A, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, + 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x07, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, + 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x01, 0x47, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFB, 0x00, 0x00, 0x00, + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x02, 0x8D, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF9, 0x50, 0x00, 0x00, + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x04, 0xCE, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF8, 0xD6, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0x8E, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF7, 0xFE, 0x20, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xAA, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF7, 0xFF, 0x80, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x00, 0x00, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x31, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x35, 0x55, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xEF, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF8, 0xFF, 0xE0, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x70, 0x00, 0x00, 0x00, 0x03, 0xEF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x05, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFA, 0xFF, 0xF6, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x35, 0x44, 0x20, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x9F, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xDA, 0xFF, 0xFD, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0xEF, 0xFF, 0xFF, 0xFF, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xCF, 0xFF, 0xFF, 0xFF, 0xC8, 0x20, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x68, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4A, 0xEF, 0xFF, 0xFF, 0xFF, 0xA6, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x5F, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xAD, 0xFF, 0xFF, 0x20, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0x8D, 0xFF, 0x47, 0x60, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x05, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0x5F, 0xFE, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x01, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0x3F, 0xFC, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0x03, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0xEF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFE, 0x3F, 0xF9, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x5F, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFB, 0x3F, 0xF8, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x00, 0x01, 0xCF, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x0A, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xF8, 0x4F, 0xF5, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x43, 0x23, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF, 0xFE, 0x73, 0x32, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x33, 0x35, 0x8F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xF5, 0x4F, 0xF4, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0x40, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xE0, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFD, 0x20, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF2, 0x4F, 0xF2, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFA, 0x10, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xF2, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x1F, 0xF3, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF4, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x01, 0xDF, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xC0, 0x0D, 0xF8, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF7, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0x90, 0x04, 0xFE, 0x00, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x08, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xF9, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0x60, 0x00, 0x9F, 0x80, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x09, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xFF, 0xF8, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFE, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x50, 0x00, 0x0C, 0xE2, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x0A, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0x10, 0x00, 0x01, 0xDA, 0x00, + 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xF2, 0x00, 0x00, 0x2F, 0xFC, 0x00, 0x00, 0x00, 0x3E, 0x50, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFB, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xD2, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x08, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x50, 0x00, 0x5F, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x11, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x06, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x90, 0x00, 0x7F, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFE, 0x50, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xBA, 0xA9, 0x80, 0x06, 0xFF, 0xFF, 0xFF, 0xF9, 0x88, 0x88, 0x8C, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0xFF, 0xF9, 0x84, 0x10, 0x9F, 0xFF, 0xFF, 0xFE, 0x66, 0x66, 0x66, 0xAF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xFF, 0xFF, 0xFF, 0x70, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xD0, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0x30, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAA, 0xAA, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xAA, 0xAA, 0xAA, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x89, 0x9A, 0xAA, 0x90, 0x03, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x78, 0xAA, 0x60, 0x6A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xAA, 0xAA, 0xA8, 0x30, 0x00, 0x00, 0x00, 0xBF, 0xFC, 0x08, 0xEF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8F, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF6, 0x3F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xD1, 0x4F, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xFF, 0xFC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0x60, 0x6F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBF, 0xFF, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xFF, 0xF8, 0x00, 0x6F, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0A, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFF, 0xFF, 0x90, 0x00, 0x6F, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x9F, 0xFF, 0xFD, 0x88, 0x64, 0x44, 0x33, 0x22, 0x22, 0x21, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, 0x22, 0x33, 0x45, 0x56, 0x79, 0xEF, 0xFF, 0xF8, 0x10, 0x00, 0x6F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x50, 0x00, 0x00, 0x7F, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x82, 0x00, 0x00, 0x00, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0xBD, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x71, 0x00, 0x00, 0x00, 0x04, 0xEF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x66, 0x77, 0x78, 0x88, 0x89, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xBB, 0xBB, 0xBB, 0xBC, 0xDF, 0xFF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEC, 0xCA, 0x98, 0x88, 0x77, 0x77, 0x77, 0x88, 0x9A, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xB9, 0x86, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x56, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7B, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xFF, 0xFF, 0xFB, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8C, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xD8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFE, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFE, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xB3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xE9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xA0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xEA, 0x98, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xDF, 0xFF, 0xFF, 0xFF, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xA7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xF2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xF7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x10, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0x90, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x10, 0x00, 0x00, 0x5F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0x00, 0x08, 0xFF, 0xFF, 0xFE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCF, 0xFF, 0xFF, 0xFF, 0xFB, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x01, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0x00, 0xDF, 0xFF, 0xFF, 0xF2, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFA, 0x00, 0xBF, 0xFF, 0xFF, 0xF7, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x8F, 0xFF, 0xFF, 0xFA, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0xC0, 0x8F, 0xFF, 0xFF, 0xFE, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xF5, 0x5F, 0xFF, 0xFF, 0xFF, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFE, 0x6F, 0xFF, 0xFF, 0xFF, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0xFF, 0xFB, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xFF, 0xFF, 0xFF, 0xF5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0xF2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xFF, 0xFF, 0xFF, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xFF, 0xFF, 0x50, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFE, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xFF, 0xF9, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xFF, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFE, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFA, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00 }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp index 199433a802fd..cad6f1fef1b6 100644 --- a/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp +++ b/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp @@ -25,246 +25,246 @@ #if HAS_GRAPHICAL_TFT extern const uint16_t marlin_logo_320x240x16[76800] = { - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x28ee, 0x8252, 0xcb54, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x394f, 0xb313, 0xd395, 0x7211, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x496f, 0xcb55, 0xd395, 0xbb54, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00fa, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x61d0, 0xd395, 0xd395, 0xd395, 0x69f1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x61d0, 0xd395, 0xd395, 0xd396, 0xd375, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ce, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10f2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8252, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x5190, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x412f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0355, 0x190f, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f4, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x496f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x11d1, 0x03b7, 0x0a93, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x28ee, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9ab3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x00f9, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x10af, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x7a31, 0xd395, 0xd395, 0xd375, 0xdb95, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11d1, 0x03b8, 0x03b7, 0x03b8, 0x0a94, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x00f9, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xd395, 0xb313, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x190e, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0xa2d3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xa2d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a94, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x61d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0397, 0x03b8, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x59d0, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x011a, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x61b1, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8a92, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x188d, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0xaad3, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03d7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0x7231, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x08d3, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x20ae, 0x8a92, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x7a31, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x28ee, 0xc374, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xa2d3, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ce, 0x194f, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x61d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x69f1, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x02f5, 0x03b7, 0x03b8, 0x0356, 0x114f, 0x18ad, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x9ab3, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x190f, 0x0377, 0x0397, 0x03b8, 0x0398, 0x0397, 0x0b77, 0x18ce, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0bb7, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x4970, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x1253, 0x0b78, 0x0b98, 0x0b78, 0x0b98, 0x0b98, 0x1378, 0x11f2, 0x18ad, 0x18ad, 0x0b98, 0x0b78, 0x0b78, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0b98, 0x1378, 0x0b78, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x4970, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0x8252, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1ab5, 0x1b78, 0x1b58, 0x1358, 0x1b78, 0x1378, 0x1358, 0x1a13, 0x18ae, 0x18ae, 0x1358, 0x1358, 0x1378, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1358, 0x1358, 0x1358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd395, 0xc354, 0x5990, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1a54, 0x1b38, 0x1b38, 0x2338, 0x1b38, 0x1b58, 0x2338, 0x21d2, 0x18ad, 0x18ad, 0x2338, 0x2338, 0x2358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x2339, 0x2358, 0x2338, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xa2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x2150, 0x2b18, 0x2b39, 0x2b18, 0x2b19, 0x2b19, 0x2af8, 0x18ce, 0x18ad, 0x18ad, 0x2b19, 0x2b18, 0x2b19, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x2192, 0x2b19, 0x2b19, 0x2b18, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xbb34, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2192, 0x2b19, 0x3319, 0x32f9, 0x2a15, 0x18ef, 0x20ad, 0x18ad, 0x18ad, 0x32f9, 0x3319, 0x32f9, 0x18ad, 0x18ad, 0x18ad, 0x2191, 0x3319, 0x2af9, 0x3319, 0x2af9, 0x2a97, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, - 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x3ad9, 0x3ad9, 0x3ad9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x3af9, 0x3ad9, 0x3ad9, 0x18ad, 0x20ad, 0x3215, 0x3ad9, 0x3af9, 0x3ada, 0x3ad9, 0x3277, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x4950, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xaab3, 0x20ce, 0x18ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x03b7, 0x0397, - 0x18ad, 0x18ad, 0x08f5, 0x0139, 0x011a, 0x0117, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x42d9, 0x42b9, 0x42b9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x42b9, 0x42b9, 0x42ba, 0x18ae, 0x31f5, 0x42da, 0x42d9, 0x42b9, 0x42d9, 0x3a77, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x5991, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xd355, 0x9252, 0x30ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, - 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x4ab9, 0x4a9a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4aba, 0x4aba, 0x4a9a, 0x4257, 0x4a99, 0x4a9a, 0x4a9a, 0x4aba, 0x4237, 0x20ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x69f1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xcb14, 0x4130, 0x20af, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x42b9, 0x4a99, 0x42b9, 0x42ba, 0x18ad, 0x18ad, - 0x18ad, 0x18af, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x527a, 0x527a, 0x527a, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x527a, 0x527a, 0x529a, 0x527a, 0x527a, 0x527a, 0x527a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18d2, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x8253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0x7a11, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x621a, 0x6a3b, 0x6a3b, - 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x20ae, 0x08f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x5a5b, 0x5a5a, 0x5a7a, 0x2910, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x5a5a, 0x5a7b, 0x5a5a, 0x5a5a, 0x5a5a, 0x5a5a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x091a, 0x18f2, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x8232, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xa293, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x89bc, 0x89bc, 0x91bc, 0x89bc, 0x899c, - 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x623a, 0x623b, 0x625a, 0x621a, 0x2910, 0x18cd, 0x18ad, 0x18ad, 0x623b, 0x623a, 0x625a, 0x623b, 0x623b, 0x51f8, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x0917, 0x18d2, 0x18d2, 0x0918, 0x091a, 0x0918, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30d0, 0x30f0, 0x30f0, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0x9253, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0xa93d, - 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x59d8, 0x6a1b, 0x6a1b, 0x6a1b, 0x6a1b, 0x4133, 0x18ad, 0x18ad, 0x6a3b, 0x6a1b, 0x6a1b, 0x6a1b, 0x51b6, 0x20cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d3, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18d1, 0x20ce, 0x20ce, 0x18d1, 0x093a, 0x093a, 0x28ef, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x9273, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0xd335, 0xd334, 0xd334, 0xd314, 0xd315, 0xaa93, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ce, 0x61b8, 0x721b, 0x71fb, 0x721b, 0x721b, 0x4133, 0x20ad, 0x71fb, 0x721b, 0x71fb, 0x4174, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x011a, 0x18d1, 0x20ae, 0x20ce, 0x20f1, 0x093a, 0x093a, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0xaaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ae, 0x20ad, 0x20ad, 0x20ae, 0x30ee, 0x6150, 0x81b1, 0xa1f2, 0xc233, 0xca53, 0xca54, 0xca53, 0xc233, 0xa1f2, 0x8191, 0x512f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ce, 0x69b9, 0x81fb, 0x79db, 0x79dc, 0x81fc, 0x5976, 0x79db, 0x79dc, 0x81dc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0918, 0x0119, 0x0917, 0x18d0, 0x20d0, 0x0917, 0x093a, 0x1138, 0x28cf, 0x30cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0xaad4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd315, 0xd314, 0x69b2, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x410f, 0x6990, 0x99f2, 0xc253, 0xca74, 0xd274, 0xca74, 0xd253, 0xca53, 0xca53, 0xca53, 0xd233, 0xd253, 0xca53, 0xd233, 0xca33, 0xc213, 0x8991, 0x410f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x7199, 0x89db, 0x89bc, 0x81bc, 0x89bc, 0x89bc, 0x89bc, 0x89bc, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d2, 0x0119, 0x0119, 0x093a, 0x093a, 0x093a, 0x093a, 0x20f2, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xcad4, 0x5971, 0x30f0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x38ef, 0x79b1, 0xba53, 0xca94, 0xca94, 0xca74, 0xd273, 0xd273, 0xca73, 0xca54, 0xca53, 0xca54, 0xca53, 0xca33, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xd213, 0xca13, 0xca13, 0xa1b2, 0x490f, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x7979, 0x919c, 0x919c, 0x91bc, 0x919c, 0x899c, 0x89bc, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x18f2, 0x0919, 0x091a, 0x091a, 0x0919, 0x20f3, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x4112, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd314, 0xd2f5, 0xd2f4, 0xd2f4, 0x4930, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x4130, 0x89f1, 0xd294, 0xd294, 0xca93, 0xca74, 0xd274, 0xca74, 0xca74, 0xca53, 0xca73, 0xd253, 0xd254, 0xca53, 0xca53, 0xca54, 0xc274, 0x9b36, 0x83b8, 0x6419, 0x6c39, 0x6439, 0x6c1a, 0x8b57, 0xb295, 0xca13, 0x9191, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x28ae, 0x8159, 0x917c, 0x997c, 0x997c, 0x999c, 0x999c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20d0, 0x20d1, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd2f4, 0xd2f4, 0xd315, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d5, 0x79d2, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28ef, 0x28f0, 0x28cf, 0x5150, 0xaa32, 0xd293, 0xd294, 0xd294, 0xca93, 0xca74, 0xca74, 0xca74, 0xca74, 0xd274, 0xd254, 0xca53, 0xca54, 0xb2d5, 0x83b8, 0x44fc, 0x1dbe, 0x063f, 0x0cdb, 0x0b76, 0x1377, 0x1377, 0x0b76, 0x1356, 0x0b76, 0x0b77, 0x23f8, 0x6991, 0x510f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x8939, 0xa17c, 0xa17c, 0xa15d, 0xa15d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8a54, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0x5951, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x4130, 0x91f2, 0xd294, 0xd294, 0xca94, 0xca74, 0xca94, 0xca94, 0xca74, 0xd274, 0xd274, 0xd274, 0xd253, 0xb2d5, 0x7419, 0x257d, 0x063f, 0x061f, 0x057d, 0x12b5, 0x190f, 0x18ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x913a, 0xa93d, 0xa95d, 0xa95c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xcab4, 0x5172, 0x3911, 0x38f1, 0x38f0, 0x30f0, 0x81d2, 0xc294, 0xd294, 0xd293, 0xd294, 0xd294, 0xca93, 0xca93, 0xd274, 0xd274, 0xca73, 0xd274, 0x83d8, 0x353d, 0x061f, 0x063f, 0x063f, 0x063f, 0x4c5a, 0x4970, 0x20ae, 0x20ae, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xb11d, 0xb11d, 0xb11d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6b36, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xcad4, 0xcab4, 0x5972, 0x3911, 0x5151, 0xb253, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xd274, 0xc294, 0x645a, 0x1dbe, 0x063f, 0x063f, 0x063f, 0x1dbe, 0x6459, 0xc274, 0x99d2, 0x28ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0xb8fe, 0xb8fd, 0xb8fe, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253b, 0x465c, 0x6d7b, 0x6d9a, 0x6d9a, 0x6d7a, 0x84f9, 0x9c78, 0x9c77, 0x9c78, 0x9c78, 0x9c57, 0x9c78, 0x9c58, 0x9c58, 0xbbb6, 0xd334, 0xd315, 0xd334, 0xd315, 0xd314, 0xd315, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xcad4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2d4, 0x91f3, 0x5972, 0xca74, 0xd2b4, 0xd2b4, 0xd294, 0xca94, 0xd294, 0xd294, 0xca94, 0xca74, 0xc2b4, 0x6c5a, 0x0dff, 0x063f, 0x063f, 0x063f, 0x353d, 0x83b8, 0xca53, 0xca33, 0x89b1, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0xc0de, 0xc0fe, 0xc0dd, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00fa, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x38f1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4d1a, 0x6d9a, 0x94b9, 0x9c98, 0x9c77, 0x9c78, 0x9c78, 0x9c78, 0x94b8, 0x6d7a, 0x6d7a, 0x6d7b, 0x367c, 0x367d, 0x1efe, 0x077f, 0x075f, 0x1ede, 0x363d, 0x6d3a, 0x9c17, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xcad4, 0xd2b3, 0xcab4, 0xc294, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca74, 0xca74, 0xca74, 0x7bd8, 0x0dff, 0x063f, 0x061f, 0x063f, 0x4cbb, 0x9b57, 0xd233, 0xca33, 0xca53, 0x6150, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8be, 0xc8de, 0xc8be, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xa2b5, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xbb96, 0xa437, 0x74f9, 0x4dbc, 0x2e7e, 0x0edf, 0x559b, 0x8498, 0xc335, 0xd2f4, 0xd2d4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2b5, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xbab4, 0xbaf6, 0xca94, 0xd294, 0xca94, 0xd273, 0x9b76, 0x1dbe, 0x061f, 0x063f, 0x0ddf, 0x643a, 0xb2d5, 0xca54, 0xd253, 0xca53, 0xc294, 0x59b1, 0x28ce, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x40b0, 0xa09a, 0xd0be, 0xd09e, 0xd0be, 0xb89c, 0x78b5, 0x28ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd335, 0xd315, 0xd314, 0xd315, 0xd2f5, 0xd2f5, 0xd2f4, 0x9bf7, 0x6d1a, 0x2e3d, 0x45bc, 0x9418, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xc2d4, 0x4cdb, 0x7bd8, 0x9b57, 0x44fc, 0x063f, 0x063f, 0x1dbe, 0x83d8, 0xc294, 0xca53, 0xca54, 0xca33, 0xca53, 0xb2b5, 0x33b8, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188e, 0x20cd, 0x10d1, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x40b0, 0xd07d, 0xd87e, 0xd89f, 0xd89f, 0xe07f, 0xd89e, 0xd89f, 0xb87b, 0x28ae, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xbb14, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd314, 0xd335, 0xd315, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xc335, 0x8478, 0x4d7b, 0x4d5b, 0xab96, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xca94, 0xcab4, 0xd294, 0xd294, 0xd273, 0xc2b4, 0x5c9a, 0x061f, 0x061f, 0x063f, 0x7419, 0xd273, 0xd273, 0xca53, 0xca53, 0xd233, 0xca53, 0xaaf6, 0x153c, 0x2951, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x10b0, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb07a, 0xe85f, 0xe85f, 0xe07f, 0xe85f, 0xe87f, 0xe07f, 0xe85f, 0xe07f, 0x9898, 0x20ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd315, 0xcb34, 0xd315, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xd2d4, 0xbb55, 0x7499, 0x35dc, 0x8439, 0xc2f4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xca93, 0xd294, 0xd274, 0xca74, 0x9b76, 0x061f, 0x061f, 0x83d8, 0xc295, 0xca53, 0xca53, 0xca53, 0xca53, 0x7bb8, 0x063f, 0x2a34, 0x30f0, 0x30f0, 0x30ef, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x38b0, 0xf05f, 0xe83f, 0xf03f, 0xf05f, 0xf05f, 0xf03f, 0xf03f, 0xf03f, 0xf05f, 0xe83f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xbb35, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xcad4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2d4, 0xcab4, 0xd2b4, 0xcab4, 0xcab4, 0x8bf8, 0x3d5c, 0x6499, 0xc2d4, 0xd294, 0xd294, 0xca74, 0xca74, 0xd274, 0xca74, 0xca74, 0x54bb, 0x5c9a, 0x353d, 0x1dbe, 0x4cbb, 0x9377, 0x9b36, 0x44fc, 0x061f, 0x1bf9, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f4, 0x10f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x5092, 0xf83f, 0xf83f, 0xf03f, 0xf83f, 0xf83f, 0xf83f, 0xf83f, 0xf81f, 0xf03f, 0xf83f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69b3, 0xc355, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd2f5, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0x9b97, 0x453c, 0x6c59, 0xc2b4, 0xca74, 0xd274, 0xd273, 0xca73, 0xd273, 0xc294, 0x6c39, 0xc294, 0xca53, 0x8b98, 0x4cbb, 0x0dff, 0x063f, 0x0d7e, 0x3972, 0x3911, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x5092, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0x9b77, 0x44dc, 0x73f9, 0xca73, 0xca74, 0xd254, 0xca73, 0xca53, 0xc294, 0x351c, 0x6c3a, 0xc294, 0xd253, 0xca34, 0x83b8, 0x5a55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4090, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x28af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69d3, 0xc355, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xcb55, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcad4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xcab4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0xd274, 0xca74, 0x8b78, 0x447c, 0xa316, 0xd253, 0xd253, 0xca54, 0xca53, 0xc294, 0x257d, 0x0ddf, 0x83b8, 0xd233, 0xca33, 0xca33, 0xba13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x30d0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x00f9, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0xd03c, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xd03c, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xaad4, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd2b4, 0xca94, 0xca94, 0xd294, 0xca74, 0xca73, 0xca74, 0xd274, 0xc295, 0x6bb9, 0x6b99, 0xca54, 0xca53, 0xd254, 0xca33, 0xc294, 0x24fd, 0x063f, 0x351d, 0xb295, 0xca13, 0xca13, 0xca13, 0xb9f3, 0x7992, 0x4111, 0x4112, 0x38f1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x4090, 0xf03f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x6073, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xcb55, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd314, 0xd335, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca74, 0xca74, 0xca74, 0xca73, 0xca73, 0xca53, 0xca53, 0xca74, 0xaab6, 0x5b7a, 0xba74, 0xca53, 0xca33, 0xca33, 0xc254, 0x4bfb, 0x059f, 0x0d7f, 0x8b57, 0xc9f3, 0xca13, 0xc9f3, 0xc9f3, 0xa9b3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4091, 0xe01d, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x7074, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ae, 0x18cd, 0x20ae, 0x20cd, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xb2f4, 0xd395, 0xdb95, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0x84f9, 0x467d, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x1f1e, 0x367d, 0x367c, 0x4ddb, 0x653a, 0x8498, 0x9bf7, 0xc2f5, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca73, 0xd253, 0xd254, 0xca74, 0xca53, 0xca53, 0xca53, 0xd253, 0x72d9, 0xaa76, 0xca33, 0xd233, 0xca13, 0xca33, 0x1c7e, 0x059f, 0x05ff, 0x5c7a, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10b0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x7074, 0x9077, 0x8856, 0x8876, 0x388f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x3911, 0x4111, 0x4132, 0x6193, 0xc355, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x271d, 0x07ff, 0x07ff, 0x07bf, 0x079f, 0x079f, 0x077f, 0x079f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x079f, 0x1efe, 0x461c, 0x6d1a, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca73, 0xd274, 0xca74, 0xca53, 0xd254, 0xca54, 0xd253, 0xca53, 0xca33, 0xa275, 0x9a76, 0xca33, 0xca13, 0xca33, 0x9ad6, 0x04ff, 0x05bf, 0x063f, 0x357c, 0xc254, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ae, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x0117, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xcb55, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xcb55, 0xd334, 0xcb55, 0xac17, 0x0fbf, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x365c, 0x74b9, 0xb315, 0xca73, 0xca54, 0xca54, 0xca53, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xb235, 0xaa16, 0xca33, 0xca13, 0xca13, 0x7b37, 0x055f, 0x05ff, 0x067f, 0x25dd, 0xa2f5, 0xd1d3, 0xc9f3, 0xc9d3, 0xc9d2, 0xc9d3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ce, 0x20ad, 0x10f4, 0x011a, 0x0119, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61b3, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0x8cb8, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06df, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x071f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x071f, 0x2dfd, 0x7419, 0xb2b5, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0xd233, 0xca14, 0xa215, 0xca13, 0xca13, 0xc9f3, 0x8338, 0x05bf, 0x063f, 0x06bf, 0x0e9f, 0xaad5, 0xc9d3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b2, 0xb1b2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18cf, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x20ae, 0x18d0, 0x0119, 0x0119, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3111, 0x38f1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xc395, 0x5dfa, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06bf, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x06ff, 0x06bf, 0x065f, 0x05bf, 0x443c, 0x8af7, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca13, 0x99b6, 0xc9f3, 0xca13, 0xc9f3, 0x4c3b, 0x061f, 0x069f, 0x06ff, 0x0ebe, 0xa2d5, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9b2, 0xc1b3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x20ae, 0x20ad, 0x18ce, 0x0119, 0x0119, 0x10d3, 0x20ce, 0x20ae, 0x10f4, 0x0119, 0x011a, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067f, 0x067f, 0x067f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x065f, 0x065f, 0x067f, 0x067f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x065f, 0x05ff, 0x053f, 0x049f, 0x1bbe, 0x8298, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0xd1f3, 0x99b6, 0xc9f3, 0xc9f3, 0xb254, 0x0d9f, 0x067f, 0x06df, 0x06ff, 0x0ebf, 0xa2d5, 0xc9d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011a, 0x10f5, 0x20ce, 0x20cf, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xac37, 0x6d9a, 0x2efe, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x075f, 0x073f, 0x071f, 0x06df, 0x06bf, 0x069f, 0x067f, 0x065f, 0x065f, 0x063f, 0x063f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x063f, 0x063f, 0x063f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x067f, 0x063f, 0x05df, 0x055f, 0x04bf, 0x043f, 0x037f, 0x1abe, 0x7a18, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc1f4, 0x7178, 0xc9f2, 0xd1f3, 0x8338, 0x061f, 0x06bf, 0x06ff, 0x071f, 0x0edf, 0xa2d5, 0xc9b3, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x18ce, 0x0918, 0x011a, 0x011a, 0x0919, 0x011a, 0x0917, 0x20cf, 0x28ae, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xa2b4, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xc3b6, 0x8519, 0x4e3c, 0x0f9f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x06ff, 0x06bf, 0x069f, 0x067f, 0x065f, 0x063f, 0x061f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05df, 0x057f, 0x04ff, 0x047f, 0x03df, 0x031f, 0x025f, 0x19de, 0x79b8, 0xc9f3, 0xca13, 0xc9f3, 0xb9d3, 0xa1b5, 0xc9d3, 0xc9f3, 0x4c5b, 0x065f, 0x06df, 0x071f, 0x071f, 0x0edf, 0xa2b5, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc993, 0xc992, 0xb172, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x10f3, 0x10f3, 0x10d2, 0x20ae, 0x18ae, 0x20ae, 0x18ce, 0x20ce, 0x20ce, 0x20ce, 0x18f2, 0x10f4, 0x1114, 0x18f3, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xc3b5, 0x7d59, 0x36bd, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x071f, 0x06de, 0x069e, 0x067e, 0x065e, 0x063f, 0x063f, 0x061e, 0x05ff, 0x05df, 0x05bf, 0x05bf, 0x059f, 0x059f, 0x059f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x059f, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05bf, 0x057f, 0x04ff, 0x049f, 0x03ff, 0x037f, 0x02bf, 0x021f, 0x017f, 0x213d, 0x9996, 0xc9f3, 0xc9f3, 0xb9d4, 0x99b6, 0xc9d3, 0xc213, 0x0dbf, 0x069f, 0x06ff, 0x071f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xa972, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20af, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xaab5, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0x94d8, 0x467c, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x06de, 0x06be, 0x067e, 0x067e, 0x065e, 0x063e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059f, 0x057f, 0x057f, 0x055f, 0x055f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x055f, 0x055f, 0x055f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x055f, 0x04ff, 0x04bf, 0x041f, 0x039f, 0x031f, 0x025f, 0x01bf, 0x013f, 0x00bf, 0x40fb, 0xb1b5, 0xc9d2, 0xb1d5, 0xb1d4, 0xc9b3, 0x6399, 0x061f, 0x06df, 0x071f, 0x073f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc972, 0xc972, 0xc992, 0xc972, 0xb152, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20cd, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30d0, 0x28f0, 0x3110, 0x30f0, 0x30f0, 0x30f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4a16, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0x8539, 0x1f5e, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x07bf, 0x075f, 0x06be, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059e, 0x057e, 0x055f, 0x053f, 0x053f, 0x051f, 0x051f, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x053f, 0x053f, 0x051f, 0x04df, 0x04bf, 0x043f, 0x03df, 0x035f, 0x02bf, 0x021f, 0x017f, 0x00ff, 0x009f, 0x087f, 0x7119, 0xc9d3, 0xb1d4, 0xb9d3, 0xc9b3, 0x1cfe, 0x065f, 0x06ff, 0x071f, 0x073f, 0x073f, 0x1ebe, 0xb9f3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc973, 0xc952, 0xb152, 0x4111, 0x3910, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20cd, 0x20ce, 0x20ae, 0x20ae, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4a15, 0x3439, 0x16bd, 0x8519, 0xd395, 0xd395, 0xd395, 0x94d8, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x071e, 0x069d, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fd, 0x05dd, 0x05bd, 0x059d, 0x059e, 0x057e, 0x055e, 0x053e, 0x051e, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x049f, 0x049f, 0x049f, 0x049f, 0x049f, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x04bf, 0x04df, 0x04df, 0x04df, 0x04bf, 0x049f, 0x043f, 0x03df, 0x035f, 0x02ff, 0x025f, 0x01bf, 0x013f, 0x00df, 0x007f, 0x005f, 0x185e, 0x8957, 0x61b9, 0xc9d3, 0x9a96, 0x059f, 0x067f, 0x06ff, 0x071f, 0x073f, 0x075f, 0x267d, 0xb9d3, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xb152, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cf, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x00f6, 0x18ce, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f1, 0x38f1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69b4, 0x6336, 0x6cd9, 0x4e5b, 0x07df, 0x8539, 0xd395, 0xd395, 0xbc17, 0x3e9c, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x06bd, 0x069c, 0x069c, 0x067c, 0x065c, 0x065c, 0x063c, 0x061c, 0x05fc, 0x05dc, 0x05bc, 0x05bd, 0x059d, 0x057d, 0x055d, 0x053e, 0x051e, 0x04fe, 0x04de, 0x04be, 0x04bf, 0x049f, 0x047f, 0x047f, 0x047f, 0x045f, 0x045f, 0x045f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x049f, 0x047f, 0x045f, 0x041f, 0x03df, 0x037f, 0x031f, 0x029f, 0x021f, 0x017f, 0x011f, 0x00bf, 0x005f, 0x001f, 0x001f, 0x00ff, 0x89b7, 0xc9b3, 0x447b, 0x065f, 0x06bf, 0x071f, 0x073f, 0x073f, 0x075f, 0x3d9b, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xa132, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20cd, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x40f1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61b3, 0x9274, 0xb2f5, 0xc355, 0xd395, 0xd395, 0xd395, 0xbc16, 0x469d, 0x8539, 0xd376, 0xd375, 0x6dba, 0x0f9f, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x077f, 0x06bc, 0x06bb, 0x069b, 0x067b, 0x065b, 0x063b, 0x063b, 0x061b, 0x05fb, 0x05db, 0x05bb, 0x059c, 0x059c, 0x057c, 0x055c, 0x053d, 0x051d, 0x04fd, 0x04dd, 0x04be, 0x049e, 0x047f, 0x047f, 0x045f, 0x043f, 0x043f, 0x041f, 0x041f, 0x041f, 0x041f, 0x041f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x041f, 0x03ff, 0x03bf, 0x037f, 0x033f, 0x02bf, 0x023f, 0x01df, 0x015f, 0x00df, 0x009f, 0x005f, 0x001f, 0x005f, 0x097f, 0xb9b3, 0xb214, 0x0dbf, 0x06ff, 0x075f, 0x073f, 0x073f, 0x075f, 0x077f, 0x6479, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x9132, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x3110, 0x38f0, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xc335, 0xd395, 0xd395, 0xd395, 0xd395, 0xac57, 0x7d7a, 0x469c, 0x0f9f, 0xa4b8, 0xd395, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x075d, 0x06bb, 0x06bb, 0x069a, 0x067a, 0x065a, 0x065a, 0x063a, 0x061a, 0x05fa, 0x05da, 0x05db, 0x05bb, 0x059b, 0x057b, 0x055b, 0x053c, 0x053c, 0x051c, 0x04fc, 0x04dd, 0x04bd, 0x047e, 0x047e, 0x045e, 0x043f, 0x041f, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03bf, 0x035f, 0x031f, 0x02df, 0x027f, 0x01ff, 0x019f, 0x011f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x009f, 0x39db, 0xc992, 0x6399, 0x069f, 0x079f, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x079f, 0x9af6, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x7112, 0x3110, 0x30f0, 0x30ef, 0x28f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d3, 0x10d2, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xcb75, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x1f7e, 0x07ff, 0x07ff, 0x36dd, 0xbc17, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x071b, 0x06da, 0x06ba, 0x06ba, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05f9, 0x05da, 0x05ba, 0x059a, 0x057a, 0x055a, 0x055b, 0x053b, 0x051b, 0x04fc, 0x04dc, 0x04bc, 0x049d, 0x047d, 0x045d, 0x043e, 0x041e, 0x03fe, 0x03df, 0x03df, 0x03bf, 0x03bf, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x037f, 0x035f, 0x031f, 0x02df, 0x027f, 0x023f, 0x01bf, 0x015f, 0x00ff, 0x009f, 0x005f, 0x001f, 0x003f, 0x011f, 0x99b6, 0xb9d3, 0x0d9f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f7e, 0xb9b3, 0xc952, 0xc952, 0xc952, 0xc952, 0xc931, 0xc932, 0xc132, 0x6111, 0x38f0, 0x30f0, 0x28f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xa2b4, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x0fbf, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x1f7e, 0x07df, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x06f9, 0x06f9, 0x06d9, 0x06b8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05f8, 0x05d8, 0x05b8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051a, 0x04fa, 0x04db, 0x04bb, 0x049c, 0x047c, 0x045d, 0x043d, 0x041e, 0x03fe, 0x03de, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02bf, 0x027f, 0x023f, 0x01ff, 0x019f, 0x013f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x005f, 0x197e, 0xb993, 0x6379, 0x063f, 0x073f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dfb, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc932, 0xc912, 0xb912, 0x4111, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x08f6, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79f3, 0xb2f4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x94f9, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x079d, 0x0719, 0x06f8, 0x06f8, 0x06d7, 0x06b7, 0x06b7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05f7, 0x05d7, 0x05b7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04f9, 0x04da, 0x04bb, 0x049b, 0x047c, 0x043c, 0x041d, 0x041d, 0x03fe, 0x03de, 0x03be, 0x039e, 0x037f, 0x035f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x027f, 0x023f, 0x01ff, 0x019f, 0x015f, 0x00ff, 0x009f, 0x005f, 0x003f, 0x001f, 0x00bf, 0x59ba, 0xb9b3, 0x0d3f, 0x06bf, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7438, 0xc952, 0xc132, 0xc932, 0xc932, 0xc932, 0xc911, 0xc912, 0xa111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x08f5, 0x011a, 0x0119, 0x00fa, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x5151, 0x79f3, 0xa2b4, 0xcb75, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x469c, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0xc335, 0x45d7, 0x0738, 0x0717, 0x06f6, 0x06f6, 0x06d6, 0x06b5, 0x06b5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05f5, 0x05f5, 0x05d6, 0x05b6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04f9, 0x04d9, 0x049a, 0x047b, 0x045b, 0x043c, 0x041c, 0x03dd, 0x03dd, 0x03be, 0x039e, 0x037e, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x021f, 0x01ff, 0x01bf, 0x017f, 0x011f, 0x00df, 0x009f, 0x003f, 0x001f, 0x003f, 0x013f, 0xb174, 0x6339, 0x05ff, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb992, 0xc932, 0xc932, 0xc931, 0xc912, 0xc912, 0xc912, 0xc911, 0x8111, 0x30f0, 0x30f0, 0x28ef, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20d0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08f5, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x59b2, 0x7a13, 0x9a94, 0xbb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xac77, 0x2f1e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bc, 0x0759, 0xabb5, 0xc314, 0x1e97, 0x0736, 0x0716, 0x0715, 0x06f4, 0x06f4, 0x06f3, 0x06d3, 0x06b3, 0x06b2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05f4, 0x05d4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04f8, 0x04b9, 0x0499, 0x045a, 0x043b, 0x041b, 0x03fc, 0x03dd, 0x03bd, 0x039d, 0x037e, 0x035e, 0x033e, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x021f, 0x01df, 0x019f, 0x017f, 0x013f, 0x00ff, 0x009f, 0x007f, 0x003f, 0x001f, 0x007f, 0x399b, 0xb993, 0x055f, 0x067f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x45db, 0xc132, 0xc932, 0xc912, 0xc132, 0xc912, 0xc912, 0xc911, 0xc912, 0x5111, 0x38f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x10d3, 0x10f4, 0x18d0, 0x18ad, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ce, 0x20ce, 0x28ae, 0x20ce, 0x28ee, 0x5171, 0x69d2, 0x8232, 0xaaf4, 0xc334, 0xd375, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x757a, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bd, 0x079b, 0x077a, 0x0779, 0x74d6, 0xd2d4, 0x9bf5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06f0, 0x06f0, 0x06d0, 0x06af, 0x06af, 0x066f, 0x0650, 0x0631, 0x0611, 0x05d2, 0x0594, 0x0554, 0x0515, 0x04f7, 0x04b8, 0x0478, 0x0459, 0x043a, 0x03fb, 0x03bc, 0x03bc, 0x039d, 0x037d, 0x035e, 0x033e, 0x031f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x027f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x013f, 0x011f, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x00df, 0xa175, 0x33bc, 0x05df, 0x06ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x92d5, 0xc911, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc112, 0xc912, 0xa8f1, 0x3110, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x390f, 0x4970, 0x59b0, 0x7a32, 0x9293, 0xaad3, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x9cb8, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07dd, 0x07bc, 0x079b, 0x079a, 0x079a, 0x0779, 0x55b7, 0xd2b4, 0xd2b4, 0x4db5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074f, 0x074e, 0x074d, 0x074d, 0x074c, 0x072b, 0x072b, 0x072a, 0x070a, 0x06ea, 0x06ac, 0x064d, 0x05d0, 0x0573, 0x04f5, 0x04b6, 0x0478, 0x0438, 0x041a, 0x03fb, 0x03bc, 0x039c, 0x037c, 0x033d, 0x033d, 0x031e, 0x02fe, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x009f, 0x005f, 0x003f, 0x001f, 0x003f, 0x213d, 0x1b1e, 0x051f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f3d, 0xc912, 0xc912, 0xc112, 0xc112, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0x80f1, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xc374, 0xa2d3, 0xaad3, 0x7a31, 0x7a31, 0x7a11, 0x7231, 0x5190, 0x496f, 0x496f, 0x4970, 0x496f, 0x494f, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x494f, 0x496f, 0x496f, 0x69f1, 0x7a31, 0x7a31, 0x9272, 0xa2d3, 0xaaf3, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd395, 0xac57, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x079a, 0x079a, 0x0799, 0x26b8, 0xcad4, 0xd2b4, 0xc314, 0x0f35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078e, 0x078e, 0x078d, 0x078c, 0x07aa, 0x07a9, 0x07a9, 0x07a8, 0x07c7, 0x07c5, 0x07c4, 0x07e4, 0x07a4, 0x0727, 0x068a, 0x05af, 0x0496, 0x0438, 0x03f9, 0x03ba, 0x039b, 0x035c, 0x035d, 0x031d, 0x031d, 0x02fe, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x007f, 0x023f, 0x041f, 0x05bf, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6498, 0xc911, 0xc912, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8d1, 0x50f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0117, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x8539, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x07ba, 0x07ba, 0x07b9, 0xd2b4, 0xd2b4, 0xd2b4, 0x6535, 0x07b5, 0x07b5, 0x07b4, 0x07b3, 0x07b2, 0x07b1, 0x07b0, 0x07af, 0x07ce, 0x07cd, 0x07cc, 0x07cb, 0x07ca, 0x07ca, 0x07c9, 0x07e8, 0x07e7, 0x07e6, 0x07e5, 0x07e5, 0x07e3, 0x07e3, 0x07e2, 0x07e1, 0x0726, 0x060c, 0x04b4, 0x03b9, 0x037b, 0x035c, 0x033d, 0x031d, 0x02de, 0x02df, 0x02be, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x015f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x007f, 0x003f, 0x001f, 0x001f, 0x011f, 0x02ff, 0x04df, 0x063f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb972, 0xc8f2, 0xc8f2, 0xc0f1, 0xc8f2, 0xc0f2, 0xc0f1, 0xc8d1, 0xa0f1, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x412f, 0x8a72, 0xc334, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xac57, 0x469c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x467c, 0x8519, 0x8519, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07de, 0x07de, 0x07dd, 0x07dc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x07da, 0x9bf5, 0xd2b4, 0xd2b4, 0xc2f4, 0x0f77, 0x07d6, 0x07d5, 0x07d4, 0x07d4, 0x07d3, 0x07d2, 0x07d1, 0x07d0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07ec, 0x07ea, 0x07e9, 0x07e9, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e4, 0x07e4, 0x07e3, 0x07e3, 0x07e2, 0x0785, 0x060c, 0x04d3, 0x035b, 0x031c, 0x02de, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x001f, 0x001f, 0x003f, 0x01df, 0x03bf, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d7a, 0xc111, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0d1, 0xc8d1, 0x68f1, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x414f, 0x61d1, 0x8251, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xbc16, 0x8539, 0x469c, 0x17bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8518, 0xd355, 0xd355, 0xd335, 0xd335, 0x84f8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07fe, 0x07dd, 0x07dd, 0x07bc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x8c56, 0xcab4, 0xcab4, 0xd294, 0x4df7, 0x07d7, 0x07d7, 0x07d6, 0x07f5, 0x07d5, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07e9, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e5, 0x07e5, 0x07e4, 0x07a6, 0x060e, 0x03f8, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x003f, 0x001f, 0x001f, 0x00bf, 0x029f, 0x049f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1d3, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0f1, 0xc8d1, 0xb8d1, 0x40f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0x496f, 0x5990, 0x7a12, 0x7a32, 0x9272, 0xa2d3, 0xa2d3, 0xc375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xac77, 0x757a, 0x36fd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4e3c, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd334, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07dd, 0x07dd, 0x07dc, 0x07fc, 0x07dc, 0x07db, 0x6d38, 0xcab4, 0xd294, 0xd294, 0xab95, 0x07d8, 0x07d8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ec, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07e9, 0x07e9, 0x07e8, 0x07e8, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e8, 0x07c8, 0x06eb, 0x0514, 0x033c, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0x015f, 0x037f, 0x057f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5a, 0xc8f1, 0xc8d1, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x78d1, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x496f, 0x496f, 0x4970, 0x7a12, 0x7a31, 0x8252, 0xaad3, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcbd6, 0x94f8, 0x565b, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb3f6, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd334, 0x1f7e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07dd, 0x07fd, 0x07fd, 0x07fd, 0x07dd, 0x07dc, 0x6d38, 0xcab4, 0xd294, 0xca94, 0xd294, 0x1f39, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ed, 0x07ec, 0x07eb, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07ca, 0x07ab, 0x076c, 0x070d, 0x05b2, 0x039b, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60d9, 0x0a3f, 0x047f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9d3, 0xc0d1, 0xc8d1, 0xc0f1, 0xc8b1, 0xc0d1, 0xc8b1, 0xc0b1, 0xb8b1, 0x48f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x4970, 0x5990, 0x7a31, 0x7231, 0x7a31, 0x7a31, 0x9ab3, 0xaad4, 0xa2d4, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0x94f8, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd315, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x6d58, 0xd294, 0xd293, 0xca94, 0xd274, 0x4df8, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f1, 0x07f0, 0x07f0, 0x07f0, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ed, 0x07cd, 0x078e, 0x076e, 0x0710, 0x06b1, 0x0574, 0x037b, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x013f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x88d6, 0x6159, 0x031f, 0x053f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5b, 0xc0d1, 0xc8d1, 0xc8d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b1, 0x90d1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ce, 0x18ad, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x290f, 0x5170, 0x5170, 0x69f1, 0x7a32, 0x8232, 0xaaf3, 0xaaf4, 0xcb75, 0xd395, 0xd396, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xc3b6, 0x8539, 0x1f7f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0x659a, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x6d39, 0xd294, 0xca94, 0xd274, 0xca74, 0x7c96, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f4, 0x07f4, 0x07f3, 0x07f3, 0x07f3, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f1, 0x07f1, 0x07f1, 0x07f1, 0x07f0, 0x07f1, 0x07d0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02dd, 0x01bf, 0x019f, 0x017f, 0x015f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x00bf, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60b8, 0xb8f3, 0x09bf, 0x041f, 0x061f, 0x073f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1b3, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x48f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x5172, 0x61b2, 0x8a54, 0x9a94, 0xb335, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0x9c97, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xac17, 0xd335, 0xd314, 0xd335, 0xd314, 0xd315, 0xd315, 0xd2f4, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6d59, 0xd274, 0xca94, 0xd274, 0xca74, 0xb334, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f4, 0x07f4, 0x07f4, 0x07d3, 0x07b3, 0x0793, 0x0753, 0x0714, 0x06b5, 0x5516, 0x0538, 0x037c, 0x01ff, 0x017f, 0x015f, 0x013f, 0x011f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x6099, 0xc911, 0x491a, 0x02df, 0x051f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6459, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x90d1, 0x30f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69d3, 0x9274, 0xb2f5, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xa478, 0x36dd, 0x07ff, 0x07ff, 0x563c, 0xd335, 0xd334, 0xd315, 0xd315, 0xd2f4, 0xcb15, 0xbb96, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8498, 0xca94, 0xca94, 0xd274, 0xca74, 0xca74, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07d6, 0x07b6, 0x0796, 0x0756, 0x0716, 0xa456, 0xbbd6, 0x3479, 0x02fd, 0x023f, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x003f, 0x78b7, 0xc111, 0xa114, 0x01ff, 0x041f, 0x05ff, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xc0b1, 0xc0d2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x48f1, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x20cd, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71f4, 0x9a75, 0xb2f5, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0x9c78, 0x36dd, 0x07ff, 0x9c57, 0xd335, 0xd315, 0xd334, 0xd314, 0xc355, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bf7, 0xca94, 0xd274, 0xca73, 0xca74, 0xd253, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f8, 0x07d8, 0x07b8, 0x0797, 0x0758, 0x0ef8, 0xbbf6, 0xd395, 0x6b99, 0x025f, 0x021f, 0x01bf, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x98d5, 0xc8f2, 0xc911, 0x195e, 0x033f, 0x053f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b76, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x88d1, 0x30f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8a16, 0xaad5, 0xcb55, 0xd375, 0xd355, 0xd354, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0x84f9, 0x0fbf, 0x5ddb, 0xa457, 0x9c58, 0x84d8, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca74, 0xca74, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fc, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07da, 0x07da, 0x07ba, 0x079a, 0x0779, 0x2e99, 0xc3d6, 0xd395, 0x8339, 0x0a3e, 0x01df, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0x90d5, 0xc912, 0xc0f1, 0x7117, 0x027f, 0x049f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x269d, 0xc891, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8b1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ce, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ef, 0x28cf, 0x28ef, 0x28d0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8b14, 0x4ad3, 0x7a94, 0xab14, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd314, 0xd335, 0xc355, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc2d4, 0xca74, 0xca74, 0xd274, 0xca74, 0xd253, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07db, 0x07bb, 0x07bb, 0x077b, 0x2eba, 0xc3d6, 0xd395, 0xb337, 0x09df, 0x01bf, 0x017f, 0x013f, 0x011f, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x7896, 0xc0f1, 0xc8f1, 0xa8f3, 0x01df, 0x03df, 0x05bf, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0x68f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9a75, 0xcb55, 0xcb75, 0x5bb4, 0x3b34, 0x42b3, 0x4a33, 0x6253, 0x9ab4, 0xd335, 0xd335, 0xd315, 0xd334, 0xd314, 0xd315, 0xd314, 0xd314, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f5e, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xca53, 0x369d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07dd, 0x07dd, 0x07bd, 0x079c, 0x561a, 0xd395, 0xd395, 0xab37, 0x099f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x003f, 0x003f, 0x305c, 0xc0f1, 0xc8f1, 0xc8d1, 0x215d, 0x033f, 0x051f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5cd9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x98d1, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x011a, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xcb55, 0xd375, 0xbb95, 0x5474, 0x3c34, 0x3bb4, 0x4333, 0x42b3, 0x4a13, 0x49f3, 0x5a32, 0x9ab4, 0xd334, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0x84d8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4ddb, 0xd274, 0xca74, 0xca73, 0xd274, 0xca54, 0xca54, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07de, 0x079d, 0x6d99, 0xd395, 0xd395, 0xab17, 0x097f, 0x011f, 0x011f, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0xc8f1, 0xc8f1, 0xc8d1, 0x5119, 0x02df, 0x04ff, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x4910, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xcb55, 0xd375, 0xd375, 0xb3d5, 0x3d55, 0x3515, 0x3495, 0x3c14, 0x3b94, 0x3b13, 0x4293, 0x4212, 0x49f3, 0x49f3, 0x5a13, 0x9ab4, 0xd314, 0xd315, 0xcb15, 0xd2f4, 0xd2f5, 0xd2f4, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8c37, 0xca74, 0xd273, 0xd253, 0xca54, 0xca53, 0xd253, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07df, 0x07df, 0x94d8, 0xd396, 0xd395, 0x8299, 0x00ff, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0xc8d1, 0xc0f1, 0xc0d1, 0xa0d4, 0x027f, 0x04bf, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8315, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x70f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0117, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xb2f4, 0xd375, 0xd375, 0xd375, 0x9435, 0x3d55, 0x2d55, 0x2d75, 0x3515, 0x3c94, 0x3414, 0x3b94, 0x4313, 0x4293, 0x4a13, 0x41f3, 0x49f2, 0x4a13, 0x5a33, 0xa2b4, 0xd314, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2f4, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x179f, 0xd274, 0xca53, 0xca73, 0xca53, 0xca53, 0xca53, 0xd253, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xbc16, 0xd395, 0xd395, 0x725a, 0x00bf, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x90b5, 0xc8d1, 0xc8d1, 0xc0d1, 0x123e, 0x047f, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x90d1, 0x38f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x38f0, 0x30f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xcb55, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3bf4, 0x3b73, 0x42f4, 0x4273, 0x4a13, 0x4213, 0x49f2, 0x49f3, 0x49f3, 0x6a33, 0xbad4, 0xd2f5, 0xd2f4, 0xd2d4, 0xc335, 0x177e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xca54, 0xd273, 0xca54, 0xca53, 0xca53, 0xca53, 0x9bb6, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x077e, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x36dd, 0xd395, 0xd395, 0xd395, 0x51bc, 0x009f, 0x009f, 0x007f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x7077, 0xc0d2, 0xc8d1, 0xc0d1, 0x49fa, 0x049f, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4952, 0xaab4, 0xd375, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x2d75, 0x2d75, 0x3555, 0x54d5, 0x6475, 0x83b5, 0x8b74, 0x9b34, 0xab14, 0xaad4, 0xb2d4, 0xaad4, 0xaab4, 0xaab4, 0xb2b4, 0x6b15, 0x8a94, 0xc2d4, 0xd2f4, 0xd2d4, 0x84b8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb315, 0xd274, 0xca53, 0xca54, 0xca53, 0xca53, 0xd253, 0x653a, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x071f, 0x071e, 0x071e, 0x073e, 0x079f, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7d7a, 0xd395, 0xd395, 0xc375, 0x28fe, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x005f, 0x003f, 0x003f, 0x183e, 0xc0d1, 0xc0d1, 0xc0d2, 0x7996, 0x04bf, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x58f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0117, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x5972, 0xcb55, 0xd375, 0xd375, 0xd375, 0xd375, 0xabd5, 0x4515, 0x54f5, 0x7c75, 0x8c35, 0xabd5, 0xcb55, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xc355, 0x9c37, 0x659a, 0x467c, 0x0fbf, 0x07ff, 0x07ff, 0x269d, 0x9c17, 0xd2d4, 0x9c17, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xd274, 0xca53, 0xca54, 0xca53, 0xca33, 0xca33, 0xca33, 0x26dd, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071e, 0x071e, 0x06fe, 0x06fe, 0x06ff, 0x06de, 0x06de, 0x06be, 0x06be, 0x06de, 0x073e, 0x079f, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x079f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0xc3f6, 0xd395, 0xd395, 0xaaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x001f, 0x001f, 0xa094, 0xc0d1, 0xc8b1, 0xa8f3, 0x04bf, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x73d8, 0xb8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x10cf, 0x0119, 0x00f9, 0x0117, 0x18ce, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x71f2, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xcb14, 0xd334, 0xd334, 0xac16, 0x753a, 0x467d, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x369c, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26fd, 0xc2b4, 0xca53, 0xca53, 0xca53, 0xd253, 0xca33, 0xca33, 0xa356, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06fe, 0x06fe, 0x06de, 0x06be, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x06be, 0x073e, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07df, 0x6dda, 0xd395, 0xd376, 0xd375, 0x79fa, 0x003f, 0x003f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x8896, 0xc0b1, 0xc0b1, 0xc8b1, 0x0c9f, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0x98d1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x9a93, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd355, 0xd335, 0xd335, 0xc375, 0x84f9, 0x4e3c, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xab75, 0xca54, 0xd253, 0xca53, 0xca33, 0xca33, 0xd233, 0xca33, 0x4dbb, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06de, 0x06de, 0x06de, 0x06be, 0x06be, 0x069e, 0x067e, 0x067e, 0x067e, 0x065e, 0x063e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05fd, 0x067d, 0x06de, 0x06fe, 0x06fe, 0x06fe, 0x06fe, 0x071e, 0x073f, 0x073f, 0x073f, 0x073e, 0x075f, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x0fbf, 0xc3d6, 0xd375, 0xd375, 0xd355, 0x30fd, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x6058, 0xc0b1, 0xc0b1, 0xc0b1, 0x33fc, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0b1, 0xb8d1, 0xb8d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x3910, 0xaaf4, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x7539, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2efd, 0xb315, 0xca53, 0xca54, 0xca33, 0xca53, 0xca34, 0xca34, 0xca33, 0xa335, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06de, 0x06bf, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05bd, 0x05be, 0x059d, 0x055e, 0x055e, 0x05be, 0x05fe, 0x061d, 0x067e, 0x06be, 0x06fe, 0x06fe, 0x071f, 0x071e, 0x073f, 0x073f, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x8539, 0xd375, 0xd355, 0xd355, 0xbaf6, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x403b, 0xc8b1, 0xc0b1, 0xc0b1, 0x6318, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9b3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x4910, 0x3910, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x10d3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30cf, 0x3910, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xcb96, 0x8518, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbe, 0x653a, 0xca54, 0xca53, 0xd253, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x2e9d, 0x077f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06fe, 0x06df, 0x06de, 0x06bf, 0x06be, 0x06bf, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05be, 0x05be, 0x059e, 0x057e, 0x053e, 0x051e, 0x04fe, 0x04be, 0x049e, 0x041e, 0x03dd, 0x04de, 0x065e, 0x06be, 0x06de, 0x06de, 0x06fe, 0x071f, 0x073e, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x36dd, 0xd355, 0xd355, 0xd355, 0xd335, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0xb8b2, 0xc091, 0xc0b1, 0x7a96, 0x06bf, 0x079f, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x82f5, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0x60f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x08f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x28cf, 0x28ef, 0x3910, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x5d9a, 0xb315, 0xd254, 0xca53, 0xd254, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xca33, 0x64d9, 0x077f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06be, 0x069f, 0x069f, 0x067e, 0x065e, 0x065e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x055e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043d, 0x03de, 0x03be, 0x039e, 0x037e, 0x03fe, 0x05fe, 0x069e, 0x069e, 0x06be, 0x06fe, 0x071e, 0x073f, 0x075f, 0x079f, 0x079f, 0x07df, 0x07df, 0x07df, 0x07ff, 0xbbf6, 0xd355, 0xd335, 0xd335, 0xc2f5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x9095, 0xc8b1, 0xc8b1, 0x91f5, 0x067f, 0x06ff, 0x073f, 0x075f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x80f2, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x08f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x3110, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0x9c77, 0x563b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f7e, 0x65db, 0x7cf9, 0x9c57, 0x9c57, 0x9c57, 0x9c57, 0x9c37, 0x9c37, 0x9c37, 0x9c37, 0x7539, 0x6d7a, 0x6579, 0x5dbb, 0x36bd, 0x36bd, 0x36bc, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x36bd, 0x5d9a, 0x8c37, 0xd274, 0xd273, 0xd254, 0xca53, 0xd254, 0xd253, 0xca33, 0xd233, 0xca34, 0xca13, 0xca33, 0x8418, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x069e, 0x069f, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x05be, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04be, 0x045e, 0x03fe, 0x03be, 0x039e, 0x037e, 0x037e, 0x035e, 0x033e, 0x035e, 0x061d, 0x067e, 0x067e, 0x069e, 0x06be, 0x06fe, 0x073f, 0x075f, 0x077f, 0x079f, 0x07df, 0x07df, 0x07ff, 0x7d59, 0xd335, 0xd335, 0xd335, 0xd314, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x60d8, 0xc0b1, 0xc0b1, 0xb8f2, 0x05df, 0x061f, 0x065f, 0x06df, 0x073f, 0x077f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x90d1, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0x9c77, 0x3edd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x659a, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca74, 0xca74, 0xca73, 0xca73, 0xd274, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xab15, 0x0edf, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067e, 0x067f, 0x067e, 0x065e, 0x063f, 0x061e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043e, 0x03be, 0x039e, 0x039e, 0x035e, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x037e, 0x05fe, 0x065e, 0x067e, 0x069e, 0x06de, 0x06fe, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x271d, 0xd335, 0xd314, 0xd315, 0xd315, 0xc2d5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x009f, 0x60d8, 0xc0b1, 0xc0b2, 0xc0b1, 0x04bf, 0x053f, 0x05bf, 0x067f, 0x06df, 0x075f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0x98d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ce, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xac37, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x0ebd, 0x1d7b, 0x1c99, 0x32f5, 0x3a75, 0x6193, 0x69b3, 0x79f4, 0x8a14, 0xb294, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xd274, 0xca53, 0xca54, 0xca54, 0xca53, 0xd253, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x8b97, 0x35fd, 0x5d7b, 0x6d3a, 0x6d3a, 0x5d5b, 0x35fd, 0x06bf, 0x0e7e, 0x457c, 0x6c99, 0x6479, 0x6459, 0x4cba, 0x0e1e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04de, 0x047e, 0x03de, 0x03be, 0x037e, 0x037f, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x02fe, 0x02fe, 0x02de, 0x03fe, 0x05be, 0x063e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073e, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0xbbb6, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0x697a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x48fa, 0xc0b1, 0xc0b1, 0xc0b1, 0x331c, 0x047f, 0x053f, 0x05ff, 0x069f, 0x073f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9a14, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ae, 0x18cf, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f4, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x9273, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xc3b6, 0x5dfb, 0x07ff, 0x0e3b, 0x1c98, 0x2ad5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79d3, 0x9a54, 0xc294, 0xd2f4, 0xd2d5, 0xcad4, 0xd2d4, 0xd2b4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xca73, 0xd253, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x99d4, 0x6358, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd375, 0x06bf, 0x5cfa, 0xd2b4, 0xca94, 0xca33, 0xca13, 0xc9d3, 0xb9d3, 0x4c5a, 0x061e, 0x061e, 0x05de, 0x05de, 0x05be, 0x059e, 0x059e, 0x057e, 0x053e, 0x051e, 0x051d, 0x04de, 0x04be, 0x043e, 0x03be, 0x03be, 0x037f, 0x0b7e, 0x337c, 0x333c, 0x335c, 0x333c, 0x333c, 0x331c, 0x331c, 0x32fc, 0x32fc, 0x32dc, 0x2b7c, 0x05de, 0x061e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07df, 0x84f9, 0xd314, 0xcb14, 0xcaf4, 0xd2d5, 0xb275, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x08df, 0xb8d2, 0xc0b1, 0xc0b1, 0x3a7b, 0x03ff, 0x04df, 0x05bf, 0x067f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b77, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x20cf, 0x0918, 0x013a, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0139, 0x00f9, 0x10d2, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x9c78, 0x261b, 0x1b96, 0x3171, 0x30f0, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81f3, 0xaa73, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xca53, 0xca53, 0xca53, 0xd233, 0xca33, 0xca33, 0xd233, 0xc234, 0x7994, 0x5975, 0xb315, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xc375, 0x067f, 0x067f, 0x6c79, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc912, 0x34bb, 0x05fe, 0x05de, 0x05be, 0x059e, 0x055e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x249d, 0x347b, 0x6bfa, 0x7b99, 0x9b98, 0xab97, 0xdb95, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xbbd6, 0x9c37, 0x8499, 0x6d1a, 0x363c, 0x1edd, 0x079f, 0x07bf, 0x07df, 0x4e1b, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0x40fc, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x78d7, 0xc0b1, 0xc0b1, 0x61d8, 0x03bf, 0x049f, 0x057f, 0x065f, 0x071f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x10f3, 0x013a, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011a, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x5170, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0x6519, 0x22b3, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79b3, 0xa233, 0xd2b4, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xca94, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xd253, 0xca54, 0xca54, 0xca33, 0xd233, 0xca34, 0xca33, 0xca33, 0xa1d3, 0x5954, 0x5954, 0x79f5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd335, 0x8c18, 0x067f, 0x065f, 0x063f, 0xa2d5, 0xc9d3, 0xc972, 0xc952, 0xc111, 0xc8d1, 0x8a55, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x34dc, 0x6c5a, 0xa3f7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xbbb6, 0x84d9, 0x4e1b, 0x465c, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0x81d8, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x6098, 0xc0b1, 0xc0d1, 0x59b8, 0x035f, 0x045f, 0x055f, 0x063f, 0x06ff, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x58f1, 0x3911, 0x30f0, 0x3110, 0x30cf, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x08f6, 0x013a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ce, 0x20ae, 0x28ee, 0xcb55, 0xd375, 0xd375, 0xd375, 0xbb14, 0x34f9, 0x2930, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91f2, 0xc254, 0xca93, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xca73, 0xd273, 0xca73, 0xd254, 0xca53, 0xca53, 0xca54, 0xca33, 0xca34, 0xa1f3, 0x6973, 0x4953, 0x5134, 0x5154, 0xaaf5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd335, 0xd314, 0x5cda, 0x065f, 0x063f, 0x063f, 0xb254, 0xc972, 0xc952, 0xc112, 0xc8d1, 0xc0b1, 0xc0b1, 0x05be, 0x059e, 0x2d1c, 0x9438, 0xcbb6, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xca94, 0x087f, 0x003f, 0x001f, 0x001f, 0x001f, 0x385b, 0xc0b1, 0xc0b1, 0x9135, 0x031f, 0x043f, 0x053f, 0x063f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb8d1, 0x5911, 0x3911, 0x38f0, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x0917, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x011a, 0x00f9, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18cd, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x20ce, 0x8252, 0xd375, 0xd375, 0xd375, 0x9a93, 0x30ef, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81d2, 0xaa13, 0xba33, 0xca54, 0xca74, 0xca53, 0xca54, 0xca53, 0xca53, 0xb213, 0xa1f3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xd395, 0xd395, 0xd396, 0xd375, 0xd334, 0xd2f5, 0xd2b4, 0x2d9d, 0x063f, 0x063f, 0x061f, 0xc993, 0xc952, 0xc911, 0xc8f1, 0xc0b1, 0xc0b1, 0xb8d1, 0x059e, 0x057e, 0xabf7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd335, 0xcb15, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0x411c, 0x003f, 0x003f, 0x001f, 0x001f, 0x203c, 0xc0b1, 0xc0b1, 0x9135, 0x02ff, 0x041f, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa1b3, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x68f1, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x10f3, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x412f, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ce, 0x28cf, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3110, 0x38f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x38f1, 0x38f0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8a34, 0xd395, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xb2f6, 0x065f, 0x061f, 0x061f, 0x34dc, 0xc952, 0xc912, 0xc8d2, 0xc0b1, 0xc0d1, 0xb8d1, 0x89b4, 0x2bba, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71d4, 0x69f4, 0x71d3, 0x69d4, 0x71d3, 0x7a14, 0x8a75, 0x9274, 0x9254, 0x9254, 0x9a95, 0xb315, 0xbb14, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xcb14, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xcab4, 0xca94, 0xca94, 0x81b8, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0xa8b3, 0xc0b1, 0xb0d2, 0x02df, 0x03ff, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f2, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20cf, 0x0918, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20cd, 0x9272, 0xd375, 0xc334, 0x61d1, 0x20cf, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x30f0, 0x3110, 0x3110, 0x30f0, 0x3110, 0x38f0, 0x30f0, 0x38f0, 0x3111, 0x38f0, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xb2f5, 0xd395, 0xd375, 0xd355, 0xd2f4, 0xd2b4, 0xd274, 0x83b8, 0x063f, 0x061f, 0x061e, 0x6398, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61b3, 0x7a34, 0x9a95, 0xb2f5, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd274, 0xca74, 0xc254, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x5878, 0xb8d1, 0xc0b1, 0x02bf, 0x03bf, 0x04ff, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6478, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20cf, 0x0917, 0x011a, 0x011a, 0x0119, 0x08f4, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20cd, 0x18ce, 0x20ae, 0x390f, 0xd375, 0xcb35, 0x414f, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x30ef, 0x3110, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f1, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3910, 0x3911, 0x38f1, 0x3911, 0x3912, 0x4952, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xd2b4, 0xd274, 0xca33, 0x4c9a, 0x05ff, 0x061f, 0x05ff, 0xa1f4, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa0f1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xa274, 0xc315, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca74, 0xca74, 0xca74, 0xca54, 0x20fd, 0x009f, 0x007f, 0x005f, 0x003f, 0x105d, 0xc0b1, 0xc0d1, 0x029f, 0x03bf, 0x04df, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x61d0, 0xbb14, 0x412f, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28cf, 0x28f0, 0x30d0, 0x28ef, 0x28cf, 0x30cf, 0x30f0, 0x30d0, 0x30d0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x61b2, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xca74, 0xd233, 0xca13, 0x1d9d, 0x05ff, 0x05ff, 0x1d3d, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8a14, 0xaa74, 0xcaf4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xca94, 0xca73, 0xd274, 0xd253, 0xd254, 0x597a, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x005f, 0xa8b3, 0xc0b1, 0x31fc, 0x039f, 0x04df, 0x05df, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x390f, 0x28ce, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x71f2, 0xd335, 0xd2f4, 0xd2b4, 0xca74, 0xd233, 0xca13, 0xa295, 0x05ff, 0x05ff, 0x05ff, 0x5399, 0xc0d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9a34, 0xc2b4, 0xd2b5, 0xd2b3, 0xcab4, 0xd294, 0xd294, 0xca93, 0xd274, 0xd274, 0xca53, 0xca54, 0xca53, 0x81d8, 0x00df, 0x00df, 0x00df, 0x00bf, 0x00bf, 0x68b7, 0xb8d1, 0x31dc, 0x033f, 0x049f, 0x05df, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26bd, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d2, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x011a, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x8213, 0xd2f5, 0xcad4, 0xd274, 0xca53, 0xc9f3, 0xc9d2, 0x7398, 0x05ff, 0x05ff, 0x05df, 0xa953, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x98f2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f0, 0x38f0, 0x38f0, 0x38f0, 0x3911, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xca94, 0xd294, 0xca94, 0xd274, 0xca74, 0xd274, 0xca53, 0xca54, 0xca53, 0xca34, 0x99f6, 0x011f, 0x011f, 0x00ff, 0x00ff, 0x00ff, 0x38db, 0xc0b1, 0x28fc, 0x02df, 0x047f, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd335, 0xd2b4, 0xca94, 0xca33, 0xd1f3, 0xc9d3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc932, 0xc0d1, 0xc0b1, 0xb8d1, 0xb0d2, 0xb9f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x015f, 0x013f, 0x013f, 0x013f, 0x011f, 0x093f, 0xc0b1, 0x311c, 0x01bf, 0x03ff, 0x059f, 0x069f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2f4, 0xca74, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc111, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xca53, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x097f, 0x017f, 0x015f, 0x017f, 0x015f, 0x015f, 0x88f5, 0x293c, 0x013f, 0x02df, 0x053e, 0x067f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9234, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x10d0, 0x0118, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2b4, 0xd233, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0xb8d1, 0xc253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x31bc, 0x01bf, 0x019f, 0x019f, 0x019f, 0x019f, 0x5139, 0x315c, 0x017f, 0x01bf, 0x045e, 0x063e, 0x077f, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xcb15, 0xca13, 0xc9d3, 0xc992, 0xc932, 0xc911, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc397, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xc9f3, 0x31fc, 0x01df, 0x01df, 0x01df, 0x01df, 0x01df, 0x01bf, 0x01df, 0x01bf, 0x01bf, 0x02df, 0x05fd, 0x073e, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8ab5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb0f1, 0xba95, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9f3, 0x31fd, 0x021f, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01df, 0x01ff, 0x051d, 0x071d, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6bf7, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc9d3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb152, 0xd79e, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x323c, 0x023f, 0x023f, 0x021f, 0x023f, 0x023f, 0x021f, 0x021f, 0x021f, 0x021f, 0x021f, 0x037e, 0x06dc, 0x07fd, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0x7911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc972, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xd63c, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x325c, 0x027f, 0x025f, 0x025f, 0x025f, 0x023f, 0x025f, 0x025f, 0x023f, 0x023f, 0x023f, 0x029f, 0x067c, 0x07fc, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d1, 0x70f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xc951, 0xc912, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xbb97, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, 0xc9b3, 0x327c, 0x029f, 0x029f, 0x029f, 0x029f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x025f, 0x027f, 0x05bc, 0x07db, 0x07fc, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x58f1, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x011a, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ae, 0x18d0, 0x0118, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa8f1, 0xa972, 0xd77e, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc193, 0x0a7f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x027f, 0x029f, 0x027f, 0x04dd, 0x07bb, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0x5911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xa911, 0xbc78, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, 0x089f, 0x011f, 0x031f, 0x02ff, 0x02ff, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x03fd, 0x079a, 0x07fa, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x2e5c, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb8d1, 0x5912, 0x3911, 0x38f1, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x007f, 0x009e, 0x023f, 0x033f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02df, 0x039e, 0x075a, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0x009f, 0x009f, 0x013f, 0x033f, 0x037f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x033f, 0x06f9, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb0f1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0d1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x3110, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, 0x007f, 0x007f, 0x00ff, 0x027f, 0x039f, 0x039f, 0x037f, 0x231d, 0x5259, 0x5a3a, 0x033f, 0x033f, 0x031f, 0x031f, 0x0699, 0x07f8, 0x07fa, 0x07fd, 0x07ff, 0x07ff, 0x363c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4112, 0x38f1, 0x3911, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x0915, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, 0x007f, 0x007f, 0x00bf, 0x021f, 0x2abd, 0x7a36, 0xb953, 0xc112, 0xc911, 0xc912, 0x0b3f, 0x035f, 0x035f, 0x033f, 0x05fa, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa0f1, 0x68f1, 0x4111, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, 0x007f, 0x007f, 0x30bb, 0x9955, 0xc931, 0xc932, 0xc932, 0xc912, 0xc0f2, 0xc8f2, 0x32fc, 0x037f, 0x037f, 0x037f, 0x059b, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d2, 0xb0d1, 0xb0f1, 0x98f1, 0xb0f1, 0x88f1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0x087e, 0x70f8, 0xc952, 0xc932, 0xc912, 0xc932, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0x331c, 0x03bf, 0x039f, 0x039f, 0x051b, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa0f1, 0xb0f1, 0xb0d1, 0x50f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, 0x9915, 0xc932, 0xc932, 0xc932, 0xc912, 0xc111, 0xc8f2, 0xc0f2, 0xc8d1, 0xc8d1, 0x333c, 0x03ff, 0x03df, 0x03bf, 0x04dc, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f1, 0xc8d1, 0xc8d1, 0xc8d1, 0x335c, 0x041f, 0x03ff, 0x03ff, 0x047d, 0x0795, 0x07f6, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0x40f0, 0x28cf, 0x28ef, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, 0x309c, 0x005f, 0x58b9, 0xc912, 0xc111, 0xc8f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x337c, 0x045f, 0x041f, 0x041f, 0x045e, 0x0775, 0x07f5, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0x80f1, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, 0x003f, 0x003f, 0x005f, 0x78d7, 0xc0f2, 0xc8f1, 0xc0d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x4b1a, 0x047f, 0x045f, 0x043f, 0x045f, 0x0735, 0x07f4, 0x07f9, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa0f1, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0x003f, 0x003f, 0x005f, 0x58b9, 0xc0f1, 0xc0d1, 0xc8d1, 0xc8b2, 0xc0b1, 0xc0b1, 0x62b8, 0x04bf, 0x047f, 0x047f, 0x045f, 0x0715, 0x07f4, 0x07f9, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa8f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0x58f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0x001f, 0x003f, 0x003f, 0x00df, 0x88f6, 0xc8d1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0x62d9, 0x04ff, 0x04bf, 0x049f, 0x047f, 0x06b6, 0x07f3, 0x07f8, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0x98f2, 0xb0f1, 0xb0f1, 0xb0f1, 0x78f0, 0x90f1, 0x80d1, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, 0x001f, 0x003f, 0x003f, 0x00bf, 0x311c, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x6278, 0x053f, 0x04ff, 0x04bf, 0x049f, 0x0696, 0x07f2, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x8912, 0xb0f1, 0xb0f1, 0xb0d1, 0x48f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0x003f, 0x003f, 0x003f, 0x00bf, 0x011f, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x79d6, 0x051f, 0x051f, 0x04ff, 0x04bf, 0x0638, 0x07f1, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0f1, 0x80f2, 0xb0f1, 0xb0f1, 0xb0f2, 0x3110, 0x30f0, 0x28cf, 0x28ef, 0x20ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0x003f, 0x003f, 0x001f, 0x009f, 0x00df, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9174, 0x049f, 0x057f, 0x051f, 0x04ff, 0x0619, 0x07f1, 0x07f6, 0x07fc, 0x07ff, 0x35bb, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x6912, 0xb0f1, 0xb0f1, 0x98f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00fa, 0x011a, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x68b7, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa8f3, 0x041f, 0x057f, 0x053f, 0x051f, 0x05f9, 0x07f0, 0x07f6, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x5912, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0x001f, 0x001f, 0x001f, 0x007f, 0x00bf, 0x009f, 0x90b5, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x0b9e, 0x053f, 0x057f, 0x053f, 0x05da, 0x07ef, 0x07f5, 0x07fb, 0x07ff, 0x5478, 0xb0d1, 0xb0f1, 0xb0f1, 0x9111, 0x5912, 0xa8f1, 0xb0f1, 0x70f1, 0x30f0, 0x28ef, 0x20ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x6098, 0xc0b1, 0xb8b1, 0xc0b1, 0xc0b1, 0x2afc, 0x04ff, 0x05bf, 0x055f, 0x05fb, 0x07cf, 0x07f4, 0x07fc, 0x07ff, 0x5c79, 0xb0f1, 0xb0f1, 0xb0f1, 0x8112, 0x5912, 0xb0f1, 0xb0f1, 0x68f1, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x005f, 0x7897, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0x6238, 0x04df, 0x05bf, 0x059f, 0x05fa, 0x07ce, 0x07f4, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x7112, 0x5912, 0xb0f1, 0xa8f1, 0x5110, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x28cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x007f, 0x6878, 0xb8b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x9954, 0x047f, 0x05bf, 0x05bf, 0x061a, 0x07ce, 0x07f2, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x6112, 0x5912, 0xa8f1, 0xa8f1, 0x60f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x003f, 0x001f, 0x7076, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x0bff, 0x05df, 0x05bf, 0x0639, 0x07cd, 0x07f2, 0x07fc, 0x07ff, 0x63f7, 0xb0f1, 0xb0f1, 0xb0f1, 0x4132, 0x4111, 0xa0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x001f, 0x001f, 0x9894, 0xb8d1, 0xb8d1, 0xb8d1, 0x42da, 0x059f, 0x05ff, 0x0678, 0x07cc, 0x07f1, 0x07fc, 0x07ff, 0x82b5, 0xa8f1, 0xb0f1, 0x98f2, 0x4132, 0x3912, 0x70f1, 0xa8f1, 0xa8f1, 0x50f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x183e, 0xb0d2, 0xb8d1, 0xb8d1, 0x9974, 0x059f, 0x061f, 0x0698, 0x07cc, 0x07f0, 0x07fc, 0x07ff, 0x82b5, 0xb0f1, 0xb0f1, 0x88f1, 0x4132, 0x4111, 0x3910, 0x98f1, 0xa8f2, 0x88f1, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x385b, 0xb8d1, 0xb8d1, 0xb8d1, 0x2c3c, 0x061f, 0x06b7, 0x07cb, 0x07f0, 0x07fb, 0x07ff, 0xb0f1, 0xb0f1, 0xa8f1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xa0f1, 0xa8f1, 0x48ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x7096, 0xb8d1, 0xb8d1, 0x8a35, 0x063f, 0x06d6, 0x07ea, 0x07f1, 0x07fc, 0x07ff, 0xa8f1, 0xa8f1, 0xa8f1, 0x6132, 0x4132, 0x4111, 0x38f1, 0x3110, 0x48f0, 0xa8f1, 0x98f1, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x98b4, 0xb8d1, 0xb8d1, 0x3c9b, 0x06f5, 0x07e9, 0x07f1, 0x07fd, 0x26bd, 0xb0f1, 0xb0f2, 0xb0f1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30f0, 0x60f0, 0xa911, 0x70f0, 0x20ce, 0x20cf, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x083f, 0x70f7, 0xb8d1, 0xa952, 0x0e94, 0x07c9, 0x07f2, 0x07fd, 0x2e3c, 0xa8f1, 0xa8f1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x58f0, 0xa8f1, 0x40cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x00f9, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x003f, 0x00df, 0x59f8, 0xb8d1, 0x8291, 0x07c9, 0x07f2, 0x07fe, 0x455a, 0xb0f1, 0xa8f1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x50cf, 0x48ef, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x031f, 0x2d3b, 0x99b2, 0x454b, 0x07f3, 0x07fe, 0x5498, 0xb0f1, 0xa8f1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x003f, 0x005f, 0x025f, 0x06fd, 0x0770, 0x0f88, 0x07f4, 0x07ff, 0x5478, 0xa8f1, 0xa8f1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x021f, 0x06fc, 0x078d, 0x07e7, 0x07f6, 0x07ff, 0x82b5, 0xa8f1, 0xa111, 0x4932, 0x4132, 0x4111, 0x38f1, 0x38f0, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x005f, 0x021f, 0x073b, 0x07ac, 0x07e7, 0x07f7, 0x07ff, 0x82b5, 0xa8f1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x10cf, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x023f, 0x073b, 0x07ab, 0x07e8, 0x07f9, 0x07ff, 0xa152, 0xa8f1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x005f, 0x007f, 0x009f, 0x023f, 0x0779, 0x07aa, 0x07e8, 0x07fb, 0x07ff, 0xa8f1, 0xa8f1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x0116, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdb0, 0xfdb0, 0xfdb1, 0xfdd1, 0xe4b2, 0xa911, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x02bf, 0x0778, 0x07c8, 0x07e9, 0x07fd, 0x173e, 0xa8f1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfdef, 0xfdf0, 0xfdf0, 0xfdf0, 0xfdf1, 0xfdf1, 0xecb1, 0xa0f1, 0xa911, 0xa911, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x005f, 0x007f, 0x009f, 0x009f, 0x041f, 0x0797, 0x07c7, 0x07eb, 0x07fe, 0x2e5c, 0xa8f1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0f, 0xfe30, 0xfe30, 0xfe30, 0xfe31, 0xfe31, 0xdc32, 0xa111, 0xa911, 0xa111, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x043f, 0x0794, 0x07e6, 0x07ec, 0x07fe, 0x35db, 0xa911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ac, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x00f8, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe50, 0xfe71, 0xfe51, 0xba52, 0xa111, 0xa111, 0x78d5, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x043f, 0x07b3, 0x07c5, 0x07ee, 0x07ff, 0x5478, 0x6ad6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f8, 0x18cf, 0x18ac, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe90, 0xfe91, 0xe471, 0xa111, 0xa112, 0xa111, 0x60d5, 0x001f, 0x283c, 0x7097, 0x405a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x00df, 0x045f, 0x07d2, 0x07e4, 0x07ef, 0x07ff, 0x2e3c, 0x2d1a, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x00f6, 0x0118, 0x00f7, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfeaf, 0xfed0, 0xfeb0, 0xfed1, 0xe491, 0xa911, 0xa111, 0x9931, 0xa111, 0x58d6, 0x88b5, 0xb8d1, 0xb8d1, 0x5059, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x00df, 0x047f, 0x07d2, 0x07e3, 0x07f1, 0x07ff, 0x07ff, 0x2cba, 0x4933, 0x4132, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f6, 0x0118, 0x0118, 0x18cf, 0x20ad, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x20ad, 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfed0, 0xfeb0, 0xfeb1, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x6933, 0xb0f1, 0xb0d1, 0xb0d1, 0x283c, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x011f, 0x047f, 0x07d1, 0x07e3, 0x07f3, 0x07ff, 0x07ff, 0x3b77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30ef, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cd, 0x18ac, 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfeb0, 0xfe90, 0xe471, 0xb8d2, 0xa111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xb0f1, 0xb0d1, 0xb0d2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x00df, 0x011f, 0x011f, 0x049f, 0x07f0, 0x07e2, 0x07f4, 0x07ff, 0x07ff, 0x3af6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ee, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, - 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfeb0, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xb0f1, 0xb0d1, 0x90b4, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x049f, 0x07f1, 0x07e2, 0x07f6, 0x07ff, 0x0f9f, 0x4a35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, - 0x18ce, 0x18ac, 0x20cc, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x18cc, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xe471, 0xb0d1, 0xa111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xb0d1, 0xb0d1, 0x7896, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x00bf, 0x011f, 0x011f, 0x013f, 0x017f, 0x04bf, 0x07f2, 0x07e2, 0x07f5, 0x07ff, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xa8f1, 0xa111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xb0d1, 0xb0d1, 0x5878, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00ff, 0x013f, 0x013f, 0x017f, 0x019f, 0x033f, 0x07f3, 0x07e2, 0x07f3, 0x07ff, 0xa8f1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x18cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xb0f1, 0xb0f1, 0x285c, 0x003f, 0x005f, 0x007f, 0x00bf, 0x00ff, 0x013f, 0x015f, 0x017f, 0x019f, 0x01bf, 0x02ff, 0x07f4, 0x07e3, 0x07f1, 0x2e5c, 0xa911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, - 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xb0f1, 0xb0d1, 0x087f, 0x009f, 0x00bf, 0x00df, 0x011f, 0x015f, 0x019f, 0x019f, 0x019f, 0x01df, 0x01df, 0x01ff, 0x07f7, 0x07e3, 0x07ef, 0x5498, 0xa8f1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xb0f1, 0x98f3, 0x00df, 0x00ff, 0x011f, 0x013f, 0x017f, 0x01bf, 0x01bf, 0x01df, 0x01df, 0x01ff, 0x01ff, 0x021f, 0x06d9, 0x07e5, 0x07ec, 0x7355, 0xa8f1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390f, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xa111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xa8f1, 0xb0f1, 0x80f5, 0x013f, 0x017f, 0x019f, 0x01bf, 0x01df, 0x01ff, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x023f, 0x057d, 0x07e8, 0x07e9, 0x82d5, 0xa0f1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38f0, 0x38ef, 0x30ef, 0x30ee, 0x28ce, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ad, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ce, 0x28ee, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ee, 0x38ef, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xa932, 0xa131, 0xb131, 0xc912, 0xc911, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0x5158, 0x01bf, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x021f, 0x023f, 0x025f, 0x025f, 0x025f, 0x025f, 0x041f, 0x07ed, 0x07e4, 0x7ab4, 0xa911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20cc, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ad, 0x28ce, 0x30ce, 0x30ce, 0x30ee, 0x8151, 0xb192, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d2, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x39bb, 0x021f, 0x023f, 0x025f, 0x027f, 0x027f, 0x025f, 0x025f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x029f, 0x07f3, 0x07e2, 0x9972, 0xa911, 0xa112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18cc, 0x18ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x18ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30cd, 0x28ee, 0x30ee, 0x490e, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f2, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d2, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0x123e, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x02df, 0x06b9, 0x07e3, 0xa111, 0xa911, 0xa111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390f, 0x38ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x18ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30ed, 0x692f, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc8f1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x9933, 0x02df, 0x02df, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02ff, 0x051e, 0x07e8, 0xa912, 0xa111, 0xa111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410f, 0x390f, 0x38ee, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x28ac, 0x20cc, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cd, 0x28ed, 0x28cd, 0x30cd, 0x9191, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc932, 0xc912, 0xc112, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8d1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88b4, 0x88b5, 0x88b5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x69d6, 0x033f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02ff, 0x035f, 0x03ff, 0x07f0, 0x8a4f, 0xa111, 0xa111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410f, 0x390f, 0x30ee, 0x30ee, 0x30cd, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cc, 0x20ac, 0x28cc, 0x28cc, 0x28cc, 0x20cc, 0x28cc, 0x28cc, 0x28cd, 0x40ee, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0x90d5, 0x88d6, 0x6098, 0x5879, 0x303c, 0x305c, 0x081e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x291c, 0x411a, 0x6118, 0x8915, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0x429a, 0x039f, 0x039f, 0x035f, 0x035f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x031f, 0x031f, 0x031f, 0x037f, 0x03ff, 0x06d7, 0x7acf, 0xa111, 0xa111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410f, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cc, 0x490e, 0xc1d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc952, 0x98f5, 0x60b8, 0x407b, 0x183e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x011f, 0x013f, 0x017f, 0x019f, 0x01df, 0x021f, 0x21fd, 0x49d9, 0x7996, 0xa112, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x139e, 0x03df, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x033f, 0x033f, 0x035f, 0x03bf, 0x041f, 0x05de, 0x7ad1, 0xa111, 0xa111, 0xa111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x692f, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc992, 0xc9b2, 0xc972, 0xb973, 0x80f7, 0x387b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01bf, 0x01ff, 0x023f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x2adc, 0x5a58, 0x8994, 0xa8f1, 0xa8f1, 0x81d4, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x039f, 0x037f, 0x035f, 0x037f, 0x039f, 0x03ff, 0x047f, 0x04ff, 0x6375, 0xa112, 0xa111, 0xa111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390f, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x692e, 0xc9f3, 0xc9d2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc993, 0x80f7, 0x389b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x083c, 0x085b, 0x105b, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187a, 0x105b, 0x085d, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x01bf, 0x01ff, 0x021f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03df, 0x041f, 0x043f, 0x0c3f, 0x2bbc, 0x0c3f, 0x045f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03bf, 0x039f, 0x037f, 0x039f, 0x03df, 0x043f, 0x04bf, 0x053f, 0x5398, 0xa111, 0xa111, 0xa111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cb, 0x614e, 0xd1f3, 0xc9f3, 0xc9d3, 0xc9b2, 0xc9b3, 0xb173, 0x60d9, 0x081e, 0x003d, 0x083b, 0x1878, 0x1877, 0x28d2, 0x28d2, 0x40ee, 0x38ee, 0x390f, 0x390f, 0x390f, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4130, 0x38f3, 0x28b6, 0x189a, 0x003e, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x027f, 0x029f, 0x02ff, 0x033f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x047f, 0x04bf, 0x04df, 0x04df, 0x04bf, 0x04bf, 0x047f, 0x047f, 0x043f, 0x043f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03df, 0x043f, 0x047f, 0x04df, 0x057f, 0x3c1a, 0xa111, 0xa111, 0xa111, 0xa111, 0x5931, 0x4910, 0x4110, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x20cb, 0x28ab, 0x692e, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xb1b2, 0x58f3, 0x1895, 0x28b2, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x492f, 0x4930, 0x4910, 0x38f3, 0x20b8, 0x087d, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x019f, 0x01df, 0x021f, 0x025f, 0x02bf, 0x02df, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x04ff, 0x051f, 0x051f, 0x053f, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x047f, 0x047f, 0x045f, 0x045f, 0x043f, 0x041f, 0x03ff, 0x03df, 0x03ff, 0x043f, 0x045f, 0x04bf, 0x053f, 0x05bf, 0x2cdc, 0xa112, 0xa111, 0xa111, 0xa111, 0x7131, 0x4930, 0x4130, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28cb, 0x28cb, 0x612e, 0xc9f3, 0xc9d3, 0xc9d3, 0xb992, 0x692e, 0x28cc, 0x28ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x390e, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x38ee, 0x40ee, 0x40ee, 0x390f, 0x390e, 0x410e, 0x40ef, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4910, 0x4910, 0x4930, 0x4113, 0x28f8, 0x08fe, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x029f, 0x02bf, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x051f, 0x053f, 0x057f, 0x059f, 0x057f, 0x055f, 0x053f, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x049f, 0x047f, 0x045f, 0x043f, 0x041f, 0x041f, 0x043f, 0x045f, 0x04bf, 0x04ff, 0x055f, 0x05df, 0x0e1f, 0xa111, 0xa111, 0xa111, 0xa112, 0x8931, 0x4930, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x20cb, 0x612e, 0xd1f3, 0xc9f3, 0xc1b2, 0x612e, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197a, 0x01de, 0x021f, 0x027f, 0x02bf, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03ff, 0x045f, 0x049f, 0x04df, 0x051f, 0x057f, 0x059f, 0x05df, 0x05df, 0x05df, 0x05bf, 0x059f, 0x055f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04bf, 0x047f, 0x045f, 0x043f, 0x043f, 0x047f, 0x04bf, 0x04ff, 0x053f, 0x05bf, 0x061f, 0x069f, 0x9972, 0xa111, 0xa111, 0xa111, 0xa111, 0x5130, 0x4910, 0x410f, 0x390f, 0x390e, 0x38ed, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x510d, 0xd1f3, 0xc9d2, 0x816f, 0x30cc, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31b6, 0x0a9d, 0x02ff, 0x035f, 0x039f, 0x03ff, 0x043f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x05bf, 0x05df, 0x061f, 0x063f, 0x063f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x047f, 0x047f, 0x047f, 0x049f, 0x04df, 0x053f, 0x057f, 0x05ff, 0x065f, 0x06df, 0x7a95, 0xa111, 0xa111, 0xa111, 0xa111, 0x6911, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x40ec, 0xc1d2, 0xc1b3, 0x490d, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39d5, 0x131c, 0x041f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x059f, 0x05df, 0x061f, 0x067f, 0x069f, 0x069f, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x051f, 0x057f, 0x05bf, 0x063f, 0x069f, 0x071f, 0x5438, 0xa111, 0xa111, 0xa111, 0xa111, 0x8111, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x30cb, 0xa992, 0xa9b1, 0x30cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3a15, 0x237b, 0x053f, 0x059f, 0x5358, 0x349b, 0x0e1f, 0x06bf, 0x06ff, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x057f, 0x055f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04ff, 0x051f, 0x055f, 0x059f, 0x05ff, 0x065f, 0x06df, 0x073f, 0x359b, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x4930, 0x4910, 0x412f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x692f, 0x816f, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28cb, 0x28cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49d4, 0x243a, 0xa132, 0xa8f1, 0xa8f1, 0xa8f1, 0x8295, 0x8295, 0x5418, 0x351b, 0x06df, 0x069f, 0x067f, 0x065f, 0x063f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x051f, 0x053f, 0x057f, 0x059f, 0x05df, 0x063f, 0x069f, 0x06ff, 0x077f, 0x0f5f, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0x6911, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ee, 0x38ed, 0x38ed, 0x390e, 0x390e, 0x390e, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa172, 0x4c39, 0x2d5c, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x059f, 0x057f, 0x055f, 0x055f, 0x055f, 0x057f, 0x059f, 0x05df, 0x061f, 0x067f, 0x06df, 0x073f, 0x079f, 0x07df, 0x8254, 0xa111, 0xa131, 0xa111, 0x9911, 0x8131, 0x4910, 0x410f, 0x410e, 0x38ee, 0x38ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xa111, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa111, 0xa911, 0xa0f1, 0x9972, 0x4419, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05df, 0x061f, 0x065f, 0x06bf, 0x06ff, 0x075f, 0x07bf, 0x07ff, 0x5498, 0xa131, 0xa111, 0xa111, 0xa111, 0x9911, 0x4930, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x28cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x490f, 0x412f, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa111, 0x7a55, 0x34bb, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x063f, 0x065f, 0x069f, 0x06df, 0x071f, 0x077f, 0x07bf, 0x07ff, 0x2e3c, 0x9911, 0xa111, 0xa111, 0x9931, 0x9931, 0x6910, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x62f6, 0x347b, 0x061f, 0x061f, 0x063f, 0x063f, 0x065f, 0x067f, 0x06bf, 0x071f, 0x073f, 0x079f, 0x07df, 0x07ff, 0x07ff, 0xa111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x349b, 0x065f, 0x067f, 0x069f, 0x06bf, 0x06ff, 0x073f, 0x077f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0xa111, 0x9911, 0xa111, 0x9931, 0x9931, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa911, 0xa112, 0xa111, 0xa911, 0xa111, 0xa112, 0xa0f1, 0xa111, 0xa111, 0xa111, 0x7a75, 0x15fd, 0x06bf, 0x06ff, 0x071f, 0x075f, 0x079f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410f, 0x390e, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x40ee, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x5931, 0x90f1, 0xa911, 0xa912, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0x9972, 0x353b, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x8111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa112, 0xa111, 0xa111, 0x4499, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9931, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490f, 0x410f, 0x38ee, 0x30ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x28ab, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x310e, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x7131, 0xa111, 0xa111, 0xa112, 0xa111, 0xa0f1, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa131, 0x6397, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390f, 0x38ee, 0x38ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x38ee, 0x30ed, 0x38ed, 0x390e, 0x38ee, 0x410e, 0x410f, 0x410f, 0x4930, 0x4930, 0x6931, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x6397, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x5c14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410f, 0x390e, 0x390e, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x30ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0x9931, 0x5498, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x35f5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510f, 0x390e, 0x390e, 0x38ed, 0x30ed, 0x30cc, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x28cb, 0x20cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xa111, 0xa111, 0xa111, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa111, 0xa111, 0x3d7a, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28ab, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28cb, 0x20ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x9192, 0x1ebd, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x7a71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20ab, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ac, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cc, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x28ce, 0x28ce, 0x28ce, 0x28ee, 0x28ce, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ef, 0x390f, 0x390f, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xa111, 0xa111, 0xa111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07ff, 0x07ff, 0x07fd, 0x07f6, 0x5c32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390f, 0x30ef, 0x30ef, 0x30ee, 0x30ce, 0x28cd, 0x28ee, 0x28ed, 0x28cd, 0x20cd, 0x20ac, 0x20cd, 0x20cd, 0x20ad, 0x20cd, 0x20ad, 0x20cc, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, - 0x18d2, 0x10f2, 0x18d2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x20f2, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xa111, 0xa111, 0x9931, 0x9911, 0xa111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5c38, 0x07ff, 0x07fd, 0x07f6, 0x44f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x1912, 0x18f2, 0x20f3, 0x18f2, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, - 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28f3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xa111, 0xa112, 0xa111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2e5c, 0x07fc, 0x07f6, 0x2e53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20f3, 0x2112, 0x20f3, 0x20d3, 0x1912, 0x18f2, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, - 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x365e, 0x2e5d, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3d, 0x363d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x361d, 0x361d, 0x361d, 0x361d, 0x361d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1e, 0x461e, 0x461d, 0x4dfe, 0x4dfd, 0x4e3e, 0x4dfe, 0x55dd, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7a74, 0x07fb, 0x07f6, 0x07f6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4cfb, 0x3dfe, 0x35dd, 0x35dd, 0x2ddd, 0x2ddd, 0x2ddd, 0x2ddd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25dc, 0x25bd, 0x25bd, 0x25bd, 0x1dbd, 0x25bc, 0x1dbd, 0x1dbd, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, - 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2ddd, 0x2d5d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2dbd, 0x2dbd, 0x2cfd, 0x2d1d, 0x251c, 0x251c, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3d1d, 0x451d, 0x451d, 0x451d, 0x4d1d, 0x4d1d, 0x553d, 0x91b3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa112, 0x9931, 0x9931, 0x5496, 0x07f7, 0x07f7, 0x8a13, 0xa111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34dd, 0x34dd, 0x2cdd, 0x2cdc, 0x2cdd, 0x2cbc, 0x24dc, 0x24bc, 0x24bc, 0x253c, 0x25bd, 0x253c, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, - 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b7c, 0x259d, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x245d, 0x259c, 0x22fc, 0x2afc, 0x231c, 0x2afc, 0x22fc, 0x231c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2afc, 0x2b1c, 0x2b1c, 0x2b1c, 0x331c, 0x331c, 0x331c, 0x331c, 0x331c, 0x3b1c, 0x3b3d, 0x3b3d, 0x3b3d, 0x433c, 0x433d, 0x4b3d, 0x435d, 0x5a9a, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07f9, 0x72d4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331c, 0x32fc, 0x2afb, 0x2afc, 0x2afb, 0x22fb, 0x22dc, 0x22dc, 0x22fb, 0x22db, 0x22db, 0x235c, 0x1d5c, 0x1d1d, 0x231b, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, - 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x243c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x259c, 0x247c, 0x23bc, 0x23bc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23bc, 0x23bc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x33dc, 0x33dc, 0x33dc, 0x33dc, 0x3bdc, 0x3bfc, 0x3bfc, 0x3bdc, 0x43fc, 0x43fd, 0x6b18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6b53, 0x07fa, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbb, 0x23bb, 0x23bb, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bdb, 0x1d5c, 0x1d1c, 0x1b9b, 0x1b9b, 0x139b, 0x139c, 0x1b9b, 0x1b7b, 0x1b7b, 0x139b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b9b, 0x139b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, - 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1b9c, 0x1bdc, 0x1bbb, 0x1c5b, 0x1cfb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1d3c, 0x1cbc, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9c, 0x1b9c, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9c, 0x1b9b, 0x1bbb, 0x239b, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbc, 0x33bc, 0x33bc, 0x33dc, 0x3bdc, 0x3bdc, 0x3bdc, 0x3bdc, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4c98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4b19, 0x23bc, 0x239b, 0x239b, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x14bb, 0x151b, 0x13db, 0x137b, 0x137a, 0x137b, 0x137b, 0x137a, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, - 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19da, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19db, 0x19da, 0x19db, 0x19fb, 0x153c, 0x123a, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x11db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x19db, 0x19ba, 0x11da, 0x11ba, 0x1abb, 0x14fb, 0x1a5b, 0x19ba, 0x19ba, 0x11da, 0x11da, 0x19db, 0x19db, 0x19da, 0x19db, 0x19ba, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x21db, 0x21db, 0x21db, 0x21fb, 0x21fb, 0x29fb, 0x29fb, 0x29fb, 0x29fb, 0x31fb, 0x321b, 0x31fb, 0x321b, 0x41fa, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72d4, 0x4c98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21db, 0x21da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11d9, 0x137a, 0x149b, 0x131a, 0x11ba, 0x119a, 0x11b9, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, - 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133a, 0x135b, 0x135a, 0x135b, 0x135b, 0x149b, 0x13fb, 0x133a, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x133a, 0x135a, 0x133a, 0x143b, 0x147b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133a, 0x135b, 0x133b, 0x133b, 0x1b3b, 0x1b5b, 0x1b5b, 0x1b3b, 0x1b5b, 0x235b, 0x235b, 0x235b, 0x235b, 0x2b5b, 0x2b5b, 0x2b7b, 0x2b7b, 0x335b, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72d5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71b4, 0x1b3b, 0x1b3b, 0x133a, 0x133b, 0x133a, 0x131a, 0x131a, 0x131a, 0x131a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0afa, 0x0b1a, 0x0afa, 0x0bda, 0x0cbb, 0x0bda, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, - 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b7a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bda, 0x0c7b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x131a, 0x131a, 0x131a, 0x131a, 0x131a, 0x1b1a, 0x1b3a, 0x1b3a, 0x1b3a, 0x1b3a, 0x233a, 0x233a, 0x233b, 0x2b3b, 0x2b5b, 0x3ad9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1b1a, 0x131a, 0x131a, 0x12fa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x035a, 0x045a, 0x0c3a, 0x0afa, 0x02da, 0x0afa, 0x0af9, 0x02f9, 0x0afa, 0x0afa, 0x0afa, 0x02d9, 0x02d9, - 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0bfa, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0bda, 0x02d9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199a, 0x1999, 0x2199, 0x219a, 0x21ba, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01d8, 0x0399, 0x0399, 0x01d9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, - 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02b9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01d8, 0x03f9, 0x01f8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03f9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, - 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03f9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03b9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01b7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, - 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0af8, 0x0af8, 0x0af8, 0x0af8, 0x0b18, 0x0b18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1b18, 0x2af8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0af8, 0x0af8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x0378, 0x0378, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d8, - 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01f7, 0x0358, 0x0196, 0x0196, 0x01b6, 0x0196, 0x01b6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02f7, 0x02f7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01b6, 0x01b6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09b7, 0x0997, 0x09b7, 0x09b7, 0x09b7, 0x11b7, 0x11b7, 0x11d7, 0x11b7, 0x11b7, 0x11b7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09b6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02b7, 0x0337, 0x0216, 0x0196, 0x0196, - 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f5, 0x00d5, 0x00d5, 0x00d6, 0x00d6, 0x00d5, 0x00f5, 0x02f7, 0x0176, 0x00f5, 0x00d5, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x0116, 0x02f7, 0x01d6, 0x00d6, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x08f6, 0x08f6, 0x08f6, 0x08f6, 0x0916, 0x0916, 0x10f6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08f5, 0x08f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x01d6, 0x02f7, 0x0236, 0x0114, - 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01f5, 0x0235, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x0154, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x08d4, 0x08d4, 0x08d4, 0x08f4, 0x08f4, 0x08f4, 0x08f5, 0x10f4, 0x10d5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00d3, 0x00d3, 0x0214, 0x0295, - 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x0293, 0x00d2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0172, 0x0253, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x08b2, 0x08b2, 0x08b2, 0x08d2, 0x08b2, 0x08d2, 0x08d3, 0x10d3, 0x40f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00d2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0131, - 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x0171, 0x0091, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x01d1, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, - 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f1, 0x0171, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00b0, 0x00b0, 0x00b1, 0x08b1, 0x08b0, 0x08b1, 0x08b1, 0x50f1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, - 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00f0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f0, 0x0232, 0x00f1, 0x00b0, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0890, 0x08b0, 0x0891, 0x10b0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0191, 0x01b1, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x006f, 0x008f, 0x0131, 0x0232, 0x00d0, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60f1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006f, 0x0090, 0x006f, 0x008f, 0x008f, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00cf, 0x0232, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x0191, 0x0212, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x18af, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9931, 0xa111, 0x29d2, 0x01b1, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, - 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x01d1, 0x0130, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x01f1, 0x01b1, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28d0, 0x01f2, 0x01d1, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0110, 0x01f1, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x0110, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x48d0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008e, 0x008f, 0x01b1, 0x01f2, 0x00af, 0x006f, 0x006e, 0x008f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x108f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006e, 0x006f, 0x006e, 0x0190, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0170, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01f1, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x68f0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0211, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01b1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x38b0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x010f, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x01d1, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x008e, 0x01f1, 0x012f, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x086e, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0211, 0x0190, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004d, 0x004d, 0x004e, 0x010f, 0x01d1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x00ce, 0x0212, 0x00ce, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x70f0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x008e, 0x01d1, 0x0190, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, - 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006e, 0x01f1, 0x008e, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x010f, 0x01f1, 0x006d, 0x006d, 0x004d, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004e, 0x006d, 0x006d, 0x004d, 0x40cf, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70f0, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0191, 0x01b1, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x28EE, 0x8252, 0xCB54, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x394F, 0xB313, 0xD395, 0x7211, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x18CD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x496F, 0xCB55, 0xD395, 0xBB54, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x208D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00FA, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x61D0, 0xD395, 0xD395, 0xD395, 0x69F1, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x61D0, 0xD395, 0xD395, 0xD396, 0xD375, 0x310E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x011A, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18CE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x392F, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10F2, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x8252, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10F2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x5190, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AF, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18EE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x00F9, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10F2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x08D5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x8252, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x412F, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0355, 0x190F, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F4, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0x496F, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x11D1, 0x03B7, 0x0A93, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x28EE, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x9AB3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x00F9, 0x00F9, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x10AF, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x208D, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0356, 0x03B7, 0x03B7, 0x190F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x7A31, 0xD395, 0xD395, 0xD375, 0xDB95, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD396, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x11D1, 0x03B8, 0x03B7, 0x03B8, 0x0A94, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x00F9, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x08F5, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x310E, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0xD395, 0xD395, 0xB313, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x08F5, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0356, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x190E, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0xA2D3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xA2D3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18CD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x11D1, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0A94, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08D4, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAAD3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0356, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x190F, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x61D0, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0397, 0x03B8, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x59D0, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x011A, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D1, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAAD3, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x03B7, 0x03B7, 0x03B7, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x61B1, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x8A92, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x188D, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x03B8, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0xAAD3, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0x310E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x10D1, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03D7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B8, 0x0397, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0x7231, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x10D3, 0x08D3, 0x10D2, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B8, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x20AE, 0x8A92, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x7A31, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x28EE, 0xC374, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xA2D3, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CE, 0x194F, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x0397, 0x03B8, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x61D1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0x69F1, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1930, 0x02F5, 0x03B7, 0x03B8, 0x0356, 0x114F, 0x18AD, 0x18AD, 0x18AD, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x03B7, 0x03B8, 0x03B7, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x0119, 0x08F4, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x9AB3, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0x412F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x190F, 0x0377, 0x0397, 0x03B8, 0x0398, 0x0397, 0x0B77, 0x18CE, 0x18AD, 0x18AD, 0x03B7, 0x0397, 0x03B8, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x0BB7, 0x0398, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0xC355, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x4970, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x1253, 0x0B78, 0x0B98, 0x0B78, 0x0B98, 0x0B98, 0x1378, 0x11F2, 0x18AD, 0x18AD, 0x0B98, 0x0B78, 0x0B78, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0B98, 0x1378, 0x0B78, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x4970, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0x8252, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x1AB5, 0x1B78, 0x1B58, 0x1358, 0x1B78, 0x1378, 0x1358, 0x1A13, 0x18AE, 0x18AE, 0x1358, 0x1358, 0x1378, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x1358, 0x1358, 0x1358, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x7A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD395, 0xC354, 0x5990, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1A54, 0x1B38, 0x1B38, 0x2338, 0x1B38, 0x1B58, 0x2338, 0x21D2, 0x18AD, 0x18AD, 0x2338, 0x2338, 0x2358, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1930, 0x2339, 0x2358, 0x2338, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0xA2B3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0x4970, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x2150, 0x2B18, 0x2B39, 0x2B18, 0x2B19, 0x2B19, 0x2AF8, 0x18CE, 0x18AD, 0x18AD, 0x2B19, 0x2B18, 0x2B19, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x2192, 0x2B19, 0x2B19, 0x2B18, 0x2338, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0xBB34, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x4970, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x2192, 0x2B19, 0x3319, 0x32F9, 0x2A15, 0x18EF, 0x20AD, 0x18AD, 0x18AD, 0x32F9, 0x3319, 0x32F9, 0x18AD, 0x18AD, 0x18AD, 0x2191, 0x3319, 0x2AF9, 0x3319, 0x2AF9, 0x2A97, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x20CF, 0x28CF, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x71D1, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20CD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, + 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x3AD9, 0x3AD9, 0x3AD9, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x3AF9, 0x3AD9, 0x3AD9, 0x18AD, 0x20AD, 0x3215, 0x3AD9, 0x3AF9, 0x3ADA, 0x3AD9, 0x3277, 0x18CE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x20CD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x4950, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD374, 0xD375, 0xD355, 0xD355, 0xAAB3, 0x20CE, 0x18CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0398, 0x0398, 0x0398, 0x0398, 0x03B7, 0x0397, + 0x18AD, 0x18AD, 0x08F5, 0x0139, 0x011A, 0x0117, 0x00F7, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x42D9, 0x42B9, 0x42B9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x42B9, 0x42B9, 0x42BA, 0x18AE, 0x31F5, 0x42DA, 0x42D9, 0x42B9, 0x42D9, 0x3A77, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x5991, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD374, 0xD375, 0xD355, 0xD355, 0xD355, 0x9252, 0x30EF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, + 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x10F3, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4A99, 0x4AB9, 0x4A9A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4ABA, 0x4ABA, 0x4A9A, 0x4257, 0x4A99, 0x4A9A, 0x4A9A, 0x4ABA, 0x4237, 0x20CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x0119, 0x0119, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x69F1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xCB14, 0x4130, 0x20AF, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x42B9, 0x4A99, 0x42B9, 0x42BA, 0x18AD, 0x18AD, + 0x18AD, 0x18AF, 0x011A, 0x00F9, 0x10D0, 0x18AD, 0x20AD, 0x10D0, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x527A, 0x527A, 0x527A, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x527A, 0x527A, 0x529A, 0x527A, 0x527A, 0x527A, 0x527A, 0x4A18, 0x20CE, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18D2, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x8253, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xD355, 0x7A11, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x6A3B, 0x6A3B, 0x6A3B, 0x621A, 0x6A3B, 0x6A3B, + 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x20AE, 0x08F3, 0x0119, 0x0119, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x5A5B, 0x5A5A, 0x5A7A, 0x2910, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x5A5A, 0x5A7B, 0x5A5A, 0x5A5A, 0x5A5A, 0x5A5A, 0x4A18, 0x20CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x091A, 0x18F2, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x8232, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xA293, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x89BC, 0x89BC, 0x89BC, 0x91BC, 0x89BC, 0x899C, + 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x623A, 0x623B, 0x625A, 0x621A, 0x2910, 0x18CD, 0x18AD, 0x18AD, 0x623B, 0x623A, 0x625A, 0x623B, 0x623B, 0x51F8, 0x20CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0119, 0x0917, 0x18D2, 0x18D2, 0x0918, 0x091A, 0x0918, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30D0, 0x30F0, 0x30F0, 0x8252, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD335, 0x9253, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA93D, 0xA93D, 0xA93D, 0xB13D, 0xA93D, 0xA93D, + 0x18AD, 0x20AD, 0x18AE, 0x0117, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x59D8, 0x6A1B, 0x6A1B, 0x6A1B, 0x6A1B, 0x4133, 0x18AD, 0x18AD, 0x6A3B, 0x6A1B, 0x6A1B, 0x6A1B, 0x51B6, 0x20CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10D3, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18D1, 0x20CE, 0x20CE, 0x18D1, 0x093A, 0x093A, 0x28EF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x9273, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD334, 0xD335, 0xD334, 0xD334, 0xD314, 0xD315, 0xAA93, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08D4, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20CE, 0x61B8, 0x721B, 0x71FB, 0x721B, 0x721B, 0x4133, 0x20AD, 0x71FB, 0x721B, 0x71FB, 0x4174, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x0119, 0x011A, 0x18D1, 0x20AE, 0x20CE, 0x20F1, 0x093A, 0x093A, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0xAAF4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AE, 0x20AD, 0x20AD, 0x20AE, 0x30EE, 0x6150, 0x81B1, 0xA1F2, 0xC233, 0xCA53, 0xCA54, 0xCA53, 0xC233, 0xA1F2, 0x8191, 0x512F, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x20CE, 0x69B9, 0x81FB, 0x79DB, 0x79DC, 0x81FC, 0x5976, 0x79DB, 0x79DC, 0x81DC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x0918, 0x0119, 0x0917, 0x18D0, 0x20D0, 0x0917, 0x093A, 0x1138, 0x28CF, 0x30CF, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x3911, 0xAAD4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD315, 0xD315, 0xD314, 0x69B2, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x410F, 0x6990, 0x99F2, 0xC253, 0xCA74, 0xD274, 0xCA74, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xD253, 0xCA53, 0xD233, 0xCA33, 0xC213, 0x8991, 0x410F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0917, 0x0119, 0x0119, 0x10CF, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AE, 0x7199, 0x89DB, 0x89BC, 0x81BC, 0x89BC, 0x89BC, 0x89BC, 0x89BC, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D2, 0x0119, 0x0119, 0x093A, 0x093A, 0x093A, 0x093A, 0x20F2, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x3111, 0x3911, 0x3911, 0xB2F5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD314, 0xD314, 0xD2F4, 0xD2F5, 0xCAD4, 0x5971, 0x30F0, 0x30D0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x38EF, 0x79B1, 0xBA53, 0xCA94, 0xCA94, 0xCA74, 0xD273, 0xD273, 0xCA73, 0xCA54, 0xCA53, 0xCA54, 0xCA53, 0xCA33, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xD213, 0xCA13, 0xCA13, 0xA1B2, 0x490F, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CE, 0x7979, 0x919C, 0x919C, 0x91BC, 0x919C, 0x899C, 0x89BC, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10F2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x18F2, 0x0919, 0x091A, 0x091A, 0x0919, 0x20F3, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x4112, 0xB2F5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD314, 0xD2F5, 0xD2F4, 0xD2F4, 0x4930, 0x30F0, 0x30EF, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x4130, 0x89F1, 0xD294, 0xD294, 0xCA93, 0xCA74, 0xD274, 0xCA74, 0xCA74, 0xCA53, 0xCA73, 0xD253, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xC274, 0x9B36, 0x83B8, 0x6419, 0x6C39, 0x6439, 0x6C1A, 0x8B57, 0xB295, 0xCA13, 0x9191, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x28AE, 0x8159, 0x917C, 0x997C, 0x997C, 0x999C, 0x999C, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20D0, 0x20D1, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD314, 0xD2F4, 0xD2F4, 0xD315, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2D5, 0x79D2, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x30D0, 0x28EF, 0x28F0, 0x28CF, 0x5150, 0xAA32, 0xD293, 0xD294, 0xD294, 0xCA93, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0xD274, 0xD254, 0xCA53, 0xCA54, 0xB2D5, 0x83B8, 0x44FC, 0x1DBE, 0x063F, 0x0CDB, 0x0B76, 0x1377, 0x1377, 0x0B76, 0x1356, 0x0B76, 0x0B77, 0x23F8, 0x6991, 0x510F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x18AF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x8939, 0xA17C, 0xA17C, 0xA15D, 0xA15D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8A54, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2D4, 0xCAD4, 0x5951, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x4130, 0x91F2, 0xD294, 0xD294, 0xCA94, 0xCA74, 0xCA94, 0xCA94, 0xCA74, 0xD274, 0xD274, 0xD274, 0xD253, 0xB2D5, 0x7419, 0x257D, 0x063F, 0x061F, 0x057D, 0x12B5, 0x190F, 0x18CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CE, 0x913A, 0xA93D, 0xA95D, 0xA95C, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xCAB4, 0x5172, 0x3911, 0x38F1, 0x38F0, 0x30F0, 0x81D2, 0xC294, 0xD294, 0xD293, 0xD294, 0xD294, 0xCA93, 0xCA93, 0xD274, 0xD274, 0xCA73, 0xD274, 0x83D8, 0x353D, 0x061F, 0x063F, 0x063F, 0x063F, 0x4C5A, 0x4970, 0x20AE, 0x20AE, 0x20AD, 0x18CD, 0x20AD, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xB11D, 0xB11D, 0xB11D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6B36, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D5, 0xD2D4, 0xCAD4, 0xCAB4, 0x5972, 0x3911, 0x5151, 0xB253, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xD274, 0xC294, 0x645A, 0x1DBE, 0x063F, 0x063F, 0x063F, 0x1DBE, 0x6459, 0xC274, 0x99D2, 0x28CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18CE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0xB8FE, 0xB8FD, 0xB8FE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253B, 0x465C, 0x6D7B, 0x6D9A, 0x6D9A, 0x6D7A, 0x84F9, 0x9C78, 0x9C77, 0x9C78, 0x9C78, 0x9C57, 0x9C78, 0x9C58, 0x9C58, 0xBBB6, 0xD334, 0xD315, 0xD334, 0xD315, 0xD314, 0xD315, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2D4, 0x91F3, 0x5972, 0xCA74, 0xD2B4, 0xD2B4, 0xD294, 0xCA94, 0xD294, 0xD294, 0xCA94, 0xCA74, 0xC2B4, 0x6C5A, 0x0DFF, 0x063F, 0x063F, 0x063F, 0x353D, 0x83B8, 0xCA53, 0xCA33, 0x89B1, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x011A, 0x0119, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x08F5, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0xC0DE, 0xC0FE, 0xC0DD, 0x18AE, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x00FA, 0x08F4, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x38F1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4D1A, 0x6D9A, 0x94B9, 0x9C98, 0x9C77, 0x9C78, 0x9C78, 0x9C78, 0x94B8, 0x6D7A, 0x6D7A, 0x6D7B, 0x367C, 0x367D, 0x1EFE, 0x077F, 0x075F, 0x1EDE, 0x363D, 0x6D3A, 0x9C17, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2B4, 0xCAD4, 0xD2B3, 0xCAB4, 0xC294, 0xCAB4, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0x7BD8, 0x0DFF, 0x063F, 0x061F, 0x063F, 0x4CBB, 0x9B57, 0xD233, 0xCA33, 0xCA53, 0x6150, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0917, 0x0119, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC8BE, 0xC8DE, 0xC8BE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xA2B5, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD334, 0xD335, 0xD335, 0xD335, 0xD335, 0xBB96, 0xA437, 0x74F9, 0x4DBC, 0x2E7E, 0x0EDF, 0x559B, 0x8498, 0xC335, 0xD2F4, 0xD2D4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2B5, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xBAB4, 0xBAF6, 0xCA94, 0xD294, 0xCA94, 0xD273, 0x9B76, 0x1DBE, 0x061F, 0x063F, 0x0DDF, 0x643A, 0xB2D5, 0xCA54, 0xD253, 0xCA53, 0xC294, 0x59B1, 0x28CE, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18AF, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x40B0, 0xA09A, 0xD0BE, 0xD09E, 0xD0BE, 0xB89C, 0x78B5, 0x28AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xBB15, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD335, 0xD315, 0xD314, 0xD315, 0xD2F5, 0xD2F5, 0xD2F4, 0x9BF7, 0x6D1A, 0x2E3D, 0x45BC, 0x9418, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xC2D4, 0x4CDB, 0x7BD8, 0x9B57, 0x44FC, 0x063F, 0x063F, 0x1DBE, 0x83D8, 0xC294, 0xCA53, 0xCA54, 0xCA33, 0xCA53, 0xB2B5, 0x33B8, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x188E, 0x20CD, 0x10D1, 0x0119, 0x011A, 0x10D1, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x10D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x40B0, 0xD07D, 0xD87E, 0xD89F, 0xD89F, 0xE07F, 0xD89E, 0xD89F, 0xB87B, 0x28AE, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xBB14, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD314, 0xD335, 0xD315, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xC335, 0x8478, 0x4D7B, 0x4D5B, 0xAB96, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCA94, 0xCAB4, 0xD294, 0xD294, 0xD273, 0xC2B4, 0x5C9A, 0x061F, 0x061F, 0x063F, 0x7419, 0xD273, 0xD273, 0xCA53, 0xCA53, 0xD233, 0xCA53, 0xAAF6, 0x153C, 0x2951, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x10B0, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x208D, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB07A, 0xE85F, 0xE85F, 0xE07F, 0xE85F, 0xE87F, 0xE07F, 0xE85F, 0xE07F, 0x9898, 0x20AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xBB15, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD354, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD315, 0xCB34, 0xD315, 0xD314, 0xD314, 0xD315, 0xD314, 0xD2F4, 0xD2F5, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D5, 0xD2D4, 0xD2D4, 0xBB55, 0x7499, 0x35DC, 0x8439, 0xC2F4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xCA93, 0xD294, 0xD274, 0xCA74, 0x9B76, 0x061F, 0x061F, 0x83D8, 0xC295, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0x7BB8, 0x063F, 0x2A34, 0x30F0, 0x30F0, 0x30EF, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F9, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x38B0, 0xF05F, 0xE83F, 0xF03F, 0xF05F, 0xF05F, 0xF03F, 0xF03F, 0xF03F, 0xF05F, 0xE83F, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xBB35, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xCB35, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F5, 0xCAD4, 0xD2F4, 0xCAD4, 0xD2D4, 0xD2D4, 0xCAB4, 0xD2B4, 0xCAB4, 0xCAB4, 0x8BF8, 0x3D5C, 0x6499, 0xC2D4, 0xD294, 0xD294, 0xCA74, 0xCA74, 0xD274, 0xCA74, 0xCA74, 0x54BB, 0x5C9A, 0x353D, 0x1DBE, 0x4CBB, 0x9377, 0x9B36, 0x44FC, 0x061F, 0x1BF9, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F4, 0x10F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x5092, 0xF83F, 0xF83F, 0xF03F, 0xF83F, 0xF83F, 0xF83F, 0xF83F, 0xF81F, 0xF03F, 0xF83F, 0x5092, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69B3, 0xC355, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD335, 0xD335, 0xD314, 0xD314, 0xD314, 0xD2F5, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0x9B97, 0x453C, 0x6C59, 0xC2B4, 0xCA74, 0xD274, 0xD273, 0xCA73, 0xD273, 0xC294, 0x6C39, 0xC294, 0xCA53, 0x8B98, 0x4CBB, 0x0DFF, 0x063F, 0x0D7E, 0x3972, 0x3911, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18CD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x5092, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x5092, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA94, 0x9B77, 0x44DC, 0x73F9, 0xCA73, 0xCA74, 0xD254, 0xCA73, 0xCA53, 0xC294, 0x351C, 0x6C3A, 0xC294, 0xD253, 0xCA34, 0x83B8, 0x5A55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18B0, 0x0119, 0x011A, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4090, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x28AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69D3, 0xC355, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xCB55, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xCAD4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA94, 0xD274, 0xCA74, 0x8B78, 0x447C, 0xA316, 0xD253, 0xD253, 0xCA54, 0xCA53, 0xC294, 0x257D, 0x0DDF, 0x83B8, 0xD233, 0xCA33, 0xCA33, 0xBA13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x30D0, 0x30D0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x00F9, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x00F9, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x011A, 0x0119, 0x011A, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0xD03C, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xD03C, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xAAD4, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD294, 0xD2B4, 0xCA94, 0xCA94, 0xD294, 0xCA74, 0xCA73, 0xCA74, 0xD274, 0xC295, 0x6BB9, 0x6B99, 0xCA54, 0xCA53, 0xD254, 0xCA33, 0xC294, 0x24FD, 0x063F, 0x351D, 0xB295, 0xCA13, 0xCA13, 0xCA13, 0xB9F3, 0x7992, 0x4111, 0x4112, 0x38F1, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CF, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x0118, 0x00F9, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00FA, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x4090, 0xF03F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x6073, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20CD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xCB55, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD334, 0xD314, 0xD335, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xCA73, 0xCA53, 0xCA53, 0xCA74, 0xAAB6, 0x5B7A, 0xBA74, 0xCA53, 0xCA33, 0xCA33, 0xC254, 0x4BFB, 0x059F, 0x0D7F, 0x8B57, 0xC9F3, 0xCA13, 0xC9F3, 0xC9F3, 0xA9B3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0118, 0x10CF, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4091, 0xE01D, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x7074, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x10D2, 0x20CD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x10D1, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AE, 0x18CD, 0x20AE, 0x20CD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xB2F4, 0xD395, 0xDB95, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD334, 0x84F9, 0x467D, 0x1F5E, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x079F, 0x1F1E, 0x367D, 0x367C, 0x4DDB, 0x653A, 0x8498, 0x9BF7, 0xC2F5, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA73, 0xD253, 0xD254, 0xCA74, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0x72D9, 0xAA76, 0xCA33, 0xD233, 0xCA13, 0xCA33, 0x1C7E, 0x059F, 0x05FF, 0x5C7A, 0xCA13, 0xC9F3, 0xC9F3, 0xC9F3, 0xD1F3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10B0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x7074, 0x9077, 0x8856, 0x8876, 0x388F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18CD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x3111, 0x38F1, 0x3911, 0x4111, 0x4132, 0x6193, 0xC355, 0xD396, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xB3D6, 0x271D, 0x07FF, 0x07FF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x079F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x075F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x079F, 0x079F, 0x1EFE, 0x461C, 0x6D1A, 0x9BD6, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xD274, 0xCA74, 0xCA53, 0xD254, 0xCA54, 0xD253, 0xCA53, 0xCA33, 0xA275, 0x9A76, 0xCA33, 0xCA13, 0xCA33, 0x9AD6, 0x04FF, 0x05BF, 0x063F, 0x357C, 0xC254, 0xC9F3, 0xD1F3, 0xC9F3, 0xC9F3, 0xB9D3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F8, 0x10D0, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F9, 0x08F5, 0x18AE, 0x20AD, 0x18AD, 0x08F4, 0x0119, 0x011A, 0x00F7, 0x0117, 0x0119, 0x011A, 0x08F5, 0x20AE, 0x20AE, 0x20AD, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xCB55, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xCB55, 0xD334, 0xCB55, 0xAC17, 0x0FBF, 0x07FF, 0x07FF, 0x07BF, 0x07BF, 0x077F, 0x075F, 0x075F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x075F, 0x075F, 0x077F, 0x077F, 0x079F, 0x07BF, 0x365C, 0x74B9, 0xB315, 0xCA73, 0xCA54, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xD233, 0xCA33, 0xB235, 0xAA16, 0xCA33, 0xCA13, 0xCA13, 0x7B37, 0x055F, 0x05FF, 0x067F, 0x25DD, 0xA2F5, 0xD1D3, 0xC9F3, 0xC9D3, 0xC9D2, 0xC9D3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x0119, 0x00F9, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D3, 0x18CE, 0x20AD, 0x10F4, 0x011A, 0x0119, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61B3, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0x8CB8, 0x0FBF, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06DF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x071F, 0x071F, 0x071F, 0x073F, 0x073F, 0x073F, 0x073F, 0x075F, 0x075F, 0x071F, 0x2DFD, 0x7419, 0xB2B5, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xD233, 0xCA14, 0xA215, 0xCA13, 0xCA13, 0xC9F3, 0x8338, 0x05BF, 0x063F, 0x06BF, 0x0E9F, 0xAAD5, 0xC9D3, 0xC9D2, 0xC9D3, 0xC9D3, 0xC9B2, 0xB1B2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18CF, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x20AE, 0x18D0, 0x0119, 0x0119, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3111, 0x38F1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD354, 0xD355, 0xD355, 0xC395, 0x5DFA, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06DF, 0x06BF, 0x06BF, 0x069F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x06BF, 0x06DF, 0x06DF, 0x06FF, 0x06FF, 0x06FF, 0x071F, 0x071F, 0x06FF, 0x06BF, 0x065F, 0x05BF, 0x443C, 0x8AF7, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA13, 0x99B6, 0xC9F3, 0xCA13, 0xC9F3, 0x4C3B, 0x061F, 0x069F, 0x06FF, 0x0EBE, 0xA2D5, 0xC9B3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC9B2, 0xC1B3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30F0, 0x28F0, 0x30D0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x20AE, 0x20AD, 0x18CE, 0x0119, 0x0119, 0x10D3, 0x20CE, 0x20AE, 0x10F4, 0x0119, 0x011A, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xBB35, 0xD395, 0xD396, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xBBD6, 0x5DFB, 0x0FBF, 0x07FF, 0x07DF, 0x07BF, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06DF, 0x06BF, 0x069F, 0x069F, 0x067F, 0x067F, 0x067F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x067F, 0x065F, 0x065F, 0x067F, 0x067F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x06DF, 0x06BF, 0x069F, 0x065F, 0x05FF, 0x053F, 0x049F, 0x1BBE, 0x8298, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xD1F3, 0x99B6, 0xC9F3, 0xC9F3, 0xB254, 0x0D9F, 0x067F, 0x06DF, 0x06FF, 0x0EBF, 0xA2D5, 0xC9D2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9B3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x20AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011A, 0x10F5, 0x20CE, 0x20CF, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xBB35, 0xD395, 0xD396, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xAC37, 0x6D9A, 0x2EFE, 0x07FF, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x075F, 0x073F, 0x071F, 0x06DF, 0x06BF, 0x069F, 0x067F, 0x065F, 0x065F, 0x063F, 0x063F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x05FF, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x063F, 0x063F, 0x063F, 0x065F, 0x065F, 0x065F, 0x065F, 0x067F, 0x067F, 0x063F, 0x05DF, 0x055F, 0x04BF, 0x043F, 0x037F, 0x1ABE, 0x7A18, 0xCA13, 0xCA13, 0xCA13, 0xC9F3, 0xC1F4, 0x7178, 0xC9F2, 0xD1F3, 0x8338, 0x061F, 0x06BF, 0x06FF, 0x071F, 0x0EDF, 0xA2D5, 0xC9B3, 0xC9B3, 0xC9B2, 0xC992, 0xC992, 0xC993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x20AD, 0x20AE, 0x20AE, 0x18CE, 0x0918, 0x011A, 0x011A, 0x0919, 0x011A, 0x0917, 0x20CF, 0x28AE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xA2B4, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xC3B6, 0x8519, 0x4E3C, 0x0F9F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x06FF, 0x06BF, 0x069F, 0x067F, 0x065F, 0x063F, 0x061F, 0x061F, 0x05FF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05FF, 0x05FF, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x05DF, 0x057F, 0x04FF, 0x047F, 0x03DF, 0x031F, 0x025F, 0x19DE, 0x79B8, 0xC9F3, 0xCA13, 0xC9F3, 0xB9D3, 0xA1B5, 0xC9D3, 0xC9F3, 0x4C5B, 0x065F, 0x06DF, 0x071F, 0x071F, 0x0EDF, 0xA2B5, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC993, 0xC992, 0xB172, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30EF, 0x28EF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x10F3, 0x10F3, 0x10D2, 0x20AE, 0x18AE, 0x20AE, 0x18CE, 0x20CE, 0x20CE, 0x20CE, 0x18F2, 0x10F4, 0x1114, 0x18F3, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xA2B5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xC3B5, 0x7D59, 0x36BD, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x071F, 0x06DE, 0x069E, 0x067E, 0x065E, 0x063F, 0x063F, 0x061E, 0x05FF, 0x05DF, 0x05BF, 0x05BF, 0x059F, 0x059F, 0x059F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x059F, 0x059F, 0x059F, 0x05BF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x057F, 0x04FF, 0x049F, 0x03FF, 0x037F, 0x02BF, 0x021F, 0x017F, 0x213D, 0x9996, 0xC9F3, 0xC9F3, 0xB9D4, 0x99B6, 0xC9D3, 0xC213, 0x0DBF, 0x069F, 0x06FF, 0x071F, 0x073F, 0x0EFF, 0xA2B5, 0xC992, 0xC992, 0xC992, 0xC992, 0xC972, 0xC972, 0xA972, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AE, 0x18CE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AF, 0x20CE, 0x28CE, 0x28CF, 0x28EF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xAAB5, 0xD375, 0xD395, 0xD375, 0xD395, 0xD375, 0x94D8, 0x467C, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x06DE, 0x06BE, 0x067E, 0x067E, 0x065E, 0x063E, 0x061E, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x059F, 0x057F, 0x057F, 0x055F, 0x055F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x055F, 0x055F, 0x055F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x055F, 0x04FF, 0x04BF, 0x041F, 0x039F, 0x031F, 0x025F, 0x01BF, 0x013F, 0x00BF, 0x40FB, 0xB1B5, 0xC9D2, 0xB1D5, 0xB1D4, 0xC9B3, 0x6399, 0x061F, 0x06DF, 0x071F, 0x073F, 0x073F, 0x0EFF, 0xA2B5, 0xC992, 0xC992, 0xC972, 0xC972, 0xC992, 0xC972, 0xB152, 0x4111, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0117, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CF, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30D0, 0x28F0, 0x3110, 0x30F0, 0x30F0, 0x30F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4A16, 0xA2B5, 0xD395, 0xD395, 0xD395, 0xD375, 0x8539, 0x1F5E, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x07BF, 0x075F, 0x06BE, 0x069D, 0x067D, 0x065D, 0x063D, 0x063D, 0x061D, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055F, 0x053F, 0x053F, 0x051F, 0x051F, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x051F, 0x051F, 0x051F, 0x051F, 0x051F, 0x051F, 0x053F, 0x053F, 0x051F, 0x04DF, 0x04BF, 0x043F, 0x03DF, 0x035F, 0x02BF, 0x021F, 0x017F, 0x00FF, 0x009F, 0x087F, 0x7119, 0xC9D3, 0xB1D4, 0xB9D3, 0xC9B3, 0x1CFE, 0x065F, 0x06FF, 0x071F, 0x073F, 0x073F, 0x1EBE, 0xB9F3, 0xC993, 0xC972, 0xC992, 0xC972, 0xC973, 0xC952, 0xB152, 0x4111, 0x3910, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20CD, 0x20CE, 0x20AE, 0x20AE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4A15, 0x3439, 0x16BD, 0x8519, 0xD395, 0xD395, 0xD395, 0x94D8, 0x1F5E, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x071E, 0x069D, 0x069D, 0x067D, 0x065D, 0x063D, 0x063D, 0x061D, 0x05FD, 0x05DD, 0x05BD, 0x059D, 0x059E, 0x057E, 0x055E, 0x053E, 0x051E, 0x04FF, 0x04FF, 0x04DF, 0x04BF, 0x04BF, 0x04BF, 0x049F, 0x049F, 0x049F, 0x049F, 0x049F, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04DF, 0x04BF, 0x04DF, 0x04DF, 0x04DF, 0x04BF, 0x049F, 0x043F, 0x03DF, 0x035F, 0x02FF, 0x025F, 0x01BF, 0x013F, 0x00DF, 0x007F, 0x005F, 0x185E, 0x8957, 0x61B9, 0xC9D3, 0x9A96, 0x059F, 0x067F, 0x06FF, 0x071F, 0x073F, 0x075F, 0x267D, 0xB9D3, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC952, 0xB152, 0x4111, 0x38F1, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18CF, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x00F6, 0x18CE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x38F1, 0x38F1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69B4, 0x6336, 0x6CD9, 0x4E5B, 0x07DF, 0x8539, 0xD395, 0xD395, 0xBC17, 0x3E9C, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07DF, 0x06BD, 0x069C, 0x069C, 0x067C, 0x065C, 0x065C, 0x063C, 0x061C, 0x05FC, 0x05DC, 0x05BC, 0x05BD, 0x059D, 0x057D, 0x055D, 0x053E, 0x051E, 0x04FE, 0x04DE, 0x04BE, 0x04BF, 0x049F, 0x047F, 0x047F, 0x047F, 0x045F, 0x045F, 0x045F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x049F, 0x047F, 0x045F, 0x041F, 0x03DF, 0x037F, 0x031F, 0x029F, 0x021F, 0x017F, 0x011F, 0x00BF, 0x005F, 0x001F, 0x001F, 0x00FF, 0x89B7, 0xC9B3, 0x447B, 0x065F, 0x06BF, 0x071F, 0x073F, 0x073F, 0x075F, 0x3D9B, 0xC972, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xA132, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x20CD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x011A, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3931, 0x40F1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61B3, 0x9274, 0xB2F5, 0xC355, 0xD395, 0xD395, 0xD395, 0xBC16, 0x469D, 0x8539, 0xD376, 0xD375, 0x6DBA, 0x0F9F, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x077F, 0x06BC, 0x06BB, 0x069B, 0x067B, 0x065B, 0x063B, 0x063B, 0x061B, 0x05FB, 0x05DB, 0x05BB, 0x059C, 0x059C, 0x057C, 0x055C, 0x053D, 0x051D, 0x04FD, 0x04DD, 0x04BE, 0x049E, 0x047F, 0x047F, 0x045F, 0x043F, 0x043F, 0x041F, 0x041F, 0x041F, 0x041F, 0x041F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x041F, 0x03FF, 0x03BF, 0x037F, 0x033F, 0x02BF, 0x023F, 0x01DF, 0x015F, 0x00DF, 0x009F, 0x005F, 0x001F, 0x005F, 0x097F, 0xB9B3, 0xB214, 0x0DBF, 0x06FF, 0x075F, 0x073F, 0x073F, 0x075F, 0x077F, 0x6479, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC932, 0x9132, 0x3911, 0x3111, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x08F4, 0x20CD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x28F0, 0x30F0, 0x3110, 0x38F0, 0x38F1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xC335, 0xD395, 0xD395, 0xD395, 0xD395, 0xAC57, 0x7D7A, 0x469C, 0x0F9F, 0xA4B8, 0xD395, 0x8539, 0x1F5E, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x075D, 0x06BB, 0x06BB, 0x069A, 0x067A, 0x065A, 0x065A, 0x063A, 0x061A, 0x05FA, 0x05DA, 0x05DB, 0x05BB, 0x059B, 0x057B, 0x055B, 0x053C, 0x053C, 0x051C, 0x04FC, 0x04DD, 0x04BD, 0x047E, 0x047E, 0x045E, 0x043F, 0x041F, 0x03FF, 0x03FF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03BF, 0x035F, 0x031F, 0x02DF, 0x027F, 0x01FF, 0x019F, 0x011F, 0x00BF, 0x007F, 0x003F, 0x001F, 0x009F, 0x39DB, 0xC992, 0x6399, 0x069F, 0x079F, 0x07FF, 0x07DF, 0x07BF, 0x077F, 0x079F, 0x9AF6, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC932, 0x7112, 0x3110, 0x30F0, 0x30EF, 0x28F0, 0x28EF, 0x28CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20AE, 0x18CF, 0x00F9, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08D3, 0x10D2, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xCB75, 0xD395, 0xD395, 0xD395, 0xC3D6, 0x6DBA, 0x1F7E, 0x07FF, 0x07FF, 0x36DD, 0xBC17, 0x8539, 0x1F5E, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x071B, 0x06DA, 0x06BA, 0x06BA, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05F9, 0x05DA, 0x05BA, 0x059A, 0x057A, 0x055A, 0x055B, 0x053B, 0x051B, 0x04FC, 0x04DC, 0x04BC, 0x049D, 0x047D, 0x045D, 0x043E, 0x041E, 0x03FE, 0x03DF, 0x03DF, 0x03BF, 0x03BF, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x037F, 0x035F, 0x031F, 0x02DF, 0x027F, 0x023F, 0x01BF, 0x015F, 0x00FF, 0x009F, 0x005F, 0x001F, 0x003F, 0x011F, 0x99B6, 0xB9D3, 0x0D9F, 0x06DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F7E, 0xB9B3, 0xC952, 0xC952, 0xC952, 0xC952, 0xC931, 0xC932, 0xC132, 0x6111, 0x38F0, 0x30F0, 0x28F0, 0x30EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18CE, 0x08F5, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xA2B4, 0xD395, 0xD375, 0xD395, 0xD395, 0xC3D6, 0x6DBA, 0x0FBF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x1F7E, 0x07DF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x06F9, 0x06F9, 0x06D9, 0x06B8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05F8, 0x05D8, 0x05B8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051A, 0x04FA, 0x04DB, 0x04BB, 0x049C, 0x047C, 0x045D, 0x043D, 0x041E, 0x03FE, 0x03DE, 0x03BF, 0x039F, 0x039F, 0x037F, 0x037F, 0x037F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02BF, 0x027F, 0x023F, 0x01FF, 0x019F, 0x013F, 0x00BF, 0x007F, 0x003F, 0x001F, 0x005F, 0x197E, 0xB993, 0x6379, 0x063F, 0x073F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x3DFB, 0xC952, 0xC952, 0xC932, 0xC932, 0xC932, 0xC932, 0xC912, 0xB912, 0x4111, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x08F6, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x00F7, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79F3, 0xB2F4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x94F9, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x079D, 0x0719, 0x06F8, 0x06F8, 0x06D7, 0x06B7, 0x06B7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05F7, 0x05D7, 0x05B7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04F9, 0x04DA, 0x04BB, 0x049B, 0x047C, 0x043C, 0x041D, 0x041D, 0x03FE, 0x03DE, 0x03BE, 0x039E, 0x037F, 0x035F, 0x035F, 0x033F, 0x031F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02DF, 0x02BF, 0x029F, 0x027F, 0x023F, 0x01FF, 0x019F, 0x015F, 0x00FF, 0x009F, 0x005F, 0x003F, 0x001F, 0x00BF, 0x59BA, 0xB9B3, 0x0D3F, 0x06BF, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7438, 0xC952, 0xC132, 0xC932, 0xC932, 0xC932, 0xC911, 0xC912, 0xA111, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x08F5, 0x011A, 0x0119, 0x00FA, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x5151, 0x79F3, 0xA2B4, 0xCB75, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xC3D6, 0x469C, 0x07FF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0xC335, 0x45D7, 0x0738, 0x0717, 0x06F6, 0x06F6, 0x06D6, 0x06B5, 0x06B5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05F5, 0x05F5, 0x05D6, 0x05B6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04F9, 0x04D9, 0x049A, 0x047B, 0x045B, 0x043C, 0x041C, 0x03DD, 0x03DD, 0x03BE, 0x039E, 0x037E, 0x035F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x027F, 0x025F, 0x021F, 0x01FF, 0x01BF, 0x017F, 0x011F, 0x00DF, 0x009F, 0x003F, 0x001F, 0x003F, 0x013F, 0xB174, 0x6339, 0x05FF, 0x071F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xB992, 0xC932, 0xC932, 0xC931, 0xC912, 0xC912, 0xC912, 0xC911, 0x8111, 0x30F0, 0x30F0, 0x28EF, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20D0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08F5, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x00F9, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x59B2, 0x7A13, 0x9A94, 0xBB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xAC77, 0x2F1E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BC, 0x0759, 0xABB5, 0xC314, 0x1E97, 0x0736, 0x0716, 0x0715, 0x06F4, 0x06F4, 0x06F3, 0x06D3, 0x06B3, 0x06B2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05F4, 0x05D4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04F8, 0x04B9, 0x0499, 0x045A, 0x043B, 0x041B, 0x03FC, 0x03DD, 0x03BD, 0x039D, 0x037E, 0x035E, 0x033E, 0x033F, 0x031F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x029F, 0x027F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x021F, 0x01DF, 0x019F, 0x017F, 0x013F, 0x00FF, 0x009F, 0x007F, 0x003F, 0x001F, 0x007F, 0x399B, 0xB993, 0x055F, 0x067F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x45DB, 0xC132, 0xC932, 0xC912, 0xC132, 0xC912, 0xC912, 0xC911, 0xC912, 0x5111, 0x38F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18CE, 0x10D3, 0x10F4, 0x18D0, 0x18AD, 0x18AE, 0x20CD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F9, 0x10D0, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08D4, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x20CD, 0x20AE, 0x20AD, 0x20AE, 0x18CE, 0x20AE, 0x20CE, 0x20CE, 0x28AE, 0x20CE, 0x28EE, 0x5171, 0x69D2, 0x8232, 0xAAF4, 0xC334, 0xD375, 0xD3B5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x757A, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BD, 0x079B, 0x077A, 0x0779, 0x74D6, 0xD2D4, 0x9BF5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06F0, 0x06F0, 0x06D0, 0x06AF, 0x06AF, 0x066F, 0x0650, 0x0631, 0x0611, 0x05D2, 0x0594, 0x0554, 0x0515, 0x04F7, 0x04B8, 0x0478, 0x0459, 0x043A, 0x03FB, 0x03BC, 0x03BC, 0x039D, 0x037D, 0x035E, 0x033E, 0x031F, 0x031F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x027F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x013F, 0x011F, 0x00BF, 0x007F, 0x005F, 0x001F, 0x001F, 0x00DF, 0xA175, 0x33BC, 0x05DF, 0x06FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x92D5, 0xC911, 0xC132, 0xC912, 0xC912, 0xC8F2, 0xC112, 0xC912, 0xA8F1, 0x3110, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x10CF, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x390F, 0x4970, 0x59B0, 0x7A32, 0x9293, 0xAAD3, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0x9CB8, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DE, 0x07DD, 0x07BC, 0x079B, 0x079A, 0x079A, 0x0779, 0x55B7, 0xD2B4, 0xD2B4, 0x4DB5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074F, 0x074E, 0x074D, 0x074D, 0x074C, 0x072B, 0x072B, 0x072A, 0x070A, 0x06EA, 0x06AC, 0x064D, 0x05D0, 0x0573, 0x04F5, 0x04B6, 0x0478, 0x0438, 0x041A, 0x03FB, 0x03BC, 0x039C, 0x037C, 0x033D, 0x033D, 0x031E, 0x02FE, 0x02FF, 0x02DF, 0x02BF, 0x029F, 0x029F, 0x027F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x009F, 0x005F, 0x003F, 0x001F, 0x003F, 0x213D, 0x1B1E, 0x051F, 0x065F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F3D, 0xC912, 0xC912, 0xC112, 0xC112, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F2, 0x80F1, 0x30F0, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F7, 0x00F9, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x10D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x392F, 0xD395, 0xC374, 0xA2D3, 0xAAD3, 0x7A31, 0x7A31, 0x7A11, 0x7231, 0x5190, 0x496F, 0x496F, 0x4970, 0x496F, 0x494F, 0x412F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4970, 0x494F, 0x496F, 0x496F, 0x69F1, 0x7A31, 0x7A31, 0x9272, 0xA2D3, 0xAAF3, 0xC355, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD375, 0xD395, 0xAC57, 0x565C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DE, 0x07BD, 0x07BC, 0x07BC, 0x07BB, 0x079A, 0x079A, 0x0799, 0x26B8, 0xCAD4, 0xD2B4, 0xC314, 0x0F35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078F, 0x078E, 0x078E, 0x078D, 0x078C, 0x07AA, 0x07A9, 0x07A9, 0x07A8, 0x07C7, 0x07C5, 0x07C4, 0x07E4, 0x07A4, 0x0727, 0x068A, 0x05AF, 0x0496, 0x0438, 0x03F9, 0x03BA, 0x039B, 0x035C, 0x035D, 0x031D, 0x031D, 0x02FE, 0x02DF, 0x02BF, 0x02BF, 0x029F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x00FF, 0x00DF, 0x00BF, 0x007F, 0x005F, 0x001F, 0x001F, 0x007F, 0x023F, 0x041F, 0x05BF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6498, 0xC911, 0xC912, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8D1, 0x50F1, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0117, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC3D6, 0x8539, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DE, 0x07BD, 0x07BD, 0x07BC, 0x07BC, 0x07BB, 0x07BA, 0x07BA, 0x07B9, 0xD2B4, 0xD2B4, 0xD2B4, 0x6535, 0x07B5, 0x07B5, 0x07B4, 0x07B3, 0x07B2, 0x07B1, 0x07B0, 0x07AF, 0x07CE, 0x07CD, 0x07CC, 0x07CB, 0x07CA, 0x07CA, 0x07C9, 0x07E8, 0x07E7, 0x07E6, 0x07E5, 0x07E5, 0x07E3, 0x07E3, 0x07E2, 0x07E1, 0x0726, 0x060C, 0x04B4, 0x03B9, 0x037B, 0x035C, 0x033D, 0x031D, 0x02DE, 0x02DF, 0x02BE, 0x029F, 0x029F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x019F, 0x019F, 0x015F, 0x015F, 0x013F, 0x00FF, 0x00DF, 0x00BF, 0x007F, 0x007F, 0x003F, 0x001F, 0x001F, 0x011F, 0x02FF, 0x04DF, 0x063F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xB972, 0xC8F2, 0xC8F2, 0xC0F1, 0xC8F2, 0xC0F2, 0xC0F1, 0xC8D1, 0xA0F1, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x412F, 0x8A72, 0xC334, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xAC57, 0x469C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x467C, 0x8519, 0x8519, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DE, 0x07DE, 0x07DE, 0x07DD, 0x07DC, 0x07DC, 0x07DB, 0x07DB, 0x07DA, 0x07DA, 0x9BF5, 0xD2B4, 0xD2B4, 0xC2F4, 0x0F77, 0x07D6, 0x07D5, 0x07D4, 0x07D4, 0x07D3, 0x07D2, 0x07D1, 0x07D0, 0x07EF, 0x07EE, 0x07ED, 0x07EC, 0x07EC, 0x07EA, 0x07E9, 0x07E9, 0x07E7, 0x07E6, 0x07E6, 0x07E5, 0x07E5, 0x07E4, 0x07E4, 0x07E3, 0x07E3, 0x07E2, 0x0785, 0x060C, 0x04D3, 0x035B, 0x031C, 0x02DE, 0x02DE, 0x02BE, 0x029F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x001F, 0x001F, 0x003F, 0x01DF, 0x03BF, 0x059F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D7A, 0xC111, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8D1, 0xC8F2, 0xC0D1, 0xC8D1, 0x68F1, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x414F, 0x61D1, 0x8251, 0xA2D3, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xBC16, 0x8539, 0x469C, 0x17BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8518, 0xD355, 0xD355, 0xD335, 0xD335, 0x84F8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DE, 0x07FE, 0x07DD, 0x07DD, 0x07BC, 0x07DC, 0x07DB, 0x07DB, 0x07DA, 0x8C56, 0xCAB4, 0xCAB4, 0xD294, 0x4DF7, 0x07D7, 0x07D7, 0x07D6, 0x07F5, 0x07D5, 0x07F3, 0x07F3, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EE, 0x07ED, 0x07EC, 0x07EB, 0x07EB, 0x07EA, 0x07E9, 0x07E8, 0x07E8, 0x07E7, 0x07E7, 0x07E6, 0x07E6, 0x07E5, 0x07E5, 0x07E5, 0x07E5, 0x07E4, 0x07A6, 0x060E, 0x03F8, 0x02DE, 0x02BE, 0x029F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x003F, 0x001F, 0x001F, 0x00BF, 0x029F, 0x049F, 0x063F, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB1D3, 0xC8F1, 0xC8F2, 0xC0F1, 0xC8D1, 0xC8D1, 0xC0F1, 0xC8D1, 0xB8D1, 0x40F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0139, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0x496F, 0x5990, 0x7A12, 0x7A32, 0x9272, 0xA2D3, 0xA2D3, 0xC375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAC77, 0x757A, 0x36FD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4E3C, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD334, 0x7539, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07DD, 0x07DD, 0x07DD, 0x07DC, 0x07FC, 0x07DC, 0x07DB, 0x6D38, 0xCAB4, 0xD294, 0xD294, 0xAB95, 0x07D8, 0x07D8, 0x07F7, 0x07F7, 0x07F6, 0x07F5, 0x07F5, 0x07F4, 0x07F3, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EE, 0x07ED, 0x07ED, 0x07EC, 0x07EC, 0x07EB, 0x07EA, 0x07EA, 0x07EA, 0x07E9, 0x07E9, 0x07E8, 0x07E8, 0x07E8, 0x07E8, 0x07E7, 0x07E7, 0x07E8, 0x07C8, 0x06EB, 0x0514, 0x033C, 0x027F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x005F, 0x005F, 0x003F, 0x001F, 0x001F, 0x015F, 0x037F, 0x057F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D5A, 0xC8F1, 0xC8D1, 0xC0F1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0xC8B1, 0x78D1, 0x3110, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x0118, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x496F, 0x496F, 0x4970, 0x7A12, 0x7A31, 0x8252, 0xAAD3, 0xA2D3, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCBD6, 0x94F8, 0x565B, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB3F6, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD334, 0x1F7E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DE, 0x07DD, 0x07FD, 0x07FD, 0x07FD, 0x07DD, 0x07DC, 0x6D38, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0x1F39, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F6, 0x07F5, 0x07F4, 0x07F3, 0x07F2, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EF, 0x07EE, 0x07EE, 0x07ED, 0x07ED, 0x07EC, 0x07ED, 0x07EC, 0x07EB, 0x07EC, 0x07EB, 0x07EB, 0x07EA, 0x07EA, 0x07EA, 0x07CA, 0x07AB, 0x076C, 0x070D, 0x05B2, 0x039B, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00DF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x001F, 0x60D9, 0x0A3F, 0x047F, 0x063F, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA9D3, 0xC0D1, 0xC8D1, 0xC0F1, 0xC8B1, 0xC0D1, 0xC8B1, 0xC0B1, 0xB8B1, 0x48F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10D0, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18CD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4970, 0x4970, 0x5990, 0x7A31, 0x7231, 0x7A31, 0x7A31, 0x9AB3, 0xAAD4, 0xA2D4, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0x94F8, 0x565C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD315, 0x5DDB, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x6D58, 0xD294, 0xD293, 0xCA94, 0xD274, 0x4DF8, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F8, 0x07F7, 0x07F6, 0x07F6, 0x07F5, 0x07F5, 0x07F4, 0x07F3, 0x07F3, 0x07F2, 0x07F1, 0x07F1, 0x07F0, 0x07F0, 0x07F0, 0x07EF, 0x07EF, 0x07EF, 0x07EF, 0x07EF, 0x07EE, 0x07EE, 0x07EE, 0x07EE, 0x07EE, 0x07ED, 0x07CD, 0x078E, 0x076E, 0x0710, 0x06B1, 0x0574, 0x037B, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x017F, 0x013F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x001F, 0x88D6, 0x6159, 0x031F, 0x053F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D5B, 0xC0D1, 0xC8D1, 0xC8D1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC0B1, 0xC8B1, 0x90D1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CF, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0119, 0x011A, 0x10D1, 0x18AD, 0x18AD, 0x10D1, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x10CF, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18CE, 0x18AD, 0x20AE, 0x20AD, 0x20CE, 0x20CE, 0x290F, 0x5170, 0x5170, 0x69F1, 0x7A32, 0x8232, 0xAAF3, 0xAAF4, 0xCB75, 0xD395, 0xD396, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xC3B6, 0x8539, 0x1F7F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD315, 0xD314, 0xD314, 0x659A, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x6D39, 0xD294, 0xCA94, 0xD274, 0xCA74, 0x7C96, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F6, 0x07F6, 0x07F5, 0x07F4, 0x07F4, 0x07F3, 0x07F3, 0x07F3, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F1, 0x07F1, 0x07F1, 0x07F1, 0x07F0, 0x07F1, 0x07D0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02DD, 0x01BF, 0x019F, 0x017F, 0x015F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x00BF, 0x007F, 0x005F, 0x005F, 0x003F, 0x003F, 0x001F, 0x60B8, 0xB8F3, 0x09BF, 0x041F, 0x061F, 0x073F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB1B3, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0x48F1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x011A, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x00F9, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x00F7, 0x011A, 0x011A, 0x011A, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x5172, 0x61B2, 0x8A54, 0x9A94, 0xB335, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0x9C97, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xAC17, 0xD335, 0xD314, 0xD335, 0xD314, 0xD315, 0xD315, 0xD2F4, 0x467C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6D59, 0xD274, 0xCA94, 0xD274, 0xCA74, 0xB334, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FB, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F6, 0x07F6, 0x07F6, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F4, 0x07F4, 0x07F4, 0x07D3, 0x07B3, 0x0793, 0x0753, 0x0714, 0x06B5, 0x5516, 0x0538, 0x037C, 0x01FF, 0x017F, 0x015F, 0x013F, 0x011F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x6099, 0xC911, 0x491A, 0x02DF, 0x051F, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6459, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x90D1, 0x30F1, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69D3, 0x9274, 0xB2F5, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xA478, 0x36DD, 0x07FF, 0x07FF, 0x563C, 0xD335, 0xD334, 0xD315, 0xD315, 0xD2F4, 0xCB15, 0xBB96, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8498, 0xCA94, 0xCA94, 0xD274, 0xCA74, 0xCA74, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F6, 0x07F6, 0x07D6, 0x07B6, 0x0796, 0x0756, 0x0716, 0xA456, 0xBBD6, 0x3479, 0x02FD, 0x023F, 0x019F, 0x015F, 0x011F, 0x00FF, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x003F, 0x78B7, 0xC111, 0xA114, 0x01FF, 0x041F, 0x05FF, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xC0B1, 0xC0D2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x48F1, 0x30F0, 0x30EF, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CE, 0x08F7, 0x0119, 0x00F8, 0x10CF, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x20CD, 0x20CD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71F4, 0x9A75, 0xB2F5, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0x9C78, 0x36DD, 0x07FF, 0x9C57, 0xD335, 0xD315, 0xD334, 0xD314, 0xC355, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9BF7, 0xCA94, 0xD274, 0xCA73, 0xCA74, 0xD253, 0x2EFD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F9, 0x07F8, 0x07D8, 0x07B8, 0x0797, 0x0758, 0x0EF8, 0xBBF6, 0xD395, 0x6B99, 0x025F, 0x021F, 0x01BF, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x98D5, 0xC8F2, 0xC911, 0x195E, 0x033F, 0x053F, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7B76, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0x88D1, 0x30F1, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F9, 0x18CF, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00FA, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8A16, 0xAAD5, 0xCB55, 0xD375, 0xD355, 0xD354, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xCB35, 0x84F9, 0x0FBF, 0x5DDB, 0xA457, 0x9C58, 0x84D8, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9BD6, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FC, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07DA, 0x07DA, 0x07BA, 0x079A, 0x0779, 0x2E99, 0xC3D6, 0xD395, 0x8339, 0x0A3E, 0x01DF, 0x019F, 0x015F, 0x011F, 0x00FF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x007F, 0x003F, 0x003F, 0x003F, 0x90D5, 0xC912, 0xC0F1, 0x7117, 0x027F, 0x049F, 0x065F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x269D, 0xC891, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8B1, 0x3110, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0139, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F9, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18CE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28EF, 0x28CF, 0x28EF, 0x28D0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8B14, 0x4AD3, 0x7A94, 0xAB14, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD315, 0xD314, 0xD335, 0xC355, 0x467C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xC2D4, 0xCA74, 0xCA74, 0xD274, 0xCA74, 0xD253, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07DB, 0x07BB, 0x07BB, 0x077B, 0x2EBA, 0xC3D6, 0xD395, 0xB337, 0x09DF, 0x01BF, 0x017F, 0x013F, 0x011F, 0x00DF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x003F, 0x7896, 0xC0F1, 0xC8F1, 0xA8F3, 0x01DF, 0x03DF, 0x05BF, 0x071F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA214, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0x68F1, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20EF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9A75, 0xCB55, 0xCB75, 0x5BB4, 0x3B34, 0x42B3, 0x4A33, 0x6253, 0x9AB4, 0xD335, 0xD335, 0xD315, 0xD334, 0xD314, 0xD315, 0xD314, 0xD314, 0x5DDB, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F5E, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xCA53, 0x369D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07DD, 0x07DD, 0x07BD, 0x079C, 0x561A, 0xD395, 0xD395, 0xAB37, 0x099F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x005F, 0x003F, 0x003F, 0x305C, 0xC0F1, 0xC8F1, 0xC8D1, 0x215D, 0x033F, 0x051F, 0x06DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5CD9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x98D1, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F8, 0x011A, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xCB55, 0xD375, 0xBB95, 0x5474, 0x3C34, 0x3BB4, 0x4333, 0x42B3, 0x4A13, 0x49F3, 0x5A32, 0x9AB4, 0xD334, 0xD335, 0xD314, 0xD314, 0xD315, 0xD314, 0xD2F4, 0x84D8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4DDB, 0xD274, 0xCA74, 0xCA73, 0xD274, 0xCA54, 0xCA54, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07DD, 0x07DE, 0x079D, 0x6D99, 0xD395, 0xD395, 0xAB17, 0x097F, 0x011F, 0x011F, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x003F, 0x003F, 0x003F, 0xC8F1, 0xC8F1, 0xC8D1, 0x5119, 0x02DF, 0x04FF, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F1E, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x4910, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xCB55, 0xD375, 0xD375, 0xB3D5, 0x3D55, 0x3515, 0x3495, 0x3C14, 0x3B94, 0x3B13, 0x4293, 0x4212, 0x49F3, 0x49F3, 0x5A13, 0x9AB4, 0xD314, 0xD315, 0xCB15, 0xD2F4, 0xD2F5, 0xD2F4, 0x7539, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8C37, 0xCA74, 0xD273, 0xD253, 0xCA54, 0xCA53, 0xD253, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DF, 0x07DF, 0x94D8, 0xD396, 0xD395, 0x8299, 0x00FF, 0x00FF, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0xC8D1, 0xC0F1, 0xC0D1, 0xA0D4, 0x027F, 0x04BF, 0x069F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8315, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x70F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x011A, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x011A, 0x0119, 0x0117, 0x18AE, 0x20CD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xB2F4, 0xD375, 0xD375, 0xD375, 0x9435, 0x3D55, 0x2D55, 0x2D75, 0x3515, 0x3C94, 0x3414, 0x3B94, 0x4313, 0x4293, 0x4A13, 0x41F3, 0x49F2, 0x4A13, 0x5A33, 0xA2B4, 0xD314, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2F4, 0x4E1B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x179F, 0xD274, 0xCA53, 0xCA73, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9E, 0xBC16, 0xD395, 0xD395, 0x725A, 0x00BF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x90B5, 0xC8D1, 0xC8D1, 0xC0D1, 0x123E, 0x047F, 0x067F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0x90D1, 0x38F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x00F9, 0x00F9, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x38F0, 0x30F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xCB55, 0xD375, 0xD375, 0xD355, 0x9435, 0x3575, 0x3575, 0x2D75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3BF4, 0x3B73, 0x42F4, 0x4273, 0x4A13, 0x4213, 0x49F2, 0x49F3, 0x49F3, 0x6A33, 0xBAD4, 0xD2F5, 0xD2F4, 0xD2D4, 0xC335, 0x177E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5D9A, 0xCA54, 0xD273, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0x9BB6, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x077F, 0x077E, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x36DD, 0xD395, 0xD395, 0xD395, 0x51BC, 0x009F, 0x009F, 0x007F, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x7077, 0xC0D2, 0xC8D1, 0xC0D1, 0x49FA, 0x049F, 0x069F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F1E, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0x3910, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18CE, 0x08F7, 0x0119, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4952, 0xAAB4, 0xD375, 0xD375, 0xD375, 0xD355, 0x9435, 0x3575, 0x3575, 0x2D75, 0x2D75, 0x2D75, 0x3555, 0x54D5, 0x6475, 0x83B5, 0x8B74, 0x9B34, 0xAB14, 0xAAD4, 0xB2D4, 0xAAD4, 0xAAB4, 0xAAB4, 0xB2B4, 0x6B15, 0x8A94, 0xC2D4, 0xD2F4, 0xD2D4, 0x84B8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB315, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xD253, 0x653A, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x075F, 0x075F, 0x073F, 0x073F, 0x071F, 0x071E, 0x071E, 0x073E, 0x079F, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7D7A, 0xD395, 0xD395, 0xC375, 0x28FE, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x005F, 0x003F, 0x003F, 0x183E, 0xC0D1, 0xC0D1, 0xC0D2, 0x7996, 0x04BF, 0x067F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA214, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0x58F1, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x20AD, 0x18CD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x0117, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x5972, 0xCB55, 0xD375, 0xD375, 0xD375, 0xD375, 0xABD5, 0x4515, 0x54F5, 0x7C75, 0x8C35, 0xABD5, 0xCB55, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xC355, 0x9C37, 0x659A, 0x467C, 0x0FBF, 0x07FF, 0x07FF, 0x269D, 0x9C17, 0xD2D4, 0x9C17, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5D9A, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0x26DD, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x071E, 0x071E, 0x06FE, 0x06FE, 0x06FF, 0x06DE, 0x06DE, 0x06BE, 0x06BE, 0x06DE, 0x073E, 0x079F, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x079F, 0x077F, 0x079F, 0x079F, 0x077F, 0x079F, 0x079F, 0x079F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0xC3F6, 0xD395, 0xD395, 0xAAF7, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x001F, 0x001F, 0xA094, 0xC0D1, 0xC8B1, 0xA8F3, 0x04BF, 0x069F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x73D8, 0xB8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0x78F1, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x10CF, 0x0119, 0x00F9, 0x0117, 0x18CE, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x71F2, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xD355, 0xD335, 0xD335, 0xCB14, 0xD334, 0xD334, 0xAC16, 0x753A, 0x467D, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x369C, 0x4E1B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x26FD, 0xC2B4, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0xCA33, 0xCA33, 0xA356, 0x07FF, 0x07FF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x071F, 0x071F, 0x06FF, 0x06FE, 0x06FE, 0x06DE, 0x06BE, 0x06BE, 0x069E, 0x069E, 0x069E, 0x067E, 0x067E, 0x065E, 0x065E, 0x06BE, 0x073E, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x077F, 0x077F, 0x077F, 0x077F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07DF, 0x6DDA, 0xD395, 0xD376, 0xD375, 0x79FA, 0x003F, 0x003F, 0x001F, 0x003F, 0x001F, 0x001F, 0x001F, 0x001F, 0x8896, 0xC0B1, 0xC0B1, 0xC8B1, 0x0C9F, 0x069F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x3DBB, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0B1, 0x98D1, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x011A, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x9A93, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD355, 0xD335, 0xD335, 0xC375, 0x84F9, 0x4E3C, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xAB75, 0xCA54, 0xD253, 0xCA53, 0xCA33, 0xCA33, 0xD233, 0xCA33, 0x4DBB, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x075F, 0x073F, 0x071F, 0x071F, 0x06FF, 0x06DE, 0x06DE, 0x06DE, 0x06BE, 0x06BE, 0x069E, 0x067E, 0x067E, 0x067E, 0x065E, 0x063E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05FD, 0x067D, 0x06DE, 0x06FE, 0x06FE, 0x06FE, 0x06FE, 0x071E, 0x073F, 0x073F, 0x073F, 0x073E, 0x075F, 0x077F, 0x079F, 0x079F, 0x07BF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x0FBF, 0xC3D6, 0xD375, 0xD375, 0xD355, 0x30FD, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x001F, 0x6058, 0xC0B1, 0xC0B1, 0xC0B1, 0x33FC, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9E, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xC0B1, 0xB8D1, 0xB8D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x3910, 0xAAF4, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xB3D6, 0x7539, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x2EFD, 0xB315, 0xCA53, 0xCA54, 0xCA33, 0xCA53, 0xCA34, 0xCA34, 0xCA33, 0xA335, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DE, 0x06BF, 0x06BE, 0x069E, 0x069E, 0x069E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05BD, 0x05BE, 0x059D, 0x055E, 0x055E, 0x05BE, 0x05FE, 0x061D, 0x067E, 0x06BE, 0x06FE, 0x06FE, 0x071F, 0x071E, 0x073F, 0x073F, 0x075F, 0x077F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x8539, 0xD375, 0xD355, 0xD355, 0xBAF6, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x403B, 0xC8B1, 0xC0B1, 0xC0B1, 0x6318, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA9B3, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8D1, 0x4910, 0x3910, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x10D3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x011A, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18CF, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x30CF, 0x3910, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD354, 0xD355, 0xD355, 0xCB96, 0x8518, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBE, 0x653A, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x2E9D, 0x077F, 0x077F, 0x075F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FE, 0x06DF, 0x06DE, 0x06BF, 0x06BE, 0x06BF, 0x069E, 0x067E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05BE, 0x05BE, 0x059E, 0x057E, 0x053E, 0x051E, 0x04FE, 0x04BE, 0x049E, 0x041E, 0x03DD, 0x04DE, 0x065E, 0x06BE, 0x06DE, 0x06DE, 0x06FE, 0x071F, 0x073E, 0x077F, 0x079F, 0x079F, 0x07BF, 0x07DF, 0x07DF, 0x07FF, 0x36DD, 0xD355, 0xD355, 0xD355, 0xD335, 0x699A, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0xB8B2, 0xC091, 0xC0B1, 0x7A96, 0x06BF, 0x079F, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x82F5, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0x60F1, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x08F7, 0x18CE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CF, 0x28CF, 0x28EF, 0x3910, 0xB314, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xBBD6, 0x5DFB, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0x5D9A, 0xB315, 0xD254, 0xCA53, 0xD254, 0xCA53, 0xCA53, 0xCA33, 0xD233, 0xCA33, 0xCA33, 0x64D9, 0x077F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06BF, 0x06BE, 0x069F, 0x069F, 0x067E, 0x065E, 0x065E, 0x063E, 0x063E, 0x061E, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x055E, 0x055E, 0x051E, 0x04FE, 0x04DE, 0x049E, 0x043D, 0x03DE, 0x03BE, 0x039E, 0x037E, 0x03FE, 0x05FE, 0x069E, 0x069E, 0x06BE, 0x06FE, 0x071E, 0x073F, 0x075F, 0x079F, 0x079F, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0xBBF6, 0xD355, 0xD335, 0xD335, 0xC2F5, 0x083F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x9095, 0xC8B1, 0xC8B1, 0x91F5, 0x067F, 0x06FF, 0x073F, 0x075F, 0x077F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0x80F2, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20CD, 0x20AE, 0x18AD, 0x18AE, 0x20AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x08F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x3110, 0xB314, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0x9C77, 0x563B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F7E, 0x65DB, 0x7CF9, 0x9C57, 0x9C57, 0x9C57, 0x9C57, 0x9C37, 0x9C37, 0x9C37, 0x9C37, 0x7539, 0x6D7A, 0x6579, 0x5DBB, 0x36BD, 0x36BD, 0x36BC, 0x2EFD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0x36BD, 0x5D9A, 0x8C37, 0xD274, 0xD273, 0xD254, 0xCA53, 0xD254, 0xD253, 0xCA33, 0xD233, 0xCA34, 0xCA13, 0xCA33, 0x8418, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06BF, 0x06BF, 0x069E, 0x069F, 0x067E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x05BE, 0x057E, 0x055E, 0x051E, 0x051E, 0x04FE, 0x04BE, 0x045E, 0x03FE, 0x03BE, 0x039E, 0x037E, 0x037E, 0x035E, 0x033E, 0x035E, 0x061D, 0x067E, 0x067E, 0x069E, 0x06BE, 0x06FE, 0x073F, 0x075F, 0x077F, 0x079F, 0x07DF, 0x07DF, 0x07FF, 0x7D59, 0xD335, 0xD335, 0xD335, 0xD314, 0x699A, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x60D8, 0xC0B1, 0xC0B1, 0xB8F2, 0x05DF, 0x061F, 0x065F, 0x06DF, 0x073F, 0x077F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x363C, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0x90D1, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CE, 0x30EF, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0x9C77, 0x3EDD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x659A, 0xD315, 0xD314, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2F4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA73, 0xCA73, 0xD274, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xAB15, 0x0EDF, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06BF, 0x06BF, 0x06DF, 0x06BF, 0x069F, 0x069F, 0x067E, 0x067F, 0x067E, 0x065E, 0x063F, 0x061E, 0x061E, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x055E, 0x053E, 0x051E, 0x04FE, 0x04DE, 0x049E, 0x043E, 0x03BE, 0x039E, 0x039E, 0x035E, 0x035E, 0x033E, 0x033E, 0x031E, 0x02FE, 0x037E, 0x05FE, 0x065E, 0x067E, 0x069E, 0x06DE, 0x06FE, 0x075F, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0x271D, 0xD335, 0xD314, 0xD315, 0xD315, 0xC2D5, 0x083F, 0x001F, 0x001F, 0x001F, 0x001F, 0x009F, 0x60D8, 0xC0B1, 0xC0B2, 0xC0B1, 0x04BF, 0x053F, 0x05BF, 0x067F, 0x06DF, 0x075F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0x98D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18CE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CE, 0x30EF, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xAC37, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x0EBD, 0x1D7B, 0x1C99, 0x32F5, 0x3A75, 0x6193, 0x69B3, 0x79F4, 0x8A14, 0xB294, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xD274, 0xCA53, 0xCA54, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x8B97, 0x35FD, 0x5D7B, 0x6D3A, 0x6D3A, 0x5D5B, 0x35FD, 0x06BF, 0x0E7E, 0x457C, 0x6C99, 0x6479, 0x6459, 0x4CBA, 0x0E1E, 0x063E, 0x063E, 0x061E, 0x05FE, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055E, 0x051E, 0x051E, 0x04FE, 0x04DE, 0x047E, 0x03DE, 0x03BE, 0x037E, 0x037F, 0x035E, 0x033E, 0x033E, 0x031E, 0x02FE, 0x02FE, 0x02FE, 0x02DE, 0x03FE, 0x05BE, 0x063E, 0x065E, 0x069E, 0x06DE, 0x071F, 0x073E, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0xBBB6, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0x697A, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x48FA, 0xC0B1, 0xC0B1, 0xC0B1, 0x331C, 0x047F, 0x053F, 0x05FF, 0x069F, 0x073F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9A14, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20AE, 0x18CF, 0x08F6, 0x011A, 0x0119, 0x0119, 0x08F4, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x9273, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xC3B6, 0x5DFB, 0x07FF, 0x0E3B, 0x1C98, 0x2AD5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79D3, 0x9A54, 0xC294, 0xD2F4, 0xD2D5, 0xCAD4, 0xD2D4, 0xD2B4, 0xCAD4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x99D4, 0x6358, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD375, 0x06BF, 0x5CFA, 0xD2B4, 0xCA94, 0xCA33, 0xCA13, 0xC9D3, 0xB9D3, 0x4C5A, 0x061E, 0x061E, 0x05DE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x057E, 0x053E, 0x051E, 0x051D, 0x04DE, 0x04BE, 0x043E, 0x03BE, 0x03BE, 0x037F, 0x0B7E, 0x337C, 0x333C, 0x335C, 0x333C, 0x333C, 0x331C, 0x331C, 0x32FC, 0x32FC, 0x32DC, 0x2B7C, 0x05DE, 0x061E, 0x065E, 0x069E, 0x06DE, 0x071F, 0x073F, 0x077F, 0x07BF, 0x07DF, 0x07DF, 0x84F9, 0xD314, 0xCB14, 0xCAF4, 0xD2D5, 0xB275, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x08DF, 0xB8D2, 0xC0B1, 0xC0B1, 0x3A7B, 0x03FF, 0x04DF, 0x05BF, 0x067F, 0x071F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7B77, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x4111, 0x38F1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20AE, 0x20CF, 0x0918, 0x013A, 0x011A, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0139, 0x00F9, 0x10D2, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x7A32, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x9C78, 0x261B, 0x1B96, 0x3171, 0x30F0, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81F3, 0xAA73, 0xCAD4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xD274, 0xCA54, 0xD274, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xCA33, 0xCA33, 0xD233, 0xC234, 0x7994, 0x5975, 0xB315, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xC375, 0x067F, 0x067F, 0x6C79, 0xCA33, 0xCA13, 0xC9D3, 0xC992, 0xC952, 0xC912, 0x34BB, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x055E, 0x055E, 0x053E, 0x051E, 0x04FE, 0x249D, 0x347B, 0x6BFA, 0x7B99, 0x9B98, 0xAB97, 0xDB95, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0xD395, 0xBBD6, 0x9C37, 0x8499, 0x6D1A, 0x363C, 0x1EDD, 0x079F, 0x07BF, 0x07DF, 0x4E1B, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0x40FC, 0x001F, 0x001F, 0x001F, 0x003F, 0x009F, 0x78D7, 0xC0B1, 0xC0B1, 0x61D8, 0x03BF, 0x049F, 0x057F, 0x065F, 0x071F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xB8D1, 0xB8B1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x4111, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CF, 0x20AE, 0x10F3, 0x013A, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011A, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x5170, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0x6519, 0x22B3, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79B3, 0xA233, 0xD2B4, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xCA54, 0xD274, 0xD253, 0xCA54, 0xCA54, 0xCA33, 0xD233, 0xCA34, 0xCA33, 0xCA33, 0xA1D3, 0x5954, 0x5954, 0x79F5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD335, 0x8C18, 0x067F, 0x065F, 0x063F, 0xA2D5, 0xC9D3, 0xC972, 0xC952, 0xC111, 0xC8D1, 0x8A55, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055E, 0x34DC, 0x6C5A, 0xA3F7, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xBBB6, 0x84D9, 0x4E1B, 0x465C, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0x81D8, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x6098, 0xC0B1, 0xC0D1, 0x59B8, 0x035F, 0x045F, 0x055F, 0x063F, 0x06FF, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x363C, 0xC0D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x58F1, 0x3911, 0x30F0, 0x3110, 0x30CF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x08F6, 0x013A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F8, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x20CE, 0x20AE, 0x28EE, 0xCB55, 0xD375, 0xD375, 0xD375, 0xBB14, 0x34F9, 0x2930, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91F2, 0xC254, 0xCA93, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xCA73, 0xD273, 0xCA73, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xCA33, 0xCA34, 0xA1F3, 0x6973, 0x4953, 0x5134, 0x5154, 0xAAF5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD335, 0xD314, 0x5CDA, 0x065F, 0x063F, 0x063F, 0xB254, 0xC972, 0xC952, 0xC112, 0xC8D1, 0xC0B1, 0xC0B1, 0x05BE, 0x059E, 0x2D1C, 0x9438, 0xCBB6, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCA94, 0x087F, 0x003F, 0x001F, 0x001F, 0x001F, 0x385B, 0xC0B1, 0xC0B1, 0x9135, 0x031F, 0x043F, 0x053F, 0x063F, 0x071F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xC0D1, 0xB8B1, 0xB8D1, 0x5911, 0x3911, 0x38F0, 0x30F0, 0x30CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x0917, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0118, 0x011A, 0x00F9, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18CD, 0x20AE, 0x18AD, 0x20AE, 0x20CE, 0x20CE, 0x8252, 0xD375, 0xD375, 0xD375, 0x9A93, 0x30EF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81D2, 0xAA13, 0xBA33, 0xCA54, 0xCA74, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xB213, 0xA1F3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xD395, 0xD395, 0xD396, 0xD375, 0xD334, 0xD2F5, 0xD2B4, 0x2D9D, 0x063F, 0x063F, 0x061F, 0xC993, 0xC952, 0xC911, 0xC8F1, 0xC0B1, 0xC0B1, 0xB8D1, 0x059E, 0x057E, 0xABF7, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD315, 0xD335, 0xCB15, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0x411C, 0x003F, 0x003F, 0x001F, 0x001F, 0x203C, 0xC0B1, 0xC0B1, 0x9135, 0x02FF, 0x041F, 0x051F, 0x061F, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA1B3, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x68F1, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x10F3, 0x0119, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20CE, 0x412F, 0xD375, 0xD375, 0xD375, 0x71D1, 0x20CE, 0x28CF, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3110, 0x38F0, 0x30F0, 0x3111, 0x3111, 0x38F1, 0x38F1, 0x38F0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8A34, 0xD395, 0xD395, 0xD375, 0xD335, 0xD2F4, 0xCAD4, 0xB2F6, 0x065F, 0x061F, 0x061F, 0x34DC, 0xC952, 0xC912, 0xC8D2, 0xC0B1, 0xC0D1, 0xB8D1, 0x89B4, 0x2BBA, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71D4, 0x69F4, 0x71D3, 0x69D4, 0x71D3, 0x7A14, 0x8A75, 0x9274, 0x9254, 0x9254, 0x9A95, 0xB315, 0xBB14, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD315, 0xD2F4, 0xCB14, 0xD2F4, 0xD2F4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2B4, 0xCAB4, 0xCA94, 0xCA94, 0x81B8, 0x005F, 0x005F, 0x003F, 0x001F, 0x001F, 0xA8B3, 0xC0B1, 0xB0D2, 0x02DF, 0x03FF, 0x051F, 0x061F, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8A95, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F2, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CF, 0x0918, 0x0119, 0x0119, 0x011A, 0x00F9, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x20CD, 0x20AE, 0x20CD, 0x9272, 0xD375, 0xC334, 0x61D1, 0x20CF, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x30F0, 0x3110, 0x3110, 0x30F0, 0x3110, 0x38F0, 0x30F0, 0x38F0, 0x3111, 0x38F0, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xB2F5, 0xD395, 0xD375, 0xD355, 0xD2F4, 0xD2B4, 0xD274, 0x83B8, 0x063F, 0x061F, 0x061E, 0x6398, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8B1, 0xB8D1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61B3, 0x7A34, 0x9A95, 0xB2F5, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD274, 0xCA74, 0xC254, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x5878, 0xB8D1, 0xC0B1, 0x02BF, 0x03BF, 0x04FF, 0x05FF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6478, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CF, 0x0917, 0x011A, 0x011A, 0x0119, 0x08F4, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20CD, 0x18CE, 0x20AE, 0x390F, 0xD375, 0xCB35, 0x414F, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30F0, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x30F0, 0x30EF, 0x3110, 0x30F0, 0x30D0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F1, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3910, 0x3911, 0x38F1, 0x3911, 0x3912, 0x4952, 0xD395, 0xD375, 0xD335, 0xD2F4, 0xD2B4, 0xD274, 0xCA33, 0x4C9A, 0x05FF, 0x061F, 0x05FF, 0xA1F4, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA0F1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xA274, 0xC315, 0xD335, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xCA54, 0x20FD, 0x009F, 0x007F, 0x005F, 0x003F, 0x105D, 0xC0B1, 0xC0D1, 0x029F, 0x03BF, 0x04DF, 0x05FF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CF, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x61D0, 0xBB14, 0x412F, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x28CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28CF, 0x28F0, 0x30D0, 0x28EF, 0x28CF, 0x30CF, 0x30F0, 0x30D0, 0x30D0, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x30D0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x61B2, 0xD375, 0xD335, 0xD2F4, 0xCAD4, 0xCA74, 0xD233, 0xCA13, 0x1D9D, 0x05FF, 0x05FF, 0x1D3D, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8A14, 0xAA74, 0xCAF4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD294, 0xCA94, 0xCA73, 0xD274, 0xD253, 0xD254, 0x597A, 0x00BF, 0x00BF, 0x009F, 0x009F, 0x005F, 0xA8B3, 0xC0B1, 0x31FC, 0x039F, 0x04DF, 0x05DF, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x2E3C, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18CE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AF, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x390F, 0x28CE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x71F2, 0xD335, 0xD2F4, 0xD2B4, 0xCA74, 0xD233, 0xCA13, 0xA295, 0x05FF, 0x05FF, 0x05FF, 0x5399, 0xC0D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9A34, 0xC2B4, 0xD2B5, 0xD2B3, 0xCAB4, 0xD294, 0xD294, 0xCA93, 0xD274, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0x81D8, 0x00DF, 0x00DF, 0x00DF, 0x00BF, 0x00BF, 0x68B7, 0xB8D1, 0x31DC, 0x033F, 0x049F, 0x05DF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x26BD, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D2, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F1, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x0119, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x011A, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x28F0, 0x30F0, 0x30F0, 0x38F0, 0x8213, 0xD2F5, 0xCAD4, 0xD274, 0xCA53, 0xC9F3, 0xC9D2, 0x7398, 0x05FF, 0x05FF, 0x05DF, 0xA953, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x98F2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F0, 0x38F0, 0x38F0, 0x38F0, 0x3911, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xCA94, 0xD294, 0xCA94, 0xD274, 0xCA74, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA34, 0x99F6, 0x011F, 0x011F, 0x00FF, 0x00FF, 0x00FF, 0x38DB, 0xC0B1, 0x28FC, 0x02DF, 0x047F, 0x059F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x00F9, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x310E, 0x7A32, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD335, 0xD2B4, 0xCA94, 0xCA33, 0xD1F3, 0xC9D3, 0xC993, 0xC972, 0xC992, 0xC972, 0xC932, 0xC0D1, 0xC0B1, 0xB8D1, 0xB0D2, 0xB9F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x015F, 0x013F, 0x013F, 0x013F, 0x011F, 0x093F, 0xC0B1, 0x311C, 0x01BF, 0x03FF, 0x059F, 0x069F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x496F, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD2F4, 0xCA74, 0xCA33, 0xCA13, 0xC9D3, 0xC992, 0xC952, 0xC111, 0xC0D1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xCA53, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x097F, 0x017F, 0x015F, 0x017F, 0x015F, 0x015F, 0x88F5, 0x293C, 0x013F, 0x02DF, 0x053E, 0x067F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9234, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x10D0, 0x0118, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20EE, 0x8252, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD3B5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD2B4, 0xD233, 0xCA13, 0xC9B3, 0xC992, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8B1, 0xB8D1, 0xB8D1, 0xC253, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x31BC, 0x01BF, 0x019F, 0x019F, 0x019F, 0x019F, 0x5139, 0x315C, 0x017F, 0x01BF, 0x045E, 0x063E, 0x077F, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8A95, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x10D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD4F8, 0xD65C, 0xD6DD, 0xD6FD, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xCB15, 0xCA13, 0xC9D3, 0xC992, 0xC932, 0xC911, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC397, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xC9F3, 0x31FC, 0x01DF, 0x01DF, 0x01DF, 0x01DF, 0x01DF, 0x01BF, 0x01DF, 0x01BF, 0x01BF, 0x02DF, 0x05FD, 0x073E, 0x07FE, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8AB5, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x10D0, 0x00F8, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x28EE, 0xCB55, 0xD375, 0xD395, 0xD395, 0xD3D6, 0xD5DB, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xCA13, 0xC9B3, 0xC992, 0xC952, 0xC912, 0xC0D1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB0F1, 0xBA95, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9F3, 0x31FD, 0x021F, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01DF, 0x01FF, 0x051D, 0x071D, 0x07FD, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6BF7, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD477, 0xD77E, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xC9D3, 0xC992, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB152, 0xD79E, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9D3, 0x323C, 0x023F, 0x023F, 0x021F, 0x023F, 0x023F, 0x021F, 0x021F, 0x021F, 0x021F, 0x021F, 0x037E, 0x06DC, 0x07FD, 0x07FD, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0F1, 0x7911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x011A, 0x00F9, 0x0119, 0x0119, 0x0119, 0x011A, 0x0117, 0x18AE, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x8252, 0xD395, 0xD395, 0xD396, 0xD4B8, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xC972, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xD63C, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9D3, 0x325C, 0x027F, 0x025F, 0x025F, 0x025F, 0x023F, 0x025F, 0x025F, 0x023F, 0x023F, 0x023F, 0x029F, 0x067C, 0x07FC, 0x07FC, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB8D1, 0x70F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD457, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCF3E, 0xC67C, 0xC53A, 0xC951, 0xC912, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0F1, 0xBB97, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD65B, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD396, 0xD395, 0xC9B3, 0x327C, 0x029F, 0x029F, 0x029F, 0x029F, 0x027F, 0x027F, 0x027F, 0x027F, 0x027F, 0x025F, 0x027F, 0x05BC, 0x07DB, 0x07FC, 0x07FD, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x58F1, 0x3911, 0x3111, 0x30F0, 0x28F0, 0x28F0, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x011A, 0x0119, 0x0119, 0x011A, 0x0117, 0x18CE, 0x18AE, 0x18D0, 0x0118, 0x00F9, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xA2D3, 0xD395, 0xD395, 0xD3D6, 0xD75E, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFDF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7DF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCFFF, 0xD7DF, 0xACD8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xA8F1, 0xA972, 0xD77E, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD65C, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC193, 0x0A7F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x029F, 0x027F, 0x029F, 0x027F, 0x04DD, 0x07BB, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x07FF, 0x3DBB, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0x5911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F9, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AF, 0x0118, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0xD395, 0xD375, 0xD375, 0xD5BA, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5B, 0xBE3C, 0xB57A, 0xACB8, 0xBDBB, 0xC63C, 0xBE3B, 0xC71E, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5C, 0xB5DB, 0xACB8, 0xAC98, 0xBD5A, 0xBE3C, 0xC61C, 0xC69D, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xACB9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA111, 0xA911, 0xBC78, 0xCFDF, 0xCFDF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCF5E, 0xBE5C, 0xBE5C, 0xC63C, 0xC61C, 0xCEFD, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFFF, 0xCFDF, 0xD63B, 0xD375, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD395, 0x089F, 0x011F, 0x031F, 0x02FF, 0x02FF, 0x02DF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x03FD, 0x079A, 0x07FA, 0x07FC, 0x07FE, 0x07FF, 0x07FF, 0x2E5C, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB8D1, 0x5912, 0x3911, 0x38F1, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x0118, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x79F1, 0xD355, 0xD355, 0xD355, 0xCF7E, 0xC7DF, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xCFBF, 0xBEFD, 0xACB8, 0x8A52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA192, 0xAB96, 0xBE7D, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xCFDF, 0xCFBF, 0xC75E, 0xAD19, 0x92B4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xA111, 0x9931, 0xA111, 0x9911, 0xAB36, 0xBD5A, 0xC75E, 0xCFDF, 0xC7BF, 0xC7BF, 0xCFDF, 0xC7DF, 0xC7BF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xC7BF, 0xCFBF, 0xC7DF, 0xA4B8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xBE3B, 0xCFBF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xB5DA, 0x8A12, 0x8971, 0x9931, 0x9931, 0xA111, 0x9931, 0xAB35, 0xC75E, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFBF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCE1B, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0x007F, 0x009E, 0x023F, 0x033F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x031F, 0x02FF, 0x02DF, 0x02DF, 0x02DF, 0x039E, 0x075A, 0x07F9, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x2E3C, 0xB8D2, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xA293, 0xD335, 0xD335, 0xCC98, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC75E, 0xA4B8, 0x8191, 0x9151, 0x9911, 0xA131, 0xA111, 0xA111, 0x9931, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xAB35, 0xBEFE, 0xC7BF, 0xC7BE, 0xC7BF, 0xB5DB, 0x89F1, 0x8971, 0x9931, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA132, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA172, 0xBD3A, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BE, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xAC98, 0x8191, 0x9151, 0x9931, 0xA111, 0xA131, 0xA111, 0xA131, 0xA111, 0x9931, 0xBE1B, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xBEFD, 0x89F2, 0x8991, 0x9931, 0xA112, 0xA131, 0xA111, 0xA111, 0xA111, 0xAB97, 0xC7BF, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC6DD, 0xD375, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0x009F, 0x009F, 0x013F, 0x033F, 0x037F, 0x035F, 0x033F, 0x031F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x02FF, 0x033F, 0x06F9, 0x07F9, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x2E3C, 0xB8D2, 0xB0F1, 0xB8D1, 0xB0D1, 0xB0F1, 0xB0D1, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x3110, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xD315, 0xD315, 0xD314, 0xC5FB, 0xC79F, 0xC79E, 0xC7BF, 0xC7BF, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xBF9E, 0xBFBF, 0xBFBE, 0xB67C, 0x8A53, 0x8971, 0xA131, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA172, 0xB539, 0xBF9F, 0x9BF6, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xAB15, 0xBF3D, 0xC79F, 0xC7BE, 0xC79F, 0xC79F, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79F, 0xC79E, 0xC79F, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xA4B8, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xBDFB, 0xC79F, 0xC79E, 0xC7BE, 0xC79F, 0xACF9, 0x8191, 0x9171, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA131, 0xA111, 0xBF3E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xC7BF, 0xC79E, 0xC79E, 0xC79E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xBF9E, 0xC79F, 0xC79E, 0xBFBE, 0xC79E, 0xC6BD, 0xD355, 0xD2F5, 0xD315, 0xCB14, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD315, 0xD315, 0xD315, 0xD314, 0x007F, 0x007F, 0x00FF, 0x027F, 0x039F, 0x039F, 0x037F, 0x231D, 0x5259, 0x5A3A, 0x033F, 0x033F, 0x031F, 0x031F, 0x0699, 0x07F8, 0x07FA, 0x07FD, 0x07FF, 0x07FF, 0x363C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0x4112, 0x38F1, 0x3911, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x0915, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2F4, 0xCAF4, 0xD2F4, 0xC65C, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF7F, 0xB67C, 0x8A12, 0x8971, 0xA111, 0xA111, 0xA911, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA912, 0xA911, 0xA1F3, 0x8191, 0x9931, 0xA111, 0xA111, 0xA912, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA112, 0xA911, 0xAA54, 0xBF1D, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xB79E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xB5FB, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA911, 0xB5FB, 0xBF7E, 0xBF9E, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBEBD, 0xD335, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2F5, 0xCAF4, 0x007F, 0x007F, 0x00BF, 0x021F, 0x2ABD, 0x7A36, 0xB953, 0xC112, 0xC911, 0xC912, 0x0B3F, 0x035F, 0x035F, 0x033F, 0x05FA, 0x07F7, 0x07F9, 0x07FC, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0D1, 0xA0F1, 0x68F1, 0x4111, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2D4, 0xD2D4, 0xD2D4, 0xBE5C, 0xB77E, 0xB79E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xB77E, 0xB79E, 0xBF7E, 0xAE7B, 0x89F2, 0x8971, 0xA111, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA912, 0xA911, 0xA911, 0xA111, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA111, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA912, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA111, 0xAA34, 0xB71E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7F, 0xB77E, 0x9C97, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA911, 0xA8F1, 0xB5DB, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xA478, 0x8191, 0x9951, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xB5DB, 0xB77F, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xBE9D, 0xCB75, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D5, 0x007F, 0x007F, 0x30BB, 0x9955, 0xC931, 0xC932, 0xC932, 0xC912, 0xC0F2, 0xC8F2, 0x32FC, 0x037F, 0x037F, 0x037F, 0x059B, 0x07F7, 0x07F9, 0x07FC, 0x07FE, 0x07FF, 0x2E3C, 0xB8D1, 0xB0D1, 0xB0D2, 0xB0D1, 0xB0F1, 0x98F1, 0xB0F1, 0x88F1, 0x3110, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2B4, 0xD2B4, 0xD2B4, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB71D, 0x8A53, 0x8191, 0xA111, 0xA8F1, 0xB0F1, 0xA911, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F2, 0xA8F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB2F5, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C78, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C77, 0x8191, 0x9151, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB71D, 0xCB96, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCA94, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0x087E, 0x70F8, 0xC952, 0xC932, 0xC912, 0xC932, 0xC111, 0xC8F1, 0xC8F1, 0xC8D1, 0x331C, 0x03BF, 0x039F, 0x039F, 0x051B, 0x07D6, 0x07F7, 0x07FB, 0x07FE, 0x07FF, 0x2E3C, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xA0F1, 0xB0F1, 0xB0D1, 0x50F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD294, 0xD294, 0xCA94, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0x9416, 0x8991, 0x9951, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F2, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xACF9, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF7E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5D, 0xB75E, 0xAF5E, 0xAF5E, 0x9C77, 0x8191, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xB75E, 0xB75E, 0xB75E, 0xB75E, 0x9C78, 0x8991, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB5BB, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF1D, 0xCB75, 0xCA93, 0xD294, 0xCA74, 0xCA94, 0xCA74, 0xD274, 0xCA74, 0xD294, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA93, 0xCA94, 0xD293, 0xCA74, 0x9915, 0xC932, 0xC932, 0xC932, 0xC912, 0xC111, 0xC8F2, 0xC0F2, 0xC8D1, 0xC8D1, 0x333C, 0x03FF, 0x03DF, 0x03BF, 0x04DC, 0x07D6, 0x07F7, 0x07FB, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0x90F1, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD274, 0xD274, 0xCA53, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF5D, 0xAF3D, 0xAF3E, 0xA69C, 0x8191, 0x8191, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F2, 0xB0D1, 0xB0D1, 0xB0F2, 0xB0F1, 0xB0F1, 0xAA13, 0xB418, 0xA438, 0x9AB4, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xAA74, 0xAC78, 0xACF9, 0x9B35, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F2, 0xB0D1, 0xB0F1, 0xA9B3, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0x9C77, 0x8191, 0x9931, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xAF3E, 0xAF3E, 0xAF5D, 0xAF3E, 0x9477, 0x8191, 0x9951, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xADBA, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAEFD, 0xCB56, 0xCA53, 0xCA74, 0xD253, 0xD274, 0xD274, 0xD273, 0xCA73, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD254, 0xCA74, 0xCA54, 0xCA54, 0xCA74, 0xC932, 0xC932, 0xC932, 0xC912, 0xC912, 0xC912, 0xC0F1, 0xC8D1, 0xC8D1, 0xC8D1, 0x335C, 0x041F, 0x03FF, 0x03FF, 0x047D, 0x0795, 0x07F6, 0x07FA, 0x07FE, 0x07FF, 0x2E3C, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0D1, 0xB0F1, 0x40F0, 0x28CF, 0x28EF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA53, 0xCA53, 0xCA53, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0x9457, 0x8191, 0x9931, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB1B3, 0xAD9A, 0xAF3D, 0xAF3D, 0xA73D, 0xA73D, 0x9DDA, 0x89D1, 0x9951, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB213, 0xAD9B, 0xA73E, 0xA73D, 0xAF3E, 0xAF3E, 0x9DDA, 0x81F2, 0x9171, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D2, 0xB0F1, 0xAD39, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3E, 0xAF1E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xAF3E, 0xA73E, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xA73E, 0x9478, 0x8191, 0x9931, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xAD9A, 0xA73E, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xAF3D, 0xAF3D, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xAEDD, 0xC376, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0x309C, 0x005F, 0x58B9, 0xC912, 0xC111, 0xC8F1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0x337C, 0x045F, 0x041F, 0x041F, 0x045E, 0x0775, 0x07F5, 0x07FA, 0x07FE, 0x07FF, 0x2E3C, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0D1, 0x80F1, 0x28EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA13, 0xCA33, 0xCA13, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0x8A53, 0x8191, 0xA8F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB213, 0xA6BD, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0x9E1B, 0x81F1, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB1F3, 0xA6BD, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0x9E1B, 0x89F2, 0x8991, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB336, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71E, 0xA71D, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA73E, 0xA71D, 0xA73E, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA73E, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0x9477, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA59A, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71E, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71E, 0xA71D, 0xA73D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xBBF7, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA14, 0xD233, 0xCA33, 0x003F, 0x003F, 0x005F, 0x78D7, 0xC0F2, 0xC8F1, 0xC0D1, 0xC0D1, 0xC0D1, 0xC8B1, 0x4B1A, 0x047F, 0x045F, 0x043F, 0x045F, 0x0735, 0x07F4, 0x07F9, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xA8F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xA0F1, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA13, 0xCA13, 0xCA13, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x8191, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9EFD, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB932, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1E, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E1B, 0x9457, 0x92D4, 0xA1F3, 0xA911, 0xB0F1, 0xB0F1, 0xA911, 0xB274, 0xB254, 0xB254, 0xABF7, 0xA5DB, 0xA6FD, 0xA6FD, 0xA71D, 0xA71D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E7C, 0x9498, 0x8B14, 0x9A13, 0xA131, 0xA912, 0xB0F1, 0xA8F1, 0xB255, 0xB274, 0xB254, 0xAB97, 0xAD1A, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9457, 0x8191, 0xA131, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA57A, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9E7C, 0x9DBA, 0xA59A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA69C, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E5C, 0x94B8, 0x8AF4, 0x9A13, 0xA131, 0xA8F1, 0xB0F1, 0xB0F1, 0xB932, 0xB274, 0xB254, 0xB336, 0xACB9, 0xA63C, 0x9F1D, 0xBBF7, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0x003F, 0x003F, 0x005F, 0x58B9, 0xC0F1, 0xC0D1, 0xC8D1, 0xC8B2, 0xC0B1, 0xC0B1, 0x62B8, 0x04BF, 0x047F, 0x047F, 0x045F, 0x0715, 0x07F4, 0x07F9, 0x07FD, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xA8F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0x58F0, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC9D3, 0xC9D3, 0xC9D3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x959A, 0x8191, 0x9151, 0xC0B1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB2B5, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8252, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB1F3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9F1D, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8A93, 0x8191, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xA63C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x94F8, 0x8A53, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8B1, 0xC0B1, 0xC0D1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB8B1, 0xB992, 0xACB9, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E5C, 0x8B96, 0x8991, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB932, 0xABF7, 0x9E9C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E9C, 0x8B96, 0x8971, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB335, 0xA63C, 0xBBD7, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, 0x001F, 0x003F, 0x003F, 0x00DF, 0x88F6, 0xC8D1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC8B1, 0x62D9, 0x04FF, 0x04BF, 0x049F, 0x047F, 0x06B6, 0x07F3, 0x07F8, 0x07FD, 0x07FF, 0x2E3C, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0x98F2, 0xB0F1, 0xB0F1, 0xB0F1, 0x78F0, 0x90F1, 0x80D1, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0xC9B3, 0xC9B3, 0xC9B3, 0x9EDD, 0x96FD, 0x9EDD, 0x96FD, 0x9EFC, 0x96FD, 0x96FD, 0x9599, 0x8991, 0x9171, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xABD7, 0x9EFC, 0x96FD, 0x96FD, 0x96DD, 0x96FD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x9EFD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xAB76, 0x9EDD, 0x9EFD, 0x9EFD, 0x9EDD, 0x9EDD, 0x96DD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x8C37, 0x8191, 0xA131, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xA55A, 0x96FD, 0x9EDD, 0x9EFD, 0x96FD, 0x963B, 0x8AF4, 0x8991, 0xA911, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xB992, 0xA55A, 0x9EDD, 0x9EFC, 0x96FD, 0x9EDD, 0x96FD, 0x9EFD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x94F9, 0x81F1, 0x9171, 0xB8D2, 0xC0B1, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB992, 0x9DBB, 0x96FD, 0x9EDD, 0x96FD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x9EDD, 0x96FD, 0x96FD, 0x9EFD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x96FD, 0x9EFD, 0x96FD, 0x9EFD, 0x9EFD, 0x96FD, 0x9EFD, 0x96FD, 0x9539, 0x81F1, 0x9171, 0xB0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB911, 0xACFA, 0xB458, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9D3, 0xC9D3, 0xC9B3, 0x001F, 0x003F, 0x003F, 0x00BF, 0x311C, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x6278, 0x053F, 0x04FF, 0x04BF, 0x049F, 0x0696, 0x07F2, 0x07F7, 0x07FC, 0x07FF, 0x2E3C, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x8912, 0xB0F1, 0xB0F1, 0xB0D1, 0x48F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC993, 0xC993, 0xC992, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8D79, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x95DA, 0x89F2, 0x8971, 0xB8D1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0x9931, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DC, 0x96DD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8CD8, 0x8191, 0x9951, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xAC79, 0xACF9, 0xC992, 0xC993, 0xC9B2, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, 0xC992, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, 0x003F, 0x003F, 0x003F, 0x00BF, 0x011F, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x79D6, 0x051F, 0x051F, 0x04FF, 0x04BF, 0x0638, 0x07F1, 0x07F7, 0x07FC, 0x07FF, 0x2E3C, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0F1, 0x80F2, 0xB0F1, 0xB0F1, 0xB0F2, 0x3110, 0x30F0, 0x28CF, 0x28EF, 0x20CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x10D2, 0x08F3, 0x10F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC972, 0xC972, 0xC972, 0x8EBC, 0x8EBD, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8D7A, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D39, 0x8EBD, 0x8EDD, 0x8DBA, 0x81F2, 0x9171, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC0B1, 0xC8B2, 0xC8B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xA437, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBD, 0x8EBD, 0x8CD8, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC8B1, 0xA4D9, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0x9D3A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8CD8, 0x8191, 0x9951, 0xC8B1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC8B1, 0xC8D1, 0xA478, 0xA4D9, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0x003F, 0x003F, 0x001F, 0x009F, 0x00DF, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9174, 0x049F, 0x057F, 0x051F, 0x04FF, 0x0619, 0x07F1, 0x07F6, 0x07FC, 0x07FF, 0x35BB, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x6912, 0xB0F1, 0xB0F1, 0x98F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28EF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00FA, 0x011A, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC952, 0xC952, 0xC952, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D59, 0x8191, 0x9171, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xABD7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA931, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC0F2, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8437, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D3A, 0x8EBC, 0x8E1B, 0x81F2, 0x8971, 0xB912, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8D1, 0xC112, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8D1, 0xC8F2, 0xC8D1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F1, 0xA498, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8DBA, 0x8991, 0x8991, 0xC0F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC8F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC132, 0x8E5C, 0x8C17, 0x8191, 0xA931, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C17, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8DBA, 0x81F2, 0x8991, 0xC111, 0xC8F1, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8D2, 0xC8F1, 0xC8F2, 0xC0F1, 0xC0F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC152, 0x95FB, 0xA4B8, 0xC152, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0x001F, 0x001F, 0x001F, 0x007F, 0x00DF, 0x68B7, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA8F3, 0x041F, 0x057F, 0x053F, 0x051F, 0x05F9, 0x07F0, 0x07F6, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x5912, 0xB0F1, 0xB0F1, 0x90F1, 0x30F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC932, 0xC932, 0xC932, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D79, 0x8191, 0x9171, 0xC132, 0xC131, 0xC912, 0xC912, 0xC132, 0xC911, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC911, 0xC912, 0xC912, 0xC112, 0xC912, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8AD4, 0x8191, 0xB152, 0xC912, 0xC131, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC912, 0xC912, 0xC911, 0xC112, 0xC932, 0xC912, 0xC912, 0xC932, 0xC911, 0xC912, 0xC912, 0xC932, 0xC131, 0x9DBA, 0x8EBC, 0x96BC, 0x8EBC, 0x8EDC, 0x96BB, 0x8EBC, 0x8EDC, 0x82D4, 0x8191, 0xB932, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC131, 0xC912, 0xC132, 0xC131, 0xC912, 0xC912, 0xC911, 0xC911, 0xC131, 0xC912, 0xC912, 0xB356, 0x8C36, 0x8191, 0xA151, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC112, 0x9D59, 0x8EBC, 0x96BC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8EBC, 0x82F4, 0x8991, 0xB151, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC131, 0xC932, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC912, 0xC911, 0xC932, 0xC932, 0xC112, 0xC911, 0xC132, 0xC912, 0xC912, 0xC932, 0xB336, 0x96BC, 0xA4F9, 0xC192, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0x001F, 0x001F, 0x001F, 0x007F, 0x00BF, 0x009F, 0x90B5, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x0B9E, 0x053F, 0x057F, 0x053F, 0x05DA, 0x07EF, 0x07F5, 0x07FB, 0x07FF, 0x5478, 0xB0D1, 0xB0F1, 0xB0F1, 0x9111, 0x5912, 0xA8F1, 0xB0F1, 0x70F1, 0x30F0, 0x28EF, 0x20EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC912, 0xC912, 0xC912, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9EDB, 0x9578, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xB417, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA518, 0x9EDB, 0x96DB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x94D8, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC253, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xBAB5, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9599, 0x8191, 0x91B1, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B5, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC972, 0xC1B2, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x8C36, 0x8991, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9598, 0x8191, 0x9191, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC172, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA61A, 0x9EDC, 0xA5DA, 0xC172, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0xC111, 0xC912, 0xC912, 0xC912, 0x001F, 0x001F, 0x001F, 0x005F, 0x007F, 0x007F, 0x6098, 0xC0B1, 0xB8B1, 0xC0B1, 0xC0B1, 0x2AFC, 0x04FF, 0x05BF, 0x055F, 0x05FB, 0x07CF, 0x07F4, 0x07FC, 0x07FF, 0x5C79, 0xB0F1, 0xB0F1, 0xB0F1, 0x8112, 0x5912, 0xB0F1, 0xB0F1, 0x68F1, 0x30F0, 0x30EF, 0x30CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC8F1, 0xC8F1, 0xC8F2, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6DA, 0xA6FA, 0x9D98, 0x8191, 0x9191, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC992, 0xB436, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD99, 0x8A32, 0x8991, 0xC192, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC973, 0xC992, 0xC992, 0xC992, 0xBC36, 0xA69A, 0xA6FA, 0xA6FA, 0xA69A, 0x9395, 0x8991, 0xB992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0xAD98, 0xA6DB, 0xA6DA, 0xA6FA, 0xA6FB, 0xA6FA, 0x9395, 0x8191, 0xB192, 0xC992, 0xC992, 0xC992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC972, 0xC233, 0xAD98, 0xA6FA, 0xA6FB, 0xA639, 0x8A93, 0x9992, 0xC192, 0xC972, 0xC992, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0x9A93, 0x8191, 0xA992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6DA, 0x8B95, 0x8191, 0xB192, 0xC972, 0xC992, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC294, 0xADF9, 0xA6FA, 0xA6DA, 0xA69A, 0x9334, 0x9191, 0xB992, 0xC992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xB497, 0xAEFB, 0xAEFB, 0xB5D9, 0xC952, 0xC8F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x005F, 0x7897, 0xC0B1, 0xC0D1, 0xC0B1, 0xB8D1, 0x6238, 0x04DF, 0x05BF, 0x059F, 0x05FA, 0x07CE, 0x07F4, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0F1, 0xB0F1, 0x7112, 0x5912, 0xB0F1, 0xA8F1, 0x5110, 0x30F0, 0x30CF, 0x28CF, 0x28CF, 0x28CF, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0xC0D1, 0xC0D1, 0xC8D2, 0xB71A, 0xB71A, 0xB71A, 0xAEFA, 0xB71A, 0xAF1A, 0xAEFA, 0xA598, 0x8191, 0x9191, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC9D3, 0xBC76, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0x9C55, 0x8191, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xC9D3, 0xB5B8, 0xB71A, 0xAF1A, 0xB71A, 0xB6FA, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB6FA, 0xAF1A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xA3B5, 0x8191, 0x9992, 0xC9B2, 0xC9B3, 0xC9D2, 0xC9B2, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xCA13, 0xBDB8, 0xAEFA, 0xAF1A, 0xB71A, 0xB6FA, 0xAEFA, 0xAF19, 0xA4F7, 0x8991, 0xB1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9B3, 0xC9B3, 0xC314, 0xAF1A, 0xAF1A, 0xAEF9, 0xAF1A, 0xAF1A, 0x89F1, 0x8191, 0xC1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9B2, 0xC9D3, 0xC9B3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xAEFA, 0xB71A, 0xB6B9, 0x8A93, 0x8991, 0xC1D2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B2, 0xA992, 0x8191, 0xA9B2, 0xC9D3, 0xC9B3, 0xC9D3, 0xC9B2, 0xC9B2, 0xC9B2, 0xC9B3, 0xB5B8, 0xAF1A, 0xAEFA, 0xAF1A, 0xB71A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xB5B8, 0xB6FA, 0xAF1A, 0xAF1A, 0xB6FA, 0x89F2, 0x8191, 0xC1B2, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xB71A, 0xB6FA, 0xB71A, 0x92F3, 0x89B1, 0xC1B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9D3, 0xC315, 0xB71A, 0xB71A, 0xB71A, 0xBDD9, 0xC132, 0xC0D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x007F, 0x6878, 0xB8B1, 0xC0B1, 0xC0D1, 0xB8D1, 0x9954, 0x047F, 0x05BF, 0x05BF, 0x061A, 0x07CE, 0x07F2, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0F1, 0xB0F1, 0x6112, 0x5912, 0xA8F1, 0xA8F1, 0x60F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xC0B1, 0xC8B1, 0xC0B1, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA4B5, 0x8191, 0xA1B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xD1F3, 0xC496, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF39, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0x99F2, 0x8991, 0xB1D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC577, 0xBF19, 0xBF39, 0xBF39, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9BF5, 0x8191, 0xB1D2, 0xC9F3, 0xC9F3, 0xD1F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF19, 0xBF19, 0xB6B9, 0x8191, 0x8991, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9D3, 0xC9F3, 0xC9F3, 0xBED8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xAD57, 0x8191, 0x99B2, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xB9D3, 0x8191, 0xA9B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9C75, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xB6B8, 0x8191, 0x8191, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xADB7, 0x8191, 0x91B1, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC71A, 0xBF1A, 0xC73A, 0xBF3A, 0xC659, 0xC9D3, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x003F, 0x001F, 0x7076, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x0BFF, 0x05DF, 0x05BF, 0x0639, 0x07CD, 0x07F2, 0x07FC, 0x07FF, 0x63F7, 0xB0F1, 0xB0F1, 0xB0F1, 0x4132, 0x4111, 0xA0F1, 0xB0F1, 0x90F1, 0x30F0, 0x28EF, 0x28CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xC0B1, 0xC0B1, 0xC0B1, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8991, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA34, 0xCA13, 0xCA33, 0xCA33, 0xCCB6, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA455, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xD213, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0x91B1, 0x8191, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA13, 0xC455, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0x8A52, 0x8991, 0xC213, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCD56, 0xC738, 0xC738, 0xC739, 0xB5D7, 0x8191, 0x91B1, 0xCA13, 0xCA13, 0xCA13, 0xD233, 0xCA33, 0xCA33, 0xCA33, 0xCB55, 0xCF38, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0x8191, 0x8191, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xD233, 0xCA13, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCDF7, 0xC738, 0xC738, 0xC738, 0xC739, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xB5D6, 0x8191, 0x99B2, 0xCA33, 0xCA33, 0xD213, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCB74, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0x8AB2, 0x8191, 0xBA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA13, 0xCF39, 0xC739, 0xC759, 0xCF3A, 0xCF39, 0xCED9, 0xC9F3, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x001F, 0x001F, 0x9894, 0xB8D1, 0xB8D1, 0xB8D1, 0x42DA, 0x059F, 0x05FF, 0x0678, 0x07CC, 0x07F1, 0x07FC, 0x07FF, 0x82B5, 0xA8F1, 0xB0F1, 0x98F2, 0x4132, 0x3912, 0x70F1, 0xA8F1, 0xA8F1, 0x50F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC0B1, 0xC0B1, 0xC0B1, 0xCF57, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0xCA54, 0xCCD6, 0xCF58, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF58, 0xAC75, 0x8191, 0xA9F2, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCE17, 0xCF57, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0x99D2, 0x89B1, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xD6B7, 0xD758, 0xCF58, 0xCF57, 0xCF58, 0xD758, 0xD757, 0xD758, 0xD757, 0xD758, 0xCF58, 0xB535, 0x8191, 0xA1D2, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCA73, 0xCA53, 0xCA53, 0xCC95, 0xD758, 0xD758, 0xCF58, 0xBDD6, 0x8191, 0x99D2, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xD254, 0xCA54, 0xD435, 0xD758, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF57, 0xD738, 0xCF58, 0x9AF3, 0x8991, 0xC213, 0xCA54, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA54, 0xCA73, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xD253, 0xCA54, 0xD253, 0xCA53, 0xCA54, 0xCE17, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xD617, 0xD758, 0xCF58, 0xCF58, 0xBDD6, 0x8191, 0x91B2, 0xCA53, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xD253, 0xD253, 0xCCD6, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF57, 0xD757, 0xCF58, 0xD758, 0x9AF3, 0x8191, 0xBA33, 0xCA54, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xD758, 0xD758, 0xDF59, 0xD779, 0xD759, 0xD759, 0xD6F9, 0xC1F2, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x001F, 0x001F, 0x001F, 0x183E, 0xB0D2, 0xB8D1, 0xB8D1, 0x9974, 0x059F, 0x061F, 0x0698, 0x07CC, 0x07F0, 0x07FC, 0x07FF, 0x82B5, 0xB0F1, 0xB0F1, 0x88F1, 0x4132, 0x4111, 0x3910, 0x98F1, 0xA8F2, 0x88F1, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC0B1, 0xC0B1, 0xC0B1, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xCA74, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0x99D2, 0x91D2, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xD3D4, 0xDF77, 0xDF77, 0xDF77, 0xDF76, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0x8191, 0x8992, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xCA94, 0xD3D5, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xCA94, 0xCA94, 0xD273, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xD515, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xD294, 0xCA94, 0x8191, 0xAA12, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xCA93, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xE779, 0xDF19, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x385B, 0xB8D1, 0xB8D1, 0xB8D1, 0x2C3C, 0x061F, 0x06B7, 0x07CB, 0x07F0, 0x07FB, 0x07FF, 0xB0F1, 0xB0F1, 0xA8F1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xA0F1, 0xA8F1, 0x48EF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xC0D1, 0xE776, 0xE796, 0xE797, 0xE797, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2D4, 0xD2B4, 0xD2B4, 0xDD35, 0xE776, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xB474, 0x8191, 0xAA33, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2D4, 0xE656, 0xEF96, 0xE776, 0xE797, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0x99D2, 0x99F2, 0xCAB4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2B4, 0xD3F5, 0xE777, 0xE797, 0xEF97, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xE777, 0xEF97, 0x8191, 0x8191, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD3D5, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xCAD4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xDD35, 0xE777, 0xEF76, 0xE796, 0xE797, 0xE797, 0xE776, 0xE796, 0xE776, 0xC534, 0xB494, 0xCC15, 0xD3F5, 0xDBF4, 0xDBF4, 0xDBF5, 0xD3F5, 0xD3F4, 0xCB34, 0x8191, 0xAA32, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xCAB4, 0xE656, 0xE776, 0xE796, 0xE796, 0xE776, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xDE56, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2D4, 0xCAD4, 0xCAD4, 0xDD15, 0xE796, 0xE796, 0xE776, 0xE796, 0xEF96, 0xE796, 0xE796, 0xE796, 0x9B13, 0x8191, 0xBA73, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xE797, 0xEF97, 0xEF77, 0xEF97, 0xEF78, 0xEF98, 0xEF98, 0xEF98, 0xC992, 0xB8D1, 0xC0D1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x7096, 0xB8D1, 0xB8D1, 0x8A35, 0x063F, 0x06D6, 0x07EA, 0x07F1, 0x07FC, 0x07FF, 0xA8F1, 0xA8F1, 0xA8F1, 0x6132, 0x4132, 0x4111, 0x38F1, 0x3110, 0x48F0, 0xA8F1, 0x98F1, 0x30CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xF796, 0xF7B6, 0xF796, 0xF795, 0xF795, 0xF796, 0xEFB6, 0xBC93, 0x8191, 0xAA52, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2F4, 0xDD55, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xEFB6, 0xBC93, 0x8191, 0xAA53, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xE675, 0xF796, 0xF795, 0xF796, 0xF796, 0xF796, 0xF7B6, 0xF7B5, 0xF7B5, 0xEF96, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0x99F2, 0x99F2, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2F4, 0xD2F4, 0xDC75, 0xF795, 0xF795, 0xF795, 0xF796, 0xF7B5, 0xF796, 0xF796, 0xF796, 0xF796, 0xEFB6, 0xF7B5, 0xF796, 0x8191, 0x8991, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xDC15, 0xF796, 0xF796, 0xF796, 0xD615, 0x8191, 0x99F2, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xE535, 0xF7B6, 0xF7B5, 0xF796, 0xEFB6, 0xF796, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xF795, 0xF796, 0xF796, 0xF795, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xBC93, 0x8191, 0xAA53, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF796, 0xF7B5, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF7B5, 0xF795, 0xD634, 0x8191, 0x99F2, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2D4, 0xE555, 0xF796, 0xF7B5, 0xF7B6, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xA311, 0x8191, 0xBA94, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xF796, 0xF796, 0xF797, 0xF797, 0xF797, 0xF7B7, 0xF798, 0xF798, 0xD273, 0xB8D1, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x98B4, 0xB8D1, 0xB8D1, 0x3C9B, 0x06F5, 0x07E9, 0x07F1, 0x07FD, 0x26BD, 0xB0F1, 0xB0F2, 0xB0F1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30F0, 0x60F0, 0xA911, 0x70F0, 0x20CE, 0x20CF, 0x20AE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xFF94, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD315, 0xD335, 0xD335, 0xD335, 0xD334, 0xD315, 0xD335, 0xE575, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xF675, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB5, 0xFF95, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0x99F2, 0x99F2, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD315, 0xD335, 0xDC54, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0x8191, 0x8191, 0xD334, 0xD315, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xDC34, 0xFFB4, 0xFFB5, 0xFFB5, 0xDE34, 0x8191, 0x99F2, 0xD314, 0xD335, 0xD315, 0xD334, 0xD334, 0xD335, 0xD335, 0xE574, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xC4B3, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xEDF5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0xF694, 0xFFB5, 0xFFB5, 0xFFB5, 0xDE14, 0x8191, 0x99F2, 0xD335, 0xD335, 0xD314, 0xD334, 0xD314, 0xD334, 0xD315, 0xE555, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xA332, 0x8191, 0xBAB4, 0xD335, 0xD335, 0xD335, 0xD315, 0xD334, 0xD335, 0xD335, 0xFFB5, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB7, 0xFFB8, 0xDBD4, 0xB8D2, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x083F, 0x70F7, 0xB8D1, 0xA952, 0x0E94, 0x07C9, 0x07F2, 0x07FD, 0x2E3C, 0xA8F1, 0xA8F1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30EF, 0x58F0, 0xA8F1, 0x40CF, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x00F9, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xC3F0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xF590, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0x9A12, 0x91F2, 0xD355, 0xD354, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDBD4, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0x8191, 0x8191, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDC13, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x99F2, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xC3CF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xE4D1, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xC3D0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xF590, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x9A12, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD2, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE2F, 0xA2B0, 0x8191, 0xC2F4, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xFE2F, 0xFE50, 0xFE50, 0xFE50, 0xFE51, 0xFE51, 0xFE52, 0xFE52, 0xE3D2, 0xB8D2, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x003F, 0x00DF, 0x59F8, 0xB8D1, 0x8291, 0x07C9, 0x07F2, 0x07FE, 0x455A, 0xB0F1, 0xA8F1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x50CF, 0x48EF, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xB8D1, 0xB0D1, 0xB0D2, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xC30F, 0x81B1, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD375, 0xD395, 0xD395, 0xD375, 0xD395, 0xD396, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0x9A12, 0x8191, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xDBD3, 0xFC8D, 0xFC6D, 0xFC6D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC8D, 0xFC6D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD375, 0xD395, 0xD376, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFC8E, 0xFC8F, 0xFC8F, 0xFC8F, 0xFCB0, 0xFCB0, 0xFCB1, 0xFCB1, 0xF3B2, 0xB8D1, 0xB0F1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x031F, 0x2D3B, 0x99B2, 0x454B, 0x07F3, 0x07FE, 0x5498, 0xB0F1, 0xA8F1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30F0, 0x30EF, 0x30CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xB0F1, 0xB0D1, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x9A12, 0x8191, 0xC334, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFC8E, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFC8D, 0xFC8D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB2F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB6F, 0x8191, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFC8E, 0xFC8F, 0xFCAF, 0xFCAF, 0xFCB0, 0xFCB0, 0xFCB0, 0xFCB2, 0xF451, 0xB0D1, 0xB0D1, 0xB0D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x003F, 0x005F, 0x025F, 0x06FD, 0x0770, 0x0F88, 0x07F4, 0x07FF, 0x5478, 0xA8F1, 0xA8F1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xB0F1, 0xB0D1, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xCB4E, 0x8191, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xBB11, 0x8191, 0xAA73, 0xD396, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFCAE, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFCAD, 0xFCCD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD3, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCAD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA94, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xFCAD, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFCCE, 0xFCCF, 0xFCCF, 0xFCEF, 0xFCD0, 0xFCF0, 0xFCF1, 0xFCF1, 0xFCF2, 0xB0F1, 0xB0F1, 0xB0F2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x007F, 0x021F, 0x06FC, 0x078D, 0x07E7, 0x07F6, 0x07FF, 0x82B5, 0xA8F1, 0xA111, 0x4932, 0x4132, 0x4111, 0x38F1, 0x38F0, 0x30F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xA8F1, 0xB0F1, 0xFD0D, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFD0D, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC6F, 0x91D1, 0x89D1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xDBB4, 0xEC70, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFCED, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBF3, 0xFCED, 0xFCED, 0xFCED, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xEC6E, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xF4AF, 0xFD0D, 0xFCED, 0xFD0D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD0E, 0xFD0F, 0xFD0F, 0xFD0F, 0xFD10, 0xFD10, 0xFD31, 0xFD31, 0xFD32, 0xB0F1, 0xB0F1, 0xB0F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x005F, 0x021F, 0x073B, 0x07AC, 0x07E7, 0x07F7, 0x07FF, 0x82B5, 0xA8F1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x10CF, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xA8F1, 0xB0F1, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xE44E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xC34F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xE431, 0xEC71, 0xEC71, 0xDBF0, 0xE450, 0xF4CF, 0xFD0E, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xF4AF, 0xF4CF, 0xF4AF, 0xDC10, 0x9A12, 0xAA73, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2C, 0xFD2C, 0x9211, 0x8191, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFCEE, 0xFD2D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC10, 0xE44E, 0xDC2E, 0xE44E, 0xB2F0, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD2E, 0xFD2F, 0xFD2F, 0xFD4F, 0xFD50, 0xFD50, 0xFD51, 0xFD51, 0xFD71, 0xA8F1, 0xB0F1, 0xB0F2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x007F, 0x023F, 0x073B, 0x07AB, 0x07E8, 0x07F9, 0x07FF, 0xA152, 0xA8F1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA8F1, 0xA8F1, 0xA8F2, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xE46E, 0x8191, 0x9212, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD2D, 0x9211, 0x89B2, 0xCB75, 0xD396, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xBB2F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD6E, 0xFD6F, 0xFD6F, 0xFD8F, 0xFD90, 0xFD90, 0xFD91, 0xFD91, 0xFD92, 0xA8F1, 0xA8F1, 0xA8F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x005F, 0x007F, 0x009F, 0x023F, 0x0779, 0x07AA, 0x07E8, 0x07FB, 0x07FF, 0xA8F1, 0xA8F1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x0116, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xA8F1, 0xA8F1, 0xA8F1, 0xEC6F, 0xFD8D, 0xFDAD, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xE48E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFDAD, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFD8D, 0xE4AE, 0x8991, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xE491, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFDAD, 0xF52D, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFD8D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFDAF, 0xFDAF, 0xFDAF, 0xFDAF, 0xFDB0, 0xFDB0, 0xFDB1, 0xFDD1, 0xE4B2, 0xA911, 0xA8F1, 0xA8F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x007F, 0x009F, 0x02BF, 0x0778, 0x07C8, 0x07E9, 0x07FD, 0x173E, 0xA8F1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA911, 0xA911, 0xA911, 0xEC8E, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xE4CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDED, 0xFDCD, 0xD44F, 0x8191, 0xB2B3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0x8991, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xBB6F, 0x8191, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDED, 0xFDED, 0xFDED, 0xFDED, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFDEE, 0xFDEF, 0xFDEF, 0xFDF0, 0xFDF0, 0xFDF0, 0xFDF1, 0xFDF1, 0xECB1, 0xA0F1, 0xA911, 0xA911, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x005F, 0x005F, 0x007F, 0x009F, 0x009F, 0x041F, 0x0797, 0x07C7, 0x07EB, 0x07FE, 0x2E5C, 0xA8F1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0118, 0x0117, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA911, 0xA911, 0xA111, 0xE42E, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xE4EE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xD44F, 0x8191, 0xBAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xECD1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xF5AD, 0x9A70, 0x89B1, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0E, 0xFE0D, 0xFE0E, 0xFE0E, 0xFE0E, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE0F, 0xFE0F, 0xFE0F, 0xFE30, 0xFE30, 0xFE30, 0xFE31, 0xFE31, 0xDC32, 0xA111, 0xA911, 0xA111, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x005F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x043F, 0x0794, 0x07E6, 0x07EC, 0x07FE, 0x35DB, 0xA911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AC, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x00F8, 0x18CF, 0x20AD, 0x18AD, 0x20AD, 0x18AC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x80F0, 0xA111, 0xA111, 0xC2B0, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x89D1, 0xA253, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xF60E, 0x9A70, 0x91F2, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF2, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE4E, 0xFE4F, 0xFE6F, 0xFE70, 0xFE50, 0xFE50, 0xFE71, 0xFE51, 0xBA52, 0xA111, 0xA111, 0x78D5, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x00BF, 0x043F, 0x07B3, 0x07C5, 0x07EE, 0x07FF, 0x5478, 0x6AD6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x00F6, 0x0118, 0x00F8, 0x18CF, 0x18AC, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AC, 0x60EF, 0xA111, 0xA111, 0xA112, 0xFE2D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xE54E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xF5CF, 0xFE6D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE6D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5CE, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6C, 0xFE8D, 0xF62D, 0xC40F, 0x9A12, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE8D, 0xFE6D, 0xFE2D, 0xBBCF, 0x89B1, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFE90, 0xFE91, 0xE471, 0xA111, 0xA112, 0xA111, 0x60D5, 0x001F, 0x283C, 0x7097, 0x405A, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x009F, 0x00BF, 0x00BF, 0x00DF, 0x045F, 0x07D2, 0x07E4, 0x07EF, 0x07FF, 0x2E3C, 0x2D1A, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x00F6, 0x0118, 0x00F7, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x28CD, 0xA111, 0xA111, 0xA111, 0xCBCF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xF5ED, 0x89D1, 0x91D2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xED11, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xC42F, 0x81B1, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFECC, 0xFEAD, 0xC42F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF64D, 0xD4CE, 0xBBD0, 0xC3B2, 0xC314, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xED31, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xEE0D, 0xCC6F, 0xBB51, 0xBAD4, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xC334, 0x8191, 0xB294, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFEAE, 0xFECE, 0xFEAD, 0xFEAE, 0xFEAD, 0xFECE, 0xFEAE, 0xFEAE, 0xA2F0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC34, 0xFEAF, 0xFED0, 0xFEAF, 0xFED0, 0xFEB0, 0xFED1, 0xE491, 0xA911, 0xA111, 0x9931, 0xA111, 0x58D6, 0x88B5, 0xB8D1, 0xB8D1, 0x5059, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x009F, 0x00BF, 0x00FF, 0x00DF, 0x047F, 0x07D2, 0x07E3, 0x07F1, 0x07FF, 0x07FF, 0x2CBA, 0x4933, 0x4132, 0x4131, 0x4111, 0x38F0, 0x38F0, 0x30F0, 0x30EF, 0x28EF, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F6, 0x0118, 0x0118, 0x18CF, 0x20AD, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AC, 0x20AD, 0x18AD, 0x8110, 0x9911, 0xA111, 0xA171, 0xF5ED, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE6D, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5CF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE4E, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EE, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE8D, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xF64D, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE6E, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF60E, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF64E, 0xFEAC, 0xFEAD, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE6D, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5CF, 0xFEAD, 0xF62E, 0xF5EF, 0xF5D0, 0xF5EF, 0xF5CF, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xFE4F, 0xFECE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAF, 0xF610, 0xF5D0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF610, 0xFEAF, 0xFEAF, 0xFEAF, 0xFED0, 0xFEB0, 0xFEB1, 0xE471, 0xB8D1, 0xA111, 0x9931, 0x9931, 0x9912, 0x6933, 0xB0F1, 0xB0D1, 0xB0D1, 0x283C, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x00BF, 0x00DF, 0x00FF, 0x011F, 0x047F, 0x07D1, 0x07E3, 0x07F3, 0x07FF, 0x07FF, 0x3B77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38F0, 0x38F0, 0x30EF, 0x30EF, 0x28EF, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0118, 0x0117, 0x18CF, 0x18AD, 0x18AC, 0x18AC, 0x18AD, 0x18AC, 0x20AD, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18CD, 0x18AC, 0x20AC, 0x38CE, 0x9931, 0x9931, 0x9931, 0xAA31, 0xFE2D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFEAC, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFEAC, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8E, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAF, 0xFEAE, 0xFEAE, 0xFEAF, 0xFE8E, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFE8F, 0xFEB0, 0xFEAF, 0xFEB0, 0xFE90, 0xE471, 0xB8D2, 0xA111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xB0F1, 0xB0D1, 0xB0D2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x00DF, 0x00DF, 0x011F, 0x011F, 0x049F, 0x07F0, 0x07E2, 0x07F4, 0x07FF, 0x07FF, 0x3AF6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28EE, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x18AC, 0x20AC, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, + 0x0117, 0x18CF, 0x20AC, 0x20AC, 0x20AD, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AD, 0x20AC, 0x60EF, 0x9912, 0x9931, 0x9931, 0xB270, 0xF62D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE6D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFEB0, 0xFEB0, 0xE471, 0xB8D1, 0xA111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xB0F1, 0xB0D1, 0x90B4, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x049F, 0x07F1, 0x07E2, 0x07F6, 0x07FF, 0x0F9F, 0x4A35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CE, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, + 0x18CE, 0x18AC, 0x20CC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AD, 0x18CC, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x28AD, 0x8110, 0x9931, 0x9931, 0x9911, 0xAA31, 0xF5CD, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE6E, 0xFE8D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE90, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xE471, 0xB0D1, 0xA111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xB0D1, 0xB0D1, 0x7896, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x00BF, 0x011F, 0x011F, 0x013F, 0x017F, 0x04BF, 0x07F2, 0x07E2, 0x07F5, 0x07FF, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30EF, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AD, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x28AD, 0x9111, 0x9931, 0x9931, 0x9931, 0xA171, 0xCBCF, 0xF60D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE70, 0xFE70, 0xFE6F, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE90, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xE471, 0xA8F1, 0xA111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xB0D1, 0xB0D1, 0x5878, 0x001F, 0x001F, 0x003F, 0x007F, 0x009F, 0x00FF, 0x013F, 0x013F, 0x017F, 0x019F, 0x033F, 0x07F3, 0x07E2, 0x07F3, 0x07FF, 0xA8F1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x18CC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x28CD, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xBAB0, 0xDC6F, 0xE50F, 0xE50E, 0xFE4E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6F, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE4F, 0xFE6F, 0xFE70, 0xFE50, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xF612, 0xE531, 0xE512, 0xD472, 0xB271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xB0F1, 0xB0F1, 0x285C, 0x003F, 0x005F, 0x007F, 0x00BF, 0x00FF, 0x013F, 0x015F, 0x017F, 0x019F, 0x01BF, 0x02FF, 0x07F4, 0x07E3, 0x07F1, 0x2E5C, 0xA911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AC, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, + 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x28CC, 0x610F, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xB0F1, 0xB0D1, 0x087F, 0x009F, 0x00BF, 0x00DF, 0x011F, 0x015F, 0x019F, 0x019F, 0x019F, 0x01DF, 0x01DF, 0x01FF, 0x07F7, 0x07E3, 0x07EF, 0x5498, 0xA8F1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30EF, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x40CE, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xA111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xB0F1, 0x98F3, 0x00DF, 0x00FF, 0x011F, 0x013F, 0x017F, 0x01BF, 0x01BF, 0x01DF, 0x01DF, 0x01FF, 0x01FF, 0x021F, 0x06D9, 0x07E5, 0x07EC, 0x7355, 0xA8F1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390F, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x28CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x30CC, 0x58CF, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xA111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xA8F1, 0xB0F1, 0x80F5, 0x013F, 0x017F, 0x019F, 0x01BF, 0x01DF, 0x01FF, 0x01DF, 0x01FF, 0x021F, 0x023F, 0x023F, 0x023F, 0x057D, 0x07E8, 0x07E9, 0x82D5, 0xA0F1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38F0, 0x38EF, 0x30EF, 0x30EE, 0x28CE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20AD, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CE, 0x28EE, 0x28EE, 0x30EE, 0x30EF, 0x30EF, 0x30EE, 0x38EF, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xA932, 0xA131, 0xB131, 0xC912, 0xC911, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8D1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0x5158, 0x01BF, 0x01DF, 0x01FF, 0x021F, 0x023F, 0x023F, 0x021F, 0x023F, 0x025F, 0x025F, 0x025F, 0x025F, 0x041F, 0x07ED, 0x07E4, 0x7AB4, 0xA911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38EF, 0x30EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20CC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AB, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28AD, 0x28CE, 0x30CE, 0x30CE, 0x30EE, 0x8151, 0xB192, 0xC9B3, 0xC9B2, 0xC992, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC932, 0xC912, 0xC912, 0xC111, 0xC8F1, 0xC8F1, 0xC8D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D2, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0x39BB, 0x021F, 0x023F, 0x025F, 0x027F, 0x027F, 0x025F, 0x025F, 0x027F, 0x027F, 0x027F, 0x027F, 0x027F, 0x029F, 0x07F3, 0x07E2, 0x9972, 0xA911, 0xA112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38EF, 0x30EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18CC, 0x18AC, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x18AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CC, 0x20CC, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x30CD, 0x28EE, 0x30EE, 0x490E, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC932, 0xC932, 0xC912, 0xC912, 0xC912, 0xC0F2, 0xC8D1, 0xC0D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB8D2, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0F2, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0x123E, 0x029F, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x029F, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x02DF, 0x06B9, 0x07E3, 0xA111, 0xA911, 0xA111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390F, 0x38EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x18AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x30ED, 0x692F, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC132, 0xC912, 0xC912, 0xC8F2, 0xC8F1, 0xC8D1, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0x9933, 0x02DF, 0x02DF, 0x02FF, 0x02FF, 0x02DF, 0x02BF, 0x02DF, 0x02DF, 0x02DF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02FF, 0x051E, 0x07E8, 0xA912, 0xA111, 0xA111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410F, 0x390F, 0x38EE, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x28AC, 0x20CC, 0x28CC, 0x28CC, 0x28CC, 0x28CD, 0x28CD, 0x28ED, 0x28CD, 0x30CD, 0x9191, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC912, 0xC932, 0xC912, 0xC112, 0xC8F2, 0xC8F2, 0xC8D1, 0xC8D1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88B4, 0x88B5, 0x88B5, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0x69D6, 0x033F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02DF, 0x02FF, 0x035F, 0x03FF, 0x07F0, 0x8A4F, 0xA111, 0xA111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410F, 0x390F, 0x30EE, 0x30EE, 0x30CD, 0x30CD, 0x28CD, 0x28CD, 0x28CC, 0x28CC, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CC, 0x20AC, 0x28CC, 0x28CC, 0x28CC, 0x20CC, 0x28CC, 0x28CC, 0x28CD, 0x40EE, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B2, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC932, 0xC932, 0x90D5, 0x88D6, 0x6098, 0x5879, 0x303C, 0x305C, 0x081E, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00BF, 0x00DF, 0x291C, 0x411A, 0x6118, 0x8915, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F1, 0x429A, 0x039F, 0x039F, 0x035F, 0x035F, 0x033F, 0x033F, 0x033F, 0x033F, 0x033F, 0x033F, 0x031F, 0x031F, 0x031F, 0x037F, 0x03FF, 0x06D7, 0x7ACF, 0xA111, 0xA111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410F, 0x40EF, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x28CD, 0x28CD, 0x28CC, 0x28CC, 0x20CC, 0x20CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x28CC, 0x28CC, 0x28CC, 0x28CD, 0x28CC, 0x490E, 0xC1D3, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC952, 0x98F5, 0x60B8, 0x407B, 0x183E, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x00FF, 0x011F, 0x013F, 0x017F, 0x019F, 0x01DF, 0x021F, 0x21FD, 0x49D9, 0x7996, 0xA112, 0xA8F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0x139E, 0x03DF, 0x03BF, 0x039F, 0x039F, 0x037F, 0x037F, 0x037F, 0x037F, 0x035F, 0x035F, 0x033F, 0x033F, 0x035F, 0x03BF, 0x041F, 0x05DE, 0x7AD1, 0xA111, 0xA111, 0xA111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40EF, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x692F, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC992, 0xC9B2, 0xC972, 0xB973, 0x80F7, 0x387B, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00BF, 0x00DF, 0x00FF, 0x013F, 0x015F, 0x019F, 0x01BF, 0x01FF, 0x023F, 0x025F, 0x029F, 0x02DF, 0x02FF, 0x033F, 0x2ADC, 0x5A58, 0x8994, 0xA8F1, 0xA8F1, 0x81D4, 0x041F, 0x041F, 0x03FF, 0x03DF, 0x03BF, 0x03BF, 0x03BF, 0x03BF, 0x03BF, 0x039F, 0x037F, 0x035F, 0x037F, 0x039F, 0x03FF, 0x047F, 0x04FF, 0x6375, 0xA112, 0xA111, 0xA111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390F, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28AC, 0x28CC, 0x28CC, 0x28CC, 0x692E, 0xC9F3, 0xC9D2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC993, 0x80F7, 0x389B, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x083C, 0x085B, 0x105B, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187A, 0x105B, 0x085D, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x017F, 0x01BF, 0x01FF, 0x021F, 0x025F, 0x029F, 0x02DF, 0x02FF, 0x033F, 0x037F, 0x03BF, 0x03DF, 0x041F, 0x043F, 0x0C3F, 0x2BBC, 0x0C3F, 0x045F, 0x043F, 0x041F, 0x041F, 0x03FF, 0x03FF, 0x03FF, 0x03DF, 0x03DF, 0x03BF, 0x039F, 0x037F, 0x039F, 0x03DF, 0x043F, 0x04BF, 0x053F, 0x5398, 0xA111, 0xA111, 0xA111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30CD, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CB, 0x28CB, 0x28CC, 0x28CB, 0x614E, 0xD1F3, 0xC9F3, 0xC9D3, 0xC9B2, 0xC9B3, 0xB173, 0x60D9, 0x081E, 0x003D, 0x083B, 0x1878, 0x1877, 0x28D2, 0x28D2, 0x40EE, 0x38EE, 0x390F, 0x390F, 0x390F, 0x410E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x4910, 0x4130, 0x38F3, 0x28B6, 0x189A, 0x003E, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x00BF, 0x00DF, 0x00FF, 0x013F, 0x015F, 0x019F, 0x01DF, 0x021F, 0x023F, 0x027F, 0x029F, 0x02FF, 0x033F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x047F, 0x04BF, 0x04DF, 0x04DF, 0x04BF, 0x04BF, 0x047F, 0x047F, 0x043F, 0x043F, 0x043F, 0x041F, 0x041F, 0x03FF, 0x03DF, 0x03BF, 0x03BF, 0x03DF, 0x043F, 0x047F, 0x04DF, 0x057F, 0x3C1A, 0xA111, 0xA111, 0xA111, 0xA111, 0x5931, 0x4910, 0x4110, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CB, 0x20CB, 0x28AB, 0x692E, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9B3, 0xB1B2, 0x58F3, 0x1895, 0x28B2, 0x30ED, 0x38ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x390E, 0x390E, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390E, 0x410F, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x492F, 0x4930, 0x4910, 0x38F3, 0x20B8, 0x087D, 0x007F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x017F, 0x019F, 0x01DF, 0x021F, 0x025F, 0x02BF, 0x02DF, 0x031F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x049F, 0x04DF, 0x04FF, 0x051F, 0x051F, 0x053F, 0x04FF, 0x04DF, 0x04BF, 0x049F, 0x047F, 0x047F, 0x045F, 0x045F, 0x043F, 0x041F, 0x03FF, 0x03DF, 0x03FF, 0x043F, 0x045F, 0x04BF, 0x053F, 0x05BF, 0x2CDC, 0xA112, 0xA111, 0xA111, 0xA111, 0x7131, 0x4930, 0x4130, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28CB, 0x28CB, 0x612E, 0xC9F3, 0xC9D3, 0xC9D3, 0xB992, 0x692E, 0x28CC, 0x28EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x30ED, 0x38ED, 0x38ED, 0x390E, 0x38EE, 0x38EE, 0x38EE, 0x390F, 0x38EE, 0x40EE, 0x40EE, 0x390F, 0x390E, 0x410E, 0x40EF, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4910, 0x4910, 0x4930, 0x4113, 0x28F8, 0x08FE, 0x013F, 0x015F, 0x019F, 0x01DF, 0x021F, 0x023F, 0x029F, 0x02BF, 0x031F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x049F, 0x04DF, 0x051F, 0x053F, 0x057F, 0x059F, 0x057F, 0x055F, 0x053F, 0x04FF, 0x04FF, 0x04DF, 0x04BF, 0x049F, 0x049F, 0x047F, 0x045F, 0x043F, 0x041F, 0x041F, 0x043F, 0x045F, 0x04BF, 0x04FF, 0x055F, 0x05DF, 0x0E1F, 0xA111, 0xA111, 0xA111, 0xA112, 0x8931, 0x4930, 0x4130, 0x410F, 0x410E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x20CB, 0x612E, 0xD1F3, 0xC9F3, 0xC1B2, 0x612E, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197A, 0x01DE, 0x021F, 0x027F, 0x02BF, 0x02FF, 0x033F, 0x037F, 0x03BF, 0x03FF, 0x045F, 0x049F, 0x04DF, 0x051F, 0x057F, 0x059F, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x059F, 0x055F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04DF, 0x04BF, 0x047F, 0x045F, 0x043F, 0x043F, 0x047F, 0x04BF, 0x04FF, 0x053F, 0x05BF, 0x061F, 0x069F, 0x9972, 0xA111, 0xA111, 0xA111, 0xA111, 0x5130, 0x4910, 0x410F, 0x390F, 0x390E, 0x38ED, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x510D, 0xD1F3, 0xC9D2, 0x816F, 0x30CC, 0x28AC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31B6, 0x0A9D, 0x02FF, 0x035F, 0x039F, 0x03FF, 0x043F, 0x047F, 0x04BF, 0x051F, 0x055F, 0x05BF, 0x05DF, 0x061F, 0x063F, 0x063F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04BF, 0x047F, 0x047F, 0x047F, 0x049F, 0x04DF, 0x053F, 0x057F, 0x05FF, 0x065F, 0x06DF, 0x7A95, 0xA111, 0xA111, 0xA111, 0xA111, 0x6911, 0x4930, 0x410F, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x40EC, 0xC1D2, 0xC1B3, 0x490D, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39D5, 0x131C, 0x041F, 0x047F, 0x04BF, 0x051F, 0x055F, 0x059F, 0x05DF, 0x061F, 0x067F, 0x069F, 0x069F, 0x067F, 0x065F, 0x061F, 0x05FF, 0x05FF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04BF, 0x04BF, 0x04BF, 0x04DF, 0x051F, 0x057F, 0x05BF, 0x063F, 0x069F, 0x071F, 0x5438, 0xA111, 0xA111, 0xA111, 0xA111, 0x8111, 0x4930, 0x410F, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x30CB, 0xA992, 0xA9B1, 0x30CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CC, 0x30EC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3A15, 0x237B, 0x053F, 0x059F, 0x5358, 0x349B, 0x0E1F, 0x06BF, 0x06FF, 0x06FF, 0x06DF, 0x06BF, 0x069F, 0x065F, 0x063F, 0x061F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x051F, 0x04FF, 0x04DF, 0x04DF, 0x04FF, 0x051F, 0x055F, 0x059F, 0x05FF, 0x065F, 0x06DF, 0x073F, 0x359B, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x4930, 0x4910, 0x412F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x692F, 0x816F, 0x20AB, 0x20CB, 0x20AB, 0x28CB, 0x28CB, 0x28CB, 0x28AB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49D4, 0x243A, 0xA132, 0xA8F1, 0xA8F1, 0xA8F1, 0x8295, 0x8295, 0x5418, 0x351B, 0x06DF, 0x069F, 0x067F, 0x065F, 0x063F, 0x05FF, 0x05FF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x051F, 0x053F, 0x057F, 0x059F, 0x05DF, 0x063F, 0x069F, 0x06FF, 0x077F, 0x0F5F, 0xA111, 0xA111, 0xA111, 0xA111, 0x9931, 0x6911, 0x4930, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20CB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x28CB, 0x28AB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30EE, 0x38ED, 0x38ED, 0x390E, 0x390E, 0x390E, 0x410E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA8F1, 0xA172, 0x4C39, 0x2D5C, 0x069F, 0x065F, 0x063F, 0x061F, 0x05FF, 0x05DF, 0x059F, 0x057F, 0x055F, 0x055F, 0x055F, 0x057F, 0x059F, 0x05DF, 0x061F, 0x067F, 0x06DF, 0x073F, 0x079F, 0x07DF, 0x8254, 0xA111, 0xA131, 0xA111, 0x9911, 0x8131, 0x4910, 0x410F, 0x410E, 0x38EE, 0x38ED, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30EC, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xA111, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA911, 0xA111, 0xA911, 0xA0F1, 0x9972, 0x4419, 0x067F, 0x065F, 0x061F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x059F, 0x05BF, 0x05BF, 0x05DF, 0x061F, 0x065F, 0x06BF, 0x06FF, 0x075F, 0x07BF, 0x07FF, 0x5498, 0xA131, 0xA111, 0xA111, 0xA111, 0x9911, 0x4930, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x28CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30EC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390F, 0x410F, 0x410F, 0x490F, 0x412F, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xA8F1, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA111, 0x7A55, 0x34BB, 0x065F, 0x061F, 0x05FF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05FF, 0x063F, 0x065F, 0x069F, 0x06DF, 0x071F, 0x077F, 0x07BF, 0x07FF, 0x2E3C, 0x9911, 0xA111, 0xA111, 0x9931, 0x9931, 0x6910, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA111, 0xA111, 0xA111, 0xA111, 0x91B3, 0x62F6, 0x347B, 0x061F, 0x061F, 0x063F, 0x063F, 0x065F, 0x067F, 0x06BF, 0x071F, 0x073F, 0x079F, 0x07DF, 0x07FF, 0x07FF, 0xA111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410F, 0x410E, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xA911, 0xA911, 0xA911, 0xA911, 0xA111, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x91B3, 0x349B, 0x065F, 0x067F, 0x069F, 0x06BF, 0x06FF, 0x073F, 0x077F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x7AD4, 0xA111, 0x9911, 0xA111, 0x9931, 0x9931, 0x4930, 0x410F, 0x390E, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xA111, 0xA911, 0xA111, 0xA111, 0xA911, 0xA112, 0xA111, 0xA911, 0xA111, 0xA112, 0xA0F1, 0xA111, 0xA111, 0xA111, 0x7A75, 0x15FD, 0x06BF, 0x06FF, 0x071F, 0x075F, 0x079F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410F, 0x390E, 0x390E, 0x38EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x20AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x40EE, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x5931, 0x90F1, 0xA911, 0xA912, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0x9972, 0x353B, 0x071F, 0x073F, 0x077F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x2E3C, 0xA111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x412F, 0x4130, 0x4930, 0x4930, 0x8111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA112, 0xA111, 0xA111, 0x4499, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9931, 0xA111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490F, 0x410F, 0x38EE, 0x30EE, 0x38ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x28AB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x310E, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x7131, 0xA111, 0xA111, 0xA112, 0xA111, 0xA0F1, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA131, 0x6397, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7AD4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390F, 0x38EE, 0x38EE, 0x38ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30EC, 0x30ED, 0x38EE, 0x30ED, 0x38ED, 0x390E, 0x38EE, 0x410E, 0x410F, 0x410F, 0x4930, 0x4930, 0x6931, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0x9931, 0x9911, 0x6397, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x5C14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410F, 0x390E, 0x390E, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x30EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x9931, 0xA111, 0x9931, 0x5498, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x35F5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510F, 0x390E, 0x390E, 0x38ED, 0x30ED, 0x30CC, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x28CB, 0x20CB, 0x28AB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x390E, 0x410F, 0x410F, 0x412F, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xA111, 0xA111, 0xA111, 0xA131, 0xA111, 0xA111, 0x9931, 0xA111, 0xA111, 0xA111, 0xA111, 0x3D7A, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07F6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390E, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28AB, 0x28AB, 0x20AB, 0x20AB, 0x20CA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x18AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28CB, 0x20AB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xA111, 0xA111, 0xA111, 0x9931, 0xA111, 0xA111, 0xA112, 0x9931, 0x9911, 0x9192, 0x1EBD, 0x07FF, 0x07FF, 0x07FE, 0x07F6, 0x7A71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410E, 0x38EE, 0x30ED, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20AB, 0x28AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AC, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CC, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x28CE, 0x28CE, 0x28CE, 0x28EE, 0x28CE, 0x28EE, 0x30EE, 0x30EF, 0x30EF, 0x30EF, 0x390F, 0x390F, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xA111, 0xA111, 0xA111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07FF, 0x07FF, 0x07FD, 0x07F6, 0x5C32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390F, 0x30EF, 0x30EF, 0x30EE, 0x30CE, 0x28CD, 0x28EE, 0x28ED, 0x28CD, 0x20CD, 0x20AC, 0x20CD, 0x20CD, 0x20AD, 0x20CD, 0x20AD, 0x20CC, 0x20CC, 0x20AD, 0x20CC, 0x20AC, 0x20CC, 0x20CC, 0x20AC, 0x20AC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, + 0x18D2, 0x10F2, 0x18D2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F3, 0x18F3, 0x18F2, 0x20F2, 0x18F2, 0x18F2, 0x20F2, 0x18F3, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F2, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x28F3, 0x28F3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28F3, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xA111, 0xA111, 0x9931, 0x9911, 0xA111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5C38, 0x07FF, 0x07FD, 0x07F6, 0x44F2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x1912, 0x18F2, 0x20F3, 0x18F2, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, + 0x10F2, 0x18D2, 0x18D2, 0x10D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x20F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2112, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F2, 0x20F3, 0x20F2, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x28F3, 0x2113, 0x20F3, 0x2113, 0x28F3, 0x20F3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28F3, 0x28F3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28F3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xA111, 0xA112, 0xA111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2E5C, 0x07FC, 0x07F6, 0x2E53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20F3, 0x2112, 0x20F3, 0x20D3, 0x1912, 0x18F2, 0x18F3, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x20F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, + 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x259C, 0x1DBC, 0x1D9D, 0x259D, 0x1D9C, 0x259C, 0x259C, 0x259C, 0x259C, 0x259C, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x1DDD, 0x25DD, 0x25DD, 0x25DD, 0x25BD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x25FD, 0x2DFE, 0x2DFD, 0x2DFD, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3E, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x365E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x365E, 0x365E, 0x2E5D, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3D, 0x363D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x361D, 0x361D, 0x361D, 0x361D, 0x361D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1E, 0x461E, 0x461D, 0x4DFE, 0x4DFD, 0x4E3E, 0x4DFE, 0x55DD, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7A74, 0x07FB, 0x07F6, 0x07F6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4CFB, 0x3DFE, 0x35DD, 0x35DD, 0x2DDD, 0x2DDD, 0x2DDD, 0x2DDD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25DC, 0x25BD, 0x25BD, 0x25BD, 0x1DBD, 0x25BC, 0x1DBD, 0x1DBD, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, + 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7B, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x249C, 0x1C9C, 0x1D9D, 0x1D7C, 0x1CFC, 0x1C9C, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x24DC, 0x24DC, 0x24DC, 0x253D, 0x25BD, 0x253D, 0x24DD, 0x24BC, 0x24BC, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24FD, 0x24DC, 0x24DC, 0x24FD, 0x24FD, 0x24FC, 0x24DD, 0x24FD, 0x251C, 0x25FD, 0x255D, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FC, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x251D, 0x24FD, 0x24FD, 0x251D, 0x2D1D, 0x24FD, 0x2CFD, 0x25BD, 0x25BD, 0x253C, 0x2CFC, 0x2D1D, 0x251D, 0x2CFD, 0x2CFD, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1C, 0x2D5D, 0x2DDE, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2E1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2DDD, 0x2D5D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2D1D, 0x2D1D, 0x2CFD, 0x2CFD, 0x2CFD, 0x2DBD, 0x2DBD, 0x2CFD, 0x2D1D, 0x251C, 0x251C, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x34FD, 0x34FD, 0x34FD, 0x34FD, 0x34FD, 0x3CFD, 0x3CFD, 0x3CFD, 0x3CFD, 0x3D1D, 0x451D, 0x451D, 0x451D, 0x4D1D, 0x4D1D, 0x553D, 0x91B3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xA112, 0x9931, 0x9931, 0x5496, 0x07F7, 0x07F7, 0x8A13, 0xA111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34DD, 0x34DD, 0x2CDD, 0x2CDC, 0x2CDD, 0x2CBC, 0x24DC, 0x24BC, 0x24BC, 0x253C, 0x25BD, 0x253C, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, + 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1B3B, 0x1CFC, 0x157C, 0x1C1C, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x22FB, 0x231C, 0x1D1C, 0x1D5C, 0x235B, 0x22DC, 0x22DB, 0x22DC, 0x22FB, 0x22FC, 0x22DC, 0x22DC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FB, 0x22FB, 0x22FB, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231B, 0x22FC, 0x233C, 0x253C, 0x1CFD, 0x22FC, 0x22FC, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x2AFC, 0x2AFC, 0x231C, 0x2B1C, 0x2B1C, 0x259C, 0x247C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x25BD, 0x2BBC, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x25DD, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B7C, 0x259D, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x245D, 0x259C, 0x22FC, 0x2AFC, 0x231C, 0x2AFC, 0x22FC, 0x231C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2AFC, 0x2B1C, 0x2B1C, 0x2B1C, 0x331C, 0x331C, 0x331C, 0x331C, 0x331C, 0x3B1C, 0x3B3D, 0x3B3D, 0x3B3D, 0x433C, 0x433D, 0x4B3D, 0x435D, 0x5A9A, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07F9, 0x72D4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331C, 0x32FC, 0x2AFB, 0x2AFC, 0x2AFB, 0x22FB, 0x22DC, 0x22DC, 0x22FB, 0x22DB, 0x22DB, 0x235C, 0x1D5C, 0x1D1D, 0x231B, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, + 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x137B, 0x1B5B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x139B, 0x1BBB, 0x14FB, 0x153C, 0x13FB, 0x1B7B, 0x139B, 0x1B7B, 0x1B7C, 0x1B9B, 0x1B7B, 0x1B7B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1B9B, 0x1B9B, 0x139C, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1D3C, 0x1D5C, 0x1BFB, 0x1B9C, 0x1BBB, 0x1B9B, 0x1BBC, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1CDC, 0x1D7D, 0x23FC, 0x1BDC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x1BBC, 0x1BBC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x247C, 0x1D9C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x241C, 0x259D, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1DBD, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1DBD, 0x243C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x259C, 0x247C, 0x23BC, 0x23BC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23BC, 0x23BC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x2BDC, 0x2BDC, 0x2BDC, 0x2BDC, 0x2BDC, 0x33DC, 0x33DC, 0x33DC, 0x33DC, 0x3BDC, 0x3BFC, 0x3BFC, 0x3BDC, 0x43FC, 0x43FD, 0x6B18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6B53, 0x07FA, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2BBC, 0x2BBC, 0x2BBC, 0x2BBB, 0x23BB, 0x23BB, 0x239B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BDB, 0x1D5C, 0x1D1C, 0x1B9B, 0x1B9B, 0x139B, 0x139C, 0x1B9B, 0x1B7B, 0x1B7B, 0x139B, 0x1B9B, 0x1B9B, 0x1B7B, 0x1B9B, 0x139B, 0x1B7B, 0x1B7B, 0x1B9B, 0x1B9B, + 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x137B, 0x135A, 0x135A, 0x137B, 0x135A, 0x135B, 0x139B, 0x14BB, 0x14FB, 0x13FB, 0x137B, 0x137B, 0x135B, 0x137B, 0x137A, 0x137A, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1BBB, 0x153C, 0x151C, 0x1B7B, 0x139B, 0x137B, 0x139B, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x13BB, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1C3B, 0x1D5C, 0x1C3C, 0x1B9B, 0x1BBB, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1C9C, 0x1D1C, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BDB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1CFC, 0x1C7C, 0x1BBB, 0x1BDB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BDC, 0x23BC, 0x1BBB, 0x1D7C, 0x1BBB, 0x1BDC, 0x1BBB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1B9C, 0x1BDC, 0x1BBB, 0x1C5B, 0x1CFB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1D3C, 0x1CBC, 0x1BBB, 0x1BBB, 0x1B9B, 0x1B9C, 0x1B9C, 0x1B9B, 0x1B9B, 0x1BBB, 0x1B9C, 0x1B9B, 0x1BBB, 0x239B, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x2BBC, 0x2BBC, 0x2BBC, 0x2BBC, 0x33BC, 0x33BC, 0x33DC, 0x3BDC, 0x3BDC, 0x3BDC, 0x3BDC, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4C98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4B19, 0x23BC, 0x239B, 0x239B, 0x239B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B7B, 0x1B7B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x14BB, 0x151B, 0x13DB, 0x137B, 0x137A, 0x137B, 0x137B, 0x137A, 0x137B, 0x137B, 0x137B, 0x135B, 0x137B, 0x135B, 0x135B, 0x135B, 0x137B, + 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11BA, 0x11BA, 0x11B9, 0x09B9, 0x11BA, 0x1199, 0x11BA, 0x11BA, 0x1199, 0x11DA, 0x0B3A, 0x0C9B, 0x0BFB, 0x127A, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x12BA, 0x14BB, 0x13FB, 0x11DB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BB, 0x11BA, 0x11DA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x127A, 0x14DB, 0x137B, 0x11DA, 0x19BA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x19DB, 0x11DA, 0x19DA, 0x1A3B, 0x14FB, 0x1AFB, 0x19DA, 0x11DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19DA, 0x1A1B, 0x153C, 0x1A3B, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x153B, 0x19DB, 0x19DA, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x11DB, 0x19DB, 0x19DA, 0x19DB, 0x19FB, 0x153C, 0x123A, 0x19DA, 0x19DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19DA, 0x11DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x19DB, 0x19BA, 0x11DA, 0x11BA, 0x1ABB, 0x14FB, 0x1A5B, 0x19BA, 0x19BA, 0x11DA, 0x11DA, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19BA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x21DB, 0x21DB, 0x21DB, 0x21FB, 0x21FB, 0x29FB, 0x29FB, 0x29FB, 0x29FB, 0x31FB, 0x321B, 0x31FB, 0x321B, 0x41FA, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72D4, 0x4C98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21DB, 0x21DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11D9, 0x137A, 0x149B, 0x131A, 0x11BA, 0x119A, 0x11B9, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, + 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0C3A, 0x0C9A, 0x0BDA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0BDB, 0x14BB, 0x0BFA, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x131A, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133B, 0x133B, 0x133A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133A, 0x0B3A, 0x137A, 0x0CDB, 0x0C5B, 0x133B, 0x133B, 0x0B3A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x135B, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x135A, 0x0B5B, 0x133B, 0x143A, 0x147B, 0x135B, 0x135A, 0x133B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x13BB, 0x14DB, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x133B, 0x14FB, 0x135A, 0x135B, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x133A, 0x135B, 0x135A, 0x135B, 0x135B, 0x149B, 0x13FB, 0x133A, 0x135B, 0x135B, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133A, 0x133B, 0x133A, 0x135A, 0x133A, 0x143B, 0x147B, 0x133A, 0x133A, 0x133A, 0x133A, 0x133B, 0x133A, 0x133A, 0x133B, 0x133A, 0x133A, 0x133A, 0x135B, 0x133B, 0x133B, 0x1B3B, 0x1B5B, 0x1B5B, 0x1B3B, 0x1B5B, 0x235B, 0x235B, 0x235B, 0x235B, 0x2B5B, 0x2B5B, 0x2B7B, 0x2B7B, 0x335B, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72D5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71B4, 0x1B3B, 0x1B3B, 0x133A, 0x133B, 0x133A, 0x131A, 0x131A, 0x131A, 0x131A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0AFA, 0x0B1A, 0x0AFA, 0x0BDA, 0x0CBB, 0x0BDA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, + 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02F9, 0x02D9, 0x02DA, 0x0ADA, 0x0AFA, 0x0BFA, 0x0C5B, 0x0BFA, 0x0AD9, 0x02FA, 0x02F9, 0x02F9, 0x0AF9, 0x02F9, 0x0AF9, 0x02D9, 0x02F9, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0C1A, 0x0C7B, 0x0B5A, 0x0AFA, 0x0AF9, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x031A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0C3A, 0x0C5A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0C5B, 0x0C1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0C7B, 0x0B7A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0CBB, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B7A, 0x0CBB, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0BDA, 0x0C7B, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x131A, 0x131A, 0x131A, 0x131A, 0x131A, 0x1B1A, 0x1B3A, 0x1B3A, 0x1B3A, 0x1B3A, 0x233A, 0x233A, 0x233B, 0x2B3B, 0x2B5B, 0x3AD9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1B1A, 0x131A, 0x131A, 0x12FA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x02FA, 0x0AFA, 0x035A, 0x045A, 0x0C3A, 0x0AFA, 0x02DA, 0x0AFA, 0x0AF9, 0x02F9, 0x0AFA, 0x0AFA, 0x0AFA, 0x02D9, 0x02D9, + 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03B9, 0x03DA, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01B9, 0x037A, 0x0BDA, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033A, 0x041A, 0x01F9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0A79, 0x043A, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09B9, 0x0C3B, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0C7A, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0BFA, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0BDA, 0x02D9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199A, 0x1999, 0x2199, 0x219A, 0x21BA, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01D8, 0x0399, 0x0399, 0x01D9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, + 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01D8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03D9, 0x02B9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01D9, 0x03F9, 0x01F9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02D9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041A, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02B9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01D8, 0x03F9, 0x01F8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03F9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, + 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01D7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01D7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02F8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03B9, 0x01B8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03F9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03F9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03B9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01B7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, + 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02F7, 0x0358, 0x0378, 0x02F7, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D7, 0x02F8, 0x02F8, 0x0398, 0x0378, 0x02F8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0378, 0x0398, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x02F7, 0x02F8, 0x02F8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03B8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03B8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0378, 0x0338, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0378, 0x0338, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0AF8, 0x0AF8, 0x0AF8, 0x0AF8, 0x0B18, 0x0B18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1B18, 0x2AF8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0AF8, 0x0AF8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D8, 0x02D8, 0x0378, 0x0378, 0x02D7, 0x02D8, 0x02D7, 0x02D7, 0x02D8, + 0x0176, 0x01B6, 0x02F8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01F7, 0x0337, 0x02D7, 0x01B6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01B6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x02F7, 0x0257, 0x0197, 0x01B6, 0x01B7, 0x01B6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x01B6, 0x01B7, 0x0378, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x01F7, 0x0358, 0x0196, 0x0196, 0x01B6, 0x0196, 0x01B6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02F7, 0x02F7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01B6, 0x01B6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09B7, 0x0997, 0x09B7, 0x09B7, 0x09B7, 0x11B7, 0x11B7, 0x11D7, 0x11B7, 0x11B7, 0x11B7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09B6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02B7, 0x0337, 0x0216, 0x0196, 0x0196, + 0x0236, 0x0317, 0x0256, 0x00F4, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00F5, 0x01F6, 0x0317, 0x01F6, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00F5, 0x01B6, 0x0337, 0x01B6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x0155, 0x0337, 0x0156, 0x00D5, 0x00D5, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00D6, 0x00D6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00D5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x0115, 0x0338, 0x0115, 0x00F6, 0x00F5, 0x00F6, 0x00F5, 0x00D6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00F6, 0x00D5, 0x00F5, 0x0357, 0x00F5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00F5, 0x00D5, 0x00D5, 0x00D6, 0x00D6, 0x00D5, 0x00F5, 0x02F7, 0x0176, 0x00F5, 0x00D5, 0x00F5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x0116, 0x02F7, 0x01D6, 0x00D6, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x08F6, 0x08F6, 0x08F6, 0x08F6, 0x0916, 0x0916, 0x10F6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08F5, 0x08F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D4, 0x00D5, 0x00D5, 0x00D5, 0x01D6, 0x02F7, 0x0236, 0x0114, + 0x01F4, 0x0113, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00D3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00D3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00D3, 0x00B3, 0x00D3, 0x00D3, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x01D4, 0x02B5, 0x0134, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00F4, 0x02B5, 0x01B5, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01B5, 0x0255, 0x00D5, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x02F6, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01F5, 0x0235, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x0154, 0x02B5, 0x0134, 0x00D4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x08D4, 0x08D4, 0x08D4, 0x08F4, 0x08F4, 0x08F4, 0x08F5, 0x10F4, 0x10D5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00D4, 0x00D4, 0x00D4, 0x00D3, 0x00D3, 0x00D3, 0x00D3, 0x00D3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B2, 0x00B3, 0x00D3, 0x00D3, 0x0214, 0x0295, + 0x00B1, 0x0091, 0x0091, 0x0091, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x00D2, 0x01B2, 0x0273, 0x0172, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x01D3, 0x0253, 0x0112, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0213, 0x01D3, 0x0092, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0253, 0x0153, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0294, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00F2, 0x0293, 0x00D2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x0172, 0x0253, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x08B2, 0x08B2, 0x08B2, 0x08D2, 0x08B2, 0x08D2, 0x08D3, 0x10D3, 0x40F2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00D2, 0x00B2, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0131, + 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01D1, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01D2, 0x01F2, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0171, 0x0212, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00F1, 0x0252, 0x00B0, 0x0090, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0272, 0x00B0, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01D1, 0x0171, 0x0091, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01D1, 0x01D1, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F2, 0x01D1, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01B1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F1, 0x0171, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00B0, 0x00B0, 0x00B1, 0x08B1, 0x08B0, 0x08B1, 0x08B1, 0x50F1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, + 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x00D0, 0x0212, 0x01D2, 0x00D0, 0x0090, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x00F0, 0x0232, 0x01B1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0232, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00F0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00F0, 0x0232, 0x00F1, 0x00B0, 0x008F, 0x008F, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0890, 0x08B0, 0x0891, 0x10B0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0171, 0x0232, 0x0151, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x00F0, 0x0212, 0x0151, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x01F1, 0x01B1, 0x0070, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0130, 0x01F1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0191, 0x01B1, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x008F, 0x0090, 0x006F, 0x008F, 0x0131, 0x0232, 0x00D0, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60F1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006F, 0x0090, 0x006F, 0x008F, 0x008F, 0x0070, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0070, 0x008F, 0x006F, 0x008F, 0x0110, 0x0232, 0x01B1, 0x00AF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0110, 0x0252, 0x0130, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0170, 0x01F2, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x01D2, 0x0130, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x00CF, 0x0232, 0x00AF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x0191, 0x0212, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x18AF, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xA111, 0x9931, 0xA111, 0x29D2, 0x01B1, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, + 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x01B1, 0x0232, 0x010F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0232, 0x00CF, 0x006F, 0x006F, 0x008E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x010F, 0x0212, 0x00AF, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x00AF, 0x0212, 0x00AF, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x0252, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x01D1, 0x0130, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x01F1, 0x01B1, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28D0, 0x01F2, 0x01D1, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0110, 0x0212, 0x01B1, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x008F, 0x006E, 0x006E, 0x006F, 0x006F, 0x008E, 0x006E, 0x0191, 0x01F1, 0x00CF, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006E, 0x006E, 0x006F, 0x00CF, 0x0212, 0x0110, 0x008F, 0x006F, 0x006E, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0191, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0232, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0110, 0x01F1, 0x008F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x00AF, 0x0212, 0x0110, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x48D0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008E, 0x008F, 0x01B1, 0x01F2, 0x00AF, 0x006F, 0x006E, 0x008F, 0x006E, 0x008F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x0212, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x008E, 0x01D1, 0x01F1, 0x008F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x01F1, 0x0170, 0x006F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0211, 0x00CF, 0x008F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008F, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00EF, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x108F, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006E, 0x006F, 0x006E, 0x0190, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0130, 0x0212, 0x0170, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x01D1, 0x0190, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x01F1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00EF, 0x0211, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0170, 0x0190, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0150, 0x01F1, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x68F0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x0212, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x01F2, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x0212, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x0212, 0x008E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0211, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x01B1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x38B0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004E, 0x006E, 0x006E, 0x004E, 0x006E, 0x010F, 0x0212, 0x010F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x004D, 0x0130, 0x01F2, 0x0150, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x00EF, 0x0212, 0x010F, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x00AF, 0x0212, 0x00CF, 0x004E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x008E, 0x0232, 0x008E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x01D1, 0x010F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x008E, 0x01F1, 0x012F, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x086E, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004E, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x0211, 0x0190, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006D, 0x004D, 0x004D, 0x004E, 0x004D, 0x004D, 0x006D, 0x006D, 0x008E, 0x01B1, 0x01D1, 0x00CE, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006E, 0x004D, 0x006E, 0x006E, 0x004E, 0x006D, 0x010F, 0x0212, 0x00EF, 0x006D, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x004D, 0x006E, 0x01D1, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0130, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0232, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004D, 0x004D, 0x004E, 0x010F, 0x01D1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004E, 0x004E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x00CE, 0x0212, 0x00CE, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004D, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x70F0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006E, 0x006E, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x008E, 0x01D1, 0x0190, 0x006D, 0x006D, 0x004E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, + 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x0150, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004E, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x00AE, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x0170, 0x01B1, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004E, 0x006E, 0x01D1, 0x010F, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x004E, 0x0212, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006D, 0x006D, 0x006E, 0x01F1, 0x008E, 0x006D, 0x006E, 0x004D, 0x004D, 0x006D, 0x006D, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x010F, 0x01F1, 0x006D, 0x006D, 0x004D, 0x006E, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004E, 0x006D, 0x006D, 0x004D, 0x40CF, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70F0, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x004D, 0x004D, 0x006D, 0x0191, 0x01B1, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp index cff7c0b0a7e3..b90228af03a8 100644 --- a/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp +++ b/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp @@ -25,325 +25,325 @@ #if HAS_GRAPHICAL_TFT extern const uint16_t marlin_logo_480x320x16[153600] = { - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x10ae, 0x00f8, 0x00f9, 0x00d6, 0x18ad, 0x188c, 0x188c, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x188d, 0x188d, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ac, 0x18ac, 0x188d, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x18ac, 0x18ac, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x18ab, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x10ae, 0x00f7, 0x00f9, 0x00f6, 0x188d, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x188d, 0x18ac, 0x18ac, 0x188d, 0x188d, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x10af, 0x00f8, 0x00f8, 0x00f7, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188d, 0x18ac, 0x18ad, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x10af, 0x00f7, 0x00f8, 0x00f6, 0x18ad, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x10af, 0x00f8, 0x00f9, 0x00d6, 0x18ad, 0x18ad, 0x188c, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x188d, 0x18ac, 0x18ad, 0x18af, 0x00f8, 0x00f9, 0x00f6, 0x18ae, 0x188d, 0x18ac, 0x188d, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x10d3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, - 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x188c, 0x18ac, 0x188d, 0x10af, 0x00f8, 0x0119, 0x00d7, 0x18ae, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, - 0x188b, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, - 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, - 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x08b2, 0x08d2, - 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x00f8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08f6, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f8, 0x00f8, - 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0117, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x00f9, 0x00f9, - 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x0119, 0x00f6, 0x10f2, 0x10d1, 0x10d0, 0x10d1, 0x10d3, 0x08f6, 0x00f9, 0x00f9, 0x0119, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f8, 0x00f8, - 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18d0, 0x0118, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f9, 0x00f9, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18cd, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x00f9, 0x00f8, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08d5, 0x011a, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x00f9, 0x00f8, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0118, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x00f9, 0x00f9, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f9, 0x0119, 0x011a, 0x0119, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x188c, 0x00f9, 0x00f9, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0118, 0x0119, 0x0119, 0x0118, 0x10d1, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f3, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x011a, 0x0119, 0x08f3, 0x10d1, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f7, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x10d0, 0x10f4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x0117, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f9, 0x00f9, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x08f5, 0x0139, 0x00fa, 0x011a, 0x0119, 0x08f5, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x08f4, 0x20ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08d4, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x00f7, 0x011a, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x00f9, 0x00f9, - 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0118, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x0118, 0x0119, 0x08f7, 0x10d1, 0x10d1, 0x00f7, 0x0119, 0x0118, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x00f6, 0x011a, 0x08f3, 0x18ae, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08d4, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x00f7, 0x011a, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00f9, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d1, 0x18cd, 0x18ad, 0x10d1, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f4, 0x011a, 0x011a, 0x10f1, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d0, 0x18ae, 0x08d5, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f7, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x10d0, 0x10f4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x0117, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10f2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, - 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x10b1, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, - 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0118, 0x0119, 0x00f7, 0x10d1, 0x10d1, 0x00f7, 0x0119, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, - 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10f1, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10f1, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08d5, 0x011a, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, - 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x10d1, 0x00f8, 0x0119, 0x0119, 0x00f8, 0x10d1, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0118, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d3, 0x10d3, - 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x0119, 0x00f6, 0x10f2, 0x10d1, 0x10d0, 0x10d1, 0x10d3, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d2, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x011a, 0x08f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x013a, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cf, 0x0119, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08f5, 0x10d1, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x10d2, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x08d5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x011a, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d0, 0x10d3, 0x08f4, 0x08f3, 0x08f3, 0x10f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x10d3, 0x10d3, 0x08f3, 0x08f3, 0x08d4, 0x10d3, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cf, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18cd, 0x10f3, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, - 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d1, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ae, 0x18ae, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f4, - 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18cd, 0x18af, 0x0119, 0x011a, 0x00f9, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, - 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, - 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x10d2, - 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x00f9, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x00f9, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x08d3, 0x18ad, 0x18ad, 0x08d3, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d3, 0x18ad, - 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10b0, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0139, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x20ce, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0139, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, - 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0116, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x10d1, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, - 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00fa, 0x18d1, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10f3, 0x08d3, 0x10d2, 0x0117, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0116, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18af, 0x00f8, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x00f9, 0x18ad, 0x18ae, 0x208d, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18af, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18cd, 0x20ad, 0x18ae, 0x18ae, 0x00f7, - 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x08f6, 0x0119, 0x0119, 0x011a, 0x0119, 0x0116, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cf, 0x00f9, 0x011a, 0x08f5, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x00f8, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, - 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18cf, - 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x18d0, 0x18ad, - 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ae, - 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00fa, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, - 0x08f7, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x10f3, 0x08f3, 0x10d3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x10f2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f3, 0x0119, 0x0119, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x310e, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18d0, - 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x28ee, 0x8252, 0xcb54, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, - 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x394f, 0xb313, 0xd395, 0x7211, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x496f, 0xcb55, 0xd395, 0xbb54, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x00f7, - 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00fa, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x61d0, 0xd395, 0xd395, 0xd395, 0x69f1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x011a, 0x00f7, 0x18ae, - 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x61d0, 0xd395, 0xd395, 0xd396, 0xd375, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, - 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, - 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10f2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8252, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, - 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x08f7, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x5190, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x412f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x10f3, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0355, 0x190f, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f4, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x496f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x011a, 0x0117, 0x0117, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18b0, 0x0119, 0x00f9, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x11d1, 0x03b7, 0x0a93, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x28ee, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9ab3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x00f9, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x10af, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x10d0, 0x0118, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x10f2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x7a31, 0xd395, 0xd395, 0xd375, 0xdb95, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f4, 0x10d2, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x00fa, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11d1, 0x03b8, 0x03b7, 0x03b8, 0x0a94, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x00f9, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xd395, 0xb313, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x190e, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0xa2d3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xa2d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a94, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x61d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ce, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0397, 0x03b8, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x59d0, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x011a, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x011a, 0x10d2, 0x18cd, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x61b1, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8a92, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x188d, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0xaad3, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03d7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0x7231, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x08d3, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x20ae, 0x8a92, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x7a31, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x28ee, 0xc374, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xa2d3, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ce, 0x194f, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x61d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x69f1, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x011a, 0x00f9, 0x08f7, 0x18ce, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x02f5, 0x03b7, 0x03b8, 0x0356, 0x114f, 0x18ad, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x9ab3, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x0a32, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0356, 0x18ad, 0x18ad, 0x0a32, 0x03b7, 0x03b8, 0x03b8, 0x03b8, 0x0376, 0x18ee, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x00f9, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x190f, 0x0377, 0x0397, 0x03b8, 0x0398, 0x0397, 0x0b77, 0x18ce, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0bb7, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x4970, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ee, 0x0377, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a33, 0x190e, 0x0397, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x11d1, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11b0, 0x0a93, 0x0356, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x1253, 0x0b78, 0x0b98, 0x0b78, 0x0b98, 0x0b98, 0x1378, 0x11f2, 0x18ad, 0x18ad, 0x0b98, 0x0b78, 0x0b78, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0b98, 0x1378, 0x0b78, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x4970, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0x8252, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x0377, 0x0ad4, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x02f5, 0x18ae, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x192f, 0x03b7, 0x03b7, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1ab5, 0x1b78, 0x1b58, 0x1358, 0x1b78, 0x1378, 0x1358, 0x1a13, 0x18ae, 0x18ae, 0x1358, 0x1358, 0x1378, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1358, 0x1358, 0x1358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd395, 0xc354, 0x5990, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0356, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x194f, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f8, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f9, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1a54, 0x1b38, 0x1b38, 0x2338, 0x1b38, 0x1b58, 0x2338, 0x21d2, 0x18ad, 0x18ad, 0x2338, 0x2338, 0x2358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x2339, 0x2358, 0x2338, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xa2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x1170, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x0a53, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0396, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x2150, 0x2b18, 0x2b39, 0x2b18, 0x2b19, 0x2b19, 0x2af8, 0x18ce, 0x18ad, 0x18ad, 0x2b19, 0x2b18, 0x2b19, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x2192, 0x2b19, 0x2b19, 0x2b18, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xbb34, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0af5, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0377, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x11b0, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x0117, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x10cf, 0x0118, 0x0119, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2192, 0x2b19, 0x3319, 0x32f9, 0x2a15, 0x18ef, 0x20ad, 0x18ad, 0x18ad, 0x32f9, 0x3319, 0x32f9, 0x18ad, 0x18ad, 0x18ad, 0x2191, 0x3319, 0x2af9, 0x3319, 0x2af9, 0x2a97, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x190f, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x11d1, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x18d0, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x3ad9, 0x3ad9, 0x3ad9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x3af9, 0x3ad9, 0x3ad9, 0x18ad, 0x20ad, 0x3215, 0x3ad9, 0x3af9, 0x3ada, 0x3ad9, 0x3277, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x4950, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xaab3, 0x20ce, 0x18ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x03b7, 0x0397, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0ad5, 0x0397, 0x0398, 0x03b8, 0x0398, 0x03b8, 0x18ee, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0398, 0x0398, 0x03b8, 0x0398, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x0398, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0139, 0x011a, 0x0117, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x42d9, 0x42b9, 0x42b9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x42b9, 0x42b9, 0x42ba, 0x18ae, 0x31f5, 0x42da, 0x42d9, 0x42b9, 0x42d9, 0x3a77, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x5991, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xd355, 0x9252, 0x30ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, 0x2338, 0x2338, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x2150, 0x2318, 0x2338, 0x2338, 0x2318, 0x2318, 0x2338, 0x21f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2339, 0x2318, 0x2318, 0x2339, 0x2338, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2338, 0x2338, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x00f7, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x4ab9, 0x4a9a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4aba, 0x4aba, 0x4a9a, 0x4257, 0x4a99, 0x4a9a, 0x4a9a, 0x4aba, 0x4237, 0x20ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x69f1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xcb14, 0x4130, 0x20af, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x42b9, 0x4a99, 0x42b9, 0x42ba, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4257, 0x4aba, 0x4a9a, 0x4a99, 0x42b9, 0x4a9a, 0x42b9, 0x4a9a, 0x20ef, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a9a, 0x42b9, 0x42b9, 0x4aba, 0x4ab9, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x42b9, 0x4aba, 0x4a99, 0x4a99, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x527a, 0x527a, 0x527a, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x527a, 0x527a, 0x529a, 0x527a, 0x527a, 0x527a, 0x527a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18d2, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x8253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0x7a11, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x621a, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x6a3b, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x3932, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x59d7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a1b, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x011a, 0x00f7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x20ae, 0x08f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x5a5b, 0x5a5a, 0x5a7a, 0x2910, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x5a5a, 0x5a7b, 0x5a5a, 0x5a5a, 0x5a5a, 0x5a5a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x091a, 0x18f2, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x8232, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xa293, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x89bc, 0x89bc, 0x91bc, 0x89bc, 0x899c, 0x89bc, 0x89bc, 0x89bb, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x899b, 0x89bc, 0x89bc, 0x89bc, 0x799a, 0x7179, 0x89bb, 0x899c, 0x89bc, 0x89bc, 0x38f1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x899c, 0x899c, 0x89bc, 0x89bc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x89bc, 0x899c, 0x89bc, 0x899c, 0x89bc, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0117, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x623a, 0x623b, 0x625a, 0x621a, 0x2910, 0x18cd, 0x18ad, 0x18ad, 0x623b, 0x623a, 0x625a, 0x623b, 0x623b, 0x51f8, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x0917, 0x18d2, 0x18d2, 0x0918, 0x091a, 0x0918, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30d0, 0x30f0, 0x30f0, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0x9253, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xb11d, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x60f5, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0x60f5, 0x40d1, 0xb11d, 0xb13d, 0xa93d, 0xa93d, 0x991b, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xa93d, 0xa93d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x00f7, 0x00f7, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x59d8, 0x6a1b, 0x6a1b, 0x6a1b, 0x6a1b, 0x4133, 0x18ad, 0x18ad, 0x6a3b, 0x6a1b, 0x6a1b, 0x6a1b, 0x51b6, 0x20cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d3, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18d1, 0x20ce, 0x20ce, 0x18d1, 0x093a, 0x093a, 0x28ef, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x9273, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0xd335, 0xd334, 0xd334, 0xd314, 0xd315, 0xaa93, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd09e, 0xd0be, 0xd0be, 0x18ad, 0x18ad, 0x18ad, 0x30b0, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x20ae, 0x18ad, 0xb8bc, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x68b5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ce, 0x61b8, 0x721b, 0x71fb, 0x721b, 0x721b, 0x4133, 0x20ad, 0x71fb, 0x721b, 0x71fb, 0x4174, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x011a, 0x18d1, 0x20ae, 0x20ce, 0x20f1, 0x093a, 0x093a, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0xaaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ae, 0x20ad, 0x20ad, 0x20ae, 0x30ee, 0x6150, 0x81b1, 0xa1f2, 0xc233, 0xca53, 0xca54, 0xca53, 0xc233, 0xa1f2, 0x8191, 0x512f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0x18ad, 0x20ad, 0x18ad, 0xb079, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xa058, 0x18ad, 0x18ad, 0x7095, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xe83e, 0x28ae, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf01f, 0xf03f, 0xf03f, 0xf03f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d0, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ce, 0x69b9, 0x81fb, 0x79db, 0x79dc, 0x81fc, 0x5976, 0x79db, 0x79dc, 0x81dc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0918, 0x0119, 0x0917, 0x18d0, 0x20d0, 0x0917, 0x093a, 0x1138, 0x28cf, 0x30cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0xaad4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd315, 0xd314, 0x69b2, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x410f, 0x6990, 0x99f2, 0xc253, 0xca74, 0xd274, 0xca74, 0xd253, 0xca53, 0xca53, 0xca53, 0xd233, 0xd253, 0xca53, 0xd233, 0xca33, 0xc213, 0x8991, 0x410f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0119, 0x011a, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x7199, 0x89db, 0x89bc, 0x81bc, 0x89bc, 0x89bc, 0x89bc, 0x89bc, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d2, 0x0119, 0x0119, 0x093a, 0x093a, 0x093a, 0x093a, 0x20f2, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xcad4, 0x5971, 0x30f0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x38ef, 0x79b1, 0xba53, 0xca94, 0xca94, 0xca74, 0xd273, 0xd273, 0xca73, 0xca54, 0xca53, 0xca54, 0xca53, 0xca33, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xd213, 0xca13, 0xca13, 0xa1b2, 0x490f, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x7979, 0x919c, 0x919c, 0x91bc, 0x919c, 0x899c, 0x89bc, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x18f2, 0x0919, 0x091a, 0x091a, 0x0919, 0x20f3, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x4112, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd314, 0xd2f5, 0xd2f4, 0xd2f4, 0x4930, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x4130, 0x89f1, 0xd294, 0xd294, 0xca93, 0xca74, 0xd274, 0xca74, 0xca74, 0xca53, 0xca73, 0xd253, 0xd254, 0xca53, 0xca53, 0xca54, 0xc274, 0x9b36, 0x83b8, 0x6419, 0x6c39, 0x6439, 0x6c1a, 0x8b57, 0xb295, 0xca13, 0x9191, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cf, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x28ae, 0x8159, 0x917c, 0x997c, 0x997c, 0x999c, 0x999c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20d0, 0x20d1, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd2f4, 0xd2f4, 0xd315, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d5, 0x79d2, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28ef, 0x28f0, 0x28cf, 0x5150, 0xaa32, 0xd293, 0xd294, 0xd294, 0xca93, 0xca74, 0xca74, 0xca74, 0xca74, 0xd274, 0xd254, 0xca53, 0xca54, 0xb2d5, 0x83b8, 0x44fc, 0x1dbe, 0x063f, 0x0cdb, 0x0b76, 0x1377, 0x1377, 0x0b76, 0x1356, 0x0b76, 0x0b77, 0x23f8, 0x6991, 0x510f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x8939, 0xa17c, 0xa17c, 0xa15d, 0xa15d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8a54, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0x5951, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x4130, 0x91f2, 0xd294, 0xd294, 0xca94, 0xca74, 0xca94, 0xca94, 0xca74, 0xd274, 0xd274, 0xd274, 0xd253, 0xb2d5, 0x7419, 0x257d, 0x063f, 0x061f, 0x057d, 0x12b5, 0x190f, 0x18ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x913a, 0xa93d, 0xa95d, 0xa95c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xcab4, 0x5172, 0x3911, 0x38f1, 0x38f0, 0x30f0, 0x81d2, 0xc294, 0xd294, 0xd293, 0xd294, 0xd294, 0xca93, 0xca93, 0xd274, 0xd274, 0xca73, 0xd274, 0x83d8, 0x353d, 0x061f, 0x063f, 0x063f, 0x063f, 0x4c5a, 0x4970, 0x20ae, 0x20ae, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xb11d, 0xb11d, 0xb11d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6b36, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xcad4, 0xcab4, 0x5972, 0x3911, 0x5151, 0xb253, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xd274, 0xc294, 0x645a, 0x1dbe, 0x063f, 0x063f, 0x063f, 0x1dbe, 0x6459, 0xc274, 0x99d2, 0x28ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0xb8fe, 0xb8fd, 0xb8fe, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253b, 0x465c, 0x6d7b, 0x6d9a, 0x6d9a, 0x6d7a, 0x84f9, 0x9c78, 0x9c77, 0x9c78, 0x9c78, 0x9c57, 0x9c78, 0x9c58, 0x9c58, 0xbbb6, 0xd334, 0xd315, 0xd334, 0xd315, 0xd314, 0xd315, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xcad4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2d4, 0x91f3, 0x5972, 0xca74, 0xd2b4, 0xd2b4, 0xd294, 0xca94, 0xd294, 0xd294, 0xca94, 0xca74, 0xc2b4, 0x6c5a, 0x0dff, 0x063f, 0x063f, 0x063f, 0x353d, 0x83b8, 0xca53, 0xca33, 0x89b1, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0xc0de, 0xc0fe, 0xc0dd, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00fa, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x38f1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4d1a, 0x6d9a, 0x94b9, 0x9c98, 0x9c77, 0x9c78, 0x9c78, 0x9c78, 0x94b8, 0x6d7a, 0x6d7a, 0x6d7b, 0x367c, 0x367d, 0x1efe, 0x077f, 0x075f, 0x1ede, 0x363d, 0x6d3a, 0x9c17, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xcad4, 0xd2b3, 0xcab4, 0xc294, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca74, 0xca74, 0xca74, 0x7bd8, 0x0dff, 0x063f, 0x061f, 0x063f, 0x4cbb, 0x9b57, 0xd233, 0xca33, 0xca53, 0x6150, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x20ae, 0x10d2, 0x10d3, 0x08f3, 0x08f3, 0x18d0, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x08f3, 0x18d0, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d1, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d1, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x08f3, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8be, 0xc8de, 0xc8be, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xa2b5, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xbb96, 0xa437, 0x74f9, 0x4dbc, 0x2e7e, 0x0edf, 0x559b, 0x8498, 0xc335, 0xd2f4, 0xd2d4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2b5, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xbab4, 0xbaf6, 0xca94, 0xd294, 0xca94, 0xd273, 0x9b76, 0x1dbe, 0x061f, 0x063f, 0x0ddf, 0x643a, 0xb2d5, 0xca54, 0xd253, 0xca53, 0xc294, 0x59b1, 0x28ce, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x0116, 0x00f9, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d3, 0x011a, 0x0119, 0x00f9, 0x00f6, 0x18ad, 0x08f6, 0x011a, 0x011a, 0x0119, 0x10d3, 0x18cd, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f7, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18cd, 0x00f7, 0x011a, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d1, 0x18ce, 0x00f7, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x40b0, 0xa09a, 0xd0be, 0xd09e, 0xd0be, 0xb89c, 0x78b5, 0x28ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd335, 0xd315, 0xd314, 0xd315, 0xd2f5, 0xd2f5, 0xd2f4, 0x9bf7, 0x6d1a, 0x2e3d, 0x45bc, 0x9418, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xc2d4, 0x4cdb, 0x7bd8, 0x9b57, 0x44fc, 0x063f, 0x063f, 0x1dbe, 0x83d8, 0xc294, 0xca53, 0xca54, 0xca33, 0xca53, 0xb2b5, 0x33b8, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188e, 0x20cd, 0x10d1, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x011a, 0x0119, 0x00f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x00f7, 0x0119, 0x0139, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0139, 0x0119, 0x08f7, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f7, 0x011a, 0x0119, 0x011a, 0x10d3, 0x20ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x08f7, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ae, 0x18ae, 0x18cf, 0x00f8, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x10d0, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x40b0, 0xd07d, 0xd87e, 0xd89f, 0xd89f, 0xe07f, 0xd89e, 0xd89f, 0xb87b, 0x28ae, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xbb14, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd314, 0xd335, 0xd315, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xc335, 0x8478, 0x4d7b, 0x4d5b, 0xab96, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xca94, 0xcab4, 0xd294, 0xd294, 0xd273, 0xc2b4, 0x5c9a, 0x061f, 0x061f, 0x063f, 0x7419, 0xd273, 0xd273, 0xca53, 0xca53, 0xd233, 0xca53, 0xaaf6, 0x153c, 0x2951, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x011a, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x20ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x10b0, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb07a, 0xe85f, 0xe85f, 0xe07f, 0xe85f, 0xe87f, 0xe07f, 0xe85f, 0xe07f, 0x9898, 0x20ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd315, 0xcb34, 0xd315, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xd2d4, 0xbb55, 0x7499, 0x35dc, 0x8439, 0xc2f4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xca93, 0xd294, 0xd274, 0xca74, 0x9b76, 0x061f, 0x061f, 0x83d8, 0xc295, 0xca53, 0xca53, 0xca53, 0xca53, 0x7bb8, 0x063f, 0x2a34, 0x30f0, 0x30f0, 0x30ef, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x00f6, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x38b0, 0xf05f, 0xe83f, 0xf03f, 0xf05f, 0xf05f, 0xf03f, 0xf03f, 0xf03f, 0xf05f, 0xe83f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xbb35, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xcad4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2d4, 0xcab4, 0xd2b4, 0xcab4, 0xcab4, 0x8bf8, 0x3d5c, 0x6499, 0xc2d4, 0xd294, 0xd294, 0xca74, 0xca74, 0xd274, 0xca74, 0xca74, 0x54bb, 0x5c9a, 0x353d, 0x1dbe, 0x4cbb, 0x9377, 0x9b36, 0x44fc, 0x061f, 0x1bf9, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x011a, 0x10d3, 0x18ad, 0x08f6, 0x0119, 0x00f9, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x10d3, 0x0119, 0x011a, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x20ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d0, 0x011a, 0x011a, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x00f9, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f4, 0x10f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x5092, 0xf83f, 0xf83f, 0xf03f, 0xf83f, 0xf83f, 0xf83f, 0xf83f, 0xf81f, 0xf03f, 0xf83f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69b3, 0xc355, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd2f5, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0x9b97, 0x453c, 0x6c59, 0xc2b4, 0xca74, 0xd274, 0xd273, 0xca73, 0xd273, 0xc294, 0x6c39, 0xc294, 0xca53, 0x8b98, 0x4cbb, 0x0dff, 0x063f, 0x0d7e, 0x3972, 0x3911, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x011a, 0x00f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x00f9, 0x011a, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x00f6, 0x00f9, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x011a, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x5092, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0x9b77, 0x44dc, 0x73f9, 0xca73, 0xca74, 0xd254, 0xca73, 0xca53, 0xc294, 0x351c, 0x6c3a, 0xc294, 0xd253, 0xca34, 0x83b8, 0x5a55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00fa, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x011a, 0x08f7, 0x18ad, 0x0116, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4090, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x28af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69d3, 0xc355, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xcb55, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcad4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xcab4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0xd274, 0xca74, 0x8b78, 0x447c, 0xa316, 0xd253, 0xd253, 0xca54, 0xca53, 0xc294, 0x257d, 0x0ddf, 0x83b8, 0xd233, 0xca33, 0xca33, 0xba13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x30d0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0116, 0x20ad, 0x08f6, 0x011a, 0x00f9, 0x0119, 0x10f3, 0x18ad, 0x0116, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x10d4, 0x011a, 0x011a, 0x0119, 0x08f6, 0x20ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x00f9, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0xd03c, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xd03c, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xaad4, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd2b4, 0xca94, 0xca94, 0xd294, 0xca74, 0xca73, 0xca74, 0xd274, 0xc295, 0x6bb9, 0x6b99, 0xca54, 0xca53, 0xd254, 0xca33, 0xc294, 0x24fd, 0x063f, 0x351d, 0xb295, 0xca13, 0xca13, 0xca13, 0xb9f3, 0x7992, 0x4111, 0x4112, 0x38f1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x00f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x10d2, 0x10f3, 0x08f3, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x4090, 0xf03f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x6073, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xcb55, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd314, 0xd335, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca74, 0xca74, 0xca74, 0xca73, 0xca73, 0xca53, 0xca53, 0xca74, 0xaab6, 0x5b7a, 0xba74, 0xca53, 0xca33, 0xca33, 0xc254, 0x4bfb, 0x059f, 0x0d7f, 0x8b57, 0xc9f3, 0xca13, 0xc9f3, 0xc9f3, 0xa9b3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x10d3, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x18d1, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x10b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10b0, 0x10d3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x10d0, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x08f3, 0x10d0, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x10d2, 0x10d4, 0x08f3, 0x08f3, 0x18d1, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x18d1, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4091, 0xe01d, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x7074, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ae, 0x18cd, 0x20ae, 0x20cd, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xb2f4, 0xd395, 0xdb95, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0x84f9, 0x467d, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x1f1e, 0x367d, 0x367c, 0x4ddb, 0x653a, 0x8498, 0x9bf7, 0xc2f5, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca73, 0xd253, 0xd254, 0xca74, 0xca53, 0xca53, 0xca53, 0xd253, 0x72d9, 0xaa76, 0xca33, 0xd233, 0xca13, 0xca33, 0x1c7e, 0x059f, 0x05ff, 0x5c7a, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18cd, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10b0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x7074, 0x9077, 0x8856, 0x8876, 0x388f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x3911, 0x4111, 0x4132, 0x6193, 0xc355, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x271d, 0x07ff, 0x07ff, 0x07bf, 0x079f, 0x079f, 0x077f, 0x079f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x079f, 0x1efe, 0x461c, 0x6d1a, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca73, 0xd274, 0xca74, 0xca53, 0xd254, 0xca54, 0xd253, 0xca53, 0xca33, 0xa275, 0x9a76, 0xca33, 0xca13, 0xca33, 0x9ad6, 0x04ff, 0x05bf, 0x063f, 0x357c, 0xc254, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ae, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x0117, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xcb55, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xcb55, 0xd334, 0xcb55, 0xac17, 0x0fbf, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x365c, 0x74b9, 0xb315, 0xca73, 0xca54, 0xca54, 0xca53, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xb235, 0xaa16, 0xca33, 0xca13, 0xca13, 0x7b37, 0x055f, 0x05ff, 0x067f, 0x25dd, 0xa2f5, 0xd1d3, 0xc9f3, 0xc9d3, 0xc9d2, 0xc9d3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ce, 0x20ad, 0x10f4, 0x011a, 0x0119, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61b3, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0x8cb8, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06df, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x071f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x071f, 0x2dfd, 0x7419, 0xb2b5, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0xd233, 0xca14, 0xa215, 0xca13, 0xca13, 0xc9f3, 0x8338, 0x05bf, 0x063f, 0x06bf, 0x0e9f, 0xaad5, 0xc9d3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b2, 0xb1b2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18cf, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x20ae, 0x18d0, 0x0119, 0x0119, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3111, 0x38f1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xc395, 0x5dfa, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06bf, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x06ff, 0x06bf, 0x065f, 0x05bf, 0x443c, 0x8af7, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca13, 0x99b6, 0xc9f3, 0xca13, 0xc9f3, 0x4c3b, 0x061f, 0x069f, 0x06ff, 0x0ebe, 0xa2d5, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9b2, 0xc1b3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x20ae, 0x20ad, 0x18ce, 0x0119, 0x0119, 0x10d3, 0x20ce, 0x20ae, 0x10f4, 0x0119, 0x011a, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067f, 0x067f, 0x067f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x065f, 0x065f, 0x067f, 0x067f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x065f, 0x05ff, 0x053f, 0x049f, 0x1bbe, 0x8298, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0xd1f3, 0x99b6, 0xc9f3, 0xc9f3, 0xb254, 0x0d9f, 0x067f, 0x06df, 0x06ff, 0x0ebf, 0xa2d5, 0xc9d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011a, 0x10f5, 0x20ce, 0x20cf, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xac37, 0x6d9a, 0x2efe, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x075f, 0x073f, 0x071f, 0x06df, 0x06bf, 0x069f, 0x067f, 0x065f, 0x065f, 0x063f, 0x063f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x063f, 0x063f, 0x063f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x067f, 0x063f, 0x05df, 0x055f, 0x04bf, 0x043f, 0x037f, 0x1abe, 0x7a18, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc1f4, 0x7178, 0xc9f2, 0xd1f3, 0x8338, 0x061f, 0x06bf, 0x06ff, 0x071f, 0x0edf, 0xa2d5, 0xc9b3, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x18ce, 0x0918, 0x011a, 0x011a, 0x0919, 0x011a, 0x0917, 0x20cf, 0x28ae, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xa2b4, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xc3b6, 0x8519, 0x4e3c, 0x0f9f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x06ff, 0x06bf, 0x069f, 0x067f, 0x065f, 0x063f, 0x061f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05df, 0x057f, 0x04ff, 0x047f, 0x03df, 0x031f, 0x025f, 0x19de, 0x79b8, 0xc9f3, 0xca13, 0xc9f3, 0xb9d3, 0xa1b5, 0xc9d3, 0xc9f3, 0x4c5b, 0x065f, 0x06df, 0x071f, 0x071f, 0x0edf, 0xa2b5, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc993, 0xc992, 0xb172, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x10f3, 0x10f3, 0x10d2, 0x20ae, 0x18ae, 0x20ae, 0x18ce, 0x20ce, 0x20ce, 0x20ce, 0x18f2, 0x10f4, 0x1114, 0x18f3, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xc3b5, 0x7d59, 0x36bd, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x071f, 0x06de, 0x069e, 0x067e, 0x065e, 0x063f, 0x063f, 0x061e, 0x05ff, 0x05df, 0x05bf, 0x05bf, 0x059f, 0x059f, 0x059f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x059f, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05bf, 0x057f, 0x04ff, 0x049f, 0x03ff, 0x037f, 0x02bf, 0x021f, 0x017f, 0x213d, 0x9996, 0xc9f3, 0xc9f3, 0xb9d4, 0x99b6, 0xc9d3, 0xc213, 0x0dbf, 0x069f, 0x06ff, 0x071f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xa972, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20af, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xaab5, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0x94d8, 0x467c, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x06de, 0x06be, 0x067e, 0x067e, 0x065e, 0x063e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059f, 0x057f, 0x057f, 0x055f, 0x055f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x055f, 0x055f, 0x055f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x055f, 0x04ff, 0x04bf, 0x041f, 0x039f, 0x031f, 0x025f, 0x01bf, 0x013f, 0x00bf, 0x40fb, 0xb1b5, 0xc9d2, 0xb1d5, 0xb1d4, 0xc9b3, 0x6399, 0x061f, 0x06df, 0x071f, 0x073f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc972, 0xc972, 0xc992, 0xc972, 0xb152, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20cd, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30d0, 0x28f0, 0x3110, 0x30f0, 0x30f0, 0x30f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4a16, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0x8539, 0x1f5e, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x07bf, 0x075f, 0x06be, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059e, 0x057e, 0x055f, 0x053f, 0x053f, 0x051f, 0x051f, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x053f, 0x053f, 0x051f, 0x04df, 0x04bf, 0x043f, 0x03df, 0x035f, 0x02bf, 0x021f, 0x017f, 0x00ff, 0x009f, 0x087f, 0x7119, 0xc9d3, 0xb1d4, 0xb9d3, 0xc9b3, 0x1cfe, 0x065f, 0x06ff, 0x071f, 0x073f, 0x073f, 0x1ebe, 0xb9f3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc973, 0xc952, 0xb152, 0x4111, 0x3910, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20cd, 0x20ce, 0x20ae, 0x20ae, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4a15, 0x3439, 0x16bd, 0x8519, 0xd395, 0xd395, 0xd395, 0x94d8, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x071e, 0x069d, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fd, 0x05dd, 0x05bd, 0x059d, 0x059e, 0x057e, 0x055e, 0x053e, 0x051e, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x049f, 0x049f, 0x049f, 0x049f, 0x049f, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x04bf, 0x04df, 0x04df, 0x04df, 0x04bf, 0x049f, 0x043f, 0x03df, 0x035f, 0x02ff, 0x025f, 0x01bf, 0x013f, 0x00df, 0x007f, 0x005f, 0x185e, 0x8957, 0x61b9, 0xc9d3, 0x9a96, 0x059f, 0x067f, 0x06ff, 0x071f, 0x073f, 0x075f, 0x267d, 0xb9d3, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xb152, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cf, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x00f6, 0x18ce, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f1, 0x38f1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69b4, 0x6336, 0x6cd9, 0x4e5b, 0x07df, 0x8539, 0xd395, 0xd395, 0xbc17, 0x3e9c, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x06bd, 0x069c, 0x069c, 0x067c, 0x065c, 0x065c, 0x063c, 0x061c, 0x05fc, 0x05dc, 0x05bc, 0x05bd, 0x059d, 0x057d, 0x055d, 0x053e, 0x051e, 0x04fe, 0x04de, 0x04be, 0x04bf, 0x049f, 0x047f, 0x047f, 0x047f, 0x045f, 0x045f, 0x045f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x049f, 0x047f, 0x045f, 0x041f, 0x03df, 0x037f, 0x031f, 0x029f, 0x021f, 0x017f, 0x011f, 0x00bf, 0x005f, 0x001f, 0x001f, 0x00ff, 0x89b7, 0xc9b3, 0x447b, 0x065f, 0x06bf, 0x071f, 0x073f, 0x073f, 0x075f, 0x3d9b, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xa132, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20cd, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x40f1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61b3, 0x9274, 0xb2f5, 0xc355, 0xd395, 0xd395, 0xd395, 0xbc16, 0x469d, 0x8539, 0xd376, 0xd375, 0x6dba, 0x0f9f, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x077f, 0x06bc, 0x06bb, 0x069b, 0x067b, 0x065b, 0x063b, 0x063b, 0x061b, 0x05fb, 0x05db, 0x05bb, 0x059c, 0x059c, 0x057c, 0x055c, 0x053d, 0x051d, 0x04fd, 0x04dd, 0x04be, 0x049e, 0x047f, 0x047f, 0x045f, 0x043f, 0x043f, 0x041f, 0x041f, 0x041f, 0x041f, 0x041f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x041f, 0x03ff, 0x03bf, 0x037f, 0x033f, 0x02bf, 0x023f, 0x01df, 0x015f, 0x00df, 0x009f, 0x005f, 0x001f, 0x005f, 0x097f, 0xb9b3, 0xb214, 0x0dbf, 0x06ff, 0x075f, 0x073f, 0x073f, 0x075f, 0x077f, 0x6479, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x9132, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x3110, 0x38f0, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xc335, 0xd395, 0xd395, 0xd395, 0xd395, 0xac57, 0x7d7a, 0x469c, 0x0f9f, 0xa4b8, 0xd395, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x075d, 0x06bb, 0x06bb, 0x069a, 0x067a, 0x065a, 0x065a, 0x063a, 0x061a, 0x05fa, 0x05da, 0x05db, 0x05bb, 0x059b, 0x057b, 0x055b, 0x053c, 0x053c, 0x051c, 0x04fc, 0x04dd, 0x04bd, 0x047e, 0x047e, 0x045e, 0x043f, 0x041f, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03bf, 0x035f, 0x031f, 0x02df, 0x027f, 0x01ff, 0x019f, 0x011f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x009f, 0x39db, 0xc992, 0x6399, 0x069f, 0x079f, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x079f, 0x9af6, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x7112, 0x3110, 0x30f0, 0x30ef, 0x28f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d3, 0x10d2, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xcb75, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x1f7e, 0x07ff, 0x07ff, 0x36dd, 0xbc17, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x071b, 0x06da, 0x06ba, 0x06ba, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05f9, 0x05da, 0x05ba, 0x059a, 0x057a, 0x055a, 0x055b, 0x053b, 0x051b, 0x04fc, 0x04dc, 0x04bc, 0x049d, 0x047d, 0x045d, 0x043e, 0x041e, 0x03fe, 0x03df, 0x03df, 0x03bf, 0x03bf, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x037f, 0x035f, 0x031f, 0x02df, 0x027f, 0x023f, 0x01bf, 0x015f, 0x00ff, 0x009f, 0x005f, 0x001f, 0x003f, 0x011f, 0x99b6, 0xb9d3, 0x0d9f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f7e, 0xb9b3, 0xc952, 0xc952, 0xc952, 0xc952, 0xc931, 0xc932, 0xc132, 0x6111, 0x38f0, 0x30f0, 0x28f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xa2b4, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x0fbf, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x1f7e, 0x07df, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x06f9, 0x06f9, 0x06d9, 0x06b8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05f8, 0x05d8, 0x05b8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051a, 0x04fa, 0x04db, 0x04bb, 0x049c, 0x047c, 0x045d, 0x043d, 0x041e, 0x03fe, 0x03de, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02bf, 0x027f, 0x023f, 0x01ff, 0x019f, 0x013f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x005f, 0x197e, 0xb993, 0x6379, 0x063f, 0x073f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dfb, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc932, 0xc912, 0xb912, 0x4111, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x08f6, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79f3, 0xb2f4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x94f9, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x079d, 0x0719, 0x06f8, 0x06f8, 0x06d7, 0x06b7, 0x06b7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05f7, 0x05d7, 0x05b7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04f9, 0x04da, 0x04bb, 0x049b, 0x047c, 0x043c, 0x041d, 0x041d, 0x03fe, 0x03de, 0x03be, 0x039e, 0x037f, 0x035f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x027f, 0x023f, 0x01ff, 0x019f, 0x015f, 0x00ff, 0x009f, 0x005f, 0x003f, 0x001f, 0x00bf, 0x59ba, 0xb9b3, 0x0d3f, 0x06bf, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7438, 0xc952, 0xc132, 0xc932, 0xc932, 0xc932, 0xc911, 0xc912, 0xa111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x08f5, 0x011a, 0x0119, 0x00fa, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x5151, 0x79f3, 0xa2b4, 0xcb75, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x469c, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0xc335, 0x45d7, 0x0738, 0x0717, 0x06f6, 0x06f6, 0x06d6, 0x06b5, 0x06b5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05f5, 0x05f5, 0x05d6, 0x05b6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04f9, 0x04d9, 0x049a, 0x047b, 0x045b, 0x043c, 0x041c, 0x03dd, 0x03dd, 0x03be, 0x039e, 0x037e, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x021f, 0x01ff, 0x01bf, 0x017f, 0x011f, 0x00df, 0x009f, 0x003f, 0x001f, 0x003f, 0x013f, 0xb174, 0x6339, 0x05ff, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb992, 0xc932, 0xc932, 0xc931, 0xc912, 0xc912, 0xc912, 0xc911, 0x8111, 0x30f0, 0x30f0, 0x28ef, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20d0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08f5, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x59b2, 0x7a13, 0x9a94, 0xbb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xac77, 0x2f1e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bc, 0x0759, 0xabb5, 0xc314, 0x1e97, 0x0736, 0x0716, 0x0715, 0x06f4, 0x06f4, 0x06f3, 0x06d3, 0x06b3, 0x06b2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05f4, 0x05d4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04f8, 0x04b9, 0x0499, 0x045a, 0x043b, 0x041b, 0x03fc, 0x03dd, 0x03bd, 0x039d, 0x037e, 0x035e, 0x033e, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x021f, 0x01df, 0x019f, 0x017f, 0x013f, 0x00ff, 0x009f, 0x007f, 0x003f, 0x001f, 0x007f, 0x399b, 0xb993, 0x055f, 0x067f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x45db, 0xc132, 0xc932, 0xc912, 0xc132, 0xc912, 0xc912, 0xc911, 0xc912, 0x5111, 0x38f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x10d3, 0x10f4, 0x18d0, 0x18ad, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ce, 0x20ce, 0x28ae, 0x20ce, 0x28ee, 0x5171, 0x69d2, 0x8232, 0xaaf4, 0xc334, 0xd375, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x757a, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bd, 0x079b, 0x077a, 0x0779, 0x74d6, 0xd2d4, 0x9bf5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06f0, 0x06f0, 0x06d0, 0x06af, 0x06af, 0x066f, 0x0650, 0x0631, 0x0611, 0x05d2, 0x0594, 0x0554, 0x0515, 0x04f7, 0x04b8, 0x0478, 0x0459, 0x043a, 0x03fb, 0x03bc, 0x03bc, 0x039d, 0x037d, 0x035e, 0x033e, 0x031f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x027f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x013f, 0x011f, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x00df, 0xa175, 0x33bc, 0x05df, 0x06ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x92d5, 0xc911, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc112, 0xc912, 0xa8f1, 0x3110, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x390f, 0x4970, 0x59b0, 0x7a32, 0x9293, 0xaad3, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x9cb8, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07dd, 0x07bc, 0x079b, 0x079a, 0x079a, 0x0779, 0x55b7, 0xd2b4, 0xd2b4, 0x4db5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074f, 0x074e, 0x074d, 0x074d, 0x074c, 0x072b, 0x072b, 0x072a, 0x070a, 0x06ea, 0x06ac, 0x064d, 0x05d0, 0x0573, 0x04f5, 0x04b6, 0x0478, 0x0438, 0x041a, 0x03fb, 0x03bc, 0x039c, 0x037c, 0x033d, 0x033d, 0x031e, 0x02fe, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x009f, 0x005f, 0x003f, 0x001f, 0x003f, 0x213d, 0x1b1e, 0x051f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f3d, 0xc912, 0xc912, 0xc112, 0xc112, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0x80f1, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xc374, 0xa2d3, 0xaad3, 0x7a31, 0x7a31, 0x7a11, 0x7231, 0x5190, 0x496f, 0x496f, 0x4970, 0x496f, 0x494f, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x494f, 0x496f, 0x496f, 0x69f1, 0x7a31, 0x7a31, 0x9272, 0xa2d3, 0xaaf3, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd395, 0xac57, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x079a, 0x079a, 0x0799, 0x26b8, 0xcad4, 0xd2b4, 0xc314, 0x0f35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078e, 0x078e, 0x078d, 0x078c, 0x07aa, 0x07a9, 0x07a9, 0x07a8, 0x07c7, 0x07c5, 0x07c4, 0x07e4, 0x07a4, 0x0727, 0x068a, 0x05af, 0x0496, 0x0438, 0x03f9, 0x03ba, 0x039b, 0x035c, 0x035d, 0x031d, 0x031d, 0x02fe, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x007f, 0x023f, 0x041f, 0x05bf, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6498, 0xc911, 0xc912, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8d1, 0x50f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0117, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x8539, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x07ba, 0x07ba, 0x07b9, 0xd2b4, 0xd2b4, 0xd2b4, 0x6535, 0x07b5, 0x07b5, 0x07b4, 0x07b3, 0x07b2, 0x07b1, 0x07b0, 0x07af, 0x07ce, 0x07cd, 0x07cc, 0x07cb, 0x07ca, 0x07ca, 0x07c9, 0x07e8, 0x07e7, 0x07e6, 0x07e5, 0x07e5, 0x07e3, 0x07e3, 0x07e2, 0x07e1, 0x0726, 0x060c, 0x04b4, 0x03b9, 0x037b, 0x035c, 0x033d, 0x031d, 0x02de, 0x02df, 0x02be, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x015f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x007f, 0x003f, 0x001f, 0x001f, 0x011f, 0x02ff, 0x04df, 0x063f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb972, 0xc8f2, 0xc8f2, 0xc0f1, 0xc8f2, 0xc0f2, 0xc0f1, 0xc8d1, 0xa0f1, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x412f, 0x8a72, 0xc334, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xac57, 0x469c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x467c, 0x8519, 0x8519, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07de, 0x07de, 0x07dd, 0x07dc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x07da, 0x9bf5, 0xd2b4, 0xd2b4, 0xc2f4, 0x0f77, 0x07d6, 0x07d5, 0x07d4, 0x07d4, 0x07d3, 0x07d2, 0x07d1, 0x07d0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07ec, 0x07ea, 0x07e9, 0x07e9, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e4, 0x07e4, 0x07e3, 0x07e3, 0x07e2, 0x0785, 0x060c, 0x04d3, 0x035b, 0x031c, 0x02de, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x001f, 0x001f, 0x003f, 0x01df, 0x03bf, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d7a, 0xc111, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0d1, 0xc8d1, 0x68f1, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x414f, 0x61d1, 0x8251, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xbc16, 0x8539, 0x469c, 0x17bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8518, 0xd355, 0xd355, 0xd335, 0xd335, 0x84f8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07fe, 0x07dd, 0x07dd, 0x07bc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x8c56, 0xcab4, 0xcab4, 0xd294, 0x4df7, 0x07d7, 0x07d7, 0x07d6, 0x07f5, 0x07d5, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07e9, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e5, 0x07e5, 0x07e4, 0x07a6, 0x060e, 0x03f8, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x003f, 0x001f, 0x001f, 0x00bf, 0x029f, 0x049f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1d3, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0f1, 0xc8d1, 0xb8d1, 0x40f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0x496f, 0x5990, 0x7a12, 0x7a32, 0x9272, 0xa2d3, 0xa2d3, 0xc375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xac77, 0x757a, 0x36fd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4e3c, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd334, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07dd, 0x07dd, 0x07dc, 0x07fc, 0x07dc, 0x07db, 0x6d38, 0xcab4, 0xd294, 0xd294, 0xab95, 0x07d8, 0x07d8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ec, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07e9, 0x07e9, 0x07e8, 0x07e8, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e8, 0x07c8, 0x06eb, 0x0514, 0x033c, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0x015f, 0x037f, 0x057f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5a, 0xc8f1, 0xc8d1, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x78d1, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x496f, 0x496f, 0x4970, 0x7a12, 0x7a31, 0x8252, 0xaad3, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcbd6, 0x94f8, 0x565b, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb3f6, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd334, 0x1f7e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07dd, 0x07fd, 0x07fd, 0x07fd, 0x07dd, 0x07dc, 0x6d38, 0xcab4, 0xd294, 0xca94, 0xd294, 0x1f39, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ed, 0x07ec, 0x07eb, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07ca, 0x07ab, 0x076c, 0x070d, 0x05b2, 0x039b, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60d9, 0x0a3f, 0x047f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9d3, 0xc0d1, 0xc8d1, 0xc0f1, 0xc8b1, 0xc0d1, 0xc8b1, 0xc0b1, 0xb8b1, 0x48f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x4970, 0x5990, 0x7a31, 0x7231, 0x7a31, 0x7a31, 0x9ab3, 0xaad4, 0xa2d4, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0x94f8, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd315, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x6d58, 0xd294, 0xd293, 0xca94, 0xd274, 0x4df8, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f1, 0x07f0, 0x07f0, 0x07f0, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ed, 0x07cd, 0x078e, 0x076e, 0x0710, 0x06b1, 0x0574, 0x037b, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x013f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x88d6, 0x6159, 0x031f, 0x053f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5b, 0xc0d1, 0xc8d1, 0xc8d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b1, 0x90d1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ce, 0x18ad, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x290f, 0x5170, 0x5170, 0x69f1, 0x7a32, 0x8232, 0xaaf3, 0xaaf4, 0xcb75, 0xd395, 0xd396, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xc3b6, 0x8539, 0x1f7f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0x659a, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x6d39, 0xd294, 0xca94, 0xd274, 0xca74, 0x7c96, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f4, 0x07f4, 0x07f3, 0x07f3, 0x07f3, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f1, 0x07f1, 0x07f1, 0x07f1, 0x07f0, 0x07f1, 0x07d0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02dd, 0x01bf, 0x019f, 0x017f, 0x015f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x00bf, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60b8, 0xb8f3, 0x09bf, 0x041f, 0x061f, 0x073f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1b3, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x48f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x5172, 0x61b2, 0x8a54, 0x9a94, 0xb335, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0x9c97, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xac17, 0xd335, 0xd314, 0xd335, 0xd314, 0xd315, 0xd315, 0xd2f4, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6d59, 0xd274, 0xca94, 0xd274, 0xca74, 0xb334, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f4, 0x07f4, 0x07f4, 0x07d3, 0x07b3, 0x0793, 0x0753, 0x0714, 0x06b5, 0x5516, 0x0538, 0x037c, 0x01ff, 0x017f, 0x015f, 0x013f, 0x011f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x6099, 0xc911, 0x491a, 0x02df, 0x051f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6459, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x90d1, 0x30f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69d3, 0x9274, 0xb2f5, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xa478, 0x36dd, 0x07ff, 0x07ff, 0x563c, 0xd335, 0xd334, 0xd315, 0xd315, 0xd2f4, 0xcb15, 0xbb96, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8498, 0xca94, 0xca94, 0xd274, 0xca74, 0xca74, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07d6, 0x07b6, 0x0796, 0x0756, 0x0716, 0xa456, 0xbbd6, 0x3479, 0x02fd, 0x023f, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x003f, 0x78b7, 0xc111, 0xa114, 0x01ff, 0x041f, 0x05ff, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xc0b1, 0xc0d2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x48f1, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x20cd, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71f4, 0x9a75, 0xb2f5, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0x9c78, 0x36dd, 0x07ff, 0x9c57, 0xd335, 0xd315, 0xd334, 0xd314, 0xc355, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bf7, 0xca94, 0xd274, 0xca73, 0xca74, 0xd253, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f8, 0x07d8, 0x07b8, 0x0797, 0x0758, 0x0ef8, 0xbbf6, 0xd395, 0x6b99, 0x025f, 0x021f, 0x01bf, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x98d5, 0xc8f2, 0xc911, 0x195e, 0x033f, 0x053f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b76, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x88d1, 0x30f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10d2, 0x00f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08d5, 0x10d0, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8a16, 0xaad5, 0xcb55, 0xd375, 0xd355, 0xd354, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0x84f9, 0x0fbf, 0x5ddb, 0xa457, 0x9c58, 0x84d8, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca74, 0xca74, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fc, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07da, 0x07da, 0x07ba, 0x079a, 0x0779, 0x2e99, 0xc3d6, 0xd395, 0x8339, 0x0a3e, 0x01df, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0x90d5, 0xc912, 0xc0f1, 0x7117, 0x027f, 0x049f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x269d, 0xc891, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8b1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x20ad, 0x10d1, 0x00f8, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18af, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ce, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ef, 0x28cf, 0x28ef, 0x28d0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8b14, 0x4ad3, 0x7a94, 0xab14, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd314, 0xd335, 0xc355, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc2d4, 0xca74, 0xca74, 0xd274, 0xca74, 0xd253, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07db, 0x07bb, 0x07bb, 0x077b, 0x2eba, 0xc3d6, 0xd395, 0xb337, 0x09df, 0x01bf, 0x017f, 0x013f, 0x011f, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x7896, 0xc0f1, 0xc8f1, 0xa8f3, 0x01df, 0x03df, 0x05bf, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0x68f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0139, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x0119, 0x08f6, 0x10d2, 0x10d0, 0x18cf, 0x18d0, 0x10d3, 0x0118, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9a75, 0xcb55, 0xcb75, 0x5bb4, 0x3b34, 0x42b3, 0x4a33, 0x6253, 0x9ab4, 0xd335, 0xd335, 0xd315, 0xd334, 0xd314, 0xd315, 0xd314, 0xd314, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f5e, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xca53, 0x369d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07dd, 0x07dd, 0x07bd, 0x079c, 0x561a, 0xd395, 0xd395, 0xab37, 0x099f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x003f, 0x003f, 0x305c, 0xc0f1, 0xc8f1, 0xc8d1, 0x215d, 0x033f, 0x051f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5cd9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x98d1, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0117, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x08f3, 0x0118, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x011a, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xcb55, 0xd375, 0xbb95, 0x5474, 0x3c34, 0x3bb4, 0x4333, 0x42b3, 0x4a13, 0x49f3, 0x5a32, 0x9ab4, 0xd334, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0x84d8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4ddb, 0xd274, 0xca74, 0xca73, 0xd274, 0xca54, 0xca54, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07de, 0x079d, 0x6d99, 0xd395, 0xd395, 0xab17, 0x097f, 0x011f, 0x011f, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0xc8f1, 0xc8f1, 0xc8d1, 0x5119, 0x02df, 0x04ff, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x4910, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18d0, 0x00f8, 0x0119, 0x00f8, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xcb55, 0xd375, 0xd375, 0xb3d5, 0x3d55, 0x3515, 0x3495, 0x3c14, 0x3b94, 0x3b13, 0x4293, 0x4212, 0x49f3, 0x49f3, 0x5a13, 0x9ab4, 0xd314, 0xd315, 0xcb15, 0xd2f4, 0xd2f5, 0xd2f4, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8c37, 0xca74, 0xd273, 0xd253, 0xca54, 0xca53, 0xd253, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07df, 0x07df, 0x94d8, 0xd396, 0xd395, 0x8299, 0x00ff, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0xc8d1, 0xc0f1, 0xc0d1, 0xa0d4, 0x027f, 0x04bf, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8315, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x70f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0117, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x10d3, 0x08f3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x0117, 0x0119, 0x0119, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0117, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xb2f4, 0xd375, 0xd375, 0xd375, 0x9435, 0x3d55, 0x2d55, 0x2d75, 0x3515, 0x3c94, 0x3414, 0x3b94, 0x4313, 0x4293, 0x4a13, 0x41f3, 0x49f2, 0x4a13, 0x5a33, 0xa2b4, 0xd314, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2f4, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x179f, 0xd274, 0xca53, 0xca73, 0xca53, 0xca53, 0xca53, 0xd253, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xbc16, 0xd395, 0xd395, 0x725a, 0x00bf, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x90b5, 0xc8d1, 0xc8d1, 0xc0d1, 0x123e, 0x047f, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x90d1, 0x38f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x08f6, 0x011a, 0x0119, 0x0118, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x38f0, 0x30f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xcb55, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3bf4, 0x3b73, 0x42f4, 0x4273, 0x4a13, 0x4213, 0x49f2, 0x49f3, 0x49f3, 0x6a33, 0xbad4, 0xd2f5, 0xd2f4, 0xd2d4, 0xc335, 0x177e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xca54, 0xd273, 0xca54, 0xca53, 0xca53, 0xca53, 0x9bb6, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x077e, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x36dd, 0xd395, 0xd395, 0xd395, 0x51bc, 0x009f, 0x009f, 0x007f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x7077, 0xc0d2, 0xc8d1, 0xc0d1, 0x49fa, 0x049f, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x08f5, 0x20ad, 0x18cd, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4952, 0xaab4, 0xd375, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x2d75, 0x2d75, 0x3555, 0x54d5, 0x6475, 0x83b5, 0x8b74, 0x9b34, 0xab14, 0xaad4, 0xb2d4, 0xaad4, 0xaab4, 0xaab4, 0xb2b4, 0x6b15, 0x8a94, 0xc2d4, 0xd2f4, 0xd2d4, 0x84b8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb315, 0xd274, 0xca53, 0xca54, 0xca53, 0xca53, 0xd253, 0x653a, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x071f, 0x071e, 0x071e, 0x073e, 0x079f, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7d7a, 0xd395, 0xd395, 0xc375, 0x28fe, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x005f, 0x003f, 0x003f, 0x183e, 0xc0d1, 0xc0d1, 0xc0d2, 0x7996, 0x04bf, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x58f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18af, 0x0119, 0x0119, 0x08f6, 0x20ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0118, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0139, 0x0119, 0x10f3, 0x18d0, 0x08f5, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ae, 0x18cd, 0x0119, 0x011a, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0117, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x5972, 0xcb55, 0xd375, 0xd375, 0xd375, 0xd375, 0xabd5, 0x4515, 0x54f5, 0x7c75, 0x8c35, 0xabd5, 0xcb55, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xc355, 0x9c37, 0x659a, 0x467c, 0x0fbf, 0x07ff, 0x07ff, 0x269d, 0x9c17, 0xd2d4, 0x9c17, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xd274, 0xca53, 0xca54, 0xca53, 0xca33, 0xca33, 0xca33, 0x26dd, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071e, 0x071e, 0x06fe, 0x06fe, 0x06ff, 0x06de, 0x06de, 0x06be, 0x06be, 0x06de, 0x073e, 0x079f, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x079f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0xc3f6, 0xd395, 0xd395, 0xaaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x001f, 0x001f, 0xa094, 0xc0d1, 0xc8b1, 0xa8f3, 0x04bf, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x73d8, 0xb8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18cf, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x00f6, 0x0119, 0x08f3, 0x18ad, 0x20ad, 0x20ad, 0x00f6, 0x00f9, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x10d3, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x10cf, 0x0119, 0x00f9, 0x0117, 0x18ce, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x71f2, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xcb14, 0xd334, 0xd334, 0xac16, 0x753a, 0x467d, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x369c, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26fd, 0xc2b4, 0xca53, 0xca53, 0xca53, 0xd253, 0xca33, 0xca33, 0xa356, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06fe, 0x06fe, 0x06de, 0x06be, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x06be, 0x073e, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07df, 0x6dda, 0xd395, 0xd376, 0xd375, 0x79fa, 0x003f, 0x003f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x8896, 0xc0b1, 0xc0b1, 0xc8b1, 0x0c9f, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0x98d1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x08f3, 0x20ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f3, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x9a93, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd355, 0xd335, 0xd335, 0xc375, 0x84f9, 0x4e3c, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xab75, 0xca54, 0xd253, 0xca53, 0xca33, 0xca33, 0xd233, 0xca33, 0x4dbb, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06de, 0x06de, 0x06de, 0x06be, 0x06be, 0x069e, 0x067e, 0x067e, 0x067e, 0x065e, 0x063e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05fd, 0x067d, 0x06de, 0x06fe, 0x06fe, 0x06fe, 0x06fe, 0x071e, 0x073f, 0x073f, 0x073f, 0x073e, 0x075f, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x0fbf, 0xc3d6, 0xd375, 0xd375, 0xd355, 0x30fd, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x6058, 0xc0b1, 0xc0b1, 0xc0b1, 0x33fc, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0b1, 0xb8d1, 0xb8d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f6, 0x0119, 0x08d5, 0x18cd, 0x18ae, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d3, 0x10d0, 0x08f4, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x3910, 0xaaf4, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x7539, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2efd, 0xb315, 0xca53, 0xca54, 0xca33, 0xca53, 0xca34, 0xca34, 0xca33, 0xa335, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06de, 0x06bf, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05bd, 0x05be, 0x059d, 0x055e, 0x055e, 0x05be, 0x05fe, 0x061d, 0x067e, 0x06be, 0x06fe, 0x06fe, 0x071f, 0x071e, 0x073f, 0x073f, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x8539, 0xd375, 0xd355, 0xd355, 0xbaf6, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x403b, 0xc8b1, 0xc0b1, 0xc0b1, 0x6318, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9b3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x4910, 0x3910, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x10d3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f3, 0x011a, 0x0118, 0x18ad, 0x18cd, 0x18ad, 0x18ce, 0x00f8, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20cd, 0x18ad, 0x10d0, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30cf, 0x3910, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xcb96, 0x8518, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbe, 0x653a, 0xca54, 0xca53, 0xd253, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x2e9d, 0x077f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06fe, 0x06df, 0x06de, 0x06bf, 0x06be, 0x06bf, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05be, 0x05be, 0x059e, 0x057e, 0x053e, 0x051e, 0x04fe, 0x04be, 0x049e, 0x041e, 0x03dd, 0x04de, 0x065e, 0x06be, 0x06de, 0x06de, 0x06fe, 0x071f, 0x073e, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x36dd, 0xd355, 0xd355, 0xd355, 0xd335, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0xb8b2, 0xc091, 0xc0b1, 0x7a96, 0x06bf, 0x079f, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x82f5, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0x60f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x20cd, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18af, 0x08f6, 0x0119, 0x0119, 0x00f9, 0x08f4, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x00f8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x08f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x28cf, 0x28ef, 0x3910, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x5d9a, 0xb315, 0xd254, 0xca53, 0xd254, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xca33, 0x64d9, 0x077f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06be, 0x069f, 0x069f, 0x067e, 0x065e, 0x065e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x055e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043d, 0x03de, 0x03be, 0x039e, 0x037e, 0x03fe, 0x05fe, 0x069e, 0x069e, 0x06be, 0x06fe, 0x071e, 0x073f, 0x075f, 0x079f, 0x079f, 0x07df, 0x07df, 0x07df, 0x07ff, 0xbbf6, 0xd355, 0xd335, 0xd335, 0xc2f5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x9095, 0xc8b1, 0xc8b1, 0x91f5, 0x067f, 0x06ff, 0x073f, 0x075f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x80f2, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x00f6, 0x011a, 0x0117, 0x18ce, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x08f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x3110, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0x9c77, 0x563b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f7e, 0x65db, 0x7cf9, 0x9c57, 0x9c57, 0x9c57, 0x9c57, 0x9c37, 0x9c37, 0x9c37, 0x9c37, 0x7539, 0x6d7a, 0x6579, 0x5dbb, 0x36bd, 0x36bd, 0x36bc, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x36bd, 0x5d9a, 0x8c37, 0xd274, 0xd273, 0xd254, 0xca53, 0xd254, 0xd253, 0xca33, 0xd233, 0xca34, 0xca13, 0xca33, 0x8418, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x069e, 0x069f, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x05be, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04be, 0x045e, 0x03fe, 0x03be, 0x039e, 0x037e, 0x037e, 0x035e, 0x033e, 0x035e, 0x061d, 0x067e, 0x067e, 0x069e, 0x06be, 0x06fe, 0x073f, 0x075f, 0x077f, 0x079f, 0x07df, 0x07df, 0x07ff, 0x7d59, 0xd335, 0xd335, 0xd335, 0xd314, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x60d8, 0xc0b1, 0xc0b1, 0xb8f2, 0x05df, 0x061f, 0x065f, 0x06df, 0x073f, 0x077f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x90d1, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f8, 0x011a, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0x9c77, 0x3edd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x659a, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca74, 0xca74, 0xca73, 0xca73, 0xd274, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xab15, 0x0edf, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067e, 0x067f, 0x067e, 0x065e, 0x063f, 0x061e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043e, 0x03be, 0x039e, 0x039e, 0x035e, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x037e, 0x05fe, 0x065e, 0x067e, 0x069e, 0x06de, 0x06fe, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x271d, 0xd335, 0xd314, 0xd315, 0xd315, 0xc2d5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x009f, 0x60d8, 0xc0b1, 0xc0b2, 0xc0b1, 0x04bf, 0x053f, 0x05bf, 0x067f, 0x06df, 0x075f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0x98d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ce, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x08f7, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x0118, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xac37, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x0ebd, 0x1d7b, 0x1c99, 0x32f5, 0x3a75, 0x6193, 0x69b3, 0x79f4, 0x8a14, 0xb294, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xd274, 0xca53, 0xca54, 0xca54, 0xca53, 0xd253, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x8b97, 0x35fd, 0x5d7b, 0x6d3a, 0x6d3a, 0x5d5b, 0x35fd, 0x06bf, 0x0e7e, 0x457c, 0x6c99, 0x6479, 0x6459, 0x4cba, 0x0e1e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04de, 0x047e, 0x03de, 0x03be, 0x037e, 0x037f, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x02fe, 0x02fe, 0x02de, 0x03fe, 0x05be, 0x063e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073e, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0xbbb6, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0x697a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x48fa, 0xc0b1, 0xc0b1, 0xc0b1, 0x331c, 0x047f, 0x053f, 0x05ff, 0x069f, 0x073f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9a14, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ae, 0x18cf, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f4, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x0119, 0x08f6, 0x10d2, 0x10d0, 0x18d0, 0x18d1, 0x10d2, 0x00f8, 0x0119, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x9273, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xc3b6, 0x5dfb, 0x07ff, 0x0e3b, 0x1c98, 0x2ad5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79d3, 0x9a54, 0xc294, 0xd2f4, 0xd2d5, 0xcad4, 0xd2d4, 0xd2b4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xca73, 0xd253, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x99d4, 0x6358, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd375, 0x06bf, 0x5cfa, 0xd2b4, 0xca94, 0xca33, 0xca13, 0xc9d3, 0xb9d3, 0x4c5a, 0x061e, 0x061e, 0x05de, 0x05de, 0x05be, 0x059e, 0x059e, 0x057e, 0x053e, 0x051e, 0x051d, 0x04de, 0x04be, 0x043e, 0x03be, 0x03be, 0x037f, 0x0b7e, 0x337c, 0x333c, 0x335c, 0x333c, 0x333c, 0x331c, 0x331c, 0x32fc, 0x32fc, 0x32dc, 0x2b7c, 0x05de, 0x061e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07df, 0x84f9, 0xd314, 0xcb14, 0xcaf4, 0xd2d5, 0xb275, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x08df, 0xb8d2, 0xc0b1, 0xc0b1, 0x3a7b, 0x03ff, 0x04df, 0x05bf, 0x067f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b77, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x20cf, 0x0918, 0x013a, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x08f6, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0139, 0x00f9, 0x10d2, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x9c78, 0x261b, 0x1b96, 0x3171, 0x30f0, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81f3, 0xaa73, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xca53, 0xca53, 0xca53, 0xd233, 0xca33, 0xca33, 0xd233, 0xc234, 0x7994, 0x5975, 0xb315, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xc375, 0x067f, 0x067f, 0x6c79, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc912, 0x34bb, 0x05fe, 0x05de, 0x05be, 0x059e, 0x055e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x249d, 0x347b, 0x6bfa, 0x7b99, 0x9b98, 0xab97, 0xdb95, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xbbd6, 0x9c37, 0x8499, 0x6d1a, 0x363c, 0x1edd, 0x079f, 0x07bf, 0x07df, 0x4e1b, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0x40fc, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x78d7, 0xc0b1, 0xc0b1, 0x61d8, 0x03bf, 0x049f, 0x057f, 0x065f, 0x071f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x10f3, 0x013a, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011a, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x10d2, 0x08f3, 0x08f4, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x10f2, 0x00f7, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x10d0, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x5170, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0x6519, 0x22b3, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79b3, 0xa233, 0xd2b4, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xca94, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xd253, 0xca54, 0xca54, 0xca33, 0xd233, 0xca34, 0xca33, 0xca33, 0xa1d3, 0x5954, 0x5954, 0x79f5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd335, 0x8c18, 0x067f, 0x065f, 0x063f, 0xa2d5, 0xc9d3, 0xc972, 0xc952, 0xc111, 0xc8d1, 0x8a55, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x34dc, 0x6c5a, 0xa3f7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xbbb6, 0x84d9, 0x4e1b, 0x465c, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0x81d8, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x6098, 0xc0b1, 0xc0d1, 0x59b8, 0x035f, 0x045f, 0x055f, 0x063f, 0x06ff, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x58f1, 0x3911, 0x30f0, 0x3110, 0x30cf, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x08f6, 0x013a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x08f8, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x00f8, 0x08f8, 0x0118, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00fa, 0x00f8, 0x08f7, 0x08f7, 0x18b0, 0x18ad, 0x18ae, 0x08f4, 0x0119, 0x08f8, 0x08f8, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x10d4, 0x10d0, 0x18ad, 0x20ad, 0x08f8, 0x10d3, 0x18ad, 0x18ad, 0x10f4, 0x10d1, 0x18ad, 0x18ad, 0x08f8, 0x00f7, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ce, 0x20ae, 0x28ee, 0xcb55, 0xd375, 0xd375, 0xd375, 0xbb14, 0x34f9, 0x2930, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91f2, 0xc254, 0xca93, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xca73, 0xd273, 0xca73, 0xd254, 0xca53, 0xca53, 0xca54, 0xca33, 0xca34, 0xa1f3, 0x6973, 0x4953, 0x5134, 0x5154, 0xaaf5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd335, 0xd314, 0x5cda, 0x065f, 0x063f, 0x063f, 0xb254, 0xc972, 0xc952, 0xc112, 0xc8d1, 0xc0b1, 0xc0b1, 0x05be, 0x059e, 0x2d1c, 0x9438, 0xcbb6, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xca94, 0x087f, 0x003f, 0x001f, 0x001f, 0x001f, 0x385b, 0xc0b1, 0xc0b1, 0x9135, 0x031f, 0x043f, 0x053f, 0x063f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb8d1, 0x5911, 0x3911, 0x38f0, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x0917, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x08f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ce, 0x0118, 0x0119, 0x011a, 0x00f7, 0x08f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x10d1, 0x10d0, 0x18ad, 0x08d5, 0x10d1, 0x18ad, 0x20ae, 0x00f7, 0x18ad, 0x18ae, 0x18ad, 0x08f7, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x18ae, 0x18ad, 0x18ae, 0x0118, 0x18ae, 0x18ad, 0x08f4, 0x18d0, 0x18ad, 0x18ad, 0x10d1, 0x10d5, 0x18ae, 0x18ad, 0x08f5, 0x10d1, 0x20ad, 0x18ad, 0x00f8, 0x08f7, 0x18af, 0x18ad, 0x08d4, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x20ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x011a, 0x00f9, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18cd, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x20ce, 0x8252, 0xd375, 0xd375, 0xd375, 0x9a93, 0x30ef, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81d2, 0xaa13, 0xba33, 0xca54, 0xca74, 0xca53, 0xca54, 0xca53, 0xca53, 0xb213, 0xa1f3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xd395, 0xd395, 0xd396, 0xd375, 0xd334, 0xd2f5, 0xd2b4, 0x2d9d, 0x063f, 0x063f, 0x061f, 0xc993, 0xc952, 0xc911, 0xc8f1, 0xc0b1, 0xc0b1, 0xb8d1, 0x059e, 0x057e, 0xabf7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd335, 0xcb15, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0x411c, 0x003f, 0x003f, 0x001f, 0x001f, 0x203c, 0xc0b1, 0xc0b1, 0x9135, 0x02ff, 0x041f, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa1b3, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x68f1, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x10f3, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10f4, 0x08f7, 0x18ad, 0x18ae, 0x18ad, 0x08f8, 0x20ae, 0x18ad, 0x18ad, 0x10d1, 0x10f4, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x18ad, 0x18ad, 0x10d1, 0x08f6, 0x18ad, 0x20ad, 0x08f4, 0x10d3, 0x18d1, 0x18d1, 0x08f5, 0x18d2, 0x18ad, 0x20ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x08f7, 0x18af, 0x08f7, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x208e, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x0119, 0x011a, 0x011a, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x412f, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ce, 0x28cf, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3110, 0x38f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x38f1, 0x38f0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8a34, 0xd395, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xb2f6, 0x065f, 0x061f, 0x061f, 0x34dc, 0xc952, 0xc912, 0xc8d2, 0xc0b1, 0xc0d1, 0xb8d1, 0x89b4, 0x2bba, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71d4, 0x69f4, 0x71d3, 0x69d4, 0x71d3, 0x7a14, 0x8a75, 0x9274, 0x9254, 0x9254, 0x9a95, 0xb315, 0xbb14, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xcb14, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xcab4, 0xca94, 0xca94, 0x81b8, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0xa8b3, 0xc0b1, 0xb0d2, 0x02df, 0x03ff, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f2, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20cf, 0x0918, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x10d0, 0x00fa, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f7, 0x18d1, 0x18ad, 0x20ad, 0x08f8, 0x18ad, 0x18ad, 0x18ad, 0x18d1, 0x08d4, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ae, 0x00fa, 0x08f8, 0x00f7, 0x08f6, 0x18ae, 0x18ad, 0x18ad, 0x08f4, 0x08f6, 0x08d4, 0x08f6, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ae, 0x18ae, 0x08f8, 0x18ad, 0x08f3, 0x10d3, 0x10d5, 0x10d0, 0x18ad, 0x18ad, 0x20ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20cd, 0x9272, 0xd375, 0xc334, 0x61d1, 0x20cf, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x30f0, 0x3110, 0x3110, 0x30f0, 0x3110, 0x38f0, 0x30f0, 0x38f0, 0x3111, 0x38f0, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xb2f5, 0xd395, 0xd375, 0xd355, 0xd2f4, 0xd2b4, 0xd274, 0x83b8, 0x063f, 0x061f, 0x061e, 0x6398, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61b3, 0x7a34, 0x9a95, 0xb2f5, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd274, 0xca74, 0xc254, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x5878, 0xb8d1, 0xc0b1, 0x02bf, 0x03bf, 0x04ff, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6478, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20cf, 0x0917, 0x011a, 0x011a, 0x0119, 0x08f4, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x10d1, 0x18cf, 0x18ad, 0x10d1, 0x10f4, 0x18ad, 0x18ad, 0x08f7, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x18d1, 0x18ad, 0x18ad, 0x08f6, 0x18cf, 0x18ae, 0x20ae, 0x10d4, 0x18d1, 0x18ad, 0x20ae, 0x00f8, 0x18ad, 0x18ad, 0x08f7, 0x08f6, 0x18b1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20cd, 0x18ce, 0x20ae, 0x390f, 0xd375, 0xcb35, 0x414f, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x30ef, 0x3110, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f1, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3910, 0x3911, 0x38f1, 0x3911, 0x3912, 0x4952, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xd2b4, 0xd274, 0xca33, 0x4c9a, 0x05ff, 0x061f, 0x05ff, 0xa1f4, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa0f1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xa274, 0xc315, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca74, 0xca74, 0xca74, 0xca54, 0x20fd, 0x009f, 0x007f, 0x005f, 0x003f, 0x105d, 0xc0b1, 0xc0d1, 0x029f, 0x03bf, 0x04df, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x011a, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x10f4, 0x00f8, 0x18af, 0x18ad, 0x18ad, 0x08f7, 0x08f4, 0x10d5, 0x00f7, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f8, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18cd, 0x10d1, 0x10d3, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x08f8, 0x18ae, 0x18ad, 0x18af, 0x00fa, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x10d2, 0x011a, 0x0119, 0x00fa, 0x0119, 0x011a, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x61d0, 0xbb14, 0x412f, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28cf, 0x28f0, 0x30d0, 0x28ef, 0x28cf, 0x30cf, 0x30f0, 0x30d0, 0x30d0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x61b2, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xca74, 0xd233, 0xca13, 0x1d9d, 0x05ff, 0x05ff, 0x1d3d, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8a14, 0xaa74, 0xcaf4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xca94, 0xca73, 0xd274, 0xd253, 0xd254, 0x597a, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x005f, 0xa8b3, 0xc0b1, 0x31fc, 0x039f, 0x04df, 0x05df, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18b1, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x10d0, 0x10d1, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x18ae, 0x18ad, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x188d, 0x18ad, 0x18ae, 0x10d0, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x390f, 0x28ce, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x71f2, 0xd335, 0xd2f4, 0xd2b4, 0xca74, 0xd233, 0xca13, 0xa295, 0x05ff, 0x05ff, 0x05ff, 0x5399, 0xc0d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9a34, 0xc2b4, 0xd2b5, 0xd2b3, 0xcab4, 0xd294, 0xd294, 0xca93, 0xd274, 0xd274, 0xca53, 0xca54, 0xca53, 0x81d8, 0x00df, 0x00df, 0x00df, 0x00bf, 0x00bf, 0x68b7, 0xb8d1, 0x31dc, 0x033f, 0x049f, 0x05df, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26bd, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d2, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f7, 0x011a, 0x0119, 0x0118, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x011a, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x8213, 0xd2f5, 0xcad4, 0xd274, 0xca53, 0xc9f3, 0xc9d2, 0x7398, 0x05ff, 0x05ff, 0x05df, 0xa953, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x98f2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f0, 0x38f0, 0x38f0, 0x38f0, 0x3911, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xca94, 0xd294, 0xca94, 0xd274, 0xca74, 0xd274, 0xca53, 0xca54, 0xca53, 0xca34, 0x99f6, 0x011f, 0x011f, 0x00ff, 0x00ff, 0x00ff, 0x38db, 0xc0b1, 0x28fc, 0x02df, 0x047f, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x00f9, 0x011a, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd335, 0xd2b4, 0xca94, 0xca33, 0xd1f3, 0xc9d3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc932, 0xc0d1, 0xc0b1, 0xb8d1, 0xb0d2, 0xb9f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x015f, 0x013f, 0x013f, 0x013f, 0x011f, 0x093f, 0xc0b1, 0x311c, 0x01bf, 0x03ff, 0x059f, 0x069f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2f4, 0xca74, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc111, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xca53, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x097f, 0x017f, 0x015f, 0x017f, 0x015f, 0x015f, 0x88f5, 0x293c, 0x013f, 0x02df, 0x053e, 0x067f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9234, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18af, 0x18cd, 0x18ae, 0x10d0, 0x0118, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2b4, 0xd233, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0xb8d1, 0xc253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x31bc, 0x01bf, 0x019f, 0x019f, 0x019f, 0x019f, 0x5139, 0x315c, 0x017f, 0x01bf, 0x045e, 0x063e, 0x077f, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f7, 0x18ad, 0x20ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xcb15, 0xca13, 0xc9d3, 0xc992, 0xc932, 0xc911, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc397, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xc9f3, 0x31fc, 0x01df, 0x01df, 0x01df, 0x01df, 0x01df, 0x01bf, 0x01df, 0x01bf, 0x01bf, 0x02df, 0x05fd, 0x073e, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8ab5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08d5, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18b0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb0f1, 0xba95, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9f3, 0x31fd, 0x021f, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01df, 0x01ff, 0x051d, 0x071d, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6bf7, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f8, 0x18b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc9d3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb152, 0xd79e, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x323c, 0x023f, 0x023f, 0x021f, 0x023f, 0x023f, 0x021f, 0x021f, 0x021f, 0x021f, 0x021f, 0x037e, 0x06dc, 0x07fd, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0x7911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc972, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xd63c, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x325c, 0x027f, 0x025f, 0x025f, 0x025f, 0x023f, 0x025f, 0x025f, 0x023f, 0x023f, 0x023f, 0x029f, 0x067c, 0x07fc, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d1, 0x70f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x011a, 0x0118, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xc951, 0xc912, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xbb97, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, 0xc9b3, 0x327c, 0x029f, 0x029f, 0x029f, 0x029f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x025f, 0x027f, 0x05bc, 0x07db, 0x07fc, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x58f1, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ae, 0x18d0, 0x0118, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa8f1, 0xa972, 0xd77e, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc193, 0x0a7f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x027f, 0x029f, 0x027f, 0x04dd, 0x07bb, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0x5911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xa911, 0xbc78, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, 0x089f, 0x011f, 0x031f, 0x02ff, 0x02ff, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x03fd, 0x079a, 0x07fa, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x2e5c, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb8d1, 0x5912, 0x3911, 0x38f1, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d0, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x007f, 0x009e, 0x023f, 0x033f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02df, 0x039e, 0x075a, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x08f5, 0x00f9, 0x00fa, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0x009f, 0x009f, 0x013f, 0x033f, 0x037f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x033f, 0x06f9, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb0f1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0d1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x3110, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x10f2, 0x10d3, 0x08d3, 0x08f3, 0x10f3, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x08f5, 0x0119, 0x00f9, 0x011a, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, 0x007f, 0x007f, 0x00ff, 0x027f, 0x039f, 0x039f, 0x037f, 0x231d, 0x5259, 0x5a3a, 0x033f, 0x033f, 0x031f, 0x031f, 0x0699, 0x07f8, 0x07fa, 0x07fd, 0x07ff, 0x07ff, 0x363c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4112, 0x38f1, 0x3911, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f7, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0118, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0915, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x0915, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, 0x007f, 0x007f, 0x00bf, 0x021f, 0x2abd, 0x7a36, 0xb953, 0xc112, 0xc911, 0xc912, 0x0b3f, 0x035f, 0x035f, 0x033f, 0x05fa, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa0f1, 0x68f1, 0x4111, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0118, 0x08f7, 0x08f6, 0x00f7, 0x0118, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0118, 0x0119, 0x08f6, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, 0x007f, 0x007f, 0x30bb, 0x9955, 0xc931, 0xc932, 0xc932, 0xc912, 0xc0f2, 0xc8f2, 0x32fc, 0x037f, 0x037f, 0x037f, 0x059b, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d2, 0xb0d1, 0xb0f1, 0x98f1, 0xb0f1, 0x88f1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x00f7, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x00f7, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0x087e, 0x70f8, 0xc952, 0xc932, 0xc912, 0xc932, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0x331c, 0x03bf, 0x039f, 0x039f, 0x051b, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa0f1, 0xb0f1, 0xb0d1, 0x50f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0116, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x00fa, 0x0119, 0x08f6, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, 0x9915, 0xc932, 0xc932, 0xc932, 0xc912, 0xc111, 0xc8f2, 0xc0f2, 0xc8d1, 0xc8d1, 0x333c, 0x03ff, 0x03df, 0x03bf, 0x04dc, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d3, 0x0119, 0x0119, 0x10d1, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f1, 0xc8d1, 0xc8d1, 0xc8d1, 0x335c, 0x041f, 0x03ff, 0x03ff, 0x047d, 0x0795, 0x07f6, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0x40f0, 0x28cf, 0x28ef, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x00f8, 0x011a, 0x08f6, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x08d3, 0x08f3, 0x08f3, 0x18af, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x0118, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, 0x309c, 0x005f, 0x58b9, 0xc912, 0xc111, 0xc8f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x337c, 0x045f, 0x041f, 0x041f, 0x045e, 0x0775, 0x07f5, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0x80f1, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x011a, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, 0x003f, 0x003f, 0x005f, 0x78d7, 0xc0f2, 0xc8f1, 0xc0d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x4b1a, 0x047f, 0x045f, 0x043f, 0x045f, 0x0735, 0x07f4, 0x07f9, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa0f1, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d1, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d3, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x00f9, 0x08f6, 0x0119, 0x0119, 0x0119, 0x18af, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0x003f, 0x003f, 0x005f, 0x58b9, 0xc0f1, 0xc0d1, 0xc8d1, 0xc8b2, 0xc0b1, 0xc0b1, 0x62b8, 0x04bf, 0x047f, 0x047f, 0x045f, 0x0715, 0x07f4, 0x07f9, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa8f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0x58f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x20ad, 0x20cd, 0x18ae, 0x08f3, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d4, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0x001f, 0x003f, 0x003f, 0x00df, 0x88f6, 0xc8d1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0x62d9, 0x04ff, 0x04bf, 0x049f, 0x047f, 0x06b6, 0x07f3, 0x07f8, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0x98f2, 0xb0f1, 0xb0f1, 0xb0f1, 0x78f0, 0x90f1, 0x80d1, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x08f7, 0x0119, 0x011a, 0x08f4, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18cd, 0x08f3, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f5, 0x18cd, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f6, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, 0x001f, 0x003f, 0x003f, 0x00bf, 0x311c, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x6278, 0x053f, 0x04ff, 0x04bf, 0x049f, 0x0696, 0x07f2, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x8912, 0xb0f1, 0xb0f1, 0xb0d1, 0x48f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x208d, 0x08f3, 0x0119, 0x00f9, 0x18ae, 0x18ae, 0x18ce, 0x00f9, 0x0119, 0x08f3, 0x18ad, 0x20ae, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18cf, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0x003f, 0x003f, 0x003f, 0x00bf, 0x011f, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x79d6, 0x051f, 0x051f, 0x04ff, 0x04bf, 0x0638, 0x07f1, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0f1, 0x80f2, 0xb0f1, 0xb0f1, 0xb0f2, 0x3110, 0x30f0, 0x28cf, 0x28ef, 0x20ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x0119, 0x0119, 0x0118, 0x08f5, 0x00f8, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ce, 0x0117, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0x003f, 0x003f, 0x001f, 0x009f, 0x00df, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9174, 0x049f, 0x057f, 0x051f, 0x04ff, 0x0619, 0x07f1, 0x07f6, 0x07fc, 0x07ff, 0x35bb, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x6912, 0xb0f1, 0xb0f1, 0x98f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d3, 0x20ad, 0x18ad, 0x10d3, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x011a, 0x011a, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x18b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x00f9, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x0117, 0x00f7, 0x00f9, 0x0119, 0x08f5, 0x20ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00fa, 0x011a, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x68b7, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa8f3, 0x041f, 0x057f, 0x053f, 0x051f, 0x05f9, 0x07f0, 0x07f6, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x5912, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x00f8, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0117, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x08f3, 0x00f6, 0x08f3, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x0117, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18cd, 0x20ae, 0x10d3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0x001f, 0x001f, 0x001f, 0x007f, 0x00bf, 0x009f, 0x90b5, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x0b9e, 0x053f, 0x057f, 0x053f, 0x05da, 0x07ef, 0x07f5, 0x07fb, 0x07ff, 0x5478, 0xb0d1, 0xb0f1, 0xb0f1, 0x9111, 0x5912, 0xa8f1, 0xb0f1, 0x70f1, 0x30f0, 0x28ef, 0x20ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x08f7, 0x18ae, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x20ae, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x6098, 0xc0b1, 0xb8b1, 0xc0b1, 0xc0b1, 0x2afc, 0x04ff, 0x05bf, 0x055f, 0x05fb, 0x07cf, 0x07f4, 0x07fc, 0x07ff, 0x5c79, 0xb0f1, 0xb0f1, 0xb0f1, 0x8112, 0x5912, 0xb0f1, 0xb0f1, 0x68f1, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x10d3, 0x0119, 0x0119, 0x08d6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x20ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x005f, 0x7897, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0x6238, 0x04df, 0x05bf, 0x059f, 0x05fa, 0x07ce, 0x07f4, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x7112, 0x5912, 0xb0f1, 0xa8f1, 0x5110, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x28cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x08f6, 0x18d0, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f6, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x007f, 0x6878, 0xb8b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x9954, 0x047f, 0x05bf, 0x05bf, 0x061a, 0x07ce, 0x07f2, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x6112, 0x5912, 0xa8f1, 0xa8f1, 0x60f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0118, 0x00f6, 0x10d3, 0x08f6, 0x0118, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18b0, 0x00f8, 0x0139, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f8, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x003f, 0x001f, 0x7076, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x0bff, 0x05df, 0x05bf, 0x0639, 0x07cd, 0x07f2, 0x07fc, 0x07ff, 0x63f7, 0xb0f1, 0xb0f1, 0xb0f1, 0x4132, 0x4111, 0xa0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x001f, 0x001f, 0x9894, 0xb8d1, 0xb8d1, 0xb8d1, 0x42da, 0x059f, 0x05ff, 0x0678, 0x07cc, 0x07f1, 0x07fc, 0x07ff, 0x82b5, 0xa8f1, 0xb0f1, 0x98f2, 0x4132, 0x3912, 0x70f1, 0xa8f1, 0xa8f1, 0x50f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x10d4, 0x08f5, 0x08f6, 0x08f4, 0x08d3, 0x10cf, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x183e, 0xb0d2, 0xb8d1, 0xb8d1, 0x9974, 0x059f, 0x061f, 0x0698, 0x07cc, 0x07f0, 0x07fc, 0x07ff, 0x82b5, 0xb0f1, 0xb0f1, 0x88f1, 0x4132, 0x4111, 0x3910, 0x98f1, 0xa8f2, 0x88f1, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x385b, 0xb8d1, 0xb8d1, 0xb8d1, 0x2c3c, 0x061f, 0x06b7, 0x07cb, 0x07f0, 0x07fb, 0x07ff, 0xb0f1, 0xb0f1, 0xa8f1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xa0f1, 0xa8f1, 0x48ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x7096, 0xb8d1, 0xb8d1, 0x8a35, 0x063f, 0x06d6, 0x07ea, 0x07f1, 0x07fc, 0x07ff, 0xa8f1, 0xa8f1, 0xa8f1, 0x6132, 0x4132, 0x4111, 0x38f1, 0x3110, 0x48f0, 0xa8f1, 0x98f1, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x98b4, 0xb8d1, 0xb8d1, 0x3c9b, 0x06f5, 0x07e9, 0x07f1, 0x07fd, 0x26bd, 0xb0f1, 0xb0f2, 0xb0f1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30f0, 0x60f0, 0xa911, 0x70f0, 0x20ce, 0x20cf, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x083f, 0x70f7, 0xb8d1, 0xa952, 0x0e94, 0x07c9, 0x07f2, 0x07fd, 0x2e3c, 0xa8f1, 0xa8f1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x58f0, 0xa8f1, 0x40cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18b0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x00f9, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x003f, 0x00df, 0x59f8, 0xb8d1, 0x8291, 0x07c9, 0x07f2, 0x07fe, 0x455a, 0xb0f1, 0xa8f1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x50cf, 0x48ef, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x00f8, 0x0139, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x031f, 0x2d3b, 0x99b2, 0x454b, 0x07f3, 0x07fe, 0x5498, 0xb0f1, 0xa8f1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18cd, 0x10d1, 0x08f3, 0x08d3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x003f, 0x005f, 0x025f, 0x06fd, 0x0770, 0x0f88, 0x07f4, 0x07ff, 0x5478, 0xa8f1, 0xa8f1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x021f, 0x06fc, 0x078d, 0x07e7, 0x07f6, 0x07ff, 0x82b5, 0xa8f1, 0xa111, 0x4932, 0x4132, 0x4111, 0x38f1, 0x38f0, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x005f, 0x021f, 0x073b, 0x07ac, 0x07e7, 0x07f7, 0x07ff, 0x82b5, 0xa8f1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10f3, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x208d, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x10cf, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x023f, 0x073b, 0x07ab, 0x07e8, 0x07f9, 0x07ff, 0xa152, 0xa8f1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x20ad, 0x18ad, 0x20cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x005f, 0x007f, 0x009f, 0x023f, 0x0779, 0x07aa, 0x07e8, 0x07fb, 0x07ff, 0xa8f1, 0xa8f1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10d3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x0116, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdb0, 0xfdb0, 0xfdb1, 0xfdd1, 0xe4b2, 0xa911, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x02bf, 0x0778, 0x07c8, 0x07e9, 0x07fd, 0x173e, 0xa8f1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x08f4, 0x0119, 0x0119, 0x00f7, 0x08f6, 0x0119, 0x0119, 0x08f4, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfdef, 0xfdf0, 0xfdf0, 0xfdf0, 0xfdf1, 0xfdf1, 0xecb1, 0xa0f1, 0xa911, 0xa911, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x005f, 0x007f, 0x009f, 0x009f, 0x041f, 0x0797, 0x07c7, 0x07eb, 0x07fe, 0x2e5c, 0xa8f1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0118, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0f, 0xfe30, 0xfe30, 0xfe30, 0xfe31, 0xfe31, 0xdc32, 0xa111, 0xa911, 0xa111, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x043f, 0x0794, 0x07e6, 0x07ec, 0x07fe, 0x35db, 0xa911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x10d1, 0x10d3, 0x10f2, 0x10d1, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x00f8, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe50, 0xfe71, 0xfe51, 0xba52, 0xa111, 0xa111, 0x78d5, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x043f, 0x07b3, 0x07c5, 0x07ee, 0x07ff, 0x5478, 0x6ad6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f8, 0x18cf, 0x18ac, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe90, 0xfe91, 0xe471, 0xa111, 0xa112, 0xa111, 0x60d5, 0x001f, 0x283c, 0x7097, 0x405a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x00df, 0x045f, 0x07d2, 0x07e4, 0x07ef, 0x07ff, 0x2e3c, 0x2d1a, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x0119, 0x0118, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cc, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x18ae, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f7, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfeaf, 0xfed0, 0xfeb0, 0xfed1, 0xe491, 0xa911, 0xa111, 0x9931, 0xa111, 0x58d6, 0x88b5, 0xb8d1, 0xb8d1, 0x5059, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x00df, 0x047f, 0x07d2, 0x07e3, 0x07f1, 0x07ff, 0x07ff, 0x2cba, 0x4933, 0x4132, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x00f6, 0x18ad, 0x18ad, 0x18ac, 0x20ac, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ac, 0x18ad, 0x00f6, 0x0118, 0x0118, 0x18cf, 0x20ad, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x20ad, 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfed0, 0xfeb0, 0xfeb1, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x6933, 0xb0f1, 0xb0d1, 0xb0d1, 0x283c, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x011f, 0x047f, 0x07d1, 0x07e3, 0x07f3, 0x07ff, 0x07ff, 0x3b77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30ef, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x20ad, 0x0118, 0x0118, 0x20ad, 0x20ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x20ac, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, - 0x0118, 0x00f6, 0x18cd, 0x18ac, 0x18ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cc, 0x20ac, 0x18ad, 0x00f6, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cd, 0x18ac, 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfeb0, 0xfe90, 0xe471, 0xb8d2, 0xa111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xb0f1, 0xb0d1, 0xb0d2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x00df, 0x011f, 0x011f, 0x049f, 0x07f0, 0x07e2, 0x07f4, 0x07ff, 0x07ff, 0x3af6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ee, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x20ad, 0x18ad, 0x0118, 0x0118, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, - 0x00f8, 0x0118, 0x00f5, 0x18ad, 0x20ac, 0x18ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x18cd, 0x0116, 0x0118, 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfeb0, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xb0f1, 0xb0d1, 0x90b4, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x049f, 0x07f1, 0x07e2, 0x07f6, 0x07ff, 0x0f9f, 0x4a35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ad, 0x20ad, 0x0118, 0x0118, 0x18ce, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, - 0x18ce, 0x0117, 0x0118, 0x0115, 0x18ad, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ad, 0x00f6, 0x0118, 0x0117, 0x18ce, 0x18ac, 0x20cc, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x18cc, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xe471, 0xb0d1, 0xa111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xb0d1, 0xb0d1, 0x7896, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x00bf, 0x011f, 0x011f, 0x013f, 0x017f, 0x04bf, 0x07f2, 0x07e2, 0x07f5, 0x07ff, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x00f5, 0x0117, 0x00f7, 0x18ce, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ac, 0x18ae, 0x0117, 0x0118, 0x08f5, 0x18ad, 0x18ac, 0x18cd, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x08f3, 0x0118, 0x0117, 0x18ce, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xa8f1, 0xa111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xb0d1, 0xb0d1, 0x5878, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00ff, 0x013f, 0x013f, 0x017f, 0x019f, 0x033f, 0x07f3, 0x07e2, 0x07f3, 0x07ff, 0xa8f1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ad, 0x20ac, 0x18ac, 0x18ad, 0x00f5, 0x0118, 0x0117, 0x18ce, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x18ac, 0x20ac, 0x18ce, 0x08f5, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0117, 0x00f7, 0x18ce, 0x20ac, 0x18cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xb0f1, 0xb0f1, 0x285c, 0x003f, 0x005f, 0x007f, 0x00bf, 0x00ff, 0x013f, 0x015f, 0x017f, 0x019f, 0x01bf, 0x02ff, 0x07f4, 0x07e3, 0x07f1, 0x2e5c, 0xa911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x18ad, 0x0115, 0x0118, 0x00f7, 0x18ae, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x10d0, 0x10d2, 0x08d2, 0x18ae, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, - 0x18ac, 0x20ac, 0x20ac, 0x18cd, 0x0116, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x18ce, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xb0f1, 0xb0d1, 0x087f, 0x009f, 0x00bf, 0x00df, 0x011f, 0x015f, 0x019f, 0x019f, 0x019f, 0x01df, 0x01df, 0x01ff, 0x07f7, 0x07e3, 0x07ef, 0x5498, 0xa8f1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x0117, 0x0117, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ad, 0x0115, 0x0117, 0x00f7, 0x18ae, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ad, 0x00f5, 0x0117, 0x0118, 0x0117, 0x0117, 0x08f3, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20cc, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, - 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xb0f1, 0x98f3, 0x00df, 0x00ff, 0x011f, 0x013f, 0x017f, 0x01bf, 0x01bf, 0x01df, 0x01df, 0x01ff, 0x01ff, 0x021f, 0x06d9, 0x07e5, 0x07ec, 0x7355, 0xa8f1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390f, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x0117, 0x00f7, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x00f5, 0x0117, 0x0116, 0x18cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x00f5, 0x0117, 0x0118, 0x08f5, 0x0116, 0x0117, 0x0117, 0x10f2, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ab, 0x20ac, 0x20ac, - 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xa111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xa8f1, 0xb0f1, 0x80f5, 0x013f, 0x017f, 0x019f, 0x01bf, 0x01df, 0x01ff, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x023f, 0x057d, 0x07e8, 0x07e9, 0x82d5, 0xa0f1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38f0, 0x38ef, 0x30ef, 0x30ee, 0x28ce, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x00f7, 0x0117, 0x10d0, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18cd, 0x00f5, 0x0117, 0x08f5, 0x18ad, 0x20ac, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ad, 0x0117, 0x0117, 0x10d0, 0x20ac, 0x20ac, 0x08f3, 0x0117, 0x0115, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20cc, - 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ad, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ce, 0x28ee, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ee, 0x38ef, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xa932, 0xa131, 0xb131, 0xc912, 0xc911, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0x5158, 0x01bf, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x021f, 0x023f, 0x025f, 0x025f, 0x025f, 0x025f, 0x041f, 0x07ed, 0x07e4, 0x7ab4, 0xa911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x10d0, 0x0117, 0x00f7, 0x10d0, 0x20ac, 0x20cc, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x00f5, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x20ac, 0x20ac, 0x20ac, 0x10ef, 0x0117, 0x0117, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, - 0x20ac, 0x18ac, 0x18ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ad, 0x28ce, 0x30ce, 0x30ce, 0x30ee, 0x8151, 0xb192, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d2, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x39bb, 0x021f, 0x023f, 0x025f, 0x027f, 0x027f, 0x025f, 0x025f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x029f, 0x07f3, 0x07e2, 0x9972, 0xa911, 0xa112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x08f2, 0x0117, 0x0116, 0x10d0, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ad, 0x00f4, 0x00f7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x10d1, 0x00f7, 0x0115, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18cc, 0x18ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x18ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30cd, 0x28ee, 0x30ee, 0x490e, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f2, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d2, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0x123e, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x02df, 0x06b9, 0x07e3, 0xa111, 0xa911, 0xa111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390f, 0x38ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x08d3, 0x0116, 0x0117, 0x10cf, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x18ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x00f4, 0x0117, 0x0116, 0x08f2, 0x08f2, 0x0117, 0x0116, 0x08f2, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x18ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30ed, 0x692f, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc8f1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x9933, 0x02df, 0x02df, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02ff, 0x051e, 0x07e8, 0xa912, 0xa111, 0xa111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410f, 0x390f, 0x38ee, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0117, 0x10d0, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x18cb, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x18ae, 0x0115, 0x0117, 0x0116, 0x0116, 0x0116, 0x00f4, 0x18cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x28ac, 0x20cc, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cd, 0x28ed, 0x28cd, 0x30cd, 0x9191, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc932, 0xc912, 0xc112, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8d1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88b4, 0x88b5, 0x88b5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x69d6, 0x033f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02ff, 0x035f, 0x03ff, 0x07f0, 0x8a4f, 0xa111, 0xa111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410f, 0x390f, 0x30ee, 0x30ee, 0x30cd, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0116, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20cc, 0x08d1, 0x08f3, 0x08f3, 0x10d0, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cc, 0x20ac, 0x28cc, 0x28cc, 0x28cc, 0x20cc, 0x28cc, 0x28cc, 0x28cd, 0x40ee, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0x90d5, 0x88d6, 0x6098, 0x5879, 0x303c, 0x305c, 0x081e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x291c, 0x411a, 0x6118, 0x8915, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0x429a, 0x039f, 0x039f, 0x035f, 0x035f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x031f, 0x031f, 0x031f, 0x037f, 0x03ff, 0x06d7, 0x7acf, 0xa111, 0xa111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410f, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0116, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x20ab, 0x20ab, 0x20ab, 0x20ab, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cc, 0x490e, 0xc1d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc952, 0x98f5, 0x60b8, 0x407b, 0x183e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x011f, 0x013f, 0x017f, 0x019f, 0x01df, 0x021f, 0x21fd, 0x49d9, 0x7996, 0xa112, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x139e, 0x03df, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x033f, 0x033f, 0x035f, 0x03bf, 0x041f, 0x05de, 0x7ad1, 0xa111, 0xa111, 0xa111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x18ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x692f, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc992, 0xc9b2, 0xc972, 0xb973, 0x80f7, 0x387b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01bf, 0x01ff, 0x023f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x2adc, 0x5a58, 0x8994, 0xa8f1, 0xa8f1, 0x81d4, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x039f, 0x037f, 0x035f, 0x037f, 0x039f, 0x03ff, 0x047f, 0x04ff, 0x6375, 0xa112, 0xa111, 0xa111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390f, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x692e, 0xc9f3, 0xc9d2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc993, 0x80f7, 0x389b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x083c, 0x085b, 0x105b, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187a, 0x105b, 0x085d, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x01bf, 0x01ff, 0x021f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03df, 0x041f, 0x043f, 0x0c3f, 0x2bbc, 0x0c3f, 0x045f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03bf, 0x039f, 0x037f, 0x039f, 0x03df, 0x043f, 0x04bf, 0x053f, 0x5398, 0xa111, 0xa111, 0xa111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x08f1, 0x0115, 0x0115, 0x10ce, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x1378, 0x1378, 0x1358, 0x1358, 0x1378, 0x1378, 0x1358, 0x1378, 0x1358, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cb, 0x614e, 0xd1f3, 0xc9f3, 0xc9d3, 0xc9b2, 0xc9b3, 0xb173, 0x60d9, 0x081e, 0x003d, 0x083b, 0x1878, 0x1877, 0x28d2, 0x28d2, 0x40ee, 0x38ee, 0x390f, 0x390f, 0x390f, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4130, 0x38f3, 0x28b6, 0x189a, 0x003e, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x027f, 0x029f, 0x02ff, 0x033f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x047f, 0x04bf, 0x04df, 0x04df, 0x04bf, 0x04bf, 0x047f, 0x047f, 0x043f, 0x043f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03df, 0x043f, 0x047f, 0x04df, 0x057f, 0x3c1a, 0xa111, 0xa111, 0xa111, 0xa111, 0x5931, 0x4910, 0x4110, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x3af9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3af9, 0x3af9, 0x3af9, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x20cb, 0x28ab, 0x692e, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xb1b2, 0x58f3, 0x1895, 0x28b2, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x492f, 0x4930, 0x4910, 0x38f3, 0x20b8, 0x087d, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x019f, 0x01df, 0x021f, 0x025f, 0x02bf, 0x02df, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x04ff, 0x051f, 0x051f, 0x053f, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x047f, 0x047f, 0x045f, 0x045f, 0x043f, 0x041f, 0x03ff, 0x03df, 0x03ff, 0x043f, 0x045f, 0x04bf, 0x053f, 0x05bf, 0x2cdc, 0xa112, 0xa111, 0xa111, 0xa111, 0x7131, 0x4930, 0x4130, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0114, 0x10ce, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x625a, 0x625b, 0x5a5a, 0x5a5a, 0x625b, 0x20ca, 0x20aa, 0x20aa, 0x20aa, - 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28cb, 0x28cb, 0x612e, 0xc9f3, 0xc9d3, 0xc9d3, 0xb992, 0x692e, 0x28cc, 0x28ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x390e, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x38ee, 0x40ee, 0x40ee, 0x390f, 0x390e, 0x410e, 0x40ef, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4910, 0x4910, 0x4930, 0x4113, 0x28f8, 0x08fe, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x029f, 0x02bf, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x051f, 0x053f, 0x057f, 0x059f, 0x057f, 0x055f, 0x053f, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x049f, 0x047f, 0x045f, 0x043f, 0x041f, 0x041f, 0x043f, 0x045f, 0x04bf, 0x04ff, 0x055f, 0x05df, 0x0e1f, 0xa111, 0xa111, 0xa111, 0xa112, 0x8931, 0x4930, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x0114, 0x10cf, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20cb, 0x10cf, 0x10ef, 0x10ef, 0x18ce, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x81db, 0x81dc, 0x81db, 0x81db, 0x81bc, 0x81bb, 0x81bc, 0x81dc, 0x81dc, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x20cb, 0x612e, 0xd1f3, 0xc9f3, 0xc1b2, 0x612e, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197a, 0x01de, 0x021f, 0x027f, 0x02bf, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03ff, 0x045f, 0x049f, 0x04df, 0x051f, 0x057f, 0x059f, 0x05df, 0x05df, 0x05df, 0x05bf, 0x059f, 0x055f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04bf, 0x047f, 0x045f, 0x043f, 0x043f, 0x047f, 0x04bf, 0x04ff, 0x053f, 0x05bf, 0x061f, 0x069f, 0x9972, 0xa111, 0xa111, 0xa111, 0xa111, 0x5130, 0x4910, 0x410f, 0x390f, 0x390e, 0x38ed, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x00f4, 0x18cc, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18cc, 0x00f3, 0x0115, 0x0114, 0x0115, 0x00f4, 0x00f2, 0x20cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0xa93d, 0xa93d, 0xa95c, 0xa93d, 0xa95c, 0xa95d, 0xa93c, 0xa95d, 0xa93d, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x510d, 0xd1f3, 0xc9d2, 0x816f, 0x30cc, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31b6, 0x0a9d, 0x02ff, 0x035f, 0x039f, 0x03ff, 0x043f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x05bf, 0x05df, 0x061f, 0x063f, 0x063f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x047f, 0x047f, 0x047f, 0x049f, 0x04df, 0x053f, 0x057f, 0x05ff, 0x065f, 0x06df, 0x7a95, 0xa111, 0xa111, 0xa111, 0xa111, 0x6911, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x08f1, 0x0114, 0x0114, 0x18cd, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x08f2, 0x0115, 0x0114, 0x0115, 0x0114, 0x0115, 0x0114, 0x10ef, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0xc8be, 0xd0be, 0xc8be, 0xc8be, 0xd0be, 0xc8be, 0xd0be, 0xd0be, 0xc8be, - 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x40ec, 0xc1d2, 0xc1b3, 0x490d, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39d5, 0x131c, 0x041f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x059f, 0x05df, 0x061f, 0x067f, 0x069f, 0x069f, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x051f, 0x057f, 0x05bf, 0x063f, 0x069f, 0x071f, 0x5438, 0xa111, 0xa111, 0xa111, 0xa111, 0x8111, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x00f4, 0x18cc, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x18cc, 0x00f5, 0x0115, 0x00f4, 0x0115, 0x0115, 0x0114, 0x0115, 0x00f4, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, - 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x30cb, 0xa992, 0xa9b1, 0x30cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3a15, 0x237b, 0x053f, 0x059f, 0x5358, 0x349b, 0x0e1f, 0x06bf, 0x06ff, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x057f, 0x055f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04ff, 0x051f, 0x055f, 0x059f, 0x05ff, 0x065f, 0x06df, 0x073f, 0x359b, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x4930, 0x4910, 0x412f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x00f3, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x0115, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ca, - 0x790f, 0x68ee, 0x50ed, 0x38cc, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x692f, 0x816f, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28cb, 0x28cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49d4, 0x243a, 0xa132, 0xa8f1, 0xa8f1, 0xa8f1, 0x8295, 0x8295, 0x5418, 0x351b, 0x06df, 0x069f, 0x067f, 0x065f, 0x063f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x051f, 0x053f, 0x057f, 0x059f, 0x05df, 0x063f, 0x069f, 0x06ff, 0x077f, 0x0f5f, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0x6911, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x18cb, 0x00f2, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x00f5, 0x0114, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, - 0x8130, 0x8930, 0x8930, 0x8910, 0x8930, 0x790f, 0x690e, 0x48cd, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ee, 0x38ed, 0x38ed, 0x390e, 0x390e, 0x390e, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa172, 0x4c39, 0x2d5c, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x059f, 0x057f, 0x055f, 0x055f, 0x055f, 0x057f, 0x059f, 0x05df, 0x061f, 0x067f, 0x06df, 0x073f, 0x079f, 0x07df, 0x8254, 0xa111, 0xa131, 0xa111, 0x9911, 0x8131, 0x4910, 0x410f, 0x410e, 0x38ee, 0x38ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x08f2, 0x00f5, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x10f0, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, - 0x8930, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8910, 0x8130, 0x710f, 0x60ee, 0x48ed, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xa111, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa111, 0xa911, 0xa0f1, 0x9972, 0x4419, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05df, 0x061f, 0x065f, 0x06bf, 0x06ff, 0x075f, 0x07bf, 0x07ff, 0x5498, 0xa131, 0xa111, 0xa111, 0xa111, 0x9911, 0x4930, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20cc, 0x00f3, 0x00f4, 0x0114, 0x0114, 0x0114, 0x08f2, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, - 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x58ed, 0x48cc, 0x30cb, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x28cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x490f, 0x412f, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa111, 0x7a55, 0x34bb, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x063f, 0x065f, 0x069f, 0x06df, 0x071f, 0x077f, 0x07bf, 0x07ff, 0x2e3c, 0x9911, 0xa111, 0xa111, 0x9931, 0x9931, 0x6910, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20cb, 0x10cf, 0x10d0, 0x10ef, 0x10ce, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, - 0x8910, 0x8910, 0x8910, 0x810f, 0x890f, 0x890f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x690f, 0x58ee, 0x40cd, 0x30cc, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x62f6, 0x347b, 0x061f, 0x061f, 0x063f, 0x063f, 0x065f, 0x067f, 0x06bf, 0x071f, 0x073f, 0x079f, 0x07df, 0x07ff, 0x07ff, 0xa111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x810f, 0x810f, 0x810f, 0x890f, 0x8910, 0x8910, 0x8110, 0x8110, 0x8110, 0x8110, 0x8910, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x810f, 0x710f, 0x50ed, 0x40cc, 0x28ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x349b, 0x065f, 0x067f, 0x069f, 0x06bf, 0x06ff, 0x073f, 0x077f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0xa111, 0x9911, 0xa111, 0x9931, 0x9931, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x8910, 0x8910, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x810f, 0x710f, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa911, 0xa112, 0xa111, 0xa911, 0xa111, 0xa112, 0xa0f1, 0xa111, 0xa111, 0xa111, 0x7a75, 0x15fd, 0x06bf, 0x06ff, 0x071f, 0x075f, 0x079f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410f, 0x390e, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x790f, 0x690e, 0x50ed, 0x38cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x40ee, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x5931, 0x90f1, 0xa911, 0xa912, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0x9972, 0x353b, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8130, 0x8930, 0x8930, 0x790f, 0x690e, 0x50ed, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x8111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa112, 0xa111, 0xa111, 0x4499, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9931, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490f, 0x410f, 0x38ee, 0x30ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x90ef, 0x88ef, 0x80ef, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x60ee, 0x48ed, 0x38ec, 0x20aa, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x28ab, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x310e, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x7131, 0xa111, 0xa111, 0xa112, 0xa111, 0xa0f1, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa131, 0x6397, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390f, 0x38ee, 0x38ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x990f, 0x990f, 0x910f, 0x910f, 0x890f, 0x88ef, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x710f, 0x58ee, 0x48ed, 0x30cb, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x38ee, 0x30ed, 0x38ed, 0x390e, 0x38ee, 0x410e, 0x410f, 0x410f, 0x4930, 0x4930, 0x6931, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x6397, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x5c14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410f, 0x390e, 0x390e, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x910f, 0x98ef, 0x910f, 0x910f, 0x98ef, 0x990f, 0x910f, 0x890f, 0x88ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x8110, 0x8910, 0x8910, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x58ed, 0x40ed, 0x30cb, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x30ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0x9931, 0x5498, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x35f5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510f, 0x390e, 0x390e, 0x38ed, 0x30ed, 0x30cc, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x890f, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x890f, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x890f, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x68ef, 0x50ed, 0x40cc, 0x28cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x28cb, 0x20cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xa111, 0xa111, 0xa111, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa111, 0xa111, 0x3d7a, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28ab, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x18aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x78ee, 0x78ee, 0x80ee, 0x80ee, 0x80ee, 0x78ee, 0x80ee, 0x80ee, 0x80ef, 0x80ef, 0x80ef, 0x80ee, 0x80ef, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x8910, 0x8110, 0x8130, 0x8910, 0x810f, 0x8110, 0x810f, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x8110, 0x690f, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28cb, 0x20ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x9192, 0x1ebd, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x7a71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20ab, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x208a, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, - 0x78ee, 0x78ee, 0x78ee, 0x78ee, 0x80ee, 0x78ee, 0x78ee, 0x80ee, 0x80ee, 0x80ef, 0x80ef, 0x80ee, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810e, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x8110, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x890f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8130, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8910, 0x8910, 0x8130, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8130, 0x8930, 0x710f, 0x690e, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20cb, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ac, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cc, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x28ce, 0x28ce, 0x28ce, 0x28ee, 0x28ce, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ef, 0x390f, 0x390f, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xa111, 0xa111, 0xa111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07ff, 0x07ff, 0x07fd, 0x07f6, 0x5c32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390f, 0x30ef, 0x30ef, 0x30ee, 0x30ce, 0x28cd, 0x28ee, 0x28ed, 0x28cd, 0x20cd, 0x20ac, 0x20cd, 0x20cd, 0x20ad, 0x20cd, 0x20ad, 0x20cc, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cd, 0x20ad, 0x18cc, 0x20cc, 0x20ac, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x18cc, 0x18cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ab, 0x18ab, 0x18ab, 0x18ac, 0x18ac, 0x18ac, 0x18ab, - 0x78d0, 0x78d0, 0x78d0, 0x78f0, 0x78f0, 0x78f1, 0x78f0, 0x78f0, 0x78f0, 0x78f1, 0x78f1, 0x80f0, 0x78f1, 0x78f0, 0x80f1, 0x80d1, 0x80f1, 0x80f1, 0x80f1, 0x80f1, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8111, 0x8111, 0x8111, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8911, 0x8110, 0x8110, 0x8111, 0x8110, 0x8911, 0x8911, 0x8911, 0x8111, 0x8911, 0x8911, 0x8910, 0x8911, 0x8911, 0x8911, 0x8911, 0x8111, 0x8131, 0x8131, 0x8931, 0x8911, 0x8911, 0x8911, 0x8911, 0x8931, 0x8911, 0x8131, 0x8131, 0x8931, 0x8130, 0x8131, 0x8911, 0x8931, 0x7931, 0x6111, 0x4911, 0x30d2, 0x18f2, 0x10f2, 0x18d2, 0x18d2, 0x10f2, 0x18d2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x20f2, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xa111, 0xa111, 0x9931, 0x9911, 0xa111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5c38, 0x07ff, 0x07fd, 0x07f6, 0x44f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x1912, 0x18f2, 0x20f3, 0x18f2, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x10d2, 0x10d2, 0x10d2, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10d0, 0x10b0, 0x10d0, 0x10b0, 0x10b0, 0x10d0, 0x10b0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, - 0x0051, 0x0071, 0x0071, 0x0071, 0x0071, 0x0051, 0x0071, 0x0070, 0x0870, 0x0870, 0x0071, 0x0071, 0x0091, 0x0870, 0x0071, 0x0091, 0x0071, 0x0871, 0x0871, 0x0891, 0x0871, 0x0871, 0x0871, 0x0871, 0x0891, 0x0891, 0x0891, 0x0891, 0x0871, 0x0871, 0x0871, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0891, 0x0891, 0x0891, 0x0892, 0x0891, 0x0891, 0x08b1, 0x08b1, 0x08b1, 0x08b2, 0x10b2, 0x08b1, 0x08b2, 0x08b1, 0x08b2, 0x08b2, 0x08b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x08b2, 0x10b2, 0x10b2, 0x08b2, 0x08b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10d2, 0x10d2, 0x10d2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x18d2, 0x18d2, 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28f3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xa111, 0xa112, 0xa111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2e5c, 0x07fc, 0x07f6, 0x2e53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20f3, 0x2112, 0x20f3, 0x20d3, 0x1912, 0x18f2, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x10f2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d1, 0x10d1, 0x10d2, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x08b0, 0x10b0, 0x10b0, 0x08b0, 0x08b0, 0x10b0, 0x10d0, 0x08d0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, - 0x0cdc, 0x0cdc, 0x0cdb, 0x0cdc, 0x0cfb, 0x0cdc, 0x14dc, 0x14fc, 0x0cdc, 0x14fc, 0x14dc, 0x0cfc, 0x0cfc, 0x14fc, 0x0cfc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x153c, 0x153c, 0x153c, 0x153c, 0x151c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x155c, 0x153c, 0x153c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x155c, 0x155c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x157c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x365e, 0x2e5d, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3d, 0x363d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x361d, 0x361d, 0x361d, 0x361d, 0x361d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1e, 0x461e, 0x461d, 0x4dfe, 0x4dfd, 0x4e3e, 0x4dfe, 0x55dd, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7a74, 0x07fb, 0x07f6, 0x07f6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4cfb, 0x3dfe, 0x35dd, 0x35dd, 0x2ddd, 0x2ddd, 0x2ddd, 0x2ddd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25dc, 0x25bd, 0x25bd, 0x25bd, 0x1dbd, 0x25bc, 0x1dbd, 0x1dbd, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9c, 0x1d9c, 0x1dbc, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9c, 0x1d9d, 0x1d9c, 0x1d7c, 0x1d7c, 0x1d7d, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x157c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x155c, 0x155c, 0x1d5c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151b, 0x151b, 0x151b, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, - 0x0bfb, 0x0bfb, 0x0bfb, 0x0bfb, 0x0bfb, 0x0c1b, 0x0c1b, 0x0c1b, 0x0c1b, 0x141b, 0x141b, 0x145b, 0x14dc, 0x0cdb, 0x14bc, 0x143b, 0x141b, 0x0c1b, 0x0c1b, 0x141c, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143c, 0x143b, 0x145b, 0x151c, 0x0d1b, 0x151c, 0x145b, 0x143b, 0x145c, 0x143b, 0x145c, 0x1c5b, 0x143b, 0x145c, 0x145c, 0x145c, 0x145c, 0x145c, 0x145b, 0x145c, 0x145b, 0x145b, 0x1c5c, 0x145c, 0x147c, 0x147c, 0x147c, 0x145c, 0x1c7c, 0x1c5c, 0x147c, 0x147c, 0x1c7c, 0x1cdc, 0x1d5c, 0x155c, 0x1cbc, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2ddd, 0x2d5d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2dbd, 0x2dbd, 0x2cfd, 0x2d1d, 0x251c, 0x251c, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3d1d, 0x451d, 0x451d, 0x451d, 0x4d1d, 0x4d1d, 0x553d, 0x91b3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa112, 0x9931, 0x9931, 0x5496, 0x07f7, 0x07f7, 0x8a13, 0xa111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34dd, 0x34dd, 0x2cdd, 0x2cdc, 0x2cdd, 0x2cbc, 0x24dc, 0x24bc, 0x24bc, 0x253c, 0x25bd, 0x253c, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c7c, 0x1c9c, 0x1cdc, 0x1d7c, 0x1d5c, 0x1c9c, 0x1c9c, 0x1c7b, 0x1c7c, 0x1c9c, 0x1c7b, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c7c, 0x1c9c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x147c, 0x147c, 0x147c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c5c, 0x1c9c, 0x153c, 0x155c, 0x14bc, 0x145b, 0x145b, 0x1c5c, 0x147b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145c, 0x145c, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x151c, 0x14fb, 0x14fc, 0x145b, 0x143b, 0x143b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, - 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a7a, 0x0a5a, 0x0afa, 0x0c1b, 0x0cbb, 0x0c9b, 0x0b9b, 0x0a9a, 0x125a, 0x0a7a, 0x0a7a, 0x0a7a, 0x0a7a, 0x127a, 0x127a, 0x0a7a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x129a, 0x129a, 0x129a, 0x133b, 0x145b, 0x0d1c, 0x149c, 0x131b, 0x129b, 0x129b, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129b, 0x129a, 0x129b, 0x129b, 0x129b, 0x129b, 0x129b, 0x129b, 0x129a, 0x129b, 0x1abb, 0x129b, 0x131b, 0x147c, 0x153b, 0x145c, 0x12fb, 0x1abb, 0x12ba, 0x1abb, 0x1abb, 0x12bb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b7c, 0x259d, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x245d, 0x259c, 0x22fc, 0x2afc, 0x231c, 0x2afc, 0x22fc, 0x231c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2afc, 0x2b1c, 0x2b1c, 0x2b1c, 0x331c, 0x331c, 0x331c, 0x331c, 0x331c, 0x3b1c, 0x3b3d, 0x3b3d, 0x3b3d, 0x433c, 0x433d, 0x4b3d, 0x435d, 0x5a9a, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07f9, 0x72d4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331c, 0x32fc, 0x2afb, 0x2afc, 0x2afb, 0x22fb, 0x22dc, 0x22dc, 0x22fb, 0x22db, 0x22db, 0x235c, 0x1d5c, 0x1d1d, 0x231b, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1bfc, 0x1d5c, 0x14dc, 0x1b3b, 0x1abb, 0x1adb, 0x1abb, 0x1abb, 0x12db, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x129b, 0x12bb, 0x129a, 0x12ba, 0x129a, 0x12db, 0x143b, 0x151b, 0x14bb, 0x1afb, 0x12ba, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x127a, 0x127a, 0x127a, 0x131b, 0x147c, 0x14db, 0x145b, 0x131a, 0x127a, 0x127a, 0x127a, 0x127a, - 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b5a, 0x0c1b, 0x0c9b, 0x0c9b, 0x0bba, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3b, 0x0b3a, 0x0b3a, 0x0b3b, 0x133b, 0x0b3b, 0x0b3b, 0x0b3b, 0x133a, 0x0b3a, 0x0c3b, 0x14dc, 0x14bc, 0x13fb, 0x0b3a, 0x133b, 0x133b, 0x133b, 0x135b, 0x0b5b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x135b, 0x0b5a, 0x135b, 0x135b, 0x135b, 0x135b, 0x0b5b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x13fb, 0x151c, 0x14fc, 0x13db, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x243c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x259c, 0x247c, 0x23bc, 0x23bc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23bc, 0x23bc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x33dc, 0x33dc, 0x33dc, 0x33dc, 0x3bdc, 0x3bfc, 0x3bfc, 0x3bdc, 0x43fc, 0x43fd, 0x6b18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6b53, 0x07fa, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbb, 0x23bb, 0x23bb, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bdb, 0x1d5c, 0x1d1c, 0x1b9b, 0x1b9b, 0x139b, 0x139c, 0x1b9b, 0x1b7b, 0x1b7b, 0x139b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b9b, 0x139b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b9b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x151c, 0x151c, 0x13db, 0x137b, 0x137b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x13da, 0x14fb, 0x0cfb, 0x141b, 0x133a, 0x135b, 0x133b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x0b5b, 0x133b, 0x133a, 0x0b3a, 0x133a, 0x133a, 0x0b3b, 0x0b3b, 0x0b3b, 0x0b3a, 0x133a, 0x0b1a, 0x0b3b, 0x0b3a, 0x0bda, 0x14bb, 0x0cbb, 0x0c1b, 0x0b3a, 0x0b3b, 0x0b3a, - 0x0bdb, 0x0c7b, 0x0c7b, 0x0c1a, 0x0b3a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c1b, 0x0cbb, 0x0c9b, 0x0bbb, 0x0b5a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x0b3a, 0x133b, 0x0b3a, 0x133a, 0x0b3a, 0x133a, 0x0b3a, 0x135a, 0x133a, 0x133b, 0x133a, 0x133b, 0x0b3a, 0x0c7b, 0x0cfb, 0x147b, 0x137b, 0x0b5b, 0x0b5b, 0x135a, 0x135a, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1b9c, 0x1bdc, 0x1bbb, 0x1c5b, 0x1cfb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1d3c, 0x1cbc, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9c, 0x1b9c, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9c, 0x1b9b, 0x1bbb, 0x239b, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbc, 0x33bc, 0x33bc, 0x33dc, 0x3bdc, 0x3bdc, 0x3bdc, 0x3bdc, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4c98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4b19, 0x23bc, 0x239b, 0x239b, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x14bb, 0x151b, 0x13db, 0x137b, 0x137a, 0x137b, 0x137b, 0x137a, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x135a, 0x13bb, 0x14db, 0x14bb, 0x137b, 0x135a, 0x135b, 0x0b5a, 0x135b, 0x135b, 0x135a, 0x0b5a, 0x135a, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x0b5a, 0x0b5a, 0x135a, 0x133a, 0x135a, 0x133a, 0x0b3a, 0x133b, 0x133a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0c5b, 0x0cbb, 0x0c5b, 0x0b7a, 0x0b3a, 0x0b3b, 0x0b1a, 0x133b, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b9a, 0x0c9b, 0x0c9b, - 0x0bda, 0x02f9, 0x01f9, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0178, 0x0178, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0178, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a1a, 0x0b1a, 0x0c3a, 0x0c1b, 0x0ada, 0x09f9, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x09f9, 0x0b1a, 0x0c7b, 0x0c1b, 0x0aba, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19da, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19db, 0x19da, 0x19db, 0x19fb, 0x153c, 0x123a, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x11db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x19db, 0x19ba, 0x11da, 0x11ba, 0x1abb, 0x14fb, 0x1a5b, 0x19ba, 0x19ba, 0x11da, 0x11da, 0x19db, 0x19db, 0x19da, 0x19db, 0x19ba, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x21db, 0x21db, 0x21db, 0x21fb, 0x21fb, 0x29fb, 0x29fb, 0x29fb, 0x29fb, 0x31fb, 0x321b, 0x31fb, 0x321b, 0x41fa, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72d4, 0x4c98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21db, 0x21da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11d9, 0x137a, 0x149b, 0x131a, 0x11ba, 0x119a, 0x11b9, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x0999, 0x1199, 0x1199, 0x1199, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x0999, 0x09b9, 0x0999, 0x0a1a, 0x0bfb, 0x0c9b, 0x131a, 0x09da, 0x119a, 0x0999, 0x0999, 0x0999, 0x1199, 0x099a, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0aba, 0x0bda, 0x0c5b, 0x0b3a, 0x09f9, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0979, 0x0979, 0x0979, 0x0999, 0x0979, 0x0999, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0178, 0x0199, 0x0179, 0x0979, 0x0999, 0x02b9, - 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02d9, 0x02d9, 0x02b9, 0x0ab9, 0x0ad9, 0x02d9, 0x0ad9, 0x0ab9, 0x0ab9, 0x03ba, 0x043a, 0x043a, 0x0359, 0x02d9, 0x0ad9, 0x02d9, 0x0ad9, 0x02d9, 0x02d9, 0x0ad9, 0x0ad9, 0x0ad9, 0x02d9, 0x0ad9, 0x02d9, 0x02d9, 0x0ada, 0x0afa, 0x02fa, 0x02fa, 0x02d9, 0x02fa, 0x0ada, 0x0afa, 0x02fa, 0x0afa, 0x0afa, 0x0ad9, 0x0afa, 0x0ada, 0x0afa, 0x0b5a, 0x0c5b, 0x047a, 0x0bba, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133a, 0x135b, 0x135a, 0x135b, 0x135b, 0x149b, 0x13fb, 0x133a, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x133a, 0x135a, 0x133a, 0x143b, 0x147b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133a, 0x135b, 0x133b, 0x133b, 0x1b3b, 0x1b5b, 0x1b5b, 0x1b3b, 0x1b5b, 0x235b, 0x235b, 0x235b, 0x235b, 0x2b5b, 0x2b5b, 0x2b7b, 0x2b7b, 0x335b, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72d5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71b4, 0x1b3b, 0x1b3b, 0x133a, 0x133b, 0x133a, 0x131a, 0x131a, 0x131a, 0x131a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0afa, 0x0b1a, 0x0afa, 0x0bda, 0x0cbb, 0x0bda, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0bba, 0x049b, 0x0c3a, 0x0b3a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x0ada, 0x0ada, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02da, 0x0ada, 0x0ada, 0x0ada, 0x02d9, 0x02d9, 0x02da, 0x02fa, 0x02d9, 0x0ad9, 0x0ad9, 0x0b5a, 0x045a, 0x045a, 0x033a, 0x0ad9, 0x02d9, 0x02d9, 0x02da, 0x0ada, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ab9, 0x0ab9, 0x02d9, 0x02d9, 0x0ab9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ab9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x0ab9, - 0x0299, 0x0299, 0x0298, 0x0298, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02b8, 0x02b9, 0x0299, 0x02b8, 0x039a, 0x041a, 0x03fa, 0x0339, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x03ba, 0x043a, 0x03fa, 0x02f9, 0x02d9, 0x02d9, 0x0ab9, 0x0ab9, 0x02d9, 0x02b9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ad9, 0x0ad9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b7a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bda, 0x0c7b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x131a, 0x131a, 0x131a, 0x131a, 0x131a, 0x1b1a, 0x1b3a, 0x1b3a, 0x1b3a, 0x1b3a, 0x233a, 0x233a, 0x233b, 0x2b3b, 0x2b5b, 0x3ad9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1b1a, 0x131a, 0x131a, 0x12fa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x035a, 0x045a, 0x0c3a, 0x0afa, 0x02da, 0x0afa, 0x0af9, 0x02f9, 0x0afa, 0x0afa, 0x0afa, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ad9, 0x02d9, 0x02da, 0x0ad9, 0x0ad9, 0x02ba, 0x02d9, 0x039a, 0x043a, 0x03da, 0x02d9, 0x0ab9, 0x02d9, 0x0ab9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x03fa, 0x041a, 0x03b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02b8, 0x02b8, - 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0198, 0x02b8, 0x0399, 0x0359, 0x0258, 0x0198, 0x0137, 0x0137, 0x0117, 0x0158, 0x0137, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0158, 0x0259, 0x0399, 0x0399, 0x0258, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0158, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0bfa, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0bda, 0x02d9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199a, 0x1999, 0x2199, 0x219a, 0x21ba, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01d8, 0x0399, 0x0399, 0x01d9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0157, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0218, 0x0379, 0x03b9, 0x0258, 0x0158, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0137, 0x0238, 0x0359, 0x0399, 0x0298, 0x0178, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, - 0x0116, 0x0116, 0x0116, 0x00f7, 0x00f6, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0238, 0x0318, 0x0379, 0x0297, 0x0197, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0177, 0x02d8, 0x0399, 0x0318, 0x01d7, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02b9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01d8, 0x03f9, 0x01f8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03f9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0138, 0x0117, 0x0137, 0x0238, 0x0379, 0x0379, 0x0238, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0136, 0x0117, 0x0117, 0x0117, 0x0136, 0x0137, 0x01b7, 0x02b8, 0x0399, 0x02b8, 0x0197, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, - 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x0116, 0x00f6, 0x0116, 0x01b7, 0x02b7, 0x0378, 0x02b7, 0x01d6, 0x0116, 0x00f7, 0x00f6, 0x0116, 0x00f6, 0x0116, 0x0116, 0x00f6, 0x00f6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0136, 0x0197, 0x02f8, 0x0378, 0x0297, 0x0177, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0116, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03f9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03b9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01b7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x00f7, 0x0217, 0x0339, 0x02f8, 0x0197, 0x0136, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0156, 0x0237, 0x0358, 0x02d8, 0x01f7, 0x0116, 0x00f6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x00f6, 0x00f6, 0x0116, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x0116, - 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x02b7, 0x0297, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x0318, 0x0357, 0x0338, 0x02d7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b8, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b8, 0x02b8, 0x02b7, 0x0317, 0x0358, 0x0338, 0x02f7, 0x02d7, 0x02b7, 0x02b7, 0x02b7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0af8, 0x0af8, 0x0af8, 0x0af8, 0x0b18, 0x0b18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1b18, 0x2af8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0af8, 0x0af8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x0378, 0x0378, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02b7, 0x02d7, 0x02d7, 0x02d7, 0x02b7, 0x02b7, 0x02f7, 0x0358, 0x0358, 0x02f7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02d7, 0x0338, 0x0357, 0x02f7, 0x0297, 0x0297, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x0297, 0x0297, 0x0297, 0x02b7, 0x0297, 0x0297, 0x02b7, 0x0297, - 0x0175, 0x0155, 0x0155, 0x0156, 0x0175, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x01b6, 0x0257, 0x02f7, 0x02d7, 0x0216, 0x0176, 0x0155, 0x0175, 0x0156, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0176, 0x0155, 0x0176, 0x0176, 0x0176, 0x0175, 0x0176, 0x0175, 0x0156, 0x0176, 0x0176, 0x0176, 0x0155, 0x01b6, 0x0296, 0x0337, 0x0296, 0x01d6, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0196, 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01f7, 0x0358, 0x0196, 0x0196, 0x01b6, 0x0196, 0x01b6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02f7, 0x02f7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01b6, 0x01b6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09b7, 0x0997, 0x09b7, 0x09b7, 0x09b7, 0x11b7, 0x11b7, 0x11d7, 0x11b7, 0x11b7, 0x11b7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09b6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02b7, 0x0337, 0x0216, 0x0196, 0x0196, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0196, 0x0195, 0x0216, 0x02f7, 0x0317, 0x0216, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0175, 0x0176, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0175, 0x0155, 0x0196, 0x0256, 0x0317, 0x02b7, 0x01b6, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0155, 0x0155, 0x0175, 0x0155, 0x0155, 0x0155, - 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b4, 0x00d3, 0x00d3, 0x00b4, 0x00d4, 0x0174, 0x0235, 0x02d6, 0x0235, 0x0174, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x0135, 0x0235, 0x02d6, 0x0236, 0x0134, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d4, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x0115, 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f5, 0x00d5, 0x00d5, 0x00d6, 0x00d6, 0x00d5, 0x00f5, 0x02f7, 0x0176, 0x00f5, 0x00d5, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x0116, 0x02f7, 0x01d6, 0x00d6, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x08f6, 0x08f6, 0x08f6, 0x08f6, 0x0916, 0x0916, 0x10f6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08f5, 0x08f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x01d6, 0x02f7, 0x0236, 0x0114, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00f4, 0x01d5, 0x02d6, 0x0236, 0x0114, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x0114, 0x01f5, 0x02b5, 0x0235, 0x0154, 0x00d3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, - 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x01d3, 0x0253, 0x0234, 0x0173, 0x00d2, 0x0092, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b2, 0x0153, 0x0234, 0x0274, 0x01b3, 0x00f3, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x01b4, 0x02b5, 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01f5, 0x0235, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x0154, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x08d4, 0x08d4, 0x08d4, 0x08f4, 0x08f4, 0x08f4, 0x08f5, 0x10f4, 0x10d5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00d3, 0x00d3, 0x0214, 0x0295, 0x0153, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00d2, 0x01b3, 0x0274, 0x01d3, 0x00f2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0092, 0x00b2, 0x00b1, 0x0172, 0x0253, 0x0233, 0x0152, 0x00b1, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, - 0x0090, 0x0090, 0x0090, 0x00b0, 0x0151, 0x0212, 0x0232, 0x0191, 0x00f0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0090, 0x0091, 0x00b1, 0x0171, 0x0232, 0x0213, 0x0151, 0x0090, 0x00b0, 0x0090, 0x0091, 0x00b1, 0x00b0, 0x0090, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x00d1, 0x0172, 0x0253, 0x01b2, 0x00d1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x0293, 0x00d2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0172, 0x0253, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x08b2, 0x08b2, 0x08b2, 0x08d2, 0x08b2, 0x08d2, 0x08d3, 0x10d3, 0x40f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00d2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0131, 0x0252, 0x01f2, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00b1, 0x0091, 0x0091, 0x00b0, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0090, 0x00b0, 0x0091, 0x00b0, 0x01b2, 0x0252, 0x01b1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x01d1, 0x0232, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, - 0x008f, 0x0130, 0x01b1, 0x0232, 0x01b1, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0191, 0x0232, 0x01d1, 0x00f0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0171, 0x0232, 0x01d1, 0x00f1, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x0171, 0x0091, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x01d1, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01b1, 0x0252, 0x0131, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01b1, 0x0232, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0252, 0x01b1, 0x0110, 0x0090, 0x0090, 0x0090, - 0x0212, 0x01f1, 0x0150, 0x00af, 0x008f, 0x008f, 0x006f, 0x0090, 0x0090, 0x0070, 0x006f, 0x006f, 0x008f, 0x008f, 0x0070, 0x0070, 0x006f, 0x008f, 0x006f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x006f, 0x008f, 0x008f, 0x008f, 0x0130, 0x01d1, 0x0212, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x0151, 0x0211, 0x01d1, 0x00f0, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f1, 0x0171, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00b0, 0x00b0, 0x00b1, 0x08b1, 0x08b0, 0x08b1, 0x08b1, 0x50f1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f1, 0x0211, 0x01d2, 0x00d0, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x00b0, 0x01b1, 0x0232, 0x0151, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x008f, 0x00b0, 0x0151, 0x0211, 0x0212, 0x0130, 0x00af, - 0x00cf, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00af, 0x0130, 0x01f2, 0x0212, 0x0131, 0x00af, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x0090, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0130, 0x0212, 0x01f2, 0x00f0, 0x0070, 0x008f, 0x006f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00f0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f0, 0x0232, 0x00f1, 0x00b0, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0890, 0x08b0, 0x0891, 0x10b0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0191, 0x0212, 0x0150, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x006f, 0x008f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x00d0, 0x01d2, 0x0212, 0x0150, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x0110, 0x01d1, 0x0212, - 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x00af, 0x0171, 0x0212, 0x01d1, 0x0110, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x0110, 0x01f2, 0x0212, 0x0130, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0191, 0x01b1, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x006f, 0x008f, 0x0131, 0x0232, 0x00d0, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60f1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006f, 0x0090, 0x006f, 0x008f, 0x008f, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x01f2, 0x01d1, 0x00cf, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x00f0, 0x01b2, 0x0232, 0x0150, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00f0, - 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x00ef, 0x01b1, 0x0212, 0x0191, 0x00d0, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x00ef, 0x01d1, 0x01f1, 0x0130, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00cf, 0x0232, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x0191, 0x0212, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x18af, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9931, 0xa111, 0x29d2, 0x01b1, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0150, 0x0232, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00f0, 0x01d1, 0x01f1, 0x0130, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006e, 0x008f, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x0130, 0x01d1, 0x0212, 0x0150, 0x00af, 0x006e, 0x006e, 0x008e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x006f, 0x00cf, 0x01b1, 0x0212, 0x0130, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x01d1, 0x0130, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x01f1, 0x01b1, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28d0, 0x01f2, 0x01d1, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x00cf, 0x01f1, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006f, 0x006e, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x00f0, 0x01d1, 0x01f1, 0x0110, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0150, 0x0212, 0x01d1, 0x0110, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0212, 0x0150, 0x008f, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0110, 0x01f1, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x0110, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x48d0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008e, 0x008f, 0x01b1, 0x01f2, 0x00af, 0x006f, 0x006e, 0x008f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x0232, 0x0150, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x0110, 0x01f1, 0x01f1, 0x0110, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0190, 0x0212, 0x0190, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0170, 0x0212, 0x0150, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x108f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006e, 0x006f, 0x006e, 0x0190, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01b1, 0x01f2, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x01f1, 0x01b1, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, - 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x00ef, 0x01b1, 0x01f1, 0x0150, 0x008f, 0x006e, 0x006e, 0x004e, 0x004e, 0x004e, 0x004e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0170, 0x0212, 0x0171, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0170, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01f1, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x68f0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x0130, 0x01f2, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x01d1, 0x01b1, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, - 0x006e, 0x006d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x0130, 0x01d1, 0x01d1, 0x010f, 0x006e, 0x006d, 0x006d, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006d, 0x006e, 0x006e, 0x0170, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0211, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01b1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x38b0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x010f, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01d1, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006d, 0x004d, 0x008e, 0x0150, 0x01f1, 0x01b1, 0x00cf, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006d, - 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x008e, 0x0170, 0x01f1, 0x01b1, 0x00ef, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x012f, 0x01f1, 0x0170, 0x008e, 0x006d, 0x006d, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x01d1, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x008e, 0x01f1, 0x012f, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x086e, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0211, 0x0190, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004d, 0x00ef, 0x01f2, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x012f, 0x01f1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x004d, 0x006d, 0x006d, - 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x00ce, 0x0190, 0x0211, 0x0170, 0x008e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x0150, 0x01f1, 0x01b1, 0x00ce, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004d, 0x004d, 0x004e, 0x010f, 0x01d1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x00ce, 0x0212, 0x00ce, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x70f0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x008e, 0x01d1, 0x0190, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x0171, 0x01f2, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008e, 0x012f, 0x01f1, 0x0170, 0x008e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, - 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x00ef, 0x01d1, 0x01d1, 0x012f, 0x008d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x00ef, 0x01f1, 0x01b0, 0x00ce, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006e, 0x01f1, 0x008e, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x010f, 0x01f1, 0x006d, 0x006d, 0x004d, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004e, 0x006d, 0x006d, 0x004d, 0x40cf, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70f0, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0191, 0x01b1, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x00ee, 0x01f1, 0x0190, 0x008e, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0150, 0x0212, 0x0170, 0x008e, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, - 0x0211, 0x0211, 0x0212, 0x01f2, 0x0212, 0x01f2, 0x01f1, 0x0211, 0x0211, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0211, 0x0211, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0232, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x11f1, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x5991, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0212, 0x0211, 0x0212, 0x0212, 0x01f2, 0x0212, 0x0211, 0x01f1, 0x0211, 0x0211, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, - 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x00ae, 0x0170, 0x01f1, 0x0170, 0x00ce, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x00ef, 0x01d1, 0x01d1, 0x00ee, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x012f, 0x0212, 0x012f, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x01b1, 0x01d1, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x00ae, 0x0212, 0x00ae, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x0150, 0x014f, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x0212, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x00ae, 0x01f1, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01b1, 0x0150, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x88f0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9911, 0x9931, 0x40af, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010f, 0x0212, 0x00ae, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004c, 0x006d, 0x00ce, 0x01d1, 0x0190, 0x008e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0170, 0x01f1, 0x012f, 0x006d, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, - 0x004c, 0x004c, 0x004c, 0x00ee, 0x0190, 0x01d1, 0x012f, 0x008d, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x00ae, 0x0190, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x00ae, 0x01b1, 0x01b1, 0x008d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x008d, 0x01b1, 0x0170, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x01d1, 0x010f, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01f1, 0x008e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x0212, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01d1, 0x00ee, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008d, 0x01f1, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x50cf, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa111, 0x186e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x00ef, 0x01f1, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x006d, 0x0150, 0x01f1, 0x010f, 0x004d, 0x004c, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x008e, 0x0190, 0x01d1, 0x012f, 0x006d, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, - 0x006d, 0x010f, 0x01b1, 0x01d1, 0x00ee, 0x006d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x0190, 0x01d1, 0x00ee, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x01f1, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x008e, 0x01f1, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x006d, 0x0170, 0x0190, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010f, 0x01d1, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x0212, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010e, 0x01b0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01f1, 0x00ad, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x308e, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9111, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01f1, 0x012f, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008d, 0x01b0, 0x01b1, 0x008d, 0x004d, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00cd, 0x0191, 0x01d1, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, - 0x01d1, 0x0170, 0x00ae, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0190, 0x01d1, 0x010f, 0x006d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01d1, 0x0190, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ee, 0x01f1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x01b0, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0170, 0x010f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x0212, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006d, 0x01f1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006c, 0x004c, 0x012f, 0x01b0, 0x006d, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x084d, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x68f0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01b0, 0x016f, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x0211, 0x010f, 0x004d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x0190, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, - 0x006c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0150, 0x01f1, 0x012f, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x006d, 0x014f, 0x01d1, 0x010f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x00ee, 0x01d1, 0x00ce, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01f1, 0x008e, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0211, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0212, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0170, 0x0170, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x80f0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x388e, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006d, 0x01b0, 0x01b1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008e, 0x01b0, 0x01b0, 0x00ad, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01b0, 0x01b1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, - 0x004c, 0x004c, 0x002c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002c, 0x002c, 0x002c, 0x002c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x002c, 0x004c, 0x008d, 0x0150, 0x01d1, 0x012f, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01b0, 0x0190, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x01f1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010f, 0x016f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006c, 0x01d1, 0x010e, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x50cf, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x084c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x014f, 0x01b1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010e, 0x01d1, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x00ce, 0x01b1, 0x01b1, 0x00ee, 0x004c, 0x002c, 0x004c, - 0x004b, 0x002b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004c, 0x002c, 0x004c, 0x004c, 0x012f, 0x01f1, 0x014f, 0x006c, 0x004b, 0x004c, 0x002c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x014f, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x01b0, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0190, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01b1, 0x00ce, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01b1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01f1, 0x00ae, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x388e, 0x9931, 0x9931, 0x9931, 0x9931, 0x68d0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x012e, 0x01d1, 0x008d, 0x004c, 0x004c, 0x004b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x004c, 0x008c, 0x0170, 0x01b1, 0x00ad, 0x004c, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002c, 0x00ee, 0x01b1, 0x0190, 0x00ad, 0x002b, - 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004c, 0x004c, 0x004b, 0x002b, 0x004c, 0x004b, 0x004b, 0x004b, 0x006c, 0x010e, 0x01d1, 0x014f, 0x006c, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x002c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x00cd, 0x01b1, 0x0170, 0x008c, 0x004b, 0x002c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x004b, 0x004b, 0x004c, 0x0190, 0x0190, 0x004c, 0x004b, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x012f, 0x0190, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01d1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f2, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010e, 0x0170, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ce, 0x01d1, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x002c, 0x002c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x104c, 0xa111, 0x9931, 0x9931, 0x9931, 0x288d, 0x004b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004c, 0x002b, 0x004b, 0x00ee, 0x01f2, 0x00cd, 0x004b, 0x004c, 0x002b, 0x004c, 0x004c, 0x002b, 0x004b, 0x002b, 0x002b, 0x002c, 0x004b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004c, 0x002b, 0x00ee, 0x01d1, 0x012f, 0x004c, 0x002b, 0x004c, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x002b, 0x004c, 0x00ee, 0x01b1, 0x0170, - 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004c, 0x010e, 0x01b1, 0x0170, 0x008c, 0x002b, 0x004b, 0x002b, 0x004b, 0x002c, 0x002c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x006c, 0x0170, 0x01d1, 0x00cd, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x008d, 0x0190, 0x014f, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004b, 0x002b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x00cd, 0x01d1, 0x008c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x014f, 0x012e, 0x002c, 0x004b, 0x004c, 0x004b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x01f1, 0x006c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x002c, 0x004c, 0x004c, 0x002b, 0x004c, 0x014f, 0x01b0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x002b, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x9931, 0x9931, 0x9931, 0x8910, 0x002c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x002b, 0x004c, 0x002b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004b, 0x00ac, 0x01d1, 0x010f, 0x004b, 0x002c, 0x004c, 0x002c, 0x004c, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x004b, 0x002b, 0x004c, 0x002b, 0x006c, 0x014f, 0x01d1, 0x00cd, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004c, 0x010e, - 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00ed, 0x01b1, 0x0170, 0x008d, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x00ad, 0x01d1, 0x016f, 0x004c, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x008d, 0x01d1, 0x012f, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004c, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x006c, 0x01d1, 0x00cd, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x002b, 0x004c, 0x004b, 0x004c, 0x004b, 0x004c, 0x01d1, 0x006c, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x01f1, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x014f, 0x010e, 0x004b, 0x004b, 0x002c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004c, 0x004b, 0x004b, 0x0190, 0x012f, 0x004b, 0x004c, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004c, 0x004b, 0x004b, 0x002b, 0x70f0, 0x9931, 0x9931, 0x48ae, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x008c, 0x01b1, 0x014f, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00cd, 0x01d1, 0x0150, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, - 0x002a, 0x002a, 0x004a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x004a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00cd, 0x01b0, 0x0170, 0x00ac, 0x002a, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x016f, 0x01d1, 0x00ad, 0x002b, 0x002a, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x00ce, 0x01d1, 0x00cd, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x0190, 0x012f, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x00ee, 0x0190, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x01f2, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x00ad, 0x01b1, 0x002b, 0x002c, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x006c, 0x01d1, 0x00ce, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x60cf, 0x9931, 0x9931, 0x104c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x0190, 0x0190, 0x004c, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x01b1, 0x00ad, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x004b, 0x004b, 0x002b, 0x002b, 0x004a, 0x002a, - 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00cd, 0x0190, 0x01b0, 0x00cd, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x002a, 0x004a, 0x002a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002a, 0x004b, 0x00cd, 0x01d1, 0x012f, 0x004b, 0x004b, 0x002a, 0x004b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x00ce, 0x01d1, 0x00ad, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x0190, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x0190, 0x00cd, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x01d1, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x01b0, 0x00ad, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x00ad, 0x01d1, 0x008c, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x48ae, 0x9931, 0x68f0, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x0190, 0x006c, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x004b, 0x004b, 0x002a, 0x002b, 0x004b, 0x002b, 0x002b, 0x002a, 0x002b, 0x004a, 0x00ac, 0x0190, 0x0170, 0x006c, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, - 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x008c, 0x0170, 0x0190, 0x00cd, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x006b, 0x016f, 0x0190, 0x008c, 0x002a, 0x004a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x012f, 0x01b1, 0x006c, 0x004b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x002b, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x00cd, 0x01b1, 0x004b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x006c, 0x01d1, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x01d1, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x010e, 0x014f, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x010e, 0x0190, 0x004b, 0x002a, 0x002b, 0x002a, 0x002b, 0x002b, 0x002a, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x308d, 0x9911, 0x206c, 0x004b, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002a, 0x004b, 0x004a, 0x004b, 0x004a, 0x002a, 0x002b, 0x002b, 0x004b, 0x002a, 0x002a, 0x002a, 0x002b, 0x010e, 0x01b1, 0x008c, 0x002a, 0x004a, 0x002b, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004b, 0x010e, 0x01b0, 0x00ed, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, - 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x0029, 0x008b, 0x016f, 0x01b0, 0x00cd, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ed, 0x01b1, 0x010e, 0x004a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004b, 0x014f, 0x016f, 0x004b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002a, 0x008b, 0x01b1, 0x008c, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002b, 0x002a, 0x002a, 0x012e, 0x012f, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d2, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x004b, 0x01d1, 0x006b, 0x002a, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x014f, 0x014f, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x186b, 0x88f1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00cd, 0x01b1, 0x00cd, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x00ac, 0x0190, 0x016f, 0x006b, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, - 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008b, 0x014f, 0x0190, 0x00ed, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x006a, 0x014f, 0x0190, 0x00ab, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x004a, 0x0170, 0x016f, 0x004a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x0170, 0x00ed, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0190, 0x008c, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x012f, 0x010e, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x004b, 0x0190, 0x00ed, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x286b, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ac, 0x01b1, 0x00ed, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x00ee, 0x01b1, 0x010d, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0049, 0x012e, 0x0190, 0x00ed, 0x004a, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00cc, 0x01b0, 0x010e, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006b, 0x0190, 0x012e, 0x0049, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x012e, 0x016f, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ac, 0x0190, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x0029, 0x00ac, 0x0190, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x008b, 0x01b1, 0x008b, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006b, 0x01b0, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008b, 0x0170, 0x014f, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x010d, 0x01b1, 0x00ed, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x006a, 0x014f, 0x016f, 0x008b, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006a, 0x01b0, 0x00ed, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x00cd, 0x01b0, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x014f, 0x00cd, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01d1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x0190, 0x00ab, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004a, 0x0029, 0x0029, 0x00cc, 0x01b1, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x016f, 0x012e, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0009, 0x00ed, 0x01b1, 0x00ed, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x010e, 0x0191, 0x010e, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x01b1, 0x00ec, 0x0008, 0x0028, 0x0028, 0x0029, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x00ab, 0x01b1, 0x00ac, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x006a, 0x01b1, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004a, 0x01b1, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01b1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00ed, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x012e, 0x016f, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0029, 0x0049, 0x012e, 0x016f, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x006a, 0x014f, 0x0170, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ed, 0x0190, 0x010e, 0x004a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0029, 0x006a, 0x016f, 0x014f, 0x006a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x0190, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x00cc, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01b1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x004a, 0x01b1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x016f, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x0029, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x010d, 0x0190, 0x006a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x0190, 0x00ed, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0049, 0x00ed, 0x0190, 0x012f, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ec, 0x01b0, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x012e, 0x012e, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x016f, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012e, 0x00ec, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00ab, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00cc, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0049, 0x014e, 0x0170, 0x008b, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00cc, 0x0190, 0x014f, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008a, 0x014f, 0x012f, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012e, 0x014f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x016f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x008b, 0x018f, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00ab, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ac, 0x0190, 0x00ac, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ac, 0x0190, 0x012e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00cb, 0x0170, 0x014f, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0009, 0x0028, 0x0049, 0x00ed, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x014f, 0x014f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0170, 0x008a, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x014f, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x010d, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x00ac, 0x0170, 0x0170, 0x008b, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x008a, 0x016f, 0x014e, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x006a, 0x0170, 0x010e, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00cd, 0x010d, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012f, 0x012e, 0x0008, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014f, 0x010e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ab, 0x0190, 0x010e, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x008a, 0x016f, 0x016f, 0x00ac, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x010d, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014f, 0x010d, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00cb, 0x016f, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x01b1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0170, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x014f, 0x014f, 0x0049, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x010d, 0x01b0, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x008b, 0x014f, 0x0170, 0x00ab, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x008b, 0x0170, 0x014e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ab, 0x0191, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ec, 0x016f, 0x0049, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012e, 0x00cc, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x012e, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0191, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x010e, 0x0170, 0x006a, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008a, 0x0170, 0x014f, 0x004a, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x012f, 0x0190, 0x00ec, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x0190, 0x006a, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0190, 0x008a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x01b1, 0x0049, 0x0008, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ab, 0x0170, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ac, 0x0190, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00ec, 0x0190, 0x008b, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0048, 0x00ed, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x00ec, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0008, 0x00ab, 0x0190, 0x012e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x0170, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0069, 0x0190, 0x008b, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x010e, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010d, 0x014f, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0008, 0x00cb, 0x0191, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x006b, 0x014f, 0x014e, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, - 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012f, 0x014f, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014f, 0x00ed, 0x0029, 0x0028, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0170, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x00ed, 0x010e, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014f, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x0191, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x10AE, 0x00F8, 0x00F9, 0x00D6, 0x18AD, 0x188C, 0x188C, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188D, 0x188D, 0x188D, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x188D, 0x18AD, 0x18AC, 0x18AC, 0x188D, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x188D, 0x18AC, 0x18AC, 0x00F9, 0x00F9, 0x18AC, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x18AB, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x10AE, 0x00F7, 0x00F9, 0x00F6, 0x188D, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x188D, 0x18AC, 0x18AC, 0x188D, 0x188D, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x00F9, 0x00F9, 0x18AC, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x10AF, 0x00F8, 0x00F8, 0x00F7, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188D, 0x18AC, 0x18AD, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x00F9, 0x00F9, 0x18AC, 0x18AD, 0x18AC, 0x18AC, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x10AF, 0x00F7, 0x00F8, 0x00F6, 0x18AD, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x10AF, 0x00F8, 0x00F9, 0x00D6, 0x18AD, 0x18AD, 0x188C, 0x18AC, 0x18AD, 0x18AC, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x208D, 0x18AD, 0x18AD, 0x208D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x188D, 0x18AC, 0x18AD, 0x18AF, 0x00F8, 0x00F9, 0x00F6, 0x18AE, 0x188D, 0x18AC, 0x188D, 0x18AC, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x10D3, 0x10D3, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, + 0x188B, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x188C, 0x18AC, 0x188D, 0x10AF, 0x00F8, 0x0119, 0x00D7, 0x18AE, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, + 0x188B, 0x188C, 0x188C, 0x188C, 0x188B, 0x188B, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18CF, 0x00F8, 0x0119, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, + 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x188C, + 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F8, 0x00F9, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AF, 0x011A, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x08B2, 0x08D2, + 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x00F9, 0x0119, 0x00F8, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08F6, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08D3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x00F8, 0x00F8, + 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18B0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0117, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x00F7, 0x00F7, 0x0119, 0x011A, 0x08F5, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x00F9, 0x00F9, + 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x011A, 0x0119, 0x00F6, 0x10F2, 0x10D1, 0x10D0, 0x10D1, 0x10D3, 0x08F6, 0x00F9, 0x00F9, 0x0119, 0x10D2, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x00F8, 0x00F8, + 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18D0, 0x0118, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x10D1, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x00F9, 0x00F9, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18CD, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x00F9, 0x00F8, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x08D5, 0x011A, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x011A, 0x10D2, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188D, 0x00F9, 0x00F8, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x0118, 0x10D1, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x188C, 0x00F9, 0x00F9, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x00F9, 0x0119, 0x011A, 0x0119, 0x08F4, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18CD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x18AC, 0x188C, 0x00F9, 0x00F9, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0118, 0x0119, 0x0119, 0x0118, 0x10D1, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x08F3, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F3, 0x011A, 0x0119, 0x08F3, 0x10D1, 0x00F7, 0x0119, 0x00F9, 0x18AF, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F7, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F3, 0x10D0, 0x10F4, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x0117, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x00F9, 0x00F9, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x188C, 0x188C, 0x188C, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x08F5, 0x0139, 0x00FA, 0x011A, 0x0119, 0x08F5, 0x18AF, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x011A, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x08F4, 0x20AD, 0x18AE, 0x18AE, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08D4, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x00F7, 0x011A, 0x10D3, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x00F9, 0x00F9, + 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x188C, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0118, 0x18CF, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x0118, 0x0119, 0x08F7, 0x10D1, 0x10D1, 0x00F7, 0x0119, 0x0118, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x00F6, 0x011A, 0x08F3, 0x18AE, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x10D2, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08D4, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x00F7, 0x011A, 0x10D3, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x011A, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x00F9, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F9, 0x011A, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10D1, 0x18CD, 0x18AD, 0x10D1, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x08F4, 0x011A, 0x011A, 0x10F1, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D0, 0x18AE, 0x08D5, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F7, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F3, 0x10D0, 0x10F4, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x0117, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x10F2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, + 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x10B1, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AE, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, + 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x0118, 0x0119, 0x00F7, 0x10D1, 0x10D1, 0x00F7, 0x0119, 0x00F8, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F8, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, + 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10F1, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10F1, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x08D5, 0x011A, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, + 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x10D1, 0x00F8, 0x0119, 0x0119, 0x00F8, 0x10D1, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AE, 0x18CD, 0x18AD, 0x20AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0118, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D3, 0x10D3, + 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18CD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x0119, 0x10D1, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x011A, 0x0119, 0x00F6, 0x10F2, 0x10D1, 0x10D0, 0x10D1, 0x10D3, 0x08F6, 0x011A, 0x0119, 0x0119, 0x10D2, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10CF, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x0119, 0x011A, 0x08F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x013A, 0x00F8, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18B0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CF, 0x0119, 0x00F9, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08F5, 0x10D1, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x00F9, 0x011A, 0x10D2, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0118, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x10D0, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x08D5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10F3, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x011A, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D0, 0x10D3, 0x08F4, 0x08F3, 0x08F3, 0x10F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x10D3, 0x10D3, 0x08F3, 0x08F3, 0x08D4, 0x10D3, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CF, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x011A, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18CD, 0x10F3, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, + 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D1, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AF, 0x0119, 0x011A, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x00F9, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18CD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AE, 0x18AE, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x08F4, + 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F7, 0x18AE, 0x18CD, 0x18AF, 0x0119, 0x011A, 0x00F9, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, + 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0118, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x00F9, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, + 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F3, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0119, 0x011A, 0x10D0, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x011A, 0x10D2, + 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F9, 0x00F9, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x00F9, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x08D3, 0x18AD, 0x18AD, 0x08D3, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x10D3, 0x18AD, + 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x10B0, 0x0119, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0139, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x20CE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0139, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, + 0x18AE, 0x18AD, 0x18AD, 0x08D5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0116, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x10D1, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, + 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x00F6, 0x18AE, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00FA, 0x18D1, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x10F3, 0x08D3, 0x10D2, 0x0117, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F9, 0x0119, 0x08F5, 0x18CE, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0116, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AF, 0x00F8, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x08D4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x011A, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08D5, 0x0119, 0x00F9, 0x18AD, 0x18AE, 0x208D, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F8, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x00F7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F8, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18AF, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x011A, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18CD, 0x20AD, 0x18AE, 0x18AE, 0x00F7, + 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x08F6, 0x0119, 0x0119, 0x011A, 0x0119, 0x0116, 0x18CF, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CF, 0x00F9, 0x011A, 0x08F5, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x011A, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x00F8, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18D0, 0x0118, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x00F8, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F9, + 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x18CF, + 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x18D0, 0x18AD, + 0x011A, 0x0119, 0x08F5, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x20AE, + 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F3, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00FA, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, + 0x08F7, 0x00F9, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x08F3, 0x08F3, 0x10F3, 0x08F3, 0x10D3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x08F3, 0x10F2, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x08F3, 0x0119, 0x0119, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x310E, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x10F2, 0x0119, 0x0119, 0x10D2, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00FA, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18D0, + 0x18AE, 0x0117, 0x00F9, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x28EE, 0x8252, 0xCB54, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, + 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x394F, 0xB313, 0xD395, 0x7211, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18CD, 0x18CD, 0x20AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x18CD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x496F, 0xCB55, 0xD395, 0xBB54, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x011A, 0x00F7, + 0x188D, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x208D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00FA, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x61D0, 0xD395, 0xD395, 0xD395, 0x69F1, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20CD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18D0, 0x00F9, 0x011A, 0x00F7, 0x18AE, + 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x61D0, 0xD395, 0xD395, 0xD396, 0xD375, 0x310E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x011A, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, + 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x392F, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x011A, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, + 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10F2, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x8252, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, + 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x08F7, 0x00F9, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10F2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x5190, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18EE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x00F9, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10F2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x08D5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x8252, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x412F, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x10F3, 0x18AD, 0x18AE, 0x08F3, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0118, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0355, 0x190F, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F4, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0x496F, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x011A, 0x0117, 0x0117, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18B0, 0x0119, 0x00F9, 0x0119, 0x011A, 0x10D1, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x08D4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x11D1, 0x03B7, 0x0A93, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x28EE, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x9AB3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x00F9, 0x00F9, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x10AF, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x10D0, 0x0118, 0x011A, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x10F2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x208D, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0356, 0x03B7, 0x03B7, 0x190F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x7A31, 0xD395, 0xD395, 0xD375, 0xDB95, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD396, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F4, 0x10D2, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x0117, 0x00FA, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x11D1, 0x03B8, 0x03B7, 0x03B8, 0x0A94, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x00F9, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x00F9, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x08F5, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x310E, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0xD395, 0xD395, 0xB313, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x08F5, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x011A, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18CD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0356, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x190E, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0xA2D3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xA2D3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18CD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x11D1, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0A94, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08D4, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAAD3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x00F9, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0356, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x190F, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x61D0, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CE, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0397, 0x03B8, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x59D0, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x011A, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x18AE, 0x00F7, 0x011A, 0x011A, 0x011A, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x10D1, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAAD3, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x10D2, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x011A, 0x10D2, 0x18CD, 0x18AE, 0x18CD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x03B7, 0x03B7, 0x03B7, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x08F5, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x61B1, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x8A92, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x188D, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x03B8, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0xAAD3, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0x310E, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x10D1, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03D7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B8, 0x0397, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x496F, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0x7231, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x10D3, 0x08D3, 0x10D2, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B8, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x10D2, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x20AE, 0x8A92, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x7A31, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x28EE, 0xC374, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xA2D3, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x00F9, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CE, 0x194F, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x0397, 0x03B8, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x61D1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0x69F1, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x011A, 0x011A, 0x00F9, 0x08F7, 0x18CE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x10CF, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1930, 0x02F5, 0x03B7, 0x03B8, 0x0356, 0x114F, 0x18AD, 0x18AD, 0x18AD, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x03B7, 0x03B8, 0x03B7, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x0119, 0x08F4, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x9AB3, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0x412F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x0A32, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0356, 0x18AD, 0x18AD, 0x0A32, 0x03B7, 0x03B8, 0x03B8, 0x03B8, 0x0376, 0x18EE, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F8, 0x0119, 0x00F9, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x190F, 0x0377, 0x0397, 0x03B8, 0x0398, 0x0397, 0x0B77, 0x18CE, 0x18AD, 0x18AD, 0x03B7, 0x0397, 0x03B8, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x03B7, 0x0BB7, 0x0398, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0xC355, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x4970, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18EE, 0x0377, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0A33, 0x190E, 0x0397, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x11D1, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x11B0, 0x0A93, 0x0356, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x1253, 0x0B78, 0x0B98, 0x0B78, 0x0B98, 0x0B98, 0x1378, 0x11F2, 0x18AD, 0x18AD, 0x0B98, 0x0B78, 0x0B78, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0B98, 0x1378, 0x0B78, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x4970, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0x8252, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x11D1, 0x03B8, 0x03B7, 0x03B7, 0x03B8, 0x0377, 0x0AD4, 0x0397, 0x03B7, 0x03B7, 0x03B7, 0x02F5, 0x18AE, 0x18AD, 0x03B7, 0x03B8, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x192F, 0x03B7, 0x03B7, 0x03B8, 0x03B8, 0x03B7, 0x03B7, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x1AB5, 0x1B78, 0x1B58, 0x1358, 0x1B78, 0x1378, 0x1358, 0x1A13, 0x18AE, 0x18AE, 0x1358, 0x1358, 0x1378, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x1358, 0x1358, 0x1358, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x7A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD395, 0xC354, 0x5990, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0356, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x194F, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F8, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10CF, 0x0119, 0x011A, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F9, 0x0119, 0x00F9, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1A54, 0x1B38, 0x1B38, 0x2338, 0x1B38, 0x1B58, 0x2338, 0x21D2, 0x18AD, 0x18AD, 0x2338, 0x2338, 0x2358, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x1930, 0x2339, 0x2358, 0x2338, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0xA2B3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0x4970, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x011A, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x1170, 0x03B8, 0x03B8, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x0A53, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x0396, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x2150, 0x2B18, 0x2B39, 0x2B18, 0x2B19, 0x2B19, 0x2AF8, 0x18CE, 0x18AD, 0x18AD, 0x2B19, 0x2B18, 0x2B19, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x2192, 0x2B19, 0x2B19, 0x2B18, 0x2338, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0xBB34, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x4970, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0AF5, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x0377, 0x18EE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B8, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x11B0, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x0117, 0x011A, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x10CF, 0x0118, 0x0119, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x2192, 0x2B19, 0x3319, 0x32F9, 0x2A15, 0x18EF, 0x20AD, 0x18AD, 0x18AD, 0x32F9, 0x3319, 0x32F9, 0x18AD, 0x18AD, 0x18AD, 0x2191, 0x3319, 0x2AF9, 0x3319, 0x2AF9, 0x2A97, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x0119, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x20CF, 0x28CF, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x71D1, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20CD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x190F, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x11D1, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x03B7, 0x0397, 0x03B7, 0x03B7, 0x03B7, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x00F9, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x18D0, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x3AD9, 0x3AD9, 0x3AD9, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x3AF9, 0x3AD9, 0x3AD9, 0x18AD, 0x20AD, 0x3215, 0x3AD9, 0x3AF9, 0x3ADA, 0x3AD9, 0x3277, 0x18CE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x20CD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x4950, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD374, 0xD375, 0xD355, 0xD355, 0xAAB3, 0x20CE, 0x18CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0398, 0x0398, 0x0398, 0x0398, 0x03B7, 0x0397, 0x0397, 0x03B7, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x0AD5, 0x0397, 0x0398, 0x03B8, 0x0398, 0x03B8, 0x18EE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0398, 0x0398, 0x03B8, 0x0398, 0x0398, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0398, 0x0398, 0x0398, 0x0398, 0x0398, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18D0, 0x00F8, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0139, 0x011A, 0x0117, 0x00F7, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x42D9, 0x42B9, 0x42B9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x42B9, 0x42B9, 0x42BA, 0x18AE, 0x31F5, 0x42DA, 0x42D9, 0x42B9, 0x42D9, 0x3A77, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x5991, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD374, 0xD375, 0xD355, 0xD355, 0xD355, 0x9252, 0x30EF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, 0x2338, 0x2338, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x2150, 0x2318, 0x2338, 0x2338, 0x2318, 0x2318, 0x2338, 0x21F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x2339, 0x2318, 0x2318, 0x2339, 0x2338, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x2338, 0x2338, 0x2338, 0x2338, 0x2338, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x00F7, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x10F3, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4A99, 0x4AB9, 0x4A9A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4ABA, 0x4ABA, 0x4A9A, 0x4257, 0x4A99, 0x4A9A, 0x4A9A, 0x4ABA, 0x4237, 0x20CE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x0119, 0x0119, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x69F1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xCB14, 0x4130, 0x20AF, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x42B9, 0x4A99, 0x42B9, 0x42BA, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4257, 0x4ABA, 0x4A9A, 0x4A99, 0x42B9, 0x4A9A, 0x42B9, 0x4A9A, 0x20EF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4A9A, 0x42B9, 0x42B9, 0x4ABA, 0x4AB9, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4A99, 0x42B9, 0x4ABA, 0x4A99, 0x4A99, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x011A, 0x00F9, 0x10D0, 0x18AD, 0x20AD, 0x10D0, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x527A, 0x527A, 0x527A, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x527A, 0x527A, 0x529A, 0x527A, 0x527A, 0x527A, 0x527A, 0x4A18, 0x20CE, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18D2, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x8253, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xD355, 0x7A11, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x6A3B, 0x6A3B, 0x6A3B, 0x621A, 0x6A3B, 0x6A3B, 0x6A1B, 0x6A3B, 0x6A3B, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x3932, 0x6A3B, 0x6A3B, 0x6A1B, 0x6A3B, 0x6A3B, 0x6A3B, 0x6A3B, 0x6A3B, 0x59D7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x6A3B, 0x6A3B, 0x6A3B, 0x6A3B, 0x6A3B, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x6A1B, 0x6A3B, 0x6A3B, 0x6A1B, 0x6A3B, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x08F3, 0x10F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x011A, 0x00F7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AE, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x20AE, 0x08F3, 0x0119, 0x0119, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x5A5B, 0x5A5A, 0x5A7A, 0x2910, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x5A5A, 0x5A7B, 0x5A5A, 0x5A5A, 0x5A5A, 0x5A5A, 0x4A18, 0x20CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x091A, 0x18F2, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x8232, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xA293, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x89BC, 0x89BC, 0x89BC, 0x91BC, 0x89BC, 0x899C, 0x89BC, 0x89BC, 0x89BB, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x899B, 0x89BC, 0x89BC, 0x89BC, 0x799A, 0x7179, 0x89BB, 0x899C, 0x89BC, 0x89BC, 0x38F1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x89BC, 0x899C, 0x899C, 0x89BC, 0x89BC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x89BC, 0x899C, 0x89BC, 0x899C, 0x89BC, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x0117, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x623A, 0x623B, 0x625A, 0x621A, 0x2910, 0x18CD, 0x18AD, 0x18AD, 0x623B, 0x623A, 0x625A, 0x623B, 0x623B, 0x51F8, 0x20CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0119, 0x0917, 0x18D2, 0x18D2, 0x0918, 0x091A, 0x0918, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30D0, 0x30F0, 0x30F0, 0x8252, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD335, 0x9253, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA93D, 0xA93D, 0xA93D, 0xB13D, 0xA93D, 0xA93D, 0xA93D, 0xB13D, 0xB11D, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x60F5, 0xA93D, 0xA93D, 0xB13D, 0xA93D, 0x60F5, 0x40D1, 0xB11D, 0xB13D, 0xA93D, 0xA93D, 0x991B, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA93D, 0xA93D, 0xA93D, 0xA93D, 0xA93D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA93D, 0xA93D, 0xA93D, 0xB13D, 0xA93D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x00F7, 0x00F7, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0117, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x59D8, 0x6A1B, 0x6A1B, 0x6A1B, 0x6A1B, 0x4133, 0x18AD, 0x18AD, 0x6A3B, 0x6A1B, 0x6A1B, 0x6A1B, 0x51B6, 0x20CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x00F9, 0x10D3, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18D1, 0x20CE, 0x20CE, 0x18D1, 0x093A, 0x093A, 0x28EF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x9273, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD334, 0xD335, 0xD334, 0xD334, 0xD314, 0xD315, 0xAA93, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD09E, 0xD0BE, 0xD0BE, 0x18AD, 0x18AD, 0x18AD, 0x30B0, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0x20AE, 0x18AD, 0xB8BC, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0x68B5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0xD0BE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0118, 0x011A, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08D4, 0x08F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20CE, 0x61B8, 0x721B, 0x71FB, 0x721B, 0x721B, 0x4133, 0x20AD, 0x71FB, 0x721B, 0x71FB, 0x4174, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x0119, 0x011A, 0x18D1, 0x20AE, 0x20CE, 0x20F1, 0x093A, 0x093A, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0xAAF4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AE, 0x20AD, 0x20AD, 0x20AE, 0x30EE, 0x6150, 0x81B1, 0xA1F2, 0xC233, 0xCA53, 0xCA54, 0xCA53, 0xC233, 0xA1F2, 0x8191, 0x512F, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0x18AD, 0x20AD, 0x18AD, 0xB079, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xA058, 0x18AD, 0x18AD, 0x7095, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xE83E, 0x28AE, 0x20AD, 0x18AD, 0x18AD, 0xF03F, 0xF01F, 0xF03F, 0xF03F, 0xF03F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x00F9, 0x0119, 0x18D0, 0x18AD, 0x18AE, 0x10D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x00F9, 0x0119, 0x0119, 0x10D0, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x20CE, 0x69B9, 0x81FB, 0x79DB, 0x79DC, 0x81FC, 0x5976, 0x79DB, 0x79DC, 0x81DC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x0918, 0x0119, 0x0917, 0x18D0, 0x20D0, 0x0917, 0x093A, 0x1138, 0x28CF, 0x30CF, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x3911, 0xAAD4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD315, 0xD315, 0xD314, 0x69B2, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x410F, 0x6990, 0x99F2, 0xC253, 0xCA74, 0xD274, 0xCA74, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xD253, 0xCA53, 0xD233, 0xCA33, 0xC213, 0x8991, 0x410F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x00F9, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F9, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0917, 0x0119, 0x0119, 0x10CF, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AE, 0x7199, 0x89DB, 0x89BC, 0x81BC, 0x89BC, 0x89BC, 0x89BC, 0x89BC, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x011A, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D2, 0x0119, 0x0119, 0x093A, 0x093A, 0x093A, 0x093A, 0x20F2, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x3111, 0x3911, 0x3911, 0xB2F5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD314, 0xD314, 0xD2F4, 0xD2F5, 0xCAD4, 0x5971, 0x30F0, 0x30D0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x38EF, 0x79B1, 0xBA53, 0xCA94, 0xCA94, 0xCA74, 0xD273, 0xD273, 0xCA73, 0xCA54, 0xCA53, 0xCA54, 0xCA53, 0xCA33, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xD213, 0xCA13, 0xCA13, 0xA1B2, 0x490F, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0118, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CE, 0x7979, 0x919C, 0x919C, 0x91BC, 0x919C, 0x899C, 0x89BC, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x10F2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x18F2, 0x0919, 0x091A, 0x091A, 0x0919, 0x20F3, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x4112, 0xB2F5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD314, 0xD2F5, 0xD2F4, 0xD2F4, 0x4930, 0x30F0, 0x30EF, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x4130, 0x89F1, 0xD294, 0xD294, 0xCA93, 0xCA74, 0xD274, 0xCA74, 0xCA74, 0xCA53, 0xCA73, 0xD253, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xC274, 0x9B36, 0x83B8, 0x6419, 0x6C39, 0x6439, 0x6C1A, 0x8B57, 0xB295, 0xCA13, 0x9191, 0x28CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CF, 0x0119, 0x00F9, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x28AE, 0x8159, 0x917C, 0x997C, 0x997C, 0x999C, 0x999C, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x00F9, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20D0, 0x20D1, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD314, 0xD2F4, 0xD2F4, 0xD315, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2D5, 0x79D2, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x30D0, 0x28EF, 0x28F0, 0x28CF, 0x5150, 0xAA32, 0xD293, 0xD294, 0xD294, 0xCA93, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0xD274, 0xD254, 0xCA53, 0xCA54, 0xB2D5, 0x83B8, 0x44FC, 0x1DBE, 0x063F, 0x0CDB, 0x0B76, 0x1377, 0x1377, 0x0B76, 0x1356, 0x0B76, 0x0B77, 0x23F8, 0x6991, 0x510F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x18AF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x8939, 0xA17C, 0xA17C, 0xA15D, 0xA15D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8A54, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2D4, 0xCAD4, 0x5951, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x4130, 0x91F2, 0xD294, 0xD294, 0xCA94, 0xCA74, 0xCA94, 0xCA94, 0xCA74, 0xD274, 0xD274, 0xD274, 0xD253, 0xB2D5, 0x7419, 0x257D, 0x063F, 0x061F, 0x057D, 0x12B5, 0x190F, 0x18CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x011A, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CE, 0x913A, 0xA93D, 0xA95D, 0xA95C, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xCAB4, 0x5172, 0x3911, 0x38F1, 0x38F0, 0x30F0, 0x81D2, 0xC294, 0xD294, 0xD293, 0xD294, 0xD294, 0xCA93, 0xCA93, 0xD274, 0xD274, 0xCA73, 0xD274, 0x83D8, 0x353D, 0x061F, 0x063F, 0x063F, 0x063F, 0x4C5A, 0x4970, 0x20AE, 0x20AE, 0x20AD, 0x18CD, 0x20AD, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x10D2, 0x08F3, 0x08D4, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xB11D, 0xB11D, 0xB11D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x08D5, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6B36, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D5, 0xD2D4, 0xCAD4, 0xCAB4, 0x5972, 0x3911, 0x5151, 0xB253, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xD274, 0xC294, 0x645A, 0x1DBE, 0x063F, 0x063F, 0x063F, 0x1DBE, 0x6459, 0xC274, 0x99D2, 0x28CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18CE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0xB8FE, 0xB8FD, 0xB8FE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253B, 0x465C, 0x6D7B, 0x6D9A, 0x6D9A, 0x6D7A, 0x84F9, 0x9C78, 0x9C77, 0x9C78, 0x9C78, 0x9C57, 0x9C78, 0x9C58, 0x9C58, 0xBBB6, 0xD334, 0xD315, 0xD334, 0xD315, 0xD314, 0xD315, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2D4, 0x91F3, 0x5972, 0xCA74, 0xD2B4, 0xD2B4, 0xD294, 0xCA94, 0xD294, 0xD294, 0xCA94, 0xCA74, 0xC2B4, 0x6C5A, 0x0DFF, 0x063F, 0x063F, 0x063F, 0x353D, 0x83B8, 0xCA53, 0xCA33, 0x89B1, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x011A, 0x0119, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x00F9, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x08F5, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x18D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0xC0DE, 0xC0FE, 0xC0DD, 0x18AE, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x00FA, 0x08F4, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x38F1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4D1A, 0x6D9A, 0x94B9, 0x9C98, 0x9C77, 0x9C78, 0x9C78, 0x9C78, 0x94B8, 0x6D7A, 0x6D7A, 0x6D7B, 0x367C, 0x367D, 0x1EFE, 0x077F, 0x075F, 0x1EDE, 0x363D, 0x6D3A, 0x9C17, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2B4, 0xCAD4, 0xD2B3, 0xCAB4, 0xC294, 0xCAB4, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0x7BD8, 0x0DFF, 0x063F, 0x061F, 0x063F, 0x4CBB, 0x9B57, 0xD233, 0xCA33, 0xCA53, 0x6150, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x08F3, 0x08F3, 0x08F3, 0x10D2, 0x20AE, 0x10D2, 0x10D3, 0x08F3, 0x08F3, 0x18D0, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x08F3, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x08F3, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x08F3, 0x18D0, 0x18AE, 0x10D2, 0x08F3, 0x08F3, 0x08F3, 0x10D1, 0x18AD, 0x10D1, 0x08F3, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x08F3, 0x10D1, 0x18AD, 0x10D2, 0x08F3, 0x10F3, 0x08F3, 0x10D0, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0917, 0x0119, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC8BE, 0xC8DE, 0xC8BE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xA2B5, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD334, 0xD335, 0xD335, 0xD335, 0xD335, 0xBB96, 0xA437, 0x74F9, 0x4DBC, 0x2E7E, 0x0EDF, 0x559B, 0x8498, 0xC335, 0xD2F4, 0xD2D4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2B5, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xBAB4, 0xBAF6, 0xCA94, 0xD294, 0xCA94, 0xD273, 0x9B76, 0x1DBE, 0x061F, 0x063F, 0x0DDF, 0x643A, 0xB2D5, 0xCA54, 0xD253, 0xCA53, 0xC294, 0x59B1, 0x28CE, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x10D3, 0x18AD, 0x0116, 0x00F9, 0x0119, 0x011A, 0x10D3, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D3, 0x011A, 0x0119, 0x00F9, 0x00F6, 0x18AD, 0x08F6, 0x011A, 0x011A, 0x0119, 0x10D3, 0x18CD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x0119, 0x08F7, 0x18AE, 0x00F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18CD, 0x00F7, 0x011A, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x10D2, 0x08F3, 0x08F3, 0x10D1, 0x18CE, 0x00F7, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18AF, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x40B0, 0xA09A, 0xD0BE, 0xD09E, 0xD0BE, 0xB89C, 0x78B5, 0x28AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xBB15, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD335, 0xD315, 0xD314, 0xD315, 0xD2F5, 0xD2F5, 0xD2F4, 0x9BF7, 0x6D1A, 0x2E3D, 0x45BC, 0x9418, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xC2D4, 0x4CDB, 0x7BD8, 0x9B57, 0x44FC, 0x063F, 0x063F, 0x1DBE, 0x83D8, 0xC294, 0xCA53, 0xCA54, 0xCA33, 0xCA53, 0xB2B5, 0x33B8, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x188E, 0x20CD, 0x10D1, 0x0119, 0x011A, 0x10D1, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x011A, 0x0119, 0x00F6, 0x18AD, 0x08F6, 0x011A, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x00F7, 0x0119, 0x0139, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x011A, 0x0139, 0x0119, 0x08F7, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x08F7, 0x011A, 0x0119, 0x011A, 0x10D3, 0x20AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x08F6, 0x011A, 0x0119, 0x011A, 0x10D3, 0x18AD, 0x08F7, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AE, 0x18AE, 0x18CF, 0x00F8, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F9, 0x10D0, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x10D0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x40B0, 0xD07D, 0xD87E, 0xD89F, 0xD89F, 0xE07F, 0xD89E, 0xD89F, 0xB87B, 0x28AE, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xBB14, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD314, 0xD335, 0xD315, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xC335, 0x8478, 0x4D7B, 0x4D5B, 0xAB96, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCA94, 0xCAB4, 0xD294, 0xD294, 0xD273, 0xC2B4, 0x5C9A, 0x061F, 0x061F, 0x063F, 0x7419, 0xD273, 0xD273, 0xCA53, 0xCA53, 0xD233, 0xCA53, 0xAAF6, 0x153C, 0x2951, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x08F6, 0x0119, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x10D3, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D3, 0x011A, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AE, 0x08F3, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AE, 0x08F6, 0x011A, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AE, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x011A, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0118, 0x10CF, 0x20AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x10B0, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x208D, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB07A, 0xE85F, 0xE85F, 0xE07F, 0xE85F, 0xE87F, 0xE07F, 0xE85F, 0xE07F, 0x9898, 0x20AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xBB15, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD354, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD315, 0xCB34, 0xD315, 0xD314, 0xD314, 0xD315, 0xD314, 0xD2F4, 0xD2F5, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D5, 0xD2D4, 0xD2D4, 0xBB55, 0x7499, 0x35DC, 0x8439, 0xC2F4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xCA93, 0xD294, 0xD274, 0xCA74, 0x9B76, 0x061F, 0x061F, 0x83D8, 0xC295, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0x7BB8, 0x063F, 0x2A34, 0x30F0, 0x30F0, 0x30EF, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F9, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F3, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x08F7, 0x0119, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x0119, 0x00F6, 0x18AD, 0x00F6, 0x011A, 0x0119, 0x0119, 0x08F3, 0x18AE, 0x00F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x08D4, 0x0119, 0x0119, 0x011A, 0x08F6, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0118, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x011A, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x38B0, 0xF05F, 0xE83F, 0xF03F, 0xF05F, 0xF05F, 0xF03F, 0xF03F, 0xF03F, 0xF05F, 0xE83F, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xBB35, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xCB35, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F5, 0xCAD4, 0xD2F4, 0xCAD4, 0xD2D4, 0xD2D4, 0xCAB4, 0xD2B4, 0xCAB4, 0xCAB4, 0x8BF8, 0x3D5C, 0x6499, 0xC2D4, 0xD294, 0xD294, 0xCA74, 0xCA74, 0xD274, 0xCA74, 0xCA74, 0x54BB, 0x5C9A, 0x353D, 0x1DBE, 0x4CBB, 0x9377, 0x9B36, 0x44FC, 0x061F, 0x1BF9, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AD, 0x08F7, 0x0119, 0x011A, 0x011A, 0x10D3, 0x18AD, 0x08F6, 0x0119, 0x00F9, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F9, 0x0119, 0x08F6, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AE, 0x00F6, 0x0119, 0x0119, 0x011A, 0x10D3, 0x18AD, 0x10D3, 0x0119, 0x011A, 0x011A, 0x08F6, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x20AD, 0x08F6, 0x011A, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D0, 0x011A, 0x011A, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x00F9, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F4, 0x10F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x5092, 0xF83F, 0xF83F, 0xF03F, 0xF83F, 0xF83F, 0xF83F, 0xF83F, 0xF81F, 0xF03F, 0xF83F, 0x5092, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69B3, 0xC355, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD335, 0xD335, 0xD314, 0xD314, 0xD314, 0xD2F5, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0x9B97, 0x453C, 0x6C59, 0xC2B4, 0xCA74, 0xD274, 0xD273, 0xCA73, 0xD273, 0xC294, 0x6C39, 0xC294, 0xCA53, 0x8B98, 0x4CBB, 0x0DFF, 0x063F, 0x0D7E, 0x3972, 0x3911, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x011A, 0x00F6, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x00F6, 0x011A, 0x0119, 0x0119, 0x10D3, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D3, 0x0119, 0x0119, 0x011A, 0x08F6, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x00F6, 0x0119, 0x00F9, 0x011A, 0x08F3, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AD, 0x00F6, 0x00F9, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x00F6, 0x0119, 0x011A, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0117, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18CD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x5092, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x5092, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA94, 0x9B77, 0x44DC, 0x73F9, 0xCA73, 0xCA74, 0xD254, 0xCA73, 0xCA53, 0xC294, 0x351C, 0x6C3A, 0xC294, 0xD253, 0xCA34, 0x83B8, 0x5A55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x00FA, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AE, 0x08F6, 0x011A, 0x0119, 0x0119, 0x08F3, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x08F3, 0x0119, 0x0119, 0x011A, 0x08F7, 0x18AD, 0x0116, 0x011A, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x08F6, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x011A, 0x0119, 0x10D3, 0x18AE, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x00F9, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18B0, 0x0119, 0x011A, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4090, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x28AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69D3, 0xC355, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xCB55, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xCAD4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA94, 0xD274, 0xCA74, 0x8B78, 0x447C, 0xA316, 0xD253, 0xD253, 0xCA54, 0xCA53, 0xC294, 0x257D, 0x0DDF, 0x83B8, 0xD233, 0xCA33, 0xCA33, 0xBA13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x30D0, 0x30D0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x00F9, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x08F6, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x0116, 0x20AD, 0x08F6, 0x011A, 0x00F9, 0x0119, 0x10F3, 0x18AD, 0x0116, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x10D4, 0x011A, 0x011A, 0x0119, 0x08F6, 0x20AD, 0x00F6, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x08F7, 0x0119, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F7, 0x011A, 0x011A, 0x0119, 0x0119, 0x08F4, 0x20CD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x00F9, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x011A, 0x0119, 0x011A, 0x00F9, 0x0119, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0xD03C, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xD03C, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xAAD4, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD314, 0xD314, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD294, 0xD2B4, 0xCA94, 0xCA94, 0xD294, 0xCA74, 0xCA73, 0xCA74, 0xD274, 0xC295, 0x6BB9, 0x6B99, 0xCA54, 0xCA53, 0xD254, 0xCA33, 0xC294, 0x24FD, 0x063F, 0x351D, 0xB295, 0xCA13, 0xCA13, 0xCA13, 0xB9F3, 0x7992, 0x4111, 0x4112, 0x38F1, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CF, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x00F9, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x00F6, 0x011A, 0x0119, 0x011A, 0x10D3, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x0119, 0x10D3, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D3, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18AD, 0x00F7, 0x0119, 0x0119, 0x011A, 0x08F3, 0x18AE, 0x00F6, 0x011A, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x011A, 0x08F6, 0x18AD, 0x08F6, 0x011A, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x08F6, 0x011A, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x10D2, 0x10F3, 0x08F3, 0x10D1, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x0118, 0x00F9, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00FA, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x4090, 0xF03F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x6073, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20CD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xCB55, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD334, 0xD314, 0xD335, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD294, 0xD294, 0xD294, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xCA73, 0xCA53, 0xCA53, 0xCA74, 0xAAB6, 0x5B7A, 0xBA74, 0xCA53, 0xCA33, 0xCA33, 0xC254, 0x4BFB, 0x059F, 0x0D7F, 0x8B57, 0xC9F3, 0xCA13, 0xC9F3, 0xC9F3, 0xA9B3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x10D3, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x08F3, 0x18D1, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D3, 0x10B0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10B0, 0x10D3, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D3, 0x10D0, 0x18AD, 0x10D2, 0x08F3, 0x10D3, 0x08F3, 0x10D0, 0x18AD, 0x10D0, 0x08F3, 0x08F3, 0x10D3, 0x10D2, 0x18AD, 0x10D2, 0x10D4, 0x08F3, 0x08F3, 0x18D1, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D3, 0x18D1, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0118, 0x10CF, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4091, 0xE01D, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0xF81F, 0x7074, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x08F3, 0x10D2, 0x20CD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x10D1, 0x0119, 0x0119, 0x10D2, 0x20AD, 0x18AD, 0x20AE, 0x18CD, 0x20AE, 0x20CD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xB2F4, 0xD395, 0xDB95, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD334, 0x84F9, 0x467D, 0x1F5E, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x079F, 0x1F1E, 0x367D, 0x367C, 0x4DDB, 0x653A, 0x8498, 0x9BF7, 0xC2F5, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA73, 0xD253, 0xD254, 0xCA74, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0x72D9, 0xAA76, 0xCA33, 0xD233, 0xCA13, 0xCA33, 0x1C7E, 0x059F, 0x05FF, 0x5C7A, 0xCA13, 0xC9F3, 0xC9F3, 0xC9F3, 0xD1F3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x208D, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x18AD, 0x18CD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10B0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x7074, 0x9077, 0x8856, 0x8876, 0x388F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18CD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x3111, 0x38F1, 0x3911, 0x4111, 0x4132, 0x6193, 0xC355, 0xD396, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xB3D6, 0x271D, 0x07FF, 0x07FF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x079F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x075F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x077F, 0x079F, 0x079F, 0x1EFE, 0x461C, 0x6D1A, 0x9BD6, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xD274, 0xCA74, 0xCA53, 0xD254, 0xCA54, 0xD253, 0xCA53, 0xCA33, 0xA275, 0x9A76, 0xCA33, 0xCA13, 0xCA33, 0x9AD6, 0x04FF, 0x05BF, 0x063F, 0x357C, 0xC254, 0xC9F3, 0xD1F3, 0xC9F3, 0xC9F3, 0xB9D3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F8, 0x10D0, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F9, 0x08F5, 0x18AE, 0x20AD, 0x18AD, 0x08F4, 0x0119, 0x011A, 0x00F7, 0x0117, 0x0119, 0x011A, 0x08F5, 0x20AE, 0x20AE, 0x20AD, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xCB55, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xCB55, 0xD334, 0xCB55, 0xAC17, 0x0FBF, 0x07FF, 0x07FF, 0x07BF, 0x07BF, 0x077F, 0x075F, 0x075F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x073F, 0x075F, 0x075F, 0x077F, 0x077F, 0x079F, 0x07BF, 0x365C, 0x74B9, 0xB315, 0xCA73, 0xCA54, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xD233, 0xCA33, 0xB235, 0xAA16, 0xCA33, 0xCA13, 0xCA13, 0x7B37, 0x055F, 0x05FF, 0x067F, 0x25DD, 0xA2F5, 0xD1D3, 0xC9F3, 0xC9D3, 0xC9D2, 0xC9D3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x0119, 0x00F9, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D3, 0x18CE, 0x20AD, 0x10F4, 0x011A, 0x0119, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61B3, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0x8CB8, 0x0FBF, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x06DF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06FF, 0x06FF, 0x06FF, 0x06FF, 0x071F, 0x071F, 0x071F, 0x073F, 0x073F, 0x073F, 0x073F, 0x075F, 0x075F, 0x071F, 0x2DFD, 0x7419, 0xB2B5, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xD233, 0xCA14, 0xA215, 0xCA13, 0xCA13, 0xC9F3, 0x8338, 0x05BF, 0x063F, 0x06BF, 0x0E9F, 0xAAD5, 0xC9D3, 0xC9D2, 0xC9D3, 0xC9D3, 0xC9B2, 0xB1B2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18CF, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x20AE, 0x18D0, 0x0119, 0x0119, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3111, 0x38F1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD354, 0xD355, 0xD355, 0xC395, 0x5DFA, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06DF, 0x06BF, 0x06BF, 0x069F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x06BF, 0x06DF, 0x06DF, 0x06FF, 0x06FF, 0x06FF, 0x071F, 0x071F, 0x06FF, 0x06BF, 0x065F, 0x05BF, 0x443C, 0x8AF7, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA13, 0x99B6, 0xC9F3, 0xCA13, 0xC9F3, 0x4C3B, 0x061F, 0x069F, 0x06FF, 0x0EBE, 0xA2D5, 0xC9B3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC9B2, 0xC1B3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30F0, 0x28F0, 0x30D0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x20AE, 0x20AD, 0x18CE, 0x0119, 0x0119, 0x10D3, 0x20CE, 0x20AE, 0x10F4, 0x0119, 0x011A, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xBB35, 0xD395, 0xD396, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xBBD6, 0x5DFB, 0x0FBF, 0x07FF, 0x07DF, 0x07BF, 0x077F, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06DF, 0x06BF, 0x069F, 0x069F, 0x067F, 0x067F, 0x067F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x065F, 0x067F, 0x065F, 0x065F, 0x067F, 0x067F, 0x069F, 0x069F, 0x069F, 0x06BF, 0x06BF, 0x06DF, 0x06BF, 0x069F, 0x065F, 0x05FF, 0x053F, 0x049F, 0x1BBE, 0x8298, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xD1F3, 0x99B6, 0xC9F3, 0xC9F3, 0xB254, 0x0D9F, 0x067F, 0x06DF, 0x06FF, 0x0EBF, 0xA2D5, 0xC9D2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9B3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x20AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011A, 0x10F5, 0x20CE, 0x20CF, 0x28CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xBB35, 0xD395, 0xD396, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xAC37, 0x6D9A, 0x2EFE, 0x07FF, 0x07FF, 0x07DF, 0x07BF, 0x079F, 0x075F, 0x073F, 0x071F, 0x06DF, 0x06BF, 0x069F, 0x067F, 0x065F, 0x065F, 0x063F, 0x063F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x05FF, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x063F, 0x063F, 0x063F, 0x065F, 0x065F, 0x065F, 0x065F, 0x067F, 0x067F, 0x063F, 0x05DF, 0x055F, 0x04BF, 0x043F, 0x037F, 0x1ABE, 0x7A18, 0xCA13, 0xCA13, 0xCA13, 0xC9F3, 0xC1F4, 0x7178, 0xC9F2, 0xD1F3, 0x8338, 0x061F, 0x06BF, 0x06FF, 0x071F, 0x0EDF, 0xA2D5, 0xC9B3, 0xC9B3, 0xC9B2, 0xC992, 0xC992, 0xC993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x20AD, 0x20AE, 0x20AE, 0x18CE, 0x0918, 0x011A, 0x011A, 0x0919, 0x011A, 0x0917, 0x20CF, 0x28AE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xA2B4, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xC3B6, 0x8519, 0x4E3C, 0x0F9F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x06FF, 0x06BF, 0x069F, 0x067F, 0x065F, 0x063F, 0x061F, 0x061F, 0x05FF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05FF, 0x05FF, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x061F, 0x05DF, 0x057F, 0x04FF, 0x047F, 0x03DF, 0x031F, 0x025F, 0x19DE, 0x79B8, 0xC9F3, 0xCA13, 0xC9F3, 0xB9D3, 0xA1B5, 0xC9D3, 0xC9F3, 0x4C5B, 0x065F, 0x06DF, 0x071F, 0x071F, 0x0EDF, 0xA2B5, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC993, 0xC992, 0xB172, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x30EF, 0x28EF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x10F3, 0x10F3, 0x10D2, 0x20AE, 0x18AE, 0x20AE, 0x18CE, 0x20CE, 0x20CE, 0x20CE, 0x18F2, 0x10F4, 0x1114, 0x18F3, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xA2B5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xC3B5, 0x7D59, 0x36BD, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x071F, 0x06DE, 0x069E, 0x067E, 0x065E, 0x063F, 0x063F, 0x061E, 0x05FF, 0x05DF, 0x05BF, 0x05BF, 0x059F, 0x059F, 0x059F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x059F, 0x059F, 0x059F, 0x05BF, 0x05BF, 0x05BF, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x057F, 0x04FF, 0x049F, 0x03FF, 0x037F, 0x02BF, 0x021F, 0x017F, 0x213D, 0x9996, 0xC9F3, 0xC9F3, 0xB9D4, 0x99B6, 0xC9D3, 0xC213, 0x0DBF, 0x069F, 0x06FF, 0x071F, 0x073F, 0x0EFF, 0xA2B5, 0xC992, 0xC992, 0xC992, 0xC992, 0xC972, 0xC972, 0xA972, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AE, 0x18CE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AF, 0x20CE, 0x28CE, 0x28CF, 0x28EF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xAAB5, 0xD375, 0xD395, 0xD375, 0xD395, 0xD375, 0x94D8, 0x467C, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x06DE, 0x06BE, 0x067E, 0x067E, 0x065E, 0x063E, 0x061E, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x059F, 0x057F, 0x057F, 0x055F, 0x055F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x053F, 0x055F, 0x055F, 0x055F, 0x057F, 0x057F, 0x057F, 0x057F, 0x057F, 0x055F, 0x04FF, 0x04BF, 0x041F, 0x039F, 0x031F, 0x025F, 0x01BF, 0x013F, 0x00BF, 0x40FB, 0xB1B5, 0xC9D2, 0xB1D5, 0xB1D4, 0xC9B3, 0x6399, 0x061F, 0x06DF, 0x071F, 0x073F, 0x073F, 0x0EFF, 0xA2B5, 0xC992, 0xC992, 0xC972, 0xC972, 0xC992, 0xC972, 0xB152, 0x4111, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0117, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CF, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30D0, 0x28F0, 0x3110, 0x30F0, 0x30F0, 0x30F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4A16, 0xA2B5, 0xD395, 0xD395, 0xD395, 0xD375, 0x8539, 0x1F5E, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x07BF, 0x075F, 0x06BE, 0x069D, 0x067D, 0x065D, 0x063D, 0x063D, 0x061D, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055F, 0x053F, 0x053F, 0x051F, 0x051F, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x04FF, 0x051F, 0x051F, 0x051F, 0x051F, 0x051F, 0x051F, 0x053F, 0x053F, 0x051F, 0x04DF, 0x04BF, 0x043F, 0x03DF, 0x035F, 0x02BF, 0x021F, 0x017F, 0x00FF, 0x009F, 0x087F, 0x7119, 0xC9D3, 0xB1D4, 0xB9D3, 0xC9B3, 0x1CFE, 0x065F, 0x06FF, 0x071F, 0x073F, 0x073F, 0x1EBE, 0xB9F3, 0xC993, 0xC972, 0xC992, 0xC972, 0xC973, 0xC952, 0xB152, 0x4111, 0x3910, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20CD, 0x20CE, 0x20AE, 0x20AE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4A15, 0x3439, 0x16BD, 0x8519, 0xD395, 0xD395, 0xD395, 0x94D8, 0x1F5E, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x071E, 0x069D, 0x069D, 0x067D, 0x065D, 0x063D, 0x063D, 0x061D, 0x05FD, 0x05DD, 0x05BD, 0x059D, 0x059E, 0x057E, 0x055E, 0x053E, 0x051E, 0x04FF, 0x04FF, 0x04DF, 0x04BF, 0x04BF, 0x04BF, 0x049F, 0x049F, 0x049F, 0x049F, 0x049F, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04BF, 0x04DF, 0x04BF, 0x04DF, 0x04DF, 0x04DF, 0x04BF, 0x049F, 0x043F, 0x03DF, 0x035F, 0x02FF, 0x025F, 0x01BF, 0x013F, 0x00DF, 0x007F, 0x005F, 0x185E, 0x8957, 0x61B9, 0xC9D3, 0x9A96, 0x059F, 0x067F, 0x06FF, 0x071F, 0x073F, 0x075F, 0x267D, 0xB9D3, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC952, 0xB152, 0x4111, 0x38F1, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18CF, 0x00F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x00F6, 0x18CE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x38F1, 0x38F1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69B4, 0x6336, 0x6CD9, 0x4E5B, 0x07DF, 0x8539, 0xD395, 0xD395, 0xBC17, 0x3E9C, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07DF, 0x06BD, 0x069C, 0x069C, 0x067C, 0x065C, 0x065C, 0x063C, 0x061C, 0x05FC, 0x05DC, 0x05BC, 0x05BD, 0x059D, 0x057D, 0x055D, 0x053E, 0x051E, 0x04FE, 0x04DE, 0x04BE, 0x04BF, 0x049F, 0x047F, 0x047F, 0x047F, 0x045F, 0x045F, 0x045F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x047F, 0x049F, 0x047F, 0x045F, 0x041F, 0x03DF, 0x037F, 0x031F, 0x029F, 0x021F, 0x017F, 0x011F, 0x00BF, 0x005F, 0x001F, 0x001F, 0x00FF, 0x89B7, 0xC9B3, 0x447B, 0x065F, 0x06BF, 0x071F, 0x073F, 0x073F, 0x075F, 0x3D9B, 0xC972, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xA132, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x20CD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x011A, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x3110, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3931, 0x40F1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61B3, 0x9274, 0xB2F5, 0xC355, 0xD395, 0xD395, 0xD395, 0xBC16, 0x469D, 0x8539, 0xD376, 0xD375, 0x6DBA, 0x0F9F, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x077F, 0x06BC, 0x06BB, 0x069B, 0x067B, 0x065B, 0x063B, 0x063B, 0x061B, 0x05FB, 0x05DB, 0x05BB, 0x059C, 0x059C, 0x057C, 0x055C, 0x053D, 0x051D, 0x04FD, 0x04DD, 0x04BE, 0x049E, 0x047F, 0x047F, 0x045F, 0x043F, 0x043F, 0x041F, 0x041F, 0x041F, 0x041F, 0x041F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x043F, 0x041F, 0x03FF, 0x03BF, 0x037F, 0x033F, 0x02BF, 0x023F, 0x01DF, 0x015F, 0x00DF, 0x009F, 0x005F, 0x001F, 0x005F, 0x097F, 0xB9B3, 0xB214, 0x0DBF, 0x06FF, 0x075F, 0x073F, 0x073F, 0x075F, 0x077F, 0x6479, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC932, 0x9132, 0x3911, 0x3111, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x08F4, 0x20CD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x08F5, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x30EF, 0x30F0, 0x28F0, 0x30F0, 0x3110, 0x38F0, 0x38F1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xC335, 0xD395, 0xD395, 0xD395, 0xD395, 0xAC57, 0x7D7A, 0x469C, 0x0F9F, 0xA4B8, 0xD395, 0x8539, 0x1F5E, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x075D, 0x06BB, 0x06BB, 0x069A, 0x067A, 0x065A, 0x065A, 0x063A, 0x061A, 0x05FA, 0x05DA, 0x05DB, 0x05BB, 0x059B, 0x057B, 0x055B, 0x053C, 0x053C, 0x051C, 0x04FC, 0x04DD, 0x04BD, 0x047E, 0x047E, 0x045E, 0x043F, 0x041F, 0x03FF, 0x03FF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03DF, 0x03BF, 0x035F, 0x031F, 0x02DF, 0x027F, 0x01FF, 0x019F, 0x011F, 0x00BF, 0x007F, 0x003F, 0x001F, 0x009F, 0x39DB, 0xC992, 0x6399, 0x069F, 0x079F, 0x07FF, 0x07DF, 0x07BF, 0x077F, 0x079F, 0x9AF6, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC932, 0x7112, 0x3110, 0x30F0, 0x30EF, 0x28F0, 0x28EF, 0x28CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20AE, 0x18CF, 0x00F9, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08D3, 0x10D2, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xCB75, 0xD395, 0xD395, 0xD395, 0xC3D6, 0x6DBA, 0x1F7E, 0x07FF, 0x07FF, 0x36DD, 0xBC17, 0x8539, 0x1F5E, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x071B, 0x06DA, 0x06BA, 0x06BA, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05F9, 0x05DA, 0x05BA, 0x059A, 0x057A, 0x055A, 0x055B, 0x053B, 0x051B, 0x04FC, 0x04DC, 0x04BC, 0x049D, 0x047D, 0x045D, 0x043E, 0x041E, 0x03FE, 0x03DF, 0x03DF, 0x03BF, 0x03BF, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x039F, 0x037F, 0x035F, 0x031F, 0x02DF, 0x027F, 0x023F, 0x01BF, 0x015F, 0x00FF, 0x009F, 0x005F, 0x001F, 0x003F, 0x011F, 0x99B6, 0xB9D3, 0x0D9F, 0x06DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F7E, 0xB9B3, 0xC952, 0xC952, 0xC952, 0xC952, 0xC931, 0xC932, 0xC132, 0x6111, 0x38F0, 0x30F0, 0x28F0, 0x30EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18CE, 0x08F5, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xA2B4, 0xD395, 0xD375, 0xD395, 0xD395, 0xC3D6, 0x6DBA, 0x0FBF, 0x07FF, 0x07DF, 0x07FF, 0x07DF, 0x1F7E, 0x07DF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x06F9, 0x06F9, 0x06D9, 0x06B8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05F8, 0x05D8, 0x05B8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051A, 0x04FA, 0x04DB, 0x04BB, 0x049C, 0x047C, 0x045D, 0x043D, 0x041E, 0x03FE, 0x03DE, 0x03BF, 0x039F, 0x039F, 0x037F, 0x037F, 0x037F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x035F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02BF, 0x027F, 0x023F, 0x01FF, 0x019F, 0x013F, 0x00BF, 0x007F, 0x003F, 0x001F, 0x005F, 0x197E, 0xB993, 0x6379, 0x063F, 0x073F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x3DFB, 0xC952, 0xC952, 0xC932, 0xC932, 0xC932, 0xC932, 0xC912, 0xB912, 0x4111, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x08F6, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x20AE, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x00F7, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79F3, 0xB2F4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x94F9, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x079D, 0x0719, 0x06F8, 0x06F8, 0x06D7, 0x06B7, 0x06B7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05F7, 0x05D7, 0x05B7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04F9, 0x04DA, 0x04BB, 0x049B, 0x047C, 0x043C, 0x041D, 0x041D, 0x03FE, 0x03DE, 0x03BE, 0x039E, 0x037F, 0x035F, 0x035F, 0x033F, 0x031F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02DF, 0x02BF, 0x029F, 0x027F, 0x023F, 0x01FF, 0x019F, 0x015F, 0x00FF, 0x009F, 0x005F, 0x003F, 0x001F, 0x00BF, 0x59BA, 0xB9B3, 0x0D3F, 0x06BF, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7438, 0xC952, 0xC132, 0xC932, 0xC932, 0xC932, 0xC911, 0xC912, 0xA111, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x08F5, 0x011A, 0x0119, 0x00FA, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0139, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x5151, 0x79F3, 0xA2B4, 0xCB75, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xC3D6, 0x469C, 0x07FF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0xC335, 0x45D7, 0x0738, 0x0717, 0x06F6, 0x06F6, 0x06D6, 0x06B5, 0x06B5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05F5, 0x05F5, 0x05D6, 0x05B6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04F9, 0x04D9, 0x049A, 0x047B, 0x045B, 0x043C, 0x041C, 0x03DD, 0x03DD, 0x03BE, 0x039E, 0x037E, 0x035F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x027F, 0x025F, 0x021F, 0x01FF, 0x01BF, 0x017F, 0x011F, 0x00DF, 0x009F, 0x003F, 0x001F, 0x003F, 0x013F, 0xB174, 0x6339, 0x05FF, 0x071F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xB992, 0xC932, 0xC932, 0xC931, 0xC912, 0xC912, 0xC912, 0xC911, 0x8111, 0x30F0, 0x30F0, 0x28EF, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20D0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08F5, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x00F9, 0x0119, 0x18D0, 0x18CD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x59B2, 0x7A13, 0x9A94, 0xBB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xAC77, 0x2F1E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BC, 0x0759, 0xABB5, 0xC314, 0x1E97, 0x0736, 0x0716, 0x0715, 0x06F4, 0x06F4, 0x06F3, 0x06D3, 0x06B3, 0x06B2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05F4, 0x05D4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04F8, 0x04B9, 0x0499, 0x045A, 0x043B, 0x041B, 0x03FC, 0x03DD, 0x03BD, 0x039D, 0x037E, 0x035E, 0x033E, 0x033F, 0x031F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x029F, 0x027F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x021F, 0x01DF, 0x019F, 0x017F, 0x013F, 0x00FF, 0x009F, 0x007F, 0x003F, 0x001F, 0x007F, 0x399B, 0xB993, 0x055F, 0x067F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x45DB, 0xC132, 0xC932, 0xC912, 0xC132, 0xC912, 0xC912, 0xC911, 0xC912, 0x5111, 0x38F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18CE, 0x10D3, 0x10F4, 0x18D0, 0x18AD, 0x18AE, 0x20CD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10D0, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08D4, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x20CD, 0x20AE, 0x20AD, 0x20AE, 0x18CE, 0x20AE, 0x20CE, 0x20CE, 0x28AE, 0x20CE, 0x28EE, 0x5171, 0x69D2, 0x8232, 0xAAF4, 0xC334, 0xD375, 0xD3B5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x757A, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07BD, 0x079B, 0x077A, 0x0779, 0x74D6, 0xD2D4, 0x9BF5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06F0, 0x06F0, 0x06D0, 0x06AF, 0x06AF, 0x066F, 0x0650, 0x0631, 0x0611, 0x05D2, 0x0594, 0x0554, 0x0515, 0x04F7, 0x04B8, 0x0478, 0x0459, 0x043A, 0x03FB, 0x03BC, 0x03BC, 0x039D, 0x037D, 0x035E, 0x033E, 0x031F, 0x031F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x027F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x013F, 0x011F, 0x00BF, 0x007F, 0x005F, 0x001F, 0x001F, 0x00DF, 0xA175, 0x33BC, 0x05DF, 0x06FF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x92D5, 0xC911, 0xC132, 0xC912, 0xC912, 0xC8F2, 0xC112, 0xC912, 0xA8F1, 0x3110, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x10CF, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x390F, 0x4970, 0x59B0, 0x7A32, 0x9293, 0xAAD3, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0x9CB8, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DE, 0x07DD, 0x07BC, 0x079B, 0x079A, 0x079A, 0x0779, 0x55B7, 0xD2B4, 0xD2B4, 0x4DB5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074F, 0x074E, 0x074D, 0x074D, 0x074C, 0x072B, 0x072B, 0x072A, 0x070A, 0x06EA, 0x06AC, 0x064D, 0x05D0, 0x0573, 0x04F5, 0x04B6, 0x0478, 0x0438, 0x041A, 0x03FB, 0x03BC, 0x039C, 0x037C, 0x033D, 0x033D, 0x031E, 0x02FE, 0x02FF, 0x02DF, 0x02BF, 0x029F, 0x029F, 0x027F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x009F, 0x005F, 0x003F, 0x001F, 0x003F, 0x213D, 0x1B1E, 0x051F, 0x065F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F3D, 0xC912, 0xC912, 0xC112, 0xC112, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F2, 0x80F1, 0x30F0, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x00F9, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x10D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x392F, 0xD395, 0xC374, 0xA2D3, 0xAAD3, 0x7A31, 0x7A31, 0x7A11, 0x7231, 0x5190, 0x496F, 0x496F, 0x4970, 0x496F, 0x494F, 0x412F, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4970, 0x494F, 0x496F, 0x496F, 0x69F1, 0x7A31, 0x7A31, 0x9272, 0xA2D3, 0xAAF3, 0xC355, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD375, 0xD395, 0xAC57, 0x565C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DE, 0x07BD, 0x07BC, 0x07BC, 0x07BB, 0x079A, 0x079A, 0x0799, 0x26B8, 0xCAD4, 0xD2B4, 0xC314, 0x0F35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078F, 0x078E, 0x078E, 0x078D, 0x078C, 0x07AA, 0x07A9, 0x07A9, 0x07A8, 0x07C7, 0x07C5, 0x07C4, 0x07E4, 0x07A4, 0x0727, 0x068A, 0x05AF, 0x0496, 0x0438, 0x03F9, 0x03BA, 0x039B, 0x035C, 0x035D, 0x031D, 0x031D, 0x02FE, 0x02DF, 0x02BF, 0x02BF, 0x029F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x00FF, 0x00DF, 0x00BF, 0x007F, 0x005F, 0x001F, 0x001F, 0x007F, 0x023F, 0x041F, 0x05BF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6498, 0xC911, 0xC912, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8D1, 0x50F1, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x0117, 0x10D2, 0x08F3, 0x10D3, 0x10D2, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC3D6, 0x8539, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DE, 0x07BD, 0x07BD, 0x07BC, 0x07BC, 0x07BB, 0x07BA, 0x07BA, 0x07B9, 0xD2B4, 0xD2B4, 0xD2B4, 0x6535, 0x07B5, 0x07B5, 0x07B4, 0x07B3, 0x07B2, 0x07B1, 0x07B0, 0x07AF, 0x07CE, 0x07CD, 0x07CC, 0x07CB, 0x07CA, 0x07CA, 0x07C9, 0x07E8, 0x07E7, 0x07E6, 0x07E5, 0x07E5, 0x07E3, 0x07E3, 0x07E2, 0x07E1, 0x0726, 0x060C, 0x04B4, 0x03B9, 0x037B, 0x035C, 0x033D, 0x031D, 0x02DE, 0x02DF, 0x02BE, 0x029F, 0x029F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x019F, 0x019F, 0x015F, 0x015F, 0x013F, 0x00FF, 0x00DF, 0x00BF, 0x007F, 0x007F, 0x003F, 0x001F, 0x001F, 0x011F, 0x02FF, 0x04DF, 0x063F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xB972, 0xC8F2, 0xC8F2, 0xC0F1, 0xC8F2, 0xC0F2, 0xC0F1, 0xC8D1, 0xA0F1, 0x30F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CE, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x10CF, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x412F, 0x8A72, 0xC334, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xAC57, 0x469C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x467C, 0x8519, 0x8519, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DE, 0x07DE, 0x07DE, 0x07DD, 0x07DC, 0x07DC, 0x07DB, 0x07DB, 0x07DA, 0x07DA, 0x9BF5, 0xD2B4, 0xD2B4, 0xC2F4, 0x0F77, 0x07D6, 0x07D5, 0x07D4, 0x07D4, 0x07D3, 0x07D2, 0x07D1, 0x07D0, 0x07EF, 0x07EE, 0x07ED, 0x07EC, 0x07EC, 0x07EA, 0x07E9, 0x07E9, 0x07E7, 0x07E6, 0x07E6, 0x07E5, 0x07E5, 0x07E4, 0x07E4, 0x07E3, 0x07E3, 0x07E2, 0x0785, 0x060C, 0x04D3, 0x035B, 0x031C, 0x02DE, 0x02DE, 0x02BE, 0x029F, 0x027F, 0x025F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x001F, 0x001F, 0x003F, 0x01DF, 0x03BF, 0x059F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D7A, 0xC111, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8D1, 0xC8F2, 0xC0D1, 0xC8D1, 0x68F1, 0x30F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18CF, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x414F, 0x61D1, 0x8251, 0xA2D3, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xBC16, 0x8539, 0x469C, 0x17BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8518, 0xD355, 0xD355, 0xD335, 0xD335, 0x84F8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DE, 0x07FE, 0x07DD, 0x07DD, 0x07BC, 0x07DC, 0x07DB, 0x07DB, 0x07DA, 0x8C56, 0xCAB4, 0xCAB4, 0xD294, 0x4DF7, 0x07D7, 0x07D7, 0x07D6, 0x07F5, 0x07D5, 0x07F3, 0x07F3, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EE, 0x07ED, 0x07EC, 0x07EB, 0x07EB, 0x07EA, 0x07E9, 0x07E8, 0x07E8, 0x07E7, 0x07E7, 0x07E6, 0x07E6, 0x07E5, 0x07E5, 0x07E5, 0x07E5, 0x07E4, 0x07A6, 0x060E, 0x03F8, 0x02DE, 0x02BE, 0x029F, 0x027F, 0x025F, 0x023F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00DF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x003F, 0x001F, 0x001F, 0x00BF, 0x029F, 0x049F, 0x063F, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB1D3, 0xC8F1, 0xC8F2, 0xC0F1, 0xC8D1, 0xC8D1, 0xC0F1, 0xC8D1, 0xB8D1, 0x40F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x08F7, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0139, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0x496F, 0x5990, 0x7A12, 0x7A32, 0x9272, 0xA2D3, 0xA2D3, 0xC375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xAC77, 0x757A, 0x36FD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4E3C, 0xD355, 0xD335, 0xD355, 0xD335, 0xD335, 0xD334, 0x7539, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07DD, 0x07DD, 0x07DD, 0x07DC, 0x07FC, 0x07DC, 0x07DB, 0x6D38, 0xCAB4, 0xD294, 0xD294, 0xAB95, 0x07D8, 0x07D8, 0x07F7, 0x07F7, 0x07F6, 0x07F5, 0x07F5, 0x07F4, 0x07F3, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EE, 0x07ED, 0x07ED, 0x07EC, 0x07EC, 0x07EB, 0x07EA, 0x07EA, 0x07EA, 0x07E9, 0x07E9, 0x07E8, 0x07E8, 0x07E8, 0x07E8, 0x07E7, 0x07E7, 0x07E8, 0x07C8, 0x06EB, 0x0514, 0x033C, 0x027F, 0x025F, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x019F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x005F, 0x005F, 0x003F, 0x001F, 0x001F, 0x015F, 0x037F, 0x057F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D5A, 0xC8F1, 0xC8D1, 0xC0F1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0xC8B1, 0x78D1, 0x3110, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x0118, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x496F, 0x496F, 0x4970, 0x7A12, 0x7A31, 0x8252, 0xAAD3, 0xA2D3, 0xBB34, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCBD6, 0x94F8, 0x565B, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB3F6, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD334, 0x1F7E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DE, 0x07DD, 0x07FD, 0x07FD, 0x07FD, 0x07DD, 0x07DC, 0x6D38, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0x1F39, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F6, 0x07F5, 0x07F4, 0x07F3, 0x07F2, 0x07F2, 0x07F1, 0x07F0, 0x07EF, 0x07EF, 0x07EE, 0x07EE, 0x07ED, 0x07ED, 0x07EC, 0x07ED, 0x07EC, 0x07EB, 0x07EC, 0x07EB, 0x07EB, 0x07EA, 0x07EA, 0x07EA, 0x07CA, 0x07AB, 0x076C, 0x070D, 0x05B2, 0x039B, 0x023F, 0x021F, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x017F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00DF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x001F, 0x60D9, 0x0A3F, 0x047F, 0x063F, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA9D3, 0xC0D1, 0xC8D1, 0xC0F1, 0xC8B1, 0xC0D1, 0xC8B1, 0xC0B1, 0xB8B1, 0x48F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F9, 0x10D0, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18CD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x4970, 0x4970, 0x5990, 0x7A31, 0x7231, 0x7A31, 0x7A31, 0x9AB3, 0xAAD4, 0xA2D4, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0x94F8, 0x565C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xD335, 0xD334, 0xD335, 0xD335, 0xD335, 0xD335, 0xD314, 0xD315, 0x5DDB, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x6D58, 0xD294, 0xD293, 0xCA94, 0xD274, 0x4DF8, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F8, 0x07F7, 0x07F6, 0x07F6, 0x07F5, 0x07F5, 0x07F4, 0x07F3, 0x07F3, 0x07F2, 0x07F1, 0x07F1, 0x07F0, 0x07F0, 0x07F0, 0x07EF, 0x07EF, 0x07EF, 0x07EF, 0x07EF, 0x07EE, 0x07EE, 0x07EE, 0x07EE, 0x07EE, 0x07ED, 0x07CD, 0x078E, 0x076E, 0x0710, 0x06B1, 0x0574, 0x037B, 0x01FF, 0x01DF, 0x01BF, 0x019F, 0x017F, 0x017F, 0x013F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x001F, 0x88D6, 0x6159, 0x031F, 0x053F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4D5B, 0xC0D1, 0xC8D1, 0xC8D1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC0B1, 0xC8B1, 0x90D1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CF, 0x20CE, 0x20AE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0119, 0x011A, 0x10D1, 0x18AD, 0x18AD, 0x10D1, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x10CF, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18CE, 0x18AD, 0x20AE, 0x20AD, 0x20CE, 0x20CE, 0x290F, 0x5170, 0x5170, 0x69F1, 0x7A32, 0x8232, 0xAAF3, 0xAAF4, 0xCB75, 0xD395, 0xD396, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xC3B6, 0x8539, 0x1F7F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xD335, 0xD335, 0xD335, 0xD315, 0xD314, 0xD315, 0xD314, 0xD314, 0x659A, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x6D39, 0xD294, 0xCA94, 0xD274, 0xCA74, 0x7C96, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F6, 0x07F6, 0x07F5, 0x07F4, 0x07F4, 0x07F3, 0x07F3, 0x07F3, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F2, 0x07F1, 0x07F1, 0x07F1, 0x07F1, 0x07F0, 0x07F1, 0x07D0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02DD, 0x01BF, 0x019F, 0x017F, 0x015F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x00BF, 0x007F, 0x005F, 0x005F, 0x003F, 0x003F, 0x001F, 0x60B8, 0xB8F3, 0x09BF, 0x041F, 0x061F, 0x073F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB1B3, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0x48F1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F9, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x011A, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x00F9, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AE, 0x00F7, 0x011A, 0x011A, 0x011A, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x5172, 0x61B2, 0x8A54, 0x9A94, 0xB335, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0x9C97, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xAC17, 0xD335, 0xD314, 0xD335, 0xD314, 0xD315, 0xD315, 0xD2F4, 0x467C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6D59, 0xD274, 0xCA94, 0xD274, 0xCA74, 0xB334, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FB, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F6, 0x07F6, 0x07F6, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F5, 0x07F4, 0x07F4, 0x07F4, 0x07D3, 0x07B3, 0x0793, 0x0753, 0x0714, 0x06B5, 0x5516, 0x0538, 0x037C, 0x01FF, 0x017F, 0x015F, 0x013F, 0x011F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x6099, 0xC911, 0x491A, 0x02DF, 0x051F, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6459, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x90D1, 0x30F1, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69D3, 0x9274, 0xB2F5, 0xD395, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xA478, 0x36DD, 0x07FF, 0x07FF, 0x563C, 0xD335, 0xD334, 0xD315, 0xD315, 0xD2F4, 0xCB15, 0xBB96, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8498, 0xCA94, 0xCA94, 0xD274, 0xCA74, 0xCA74, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F8, 0x07F8, 0x07F8, 0x07F8, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F7, 0x07F6, 0x07F6, 0x07D6, 0x07B6, 0x0796, 0x0756, 0x0716, 0xA456, 0xBBD6, 0x3479, 0x02FD, 0x023F, 0x019F, 0x015F, 0x011F, 0x00FF, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x003F, 0x003F, 0x003F, 0x78B7, 0xC111, 0xA114, 0x01FF, 0x041F, 0x05FF, 0x075F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xC0B1, 0xC0D2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x48F1, 0x30F0, 0x30EF, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10D0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18CE, 0x08F7, 0x0119, 0x00F8, 0x10CF, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x20CD, 0x20CD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71F4, 0x9A75, 0xB2F5, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0x9C78, 0x36DD, 0x07FF, 0x9C57, 0xD335, 0xD315, 0xD334, 0xD314, 0xC355, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9BF7, 0xCA94, 0xD274, 0xCA73, 0xCA74, 0xD253, 0x2EFD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07F9, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07FA, 0x07F9, 0x07F9, 0x07F9, 0x07F8, 0x07D8, 0x07B8, 0x0797, 0x0758, 0x0EF8, 0xBBF6, 0xD395, 0x6B99, 0x025F, 0x021F, 0x01BF, 0x013F, 0x011F, 0x00FF, 0x00DF, 0x00BF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x98D5, 0xC8F2, 0xC911, 0x195E, 0x033F, 0x053F, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7B76, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0x88D1, 0x30F1, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x10D2, 0x00F6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08D5, 0x10D0, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F9, 0x18CF, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00FA, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8A16, 0xAAD5, 0xCB55, 0xD375, 0xD355, 0xD354, 0xD355, 0xD335, 0xD335, 0xD335, 0xD335, 0xCB35, 0x84F9, 0x0FBF, 0x5DDB, 0xA457, 0x9C58, 0x84D8, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9BD6, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0xCA74, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07FC, 0x07FC, 0x07FC, 0x07FC, 0x07FB, 0x07FB, 0x07FB, 0x07FB, 0x07DA, 0x07DA, 0x07BA, 0x079A, 0x0779, 0x2E99, 0xC3D6, 0xD395, 0x8339, 0x0A3E, 0x01DF, 0x019F, 0x015F, 0x011F, 0x00FF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x007F, 0x003F, 0x003F, 0x003F, 0x90D5, 0xC912, 0xC0F1, 0x7117, 0x027F, 0x049F, 0x065F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x269D, 0xC891, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8B1, 0x3110, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x011A, 0x00F9, 0x10D0, 0x18AD, 0x20AD, 0x20AD, 0x10D1, 0x00F8, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x10D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0139, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F9, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18CE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28EF, 0x28CF, 0x28EF, 0x28D0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8B14, 0x4AD3, 0x7A94, 0xAB14, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD315, 0xD314, 0xD335, 0xC355, 0x467C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xC2D4, 0xCA74, 0xCA74, 0xD274, 0xCA74, 0xD253, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07FC, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FD, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07FD, 0x07FD, 0x07FC, 0x07FC, 0x07DB, 0x07BB, 0x07BB, 0x077B, 0x2EBA, 0xC3D6, 0xD395, 0xB337, 0x09DF, 0x01BF, 0x017F, 0x013F, 0x011F, 0x00DF, 0x009F, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x003F, 0x7896, 0xC0F1, 0xC8F1, 0xA8F3, 0x01DF, 0x03DF, 0x05BF, 0x071F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA214, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0x68F1, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0139, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x20AD, 0x18AD, 0x08F4, 0x0119, 0x011A, 0x0119, 0x08F6, 0x10D2, 0x10D0, 0x18CF, 0x18D0, 0x10D3, 0x0118, 0x0119, 0x011A, 0x00F9, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20EF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30EF, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9A75, 0xCB55, 0xCB75, 0x5BB4, 0x3B34, 0x42B3, 0x4A33, 0x6253, 0x9AB4, 0xD335, 0xD335, 0xD315, 0xD334, 0xD314, 0xD315, 0xD314, 0xD314, 0x5DDB, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F5E, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xCA53, 0x369D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07FE, 0x07FD, 0x07DD, 0x07DD, 0x07BD, 0x079C, 0x561A, 0xD395, 0xD395, 0xAB37, 0x099F, 0x015F, 0x013F, 0x011F, 0x00FF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x005F, 0x003F, 0x003F, 0x305C, 0xC0F1, 0xC8F1, 0xC8D1, 0x215D, 0x033F, 0x051F, 0x06DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5CD9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x98D1, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x011A, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0117, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x08F3, 0x0118, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F8, 0x011A, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18CD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xCB55, 0xD375, 0xBB95, 0x5474, 0x3C34, 0x3BB4, 0x4333, 0x42B3, 0x4A13, 0x49F3, 0x5A32, 0x9AB4, 0xD334, 0xD335, 0xD314, 0xD314, 0xD315, 0xD314, 0xD2F4, 0x84D8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x4DDB, 0xD274, 0xCA74, 0xCA73, 0xD274, 0xCA54, 0xCA54, 0x369C, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07FE, 0x07DD, 0x07DE, 0x079D, 0x6D99, 0xD395, 0xD395, 0xAB17, 0x097F, 0x011F, 0x011F, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x003F, 0x003F, 0x003F, 0xC8F1, 0xC8F1, 0xC8D1, 0x5119, 0x02DF, 0x04FF, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F1E, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x4910, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x20AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18D0, 0x00F8, 0x0119, 0x00F8, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AE, 0x10D2, 0x08F3, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xCB55, 0xD375, 0xD375, 0xB3D5, 0x3D55, 0x3515, 0x3495, 0x3C14, 0x3B94, 0x3B13, 0x4293, 0x4212, 0x49F3, 0x49F3, 0x5A13, 0x9AB4, 0xD314, 0xD315, 0xCB15, 0xD2F4, 0xD2F5, 0xD2F4, 0x7539, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8C37, 0xCA74, 0xD273, 0xD253, 0xCA54, 0xCA53, 0xD253, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07DF, 0x07DF, 0x94D8, 0xD396, 0xD395, 0x8299, 0x00FF, 0x00FF, 0x00FF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0xC8D1, 0xC0F1, 0xC0D1, 0xA0D4, 0x027F, 0x04BF, 0x069F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8315, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x70F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0117, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x10D3, 0x08F3, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x0117, 0x0119, 0x0119, 0x10CF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x0118, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x011A, 0x0118, 0x10D0, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x011A, 0x0119, 0x0117, 0x18AE, 0x20CD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x28CF, 0x28CF, 0x28CF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xB2F4, 0xD375, 0xD375, 0xD375, 0x9435, 0x3D55, 0x2D55, 0x2D75, 0x3515, 0x3C94, 0x3414, 0x3B94, 0x4313, 0x4293, 0x4A13, 0x41F3, 0x49F2, 0x4A13, 0x5A33, 0xA2B4, 0xD314, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2F4, 0x4E1B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x179F, 0xD274, 0xCA53, 0xCA73, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9E, 0xBC16, 0xD395, 0xD395, 0x725A, 0x00BF, 0x00BF, 0x00BF, 0x009F, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x90B5, 0xC8D1, 0xC8D1, 0xC0D1, 0x123E, 0x047F, 0x067F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0x90D1, 0x38F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x08F6, 0x011A, 0x0119, 0x0118, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0118, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x00F7, 0x011A, 0x00F8, 0x10D0, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x00F9, 0x00F9, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x30F0, 0x38F0, 0x30F0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xCB55, 0xD375, 0xD375, 0xD355, 0x9435, 0x3575, 0x3575, 0x2D75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3BF4, 0x3B73, 0x42F4, 0x4273, 0x4A13, 0x4213, 0x49F2, 0x49F3, 0x49F3, 0x6A33, 0xBAD4, 0xD2F5, 0xD2F4, 0xD2D4, 0xC335, 0x177E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5D9A, 0xCA54, 0xD273, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0x9BB6, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x077F, 0x077E, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x36DD, 0xD395, 0xD395, 0xD395, 0x51BC, 0x009F, 0x009F, 0x007F, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x7077, 0xC0D2, 0xC8D1, 0xC0D1, 0x49FA, 0x049F, 0x069F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F1E, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0x3910, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x20AD, 0x10D0, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x08F5, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D3, 0x011A, 0x0118, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F8, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x08F5, 0x20AD, 0x18CD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08F3, 0x10F3, 0x10D2, 0x20AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18CE, 0x08F7, 0x0119, 0x00F8, 0x18B0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x4952, 0xAAB4, 0xD375, 0xD375, 0xD375, 0xD355, 0x9435, 0x3575, 0x3575, 0x2D75, 0x2D75, 0x2D75, 0x3555, 0x54D5, 0x6475, 0x83B5, 0x8B74, 0x9B34, 0xAB14, 0xAAD4, 0xB2D4, 0xAAD4, 0xAAB4, 0xAAB4, 0xB2B4, 0x6B15, 0x8A94, 0xC2D4, 0xD2F4, 0xD2D4, 0x84B8, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB315, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xD253, 0x653A, 0x07FF, 0x07FF, 0x07DF, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x075F, 0x075F, 0x073F, 0x073F, 0x071F, 0x071E, 0x071E, 0x073E, 0x079F, 0x07DF, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7D7A, 0xD395, 0xD395, 0xC375, 0x28FE, 0x007F, 0x007F, 0x005F, 0x005F, 0x003F, 0x005F, 0x003F, 0x003F, 0x183E, 0xC0D1, 0xC0D1, 0xC0D2, 0x7996, 0x04BF, 0x067F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA214, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0x58F1, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AF, 0x0119, 0x0119, 0x08F6, 0x20AE, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0118, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F7, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0139, 0x0119, 0x10F3, 0x18D0, 0x08F5, 0x0119, 0x0119, 0x18D0, 0x18AE, 0x18AE, 0x18CD, 0x0119, 0x011A, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x011A, 0x00F8, 0x18D0, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x20AD, 0x18CD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x00F9, 0x0119, 0x0117, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x5972, 0xCB55, 0xD375, 0xD375, 0xD375, 0xD375, 0xABD5, 0x4515, 0x54F5, 0x7C75, 0x8C35, 0xABD5, 0xCB55, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0xD315, 0xD314, 0xD314, 0xC355, 0x9C37, 0x659A, 0x467C, 0x0FBF, 0x07FF, 0x07FF, 0x269D, 0x9C17, 0xD2D4, 0x9C17, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x5D9A, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0x26DD, 0x07FF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07BF, 0x079F, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x071E, 0x071E, 0x06FE, 0x06FE, 0x06FF, 0x06DE, 0x06DE, 0x06BE, 0x06BE, 0x06DE, 0x073E, 0x079F, 0x07BF, 0x07BF, 0x079F, 0x079F, 0x079F, 0x077F, 0x079F, 0x079F, 0x077F, 0x079F, 0x079F, 0x079F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0xC3F6, 0xD395, 0xD395, 0xAAF7, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x001F, 0x001F, 0xA094, 0xC0D1, 0xC8B1, 0xA8F3, 0x04BF, 0x069F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x73D8, 0xB8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0x78F1, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CF, 0x18AE, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x00F6, 0x0119, 0x08F3, 0x18AD, 0x20AD, 0x20AD, 0x00F6, 0x00F9, 0x08D4, 0x18AD, 0x18AD, 0x18AD, 0x00F8, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x00F6, 0x0119, 0x10D3, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18CD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18CD, 0x10CF, 0x0119, 0x00F9, 0x0117, 0x18CE, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x3111, 0x71F2, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xD355, 0xD335, 0xD335, 0xCB14, 0xD334, 0xD334, 0xAC16, 0x753A, 0x467D, 0x1F5E, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x369C, 0x4E1B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x26FD, 0xC2B4, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0xCA33, 0xCA33, 0xA356, 0x07FF, 0x07FF, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x077F, 0x075F, 0x073F, 0x071F, 0x071F, 0x06FF, 0x06FE, 0x06FE, 0x06DE, 0x06BE, 0x06BE, 0x069E, 0x069E, 0x069E, 0x067E, 0x067E, 0x065E, 0x065E, 0x06BE, 0x073E, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x075F, 0x077F, 0x077F, 0x077F, 0x077F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07DF, 0x6DDA, 0xD395, 0xD376, 0xD375, 0x79FA, 0x003F, 0x003F, 0x001F, 0x003F, 0x001F, 0x001F, 0x001F, 0x001F, 0x8896, 0xC0B1, 0xC0B1, 0xC8B1, 0x0C9F, 0x069F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x3DBB, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0B1, 0x98D1, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x08F6, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x00F6, 0x011A, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x011A, 0x08F3, 0x20AD, 0x18AD, 0x18AD, 0x08F7, 0x0119, 0x08F3, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x011A, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x9A93, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD355, 0xD355, 0xD335, 0xD335, 0xC375, 0x84F9, 0x4E3C, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9F, 0xAB75, 0xCA54, 0xD253, 0xCA53, 0xCA33, 0xCA33, 0xD233, 0xCA33, 0x4DBB, 0x07DF, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x075F, 0x073F, 0x071F, 0x071F, 0x06FF, 0x06DE, 0x06DE, 0x06DE, 0x06BE, 0x06BE, 0x069E, 0x067E, 0x067E, 0x067E, 0x065E, 0x063E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05FD, 0x067D, 0x06DE, 0x06FE, 0x06FE, 0x06FE, 0x06FE, 0x071E, 0x073F, 0x073F, 0x073F, 0x073E, 0x075F, 0x077F, 0x079F, 0x079F, 0x07BF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x0FBF, 0xC3D6, 0xD375, 0xD375, 0xD355, 0x30FD, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x001F, 0x6058, 0xC0B1, 0xC0B1, 0xC0B1, 0x33FC, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0F9E, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xC0B1, 0xB8D1, 0xB8D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18CD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F6, 0x0119, 0x08D5, 0x18CD, 0x18AE, 0x18AD, 0x08D4, 0x0119, 0x0119, 0x10D3, 0x10D0, 0x08F4, 0x0119, 0x0119, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30F0, 0x3910, 0xAAF4, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xB3D6, 0x7539, 0x271D, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x2EFD, 0xB315, 0xCA53, 0xCA54, 0xCA33, 0xCA53, 0xCA34, 0xCA34, 0xCA33, 0xA335, 0x07BF, 0x07BF, 0x079F, 0x077F, 0x075F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DE, 0x06BF, 0x06BE, 0x069E, 0x069E, 0x069E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05BD, 0x05BE, 0x059D, 0x055E, 0x055E, 0x05BE, 0x05FE, 0x061D, 0x067E, 0x06BE, 0x06FE, 0x06FE, 0x071F, 0x071E, 0x073F, 0x073F, 0x075F, 0x077F, 0x079F, 0x07BF, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x8539, 0xD375, 0xD355, 0xD355, 0xBAF6, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x403B, 0xC8B1, 0xC0B1, 0xC0B1, 0x6318, 0x06BF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA9B3, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8D1, 0x4910, 0x3910, 0x30F0, 0x30F0, 0x28CF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x10D3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F3, 0x011A, 0x0118, 0x18AD, 0x18CD, 0x18AD, 0x18CE, 0x00F8, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x08F5, 0x18AD, 0x20CD, 0x18AD, 0x10D0, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x0117, 0x011A, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18CF, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x30CF, 0x3910, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD354, 0xD355, 0xD355, 0xCB96, 0x8518, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBE, 0x653A, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x2E9D, 0x077F, 0x077F, 0x075F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FE, 0x06DF, 0x06DE, 0x06BF, 0x06BE, 0x06BF, 0x069E, 0x067E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05BE, 0x05BE, 0x059E, 0x057E, 0x053E, 0x051E, 0x04FE, 0x04BE, 0x049E, 0x041E, 0x03DD, 0x04DE, 0x065E, 0x06BE, 0x06DE, 0x06DE, 0x06FE, 0x071F, 0x073E, 0x077F, 0x079F, 0x079F, 0x07BF, 0x07DF, 0x07DF, 0x07FF, 0x36DD, 0xD355, 0xD355, 0xD355, 0xD335, 0x699A, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0xB8B2, 0xC091, 0xC0B1, 0x7A96, 0x06BF, 0x079F, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x82F5, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0x60F1, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x20CD, 0x10D2, 0x08D4, 0x08F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x011A, 0x0119, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AF, 0x08F6, 0x0119, 0x0119, 0x00F9, 0x08F4, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x08F5, 0x011A, 0x00F8, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x08F7, 0x18CE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CF, 0x28CF, 0x28EF, 0x3910, 0xB314, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD355, 0xBBD6, 0x5DFB, 0x0FBF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0x5D9A, 0xB315, 0xD254, 0xCA53, 0xD254, 0xCA53, 0xCA53, 0xCA33, 0xD233, 0xCA33, 0xCA33, 0x64D9, 0x077F, 0x073F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06BF, 0x06BE, 0x069F, 0x069F, 0x067E, 0x065E, 0x065E, 0x063E, 0x063E, 0x061E, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x055E, 0x055E, 0x051E, 0x04FE, 0x04DE, 0x049E, 0x043D, 0x03DE, 0x03BE, 0x039E, 0x037E, 0x03FE, 0x05FE, 0x069E, 0x069E, 0x06BE, 0x06FE, 0x071E, 0x073F, 0x075F, 0x079F, 0x079F, 0x07DF, 0x07DF, 0x07DF, 0x07FF, 0xBBF6, 0xD355, 0xD335, 0xD335, 0xC2F5, 0x083F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x9095, 0xC8B1, 0xC8B1, 0x91F5, 0x067F, 0x06FF, 0x073F, 0x075F, 0x077F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0x80F2, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20CD, 0x20AE, 0x18AD, 0x18AE, 0x20AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AE, 0x0117, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x00F6, 0x011A, 0x0117, 0x18CE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18D0, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CE, 0x08F7, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x3110, 0xB314, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0x9C77, 0x563B, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x1F7E, 0x65DB, 0x7CF9, 0x9C57, 0x9C57, 0x9C57, 0x9C57, 0x9C37, 0x9C37, 0x9C37, 0x9C37, 0x7539, 0x6D7A, 0x6579, 0x5DBB, 0x36BD, 0x36BD, 0x36BC, 0x2EFD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x0FBF, 0x36BD, 0x5D9A, 0x8C37, 0xD274, 0xD273, 0xD254, 0xCA53, 0xD254, 0xD253, 0xCA33, 0xD233, 0xCA34, 0xCA13, 0xCA33, 0x8418, 0x075F, 0x073F, 0x071F, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06DF, 0x06BF, 0x06BF, 0x069E, 0x069F, 0x067E, 0x067E, 0x065E, 0x065E, 0x063E, 0x061E, 0x061E, 0x05FE, 0x05DE, 0x05DE, 0x05BE, 0x05BE, 0x057E, 0x055E, 0x051E, 0x051E, 0x04FE, 0x04BE, 0x045E, 0x03FE, 0x03BE, 0x039E, 0x037E, 0x037E, 0x035E, 0x033E, 0x035E, 0x061D, 0x067E, 0x067E, 0x069E, 0x06BE, 0x06FE, 0x073F, 0x075F, 0x077F, 0x079F, 0x07DF, 0x07DF, 0x07FF, 0x7D59, 0xD335, 0xD335, 0xD335, 0xD314, 0x699A, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x60D8, 0xC0B1, 0xC0B1, 0xB8F2, 0x05DF, 0x061F, 0x065F, 0x06DF, 0x073F, 0x077F, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x363C, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0x90D1, 0x3911, 0x30F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x00F8, 0x0119, 0x0117, 0x18AE, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x00F8, 0x011A, 0x00F8, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F9, 0x0119, 0x0119, 0x011A, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x28CE, 0x28CE, 0x30EF, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xD355, 0x9C77, 0x3EDD, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x659A, 0xD315, 0xD314, 0xD315, 0xD314, 0xD314, 0xD314, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2F4, 0xCAD4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA73, 0xCA73, 0xD274, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xAB15, 0x0EDF, 0x06FF, 0x06FF, 0x06DF, 0x06DF, 0x06BF, 0x06BF, 0x06DF, 0x06BF, 0x069F, 0x069F, 0x067E, 0x067F, 0x067E, 0x065E, 0x063F, 0x061E, 0x061E, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x055E, 0x053E, 0x051E, 0x04FE, 0x04DE, 0x049E, 0x043E, 0x03BE, 0x039E, 0x039E, 0x035E, 0x035E, 0x033E, 0x033E, 0x031E, 0x02FE, 0x037E, 0x05FE, 0x065E, 0x067E, 0x069E, 0x06DE, 0x06FE, 0x075F, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0x271D, 0xD335, 0xD314, 0xD315, 0xD315, 0xC2D5, 0x083F, 0x001F, 0x001F, 0x001F, 0x001F, 0x009F, 0x60D8, 0xC0B1, 0xC0B2, 0xC0B1, 0x04BF, 0x053F, 0x05BF, 0x067F, 0x06DF, 0x075F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0x98D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18CE, 0x20AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x011A, 0x08F7, 0x10D0, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D2, 0x0118, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CE, 0x20CE, 0x30EF, 0xB314, 0xD375, 0xD375, 0xD375, 0xD375, 0xD355, 0xD375, 0xAC37, 0x36DD, 0x07FF, 0x07FF, 0x07FF, 0x0EBD, 0x1D7B, 0x1C99, 0x32F5, 0x3A75, 0x6193, 0x69B3, 0x79F4, 0x8A14, 0xB294, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xD274, 0xCA53, 0xCA54, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x8B97, 0x35FD, 0x5D7B, 0x6D3A, 0x6D3A, 0x5D5B, 0x35FD, 0x06BF, 0x0E7E, 0x457C, 0x6C99, 0x6479, 0x6459, 0x4CBA, 0x0E1E, 0x063E, 0x063E, 0x061E, 0x05FE, 0x05FE, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055E, 0x051E, 0x051E, 0x04FE, 0x04DE, 0x047E, 0x03DE, 0x03BE, 0x037E, 0x037F, 0x035E, 0x033E, 0x033E, 0x031E, 0x02FE, 0x02FE, 0x02FE, 0x02DE, 0x03FE, 0x05BE, 0x063E, 0x065E, 0x069E, 0x06DE, 0x071F, 0x073E, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0xBBB6, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0x697A, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x48FA, 0xC0B1, 0xC0B1, 0xC0B1, 0x331C, 0x047F, 0x053F, 0x05FF, 0x069F, 0x073F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9A14, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x20CF, 0x20AE, 0x18CF, 0x08F6, 0x011A, 0x0119, 0x0119, 0x08F4, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0119, 0x0119, 0x0119, 0x08F6, 0x10D2, 0x10D0, 0x18D0, 0x18D1, 0x10D2, 0x00F8, 0x0119, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x9273, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xC3B6, 0x5DFB, 0x07FF, 0x0E3B, 0x1C98, 0x2AD5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79D3, 0x9A54, 0xC294, 0xD2F4, 0xD2D5, 0xCAD4, 0xD2D4, 0xD2B4, 0xCAD4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xCA73, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0x99D4, 0x6358, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD375, 0x06BF, 0x5CFA, 0xD2B4, 0xCA94, 0xCA33, 0xCA13, 0xC9D3, 0xB9D3, 0x4C5A, 0x061E, 0x061E, 0x05DE, 0x05DE, 0x05BE, 0x059E, 0x059E, 0x057E, 0x053E, 0x051E, 0x051D, 0x04DE, 0x04BE, 0x043E, 0x03BE, 0x03BE, 0x037F, 0x0B7E, 0x337C, 0x333C, 0x335C, 0x333C, 0x333C, 0x331C, 0x331C, 0x32FC, 0x32FC, 0x32DC, 0x2B7C, 0x05DE, 0x061E, 0x065E, 0x069E, 0x06DE, 0x071F, 0x073F, 0x077F, 0x07BF, 0x07DF, 0x07DF, 0x84F9, 0xD314, 0xCB14, 0xCAF4, 0xD2D5, 0xB275, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x08DF, 0xB8D2, 0xC0B1, 0xC0B1, 0x3A7B, 0x03FF, 0x04DF, 0x05BF, 0x067F, 0x071F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7B77, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x4111, 0x38F1, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CF, 0x20CF, 0x20AE, 0x20CF, 0x0918, 0x013A, 0x011A, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AE, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0118, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x08F6, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0139, 0x00F9, 0x10D2, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x7A32, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0x9C78, 0x261B, 0x1B96, 0x3171, 0x30F0, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81F3, 0xAA73, 0xCAD4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xD274, 0xCA54, 0xD274, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xCA33, 0xCA33, 0xD233, 0xC234, 0x7994, 0x5975, 0xB315, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xC375, 0x067F, 0x067F, 0x6C79, 0xCA33, 0xCA13, 0xC9D3, 0xC992, 0xC952, 0xC912, 0x34BB, 0x05FE, 0x05DE, 0x05BE, 0x059E, 0x055E, 0x055E, 0x053E, 0x051E, 0x04FE, 0x249D, 0x347B, 0x6BFA, 0x7B99, 0x9B98, 0xAB97, 0xDB95, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD396, 0xD395, 0xBBD6, 0x9C37, 0x8499, 0x6D1A, 0x363C, 0x1EDD, 0x079F, 0x07BF, 0x07DF, 0x4E1B, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0x40FC, 0x001F, 0x001F, 0x001F, 0x003F, 0x009F, 0x78D7, 0xC0B1, 0xC0B1, 0x61D8, 0x03BF, 0x049F, 0x057F, 0x065F, 0x071F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xB8D1, 0xB8B1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x4111, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CF, 0x20AE, 0x10F3, 0x013A, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011A, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18CE, 0x10D2, 0x08F3, 0x08F4, 0x10D1, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x10F2, 0x00F7, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F5, 0x10D0, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x5170, 0xD395, 0xD375, 0xD375, 0xD375, 0xD355, 0x6519, 0x22B3, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79B3, 0xA233, 0xD2B4, 0xCAB4, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA74, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xCA54, 0xD274, 0xD253, 0xCA54, 0xCA54, 0xCA33, 0xD233, 0xCA34, 0xCA33, 0xCA33, 0xA1D3, 0x5954, 0x5954, 0x79F5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD335, 0x8C18, 0x067F, 0x065F, 0x063F, 0xA2D5, 0xC9D3, 0xC972, 0xC952, 0xC111, 0xC8D1, 0x8A55, 0x05DE, 0x05BE, 0x059E, 0x057E, 0x055E, 0x34DC, 0x6C5A, 0xA3F7, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD335, 0xD335, 0xD335, 0xBBB6, 0x84D9, 0x4E1B, 0x465C, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0x81D8, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x6098, 0xC0B1, 0xC0D1, 0x59B8, 0x035F, 0x045F, 0x055F, 0x063F, 0x06FF, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x363C, 0xC0D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x58F1, 0x3911, 0x30F0, 0x3110, 0x30CF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x08F6, 0x013A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x00F9, 0x08F8, 0x0118, 0x18AD, 0x18AD, 0x18AD, 0x00F8, 0x00F8, 0x08F8, 0x0118, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00FA, 0x00F8, 0x08F7, 0x08F7, 0x18B0, 0x18AD, 0x18AE, 0x08F4, 0x0119, 0x08F8, 0x08F8, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x10D4, 0x10D0, 0x18AD, 0x20AD, 0x08F8, 0x10D3, 0x18AD, 0x18AD, 0x10F4, 0x10D1, 0x18AD, 0x18AD, 0x08F8, 0x00F7, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F8, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AE, 0x20CE, 0x20AE, 0x28EE, 0xCB55, 0xD375, 0xD375, 0xD375, 0xBB14, 0x34F9, 0x2930, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91F2, 0xC254, 0xCA93, 0xCA94, 0xCA94, 0xCA74, 0xCA74, 0xD274, 0xCA73, 0xD273, 0xCA73, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xCA33, 0xCA34, 0xA1F3, 0x6973, 0x4953, 0x5134, 0x5154, 0xAAF5, 0xD395, 0xD395, 0xD395, 0xD375, 0xD335, 0xD314, 0x5CDA, 0x065F, 0x063F, 0x063F, 0xB254, 0xC972, 0xC952, 0xC112, 0xC8D1, 0xC0B1, 0xC0B1, 0x05BE, 0x059E, 0x2D1C, 0x9438, 0xCBB6, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCA94, 0x087F, 0x003F, 0x001F, 0x001F, 0x001F, 0x385B, 0xC0B1, 0xC0B1, 0x9135, 0x031F, 0x043F, 0x053F, 0x063F, 0x071F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xC0D1, 0xB8B1, 0xB8D1, 0x5911, 0x3911, 0x38F0, 0x30F0, 0x30CF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x0917, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x011A, 0x08F7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18CE, 0x0118, 0x0119, 0x011A, 0x00F7, 0x08F7, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x20AD, 0x10D1, 0x10D0, 0x18AD, 0x08D5, 0x10D1, 0x18AD, 0x20AE, 0x00F7, 0x18AD, 0x18AE, 0x18AD, 0x08F7, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F8, 0x18AE, 0x18AD, 0x18AE, 0x0118, 0x18AE, 0x18AD, 0x08F4, 0x18D0, 0x18AD, 0x18AD, 0x10D1, 0x10D5, 0x18AE, 0x18AD, 0x08F5, 0x10D1, 0x20AD, 0x18AD, 0x00F8, 0x08F7, 0x18AF, 0x18AD, 0x08D4, 0x10D1, 0x18AD, 0x18AE, 0x18AD, 0x20AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0118, 0x011A, 0x00F9, 0x0119, 0x00F9, 0x10D2, 0x20AD, 0x18CD, 0x20AE, 0x18AD, 0x20AE, 0x20CE, 0x20CE, 0x8252, 0xD375, 0xD375, 0xD375, 0x9A93, 0x30EF, 0x20CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81D2, 0xAA13, 0xBA33, 0xCA54, 0xCA74, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xB213, 0xA1F3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xD395, 0xD395, 0xD396, 0xD375, 0xD334, 0xD2F5, 0xD2B4, 0x2D9D, 0x063F, 0x063F, 0x061F, 0xC993, 0xC952, 0xC911, 0xC8F1, 0xC0B1, 0xC0B1, 0xB8D1, 0x059E, 0x057E, 0xABF7, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD315, 0xD335, 0xCB15, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0x411C, 0x003F, 0x003F, 0x001F, 0x001F, 0x203C, 0xC0B1, 0xC0B1, 0x9135, 0x02FF, 0x041F, 0x051F, 0x061F, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xA1B3, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x68F1, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CF, 0x20CE, 0x10F3, 0x0119, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x00F9, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x10F4, 0x08F7, 0x18AD, 0x18AE, 0x18AD, 0x08F8, 0x20AE, 0x18AD, 0x18AD, 0x10D1, 0x10F4, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F7, 0x18AD, 0x18AD, 0x10D1, 0x08F6, 0x18AD, 0x20AD, 0x08F4, 0x10D3, 0x18D1, 0x18D1, 0x08F5, 0x18D2, 0x18AD, 0x20AD, 0x08F4, 0x10D1, 0x18AD, 0x18AD, 0x08F7, 0x18AF, 0x08F7, 0x18AD, 0x08F4, 0x10D1, 0x18AD, 0x18AD, 0x208E, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x10D2, 0x00F9, 0x0119, 0x0119, 0x011A, 0x011A, 0x10D2, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x20CE, 0x412F, 0xD375, 0xD375, 0xD375, 0x71D1, 0x20CE, 0x28CF, 0x20CF, 0x28CE, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3110, 0x3110, 0x38F0, 0x30F0, 0x3111, 0x3111, 0x38F1, 0x38F1, 0x38F0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8A34, 0xD395, 0xD395, 0xD375, 0xD335, 0xD2F4, 0xCAD4, 0xB2F6, 0x065F, 0x061F, 0x061F, 0x34DC, 0xC952, 0xC912, 0xC8D2, 0xC0B1, 0xC0D1, 0xB8D1, 0x89B4, 0x2BBA, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71D4, 0x69F4, 0x71D3, 0x69D4, 0x71D3, 0x7A14, 0x8A75, 0x9274, 0x9254, 0x9254, 0x9A95, 0xB315, 0xBB14, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD315, 0xD2F4, 0xCB14, 0xD2F4, 0xD2F4, 0xD2D4, 0xCAD4, 0xCAB4, 0xD2B4, 0xCAB4, 0xCA94, 0xCA94, 0x81B8, 0x005F, 0x005F, 0x003F, 0x001F, 0x001F, 0xA8B3, 0xC0B1, 0xB0D2, 0x02DF, 0x03FF, 0x051F, 0x061F, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8A95, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F2, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CF, 0x0918, 0x0119, 0x0119, 0x011A, 0x00F9, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AD, 0x10D0, 0x00FA, 0x0119, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x08F7, 0x18D1, 0x18AD, 0x20AD, 0x08F8, 0x18AD, 0x18AD, 0x18AD, 0x18D1, 0x08D4, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AE, 0x00FA, 0x08F8, 0x00F7, 0x08F6, 0x18AE, 0x18AD, 0x18AD, 0x08F4, 0x08F6, 0x08D4, 0x08F6, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x10D1, 0x18AE, 0x18AE, 0x08F8, 0x18AD, 0x08F3, 0x10D3, 0x10D5, 0x10D0, 0x18AD, 0x18AD, 0x20AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x20AE, 0x20CD, 0x20AE, 0x20CD, 0x9272, 0xD375, 0xC334, 0x61D1, 0x20CF, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x30F0, 0x3110, 0x3110, 0x30F0, 0x3110, 0x38F0, 0x30F0, 0x38F0, 0x3111, 0x38F0, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xB2F5, 0xD395, 0xD375, 0xD355, 0xD2F4, 0xD2B4, 0xD274, 0x83B8, 0x063F, 0x061F, 0x061E, 0x6398, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8B1, 0xB8D1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61B3, 0x7A34, 0x9A95, 0xB2F5, 0xD375, 0xD375, 0xD355, 0xD355, 0xD355, 0xD335, 0xD335, 0xD314, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xD294, 0xD294, 0xD274, 0xCA74, 0xC254, 0x007F, 0x005F, 0x005F, 0x003F, 0x001F, 0x5878, 0xB8D1, 0xC0B1, 0x02BF, 0x03BF, 0x04FF, 0x05FF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6478, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CF, 0x0917, 0x011A, 0x011A, 0x0119, 0x08F4, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x10F3, 0x0119, 0x0119, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18CE, 0x10D1, 0x18CF, 0x18AD, 0x10D1, 0x10F4, 0x18AD, 0x18AD, 0x08F7, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F8, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x18D1, 0x18AD, 0x18AD, 0x08F6, 0x18CF, 0x18AE, 0x20AE, 0x10D4, 0x18D1, 0x18AD, 0x20AE, 0x00F8, 0x18AD, 0x18AD, 0x08F7, 0x08F6, 0x18B1, 0x18AE, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20CD, 0x18CE, 0x20AE, 0x390F, 0xD375, 0xCB35, 0x414F, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30EF, 0x30F0, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x28F0, 0x30F0, 0x30EF, 0x3110, 0x30F0, 0x30D0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F1, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3910, 0x3911, 0x38F1, 0x3911, 0x3912, 0x4952, 0xD395, 0xD375, 0xD335, 0xD2F4, 0xD2B4, 0xD274, 0xCA33, 0x4C9A, 0x05FF, 0x061F, 0x05FF, 0xA1F4, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA0F1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xA274, 0xC315, 0xD335, 0xD314, 0xD315, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xCAB4, 0xCAB4, 0xCA94, 0xCA74, 0xCA74, 0xCA74, 0xCA54, 0x20FD, 0x009F, 0x007F, 0x005F, 0x003F, 0x105D, 0xC0B1, 0xC0D1, 0x029F, 0x03BF, 0x04DF, 0x05FF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x54D9, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CF, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x00F7, 0x00F9, 0x0117, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x00F7, 0x011A, 0x0119, 0x08D4, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AF, 0x0117, 0x10F4, 0x00F8, 0x18AF, 0x18AD, 0x18AD, 0x08F7, 0x08F4, 0x10D5, 0x00F7, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08F8, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x10D1, 0x18AD, 0x18CD, 0x10D1, 0x10D3, 0x18AD, 0x18AD, 0x08F4, 0x10D1, 0x18AD, 0x18AD, 0x08F8, 0x18AE, 0x18AD, 0x18AF, 0x00FA, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x10D2, 0x011A, 0x0119, 0x00FA, 0x0119, 0x011A, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AE, 0x61D0, 0xBB14, 0x412F, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x28CE, 0x20CE, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28CF, 0x28F0, 0x30D0, 0x28EF, 0x28CF, 0x30CF, 0x30F0, 0x30D0, 0x30D0, 0x28F0, 0x30F0, 0x30F0, 0x30F0, 0x30D0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x61B2, 0xD375, 0xD335, 0xD2F4, 0xCAD4, 0xCA74, 0xD233, 0xCA13, 0x1D9D, 0x05FF, 0x05FF, 0x1D3D, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8A14, 0xAA74, 0xCAF4, 0xD2F5, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD294, 0xCA94, 0xCA73, 0xD274, 0xD253, 0xD254, 0x597A, 0x00BF, 0x00BF, 0x009F, 0x009F, 0x005F, 0xA8B3, 0xC0B1, 0x31FC, 0x039F, 0x04DF, 0x05DF, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x2E3C, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18CE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x00F9, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18B1, 0x18CE, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x10D0, 0x10D1, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x10D0, 0x18AE, 0x18AD, 0x18AF, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x188D, 0x18AD, 0x18AE, 0x10D0, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10D2, 0x00F9, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AF, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AF, 0x18AF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AE, 0x390F, 0x28CE, 0x20AE, 0x20CE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28EF, 0x28EF, 0x28CF, 0x28EF, 0x28EF, 0x30EF, 0x28EF, 0x28EF, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x30F0, 0x3911, 0x71F2, 0xD335, 0xD2F4, 0xD2B4, 0xCA74, 0xD233, 0xCA13, 0xA295, 0x05FF, 0x05FF, 0x05FF, 0x5399, 0xC0D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9A34, 0xC2B4, 0xD2B5, 0xD2B3, 0xCAB4, 0xD294, 0xD294, 0xCA93, 0xD274, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0x81D8, 0x00DF, 0x00DF, 0x00DF, 0x00BF, 0x00BF, 0x68B7, 0xB8D1, 0x31DC, 0x033F, 0x049F, 0x05DF, 0x06FF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x26BD, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D2, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F1, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x08D3, 0x08F3, 0x10D2, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F7, 0x011A, 0x0119, 0x0118, 0x18AF, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18B0, 0x0118, 0x0119, 0x0119, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x011A, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x20CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28CF, 0x28EF, 0x28F0, 0x28F0, 0x30F0, 0x30F0, 0x38F0, 0x8213, 0xD2F5, 0xCAD4, 0xD274, 0xCA53, 0xC9F3, 0xC9D2, 0x7398, 0x05FF, 0x05FF, 0x05DF, 0xA953, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x98F2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38F0, 0x38F0, 0x38F0, 0x38F0, 0x3911, 0x38F0, 0x38F0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xCA94, 0xD294, 0xCA94, 0xD274, 0xCA74, 0xD274, 0xCA53, 0xCA54, 0xCA53, 0xCA34, 0x99F6, 0x011F, 0x011F, 0x00FF, 0x00FF, 0x00FF, 0x38DB, 0xC0B1, 0x28FC, 0x02DF, 0x047F, 0x059F, 0x06DF, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x38F0, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x011A, 0x011A, 0x00F9, 0x011A, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x0117, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x00F9, 0x0119, 0x00F9, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x310E, 0x7A32, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD335, 0xD2B4, 0xCA94, 0xCA33, 0xD1F3, 0xC9D3, 0xC993, 0xC972, 0xC992, 0xC972, 0xC932, 0xC0D1, 0xC0B1, 0xB8D1, 0xB0D2, 0xB9F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x015F, 0x013F, 0x013F, 0x013F, 0x011F, 0x093F, 0xC0B1, 0x311C, 0x01BF, 0x03FF, 0x059F, 0x069F, 0x079F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x10F2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F8, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x18AF, 0x18AD, 0x18AD, 0x18AE, 0x18B0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x20AD, 0x18AD, 0x496F, 0xAAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD2F4, 0xCA74, 0xCA33, 0xCA13, 0xC9D3, 0xC992, 0xC952, 0xC111, 0xC0D1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xCA53, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x097F, 0x017F, 0x015F, 0x017F, 0x015F, 0x015F, 0x88F5, 0x293C, 0x013F, 0x02DF, 0x053E, 0x067F, 0x077F, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9234, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18AF, 0x18CD, 0x18AE, 0x10D0, 0x0118, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20EE, 0x8252, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD3B5, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD2B4, 0xD233, 0xCA13, 0xC9B3, 0xC992, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8B1, 0xB8D1, 0xB8D1, 0xC253, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCA13, 0x31BC, 0x01BF, 0x019F, 0x019F, 0x019F, 0x019F, 0x5139, 0x315C, 0x017F, 0x01BF, 0x045E, 0x063E, 0x077F, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8A95, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F9, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F9, 0x08F7, 0x18AD, 0x20AD, 0x10D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x00FA, 0x0119, 0x0119, 0x011A, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD4F8, 0xD65C, 0xD6DD, 0xD6FD, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xCB15, 0xCA13, 0xC9D3, 0xC992, 0xC932, 0xC911, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC397, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xC9F3, 0x31FC, 0x01DF, 0x01DF, 0x01DF, 0x01DF, 0x01DF, 0x01BF, 0x01DF, 0x01BF, 0x01BF, 0x02DF, 0x05FD, 0x073E, 0x07FE, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x8AB5, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB8D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08D5, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F9, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18B0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x10D0, 0x00F8, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AE, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x28EE, 0xCB55, 0xD375, 0xD395, 0xD395, 0xD3D6, 0xD5DB, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xDFFF, 0xCA13, 0xC9B3, 0xC992, 0xC952, 0xC912, 0xC0D1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB0F1, 0xBA95, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9F3, 0x31FD, 0x021F, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01FF, 0x01DF, 0x01FF, 0x051D, 0x071D, 0x07FD, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x6BF7, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x78F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00F7, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x0119, 0x011A, 0x00F8, 0x18B0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x28EE, 0xB314, 0xD395, 0xD395, 0xD395, 0xD477, 0xD77E, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xC9D3, 0xC992, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB152, 0xD79E, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9D3, 0x323C, 0x023F, 0x023F, 0x021F, 0x023F, 0x023F, 0x021F, 0x021F, 0x021F, 0x021F, 0x021F, 0x037E, 0x06DC, 0x07FD, 0x07FD, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0F1, 0x7911, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AE, 0x18AE, 0x011A, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x00F9, 0x18AF, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x011A, 0x00F9, 0x0119, 0x0119, 0x0119, 0x011A, 0x0117, 0x18AE, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x8252, 0xD395, 0xD395, 0xD396, 0xD4B8, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xC972, 0xC952, 0xC912, 0xC8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xD63C, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xD7FF, 0xDFFF, 0xDFFF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xDFFF, 0xD7FF, 0xDFFF, 0xD539, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC9D3, 0x325C, 0x027F, 0x025F, 0x025F, 0x025F, 0x023F, 0x025F, 0x025F, 0x023F, 0x023F, 0x023F, 0x029F, 0x067C, 0x07FC, 0x07FC, 0x07FE, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB8D1, 0x70F1, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x011A, 0x011A, 0x0118, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x10D0, 0x0118, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x10CF, 0x0119, 0x0119, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x496F, 0xD395, 0xD395, 0xD395, 0xD457, 0xD7BF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCF3E, 0xC67C, 0xC53A, 0xC951, 0xC912, 0xC0D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0F1, 0xBB97, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD65B, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD396, 0xD395, 0xC9B3, 0x327C, 0x029F, 0x029F, 0x029F, 0x029F, 0x027F, 0x027F, 0x027F, 0x027F, 0x027F, 0x025F, 0x027F, 0x05BC, 0x07DB, 0x07FC, 0x07FD, 0x07FF, 0x07FF, 0x07FF, 0x5C78, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0x58F1, 0x3911, 0x3111, 0x30F0, 0x28F0, 0x28F0, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D1, 0x18AD, 0x18AE, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F9, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18D0, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18CF, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x0117, 0x18CE, 0x18AE, 0x18D0, 0x0118, 0x00F9, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xA2D3, 0xD395, 0xD395, 0xD3D6, 0xD75E, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFDF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7DF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xCFFF, 0xCFFF, 0xD7FF, 0xCFFF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xCFFF, 0xD7FF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCFFF, 0xD7DF, 0xACD8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xA8F1, 0xA972, 0xD77E, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xCFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7DF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD7FF, 0xD7DF, 0xD65C, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC193, 0x0A7F, 0x02FF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x029F, 0x027F, 0x029F, 0x027F, 0x04DD, 0x07BB, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x07FF, 0x3DBB, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0x5911, 0x3911, 0x30F0, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x20AD, 0x08F5, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x18D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x10D0, 0x00F8, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x20AD, 0x10D0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AF, 0x0118, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x310E, 0xD395, 0xD375, 0xD375, 0xD5BA, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5B, 0xBE3C, 0xB57A, 0xACB8, 0xBDBB, 0xC63C, 0xBE3B, 0xC71E, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC77E, 0xBE5C, 0xB5DB, 0xACB8, 0xAC98, 0xBD5A, 0xBE3C, 0xC61C, 0xC69D, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xACB9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA111, 0xA911, 0xBC78, 0xCFDF, 0xCFDF, 0xCFDF, 0xD7DF, 0xCFDF, 0xCF5E, 0xBE5C, 0xBE5C, 0xC63C, 0xC61C, 0xCEFD, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFFF, 0xCFDF, 0xD63B, 0xD375, 0xD395, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD375, 0xD395, 0xD375, 0xD375, 0xD375, 0xD395, 0x089F, 0x011F, 0x031F, 0x02FF, 0x02FF, 0x02DF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x02BF, 0x03FD, 0x079A, 0x07FA, 0x07FC, 0x07FE, 0x07FF, 0x07FF, 0x2E5C, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB8D1, 0x5912, 0x3911, 0x38F1, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x08F5, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D0, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AE, 0x0117, 0x011A, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18CE, 0x18AD, 0x18AD, 0x0118, 0x011A, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x79F1, 0xD355, 0xD355, 0xD355, 0xCF7E, 0xC7DF, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xCFBF, 0xBEFD, 0xACB8, 0x8A52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xA192, 0xAB96, 0xBE7D, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xCFDF, 0xCFBF, 0xC75E, 0xAD19, 0x92B4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xA111, 0x9931, 0xA111, 0x9911, 0xAB36, 0xBD5A, 0xC75E, 0xCFDF, 0xC7BF, 0xC7BF, 0xCFDF, 0xC7DF, 0xC7BF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFBF, 0xC7DF, 0xC7BF, 0xCFBF, 0xC7DF, 0xA4B8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xBE3B, 0xCFBF, 0xCFDF, 0xCFBF, 0xCFDF, 0xCFDF, 0xB5DA, 0x8A12, 0x8971, 0x9931, 0x9931, 0xA111, 0x9931, 0xAB35, 0xC75E, 0xCFBF, 0xCFDF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFBF, 0xC7DF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xC7DF, 0xCFDF, 0xCFDF, 0xCFDF, 0xCE1B, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0x007F, 0x009E, 0x023F, 0x033F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x031F, 0x02FF, 0x02DF, 0x02DF, 0x02DF, 0x039E, 0x075A, 0x07F9, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x2E3C, 0xB8D2, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0x4911, 0x3911, 0x38F0, 0x30F0, 0x28F0, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x20AD, 0x20AD, 0x08F5, 0x00F9, 0x00FA, 0x0119, 0x011A, 0x0119, 0x10D2, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D0, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x00F9, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18CD, 0x0119, 0x00F9, 0x011A, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xA293, 0xD335, 0xD335, 0xCC98, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC75E, 0xA4B8, 0x8191, 0x9151, 0x9911, 0xA131, 0xA111, 0xA111, 0x9931, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xAB35, 0xBEFE, 0xC7BF, 0xC7BE, 0xC7BF, 0xB5DB, 0x89F1, 0x8971, 0x9931, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA132, 0x9911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA172, 0xBD3A, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BE, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xAC98, 0x8191, 0x9151, 0x9931, 0xA111, 0xA131, 0xA111, 0xA131, 0xA111, 0x9931, 0xBE1B, 0xC79F, 0xC7BF, 0xC7BF, 0xC7BF, 0xBEFD, 0x89F2, 0x8991, 0x9931, 0xA112, 0xA131, 0xA111, 0xA111, 0xA111, 0xAB97, 0xC7BF, 0xC7BF, 0xC7BE, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC7BF, 0xC6DD, 0xD375, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD335, 0xD334, 0xD335, 0xD335, 0x009F, 0x009F, 0x013F, 0x033F, 0x037F, 0x035F, 0x033F, 0x031F, 0x031F, 0x031F, 0x031F, 0x02FF, 0x02FF, 0x033F, 0x06F9, 0x07F9, 0x07FB, 0x07FD, 0x07FF, 0x07FF, 0x2E3C, 0xB8D2, 0xB0F1, 0xB8D1, 0xB0D1, 0xB0F1, 0xB0D1, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x3110, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18B0, 0x10F2, 0x10D3, 0x08D3, 0x08F3, 0x10F3, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x08F5, 0x0119, 0x00F9, 0x011A, 0x0119, 0x011A, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x011A, 0x011A, 0x00F9, 0x10CF, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x0119, 0x00F9, 0x011A, 0x011A, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xD315, 0xD315, 0xD314, 0xC5FB, 0xC79F, 0xC79E, 0xC7BF, 0xC7BF, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xBF9E, 0xBFBF, 0xBFBE, 0xB67C, 0x8A53, 0x8971, 0xA131, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA172, 0xB539, 0xBF9F, 0x9BF6, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xAB15, 0xBF3D, 0xC79F, 0xC7BE, 0xC79F, 0xC79F, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79E, 0xC79F, 0xC79E, 0xC79F, 0xC79E, 0xC79E, 0xC7BF, 0xC79F, 0xA4B8, 0x8191, 0x9151, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xBDFB, 0xC79F, 0xC79E, 0xC7BE, 0xC79F, 0xACF9, 0x8191, 0x9171, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA131, 0xA111, 0xBF3E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xC7BF, 0xC79E, 0xC79E, 0xC79E, 0xBFBF, 0xC79E, 0xC79E, 0xC79E, 0xBF9E, 0xC79F, 0xC79E, 0xBFBE, 0xC79E, 0xC6BD, 0xD355, 0xD2F5, 0xD315, 0xCB14, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD314, 0xD315, 0xD315, 0xD315, 0xD314, 0x007F, 0x007F, 0x00FF, 0x027F, 0x039F, 0x039F, 0x037F, 0x231D, 0x5259, 0x5A3A, 0x033F, 0x033F, 0x031F, 0x031F, 0x0699, 0x07F8, 0x07FA, 0x07FD, 0x07FF, 0x07FF, 0x363C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0x4112, 0x38F1, 0x3911, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x08F7, 0x011A, 0x011A, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x00F7, 0x10D1, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10F2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0118, 0x18B0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0915, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x0915, 0x00F9, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2F4, 0xCAF4, 0xD2F4, 0xC65C, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF7F, 0xB67C, 0x8A12, 0x8971, 0xA111, 0xA111, 0xA911, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA912, 0xA911, 0xA1F3, 0x8191, 0x9931, 0xA111, 0xA111, 0xA912, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA112, 0xA911, 0xAA54, 0xBF1D, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xB79E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA911, 0xB5FB, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9F, 0xA498, 0x8191, 0x9951, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA111, 0xA911, 0xB5FB, 0xBF7E, 0xBF9E, 0xBF9E, 0xBF9F, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBF9E, 0xBEBD, 0xD335, 0xCAF4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xCAF4, 0xD2F4, 0xD2F5, 0xCAF4, 0x007F, 0x007F, 0x00BF, 0x021F, 0x2ABD, 0x7A36, 0xB953, 0xC112, 0xC911, 0xC912, 0x0B3F, 0x035F, 0x035F, 0x033F, 0x05FA, 0x07F7, 0x07F9, 0x07FC, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0D1, 0xA0F1, 0x68F1, 0x4111, 0x30F0, 0x30F0, 0x28EF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x011A, 0x0119, 0x0119, 0x0118, 0x08F7, 0x08F6, 0x00F7, 0x0118, 0x0119, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x10D2, 0x00F9, 0x011A, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D4, 0x0118, 0x0119, 0x08F6, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x011A, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2D4, 0xD2D4, 0xD2D4, 0xBE5C, 0xB77E, 0xB79E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xB77E, 0xB79E, 0xBF7E, 0xAE7B, 0x89F2, 0x8971, 0xA111, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA912, 0xA911, 0xA911, 0xA111, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA111, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA912, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA111, 0xAA34, 0xB71E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7F, 0xB77E, 0x9C97, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA911, 0xA8F1, 0xB5DB, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xA478, 0x8191, 0x9951, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA8F1, 0xA911, 0xB5DB, 0xB77F, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xB77E, 0xBF7E, 0xBF7E, 0xB77E, 0xB77E, 0xBF7E, 0xBE9D, 0xCB75, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2D5, 0x007F, 0x007F, 0x30BB, 0x9955, 0xC931, 0xC932, 0xC932, 0xC912, 0xC0F2, 0xC8F2, 0x32FC, 0x037F, 0x037F, 0x037F, 0x059B, 0x07F7, 0x07F9, 0x07FC, 0x07FE, 0x07FF, 0x2E3C, 0xB8D1, 0xB0D1, 0xB0D2, 0xB0D1, 0xB0F1, 0x98F1, 0xB0F1, 0x88F1, 0x3110, 0x30F0, 0x30F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x0119, 0x00F7, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x00F7, 0x011A, 0x0119, 0x00F7, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x011A, 0x011A, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD2B4, 0xD2B4, 0xD2B4, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB71D, 0x8A53, 0x8191, 0xA111, 0xA8F1, 0xB0F1, 0xA911, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F2, 0xA8F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB2F5, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C78, 0x8191, 0x9951, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0x9C77, 0x8191, 0x9151, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xB5DB, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB77E, 0xB75E, 0xB71D, 0xCB96, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xCAB4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xCA94, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0x087E, 0x70F8, 0xC952, 0xC932, 0xC912, 0xC932, 0xC111, 0xC8F1, 0xC8F1, 0xC8D1, 0x331C, 0x03BF, 0x039F, 0x039F, 0x051B, 0x07D6, 0x07F7, 0x07FB, 0x07FE, 0x07FF, 0x2E3C, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xA0F1, 0xB0F1, 0xB0D1, 0x50F0, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0116, 0x0119, 0x0119, 0x08D5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D3, 0x00FA, 0x0119, 0x08F6, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AE, 0x10D2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x011A, 0x0119, 0x0119, 0x00F9, 0x18D0, 0x188D, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD294, 0xD294, 0xCA94, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0x9416, 0x8991, 0x9951, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F2, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xACF9, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF7E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5D, 0xB75E, 0xAF5E, 0xAF5E, 0x9C77, 0x8191, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xB75E, 0xB75E, 0xB75E, 0xB75E, 0x9C78, 0x8991, 0x9951, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB5BB, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xB75E, 0xB75E, 0xB75E, 0xAF5E, 0xAF5E, 0xB75E, 0xAF5E, 0xAF1D, 0xCB75, 0xCA93, 0xD294, 0xCA74, 0xCA94, 0xCA74, 0xD274, 0xCA74, 0xD294, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA93, 0xCA94, 0xD293, 0xCA74, 0x9915, 0xC932, 0xC932, 0xC932, 0xC912, 0xC111, 0xC8F2, 0xC0F2, 0xC8D1, 0xC8D1, 0x333C, 0x03FF, 0x03DF, 0x03BF, 0x04DC, 0x07D6, 0x07F7, 0x07FB, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0x90F1, 0x30F0, 0x28F0, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08D3, 0x0119, 0x0119, 0x10D1, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xD274, 0xD274, 0xCA53, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF5D, 0xAF3D, 0xAF3E, 0xA69C, 0x8191, 0x8191, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F2, 0xB0D1, 0xB0D1, 0xB0F2, 0xB0F1, 0xB0F1, 0xAA13, 0xB418, 0xA438, 0x9AB4, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xAA74, 0xAC78, 0xACF9, 0x9B35, 0x9931, 0xA8F1, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F2, 0xB0D1, 0xB0F1, 0xA9B3, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0x9C77, 0x8191, 0x9931, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xADBB, 0xAF3E, 0xAF3E, 0xAF5D, 0xAF3E, 0x9477, 0x8191, 0x9951, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xADBA, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3D, 0xAF5E, 0xAF5E, 0xAF5E, 0xAF3D, 0xAF3D, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF5E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAF3E, 0xAEFD, 0xCB56, 0xCA53, 0xCA74, 0xD253, 0xD274, 0xD274, 0xD273, 0xCA73, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD274, 0xD254, 0xCA74, 0xCA54, 0xCA54, 0xCA74, 0xC932, 0xC932, 0xC932, 0xC912, 0xC912, 0xC912, 0xC0F1, 0xC8D1, 0xC8D1, 0xC8D1, 0x335C, 0x041F, 0x03FF, 0x03FF, 0x047D, 0x0795, 0x07F6, 0x07FA, 0x07FE, 0x07FF, 0x2E3C, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0D1, 0xB0F1, 0x40F0, 0x28CF, 0x28EF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CD, 0x00F8, 0x011A, 0x08F6, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x08D3, 0x08F3, 0x08F3, 0x18AF, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x00F6, 0x0119, 0x0118, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA53, 0xCA53, 0xCA53, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0x9457, 0x8191, 0x9931, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB1B3, 0xAD9A, 0xAF3D, 0xAF3D, 0xA73D, 0xA73D, 0x9DDA, 0x89D1, 0x9951, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB213, 0xAD9B, 0xA73E, 0xA73D, 0xAF3E, 0xAF3E, 0x9DDA, 0x81F2, 0x9171, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB8D1, 0xB8D2, 0xB0F1, 0xAD39, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3D, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73E, 0xAF3E, 0xAF1E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xA73E, 0xAF3E, 0xA73E, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xA73E, 0xA73D, 0xAF3D, 0xA73D, 0xAF3D, 0xA73E, 0xA73E, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xA73E, 0x9478, 0x8191, 0x9931, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB8D1, 0xAD9A, 0xA73E, 0xA73D, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xA73D, 0xA73D, 0xAF3E, 0xA73E, 0xA73D, 0xA73D, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xAF3D, 0xAF3E, 0xA73D, 0xA73D, 0xAF3D, 0xA73E, 0xAF3D, 0xAF3D, 0xAF3D, 0xA73E, 0xA73D, 0xA73D, 0xAF3D, 0xA73D, 0xAEDD, 0xC376, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA33, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD233, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0x309C, 0x005F, 0x58B9, 0xC912, 0xC111, 0xC8F1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0x337C, 0x045F, 0x041F, 0x041F, 0x045E, 0x0775, 0x07F5, 0x07FA, 0x07FE, 0x07FF, 0x2E3C, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0D1, 0x80F1, 0x28EF, 0x28CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x011A, 0x011A, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA13, 0xCA33, 0xCA13, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0x8A53, 0x8191, 0xA8F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB213, 0xA6BD, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0x9E1B, 0x81F1, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB1F3, 0xA6BD, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0x9E1B, 0x89F2, 0x8991, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB336, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71E, 0xA71D, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA73E, 0xA71D, 0xA73E, 0xA73D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA73D, 0xA73E, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA73E, 0xA73D, 0xA73D, 0xA71D, 0xA71D, 0x9477, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA59A, 0xA71D, 0xA73D, 0xA73E, 0xA71D, 0xA71D, 0xA71E, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71E, 0xA71D, 0xA73D, 0xA71D, 0xA73D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73D, 0xA73D, 0xA71D, 0xA73E, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xA71D, 0xBBF7, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA14, 0xD233, 0xCA33, 0x003F, 0x003F, 0x005F, 0x78D7, 0xC0F2, 0xC8F1, 0xC0D1, 0xC0D1, 0xC0D1, 0xC8B1, 0x4B1A, 0x047F, 0x045F, 0x043F, 0x045F, 0x0735, 0x07F4, 0x07F9, 0x07FE, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xA8F1, 0xB0F1, 0xB0D1, 0xB0F1, 0xA0F1, 0x28CF, 0x28EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x10D1, 0x08F3, 0x10F3, 0x10D2, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x10D3, 0x0119, 0x0119, 0x18CD, 0x18AD, 0x18AD, 0x18AF, 0x011A, 0x0119, 0x00F9, 0x08F6, 0x0119, 0x0119, 0x0119, 0x18AF, 0x20AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x10D3, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xCA13, 0xCA13, 0xCA13, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x8191, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9EFD, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xA5DB, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0x9F1D, 0x94F9, 0x8191, 0x9931, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB932, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1E, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E1B, 0x9457, 0x92D4, 0xA1F3, 0xA911, 0xB0F1, 0xB0F1, 0xA911, 0xB274, 0xB254, 0xB254, 0xABF7, 0xA5DB, 0xA6FD, 0xA6FD, 0xA71D, 0xA71D, 0x9F1D, 0x9F1D, 0xA6FD, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E7C, 0x9498, 0x8B14, 0x9A13, 0xA131, 0xA912, 0xB0F1, 0xA8F1, 0xB255, 0xB274, 0xB254, 0xAB97, 0xAD1A, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9457, 0x8191, 0xA131, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xA57A, 0x9F1D, 0xA71D, 0x9F1D, 0xA71D, 0x9E7C, 0x9DBA, 0xA59A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA57A, 0xA69C, 0x9F1D, 0x9F1D, 0x9F1D, 0xA71D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9F1D, 0x9E5C, 0x94B8, 0x8AF4, 0x9A13, 0xA131, 0xA8F1, 0xB0F1, 0xB0F1, 0xB932, 0xB274, 0xB254, 0xB336, 0xACB9, 0xA63C, 0x9F1D, 0xBBF7, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0x003F, 0x003F, 0x005F, 0x58B9, 0xC0F1, 0xC0D1, 0xC8D1, 0xC8B2, 0xC0B1, 0xC0B1, 0x62B8, 0x04BF, 0x047F, 0x047F, 0x045F, 0x0715, 0x07F4, 0x07F9, 0x07FD, 0x07FF, 0x2E3C, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xA8F1, 0xA8F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0x58F0, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F6, 0x20AD, 0x20CD, 0x18AE, 0x08F3, 0x0119, 0x00F9, 0x18AE, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x10D4, 0x18AD, 0x18AD, 0x18AD, 0x00F6, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC9D3, 0xC9D3, 0xC9D3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x959A, 0x8191, 0x9151, 0xC0B1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB2B5, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8252, 0x8191, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB1F3, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9F1D, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x8A93, 0x8191, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xA63C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x94F8, 0x8A53, 0x9171, 0xB0F1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8B1, 0xB8B1, 0xC0B1, 0xC0D1, 0xC0D1, 0xB8D1, 0xC0D1, 0xB8B1, 0xB992, 0xACB9, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E5C, 0x8B96, 0x8991, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB932, 0xABF7, 0x9E9C, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9437, 0x8191, 0xA131, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xB8D1, 0xA57A, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9EFD, 0x9E9C, 0x8B96, 0x8971, 0xA131, 0xB8D1, 0xB8D1, 0xC0B1, 0xB8D1, 0xC0B1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB8D1, 0xB8D1, 0xC0D1, 0xB335, 0xA63C, 0xBBD7, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9F3, 0xC9D3, 0x001F, 0x003F, 0x003F, 0x00DF, 0x88F6, 0xC8D1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC8B1, 0x62D9, 0x04FF, 0x04BF, 0x049F, 0x047F, 0x06B6, 0x07F3, 0x07F8, 0x07FD, 0x07FF, 0x2E3C, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0x98F2, 0xB0F1, 0xB0F1, 0xB0F1, 0x78F0, 0x90F1, 0x80D1, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x08F7, 0x0119, 0x011A, 0x08F4, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x08F3, 0x0119, 0x00F6, 0x18AD, 0x18AD, 0x18CD, 0x08F3, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x08F7, 0x0119, 0x08F5, 0x18CD, 0x18AD, 0x18AD, 0x08F6, 0x011A, 0x08F6, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0xC9B3, 0xC9B3, 0xC9B3, 0x9EDD, 0x96FD, 0x9EDD, 0x96FD, 0x9EFC, 0x96FD, 0x96FD, 0x9599, 0x8991, 0x9171, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xABD7, 0x9EFC, 0x96FD, 0x96FD, 0x96DD, 0x96FD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x9EFD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xAB76, 0x9EDD, 0x9EFD, 0x9EFD, 0x9EDD, 0x9EDD, 0x96DD, 0x9EFD, 0x9EDD, 0x96FD, 0x9EDD, 0x8C37, 0x8191, 0xA131, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xA55A, 0x96FD, 0x9EDD, 0x9EFD, 0x96FD, 0x963B, 0x8AF4, 0x8991, 0xA911, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xB992, 0xA55A, 0x9EDD, 0x9EFC, 0x96FD, 0x9EDD, 0x96FD, 0x9EFD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x96FD, 0x94F9, 0x81F1, 0x9171, 0xB8D2, 0xC0B1, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB992, 0x9DBB, 0x96FD, 0x9EDD, 0x96FD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x9EDD, 0x96FD, 0x96FD, 0x9EFD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA55A, 0x96FD, 0x9EFD, 0x96FD, 0x9EFD, 0x9EFD, 0x96FD, 0x9EFD, 0x96FD, 0x9539, 0x81F1, 0x9171, 0xB0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB911, 0xACFA, 0xB458, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9D3, 0xC9D3, 0xC9B3, 0x001F, 0x003F, 0x003F, 0x00BF, 0x311C, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x6278, 0x053F, 0x04FF, 0x04BF, 0x049F, 0x0696, 0x07F2, 0x07F7, 0x07FC, 0x07FF, 0x2E3C, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x8912, 0xB0F1, 0xB0F1, 0xB0D1, 0x48F0, 0x28F0, 0x28EF, 0x28CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x011A, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x10D3, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x00F6, 0x18AD, 0x18AD, 0x208D, 0x08F3, 0x0119, 0x00F9, 0x18AE, 0x18AE, 0x18CE, 0x00F9, 0x0119, 0x08F3, 0x18AD, 0x20AE, 0x18AD, 0x08F6, 0x011A, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18CF, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC993, 0xC993, 0xC992, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8D79, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xABD7, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x95DA, 0x89F2, 0x8971, 0xB8D1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DC, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0x9931, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA499, 0x96DC, 0x96DD, 0x8C37, 0x8191, 0xA111, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x96DD, 0x8CD8, 0x8191, 0x9951, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xAC79, 0xACF9, 0xC992, 0xC993, 0xC9B2, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, 0xC992, 0xC992, 0xC992, 0xC993, 0xC993, 0xC993, 0x003F, 0x003F, 0x003F, 0x00BF, 0x011F, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x79D6, 0x051F, 0x051F, 0x04FF, 0x04BF, 0x0638, 0x07F1, 0x07F7, 0x07FC, 0x07FF, 0x2E3C, 0xB0F1, 0xB0F2, 0xB0F1, 0xB0F1, 0x80F2, 0xB0F1, 0xB0F1, 0xB0F2, 0x3110, 0x30F0, 0x28CF, 0x28EF, 0x20CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x011A, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18D1, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0118, 0x18AE, 0x18AD, 0x18AD, 0x18CE, 0x0119, 0x0119, 0x0118, 0x08F5, 0x00F8, 0x0119, 0x0119, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x00F8, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18D0, 0x0119, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CE, 0x0117, 0x011A, 0x0119, 0x0119, 0x011A, 0x00F7, 0x18CE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x10D2, 0x08F3, 0x10F3, 0x10D2, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC972, 0xC972, 0xC972, 0x8EBC, 0x8EBD, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8D7A, 0x8191, 0x9151, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D39, 0x8EBD, 0x8EDD, 0x8DBA, 0x81F2, 0x9171, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC0B1, 0xC8B2, 0xC8B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xA437, 0x8EBC, 0x8EDD, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBC, 0x8EBD, 0x8EBC, 0x8EBD, 0x8EBD, 0x8CD8, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC8B1, 0xA4D9, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC8B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0x9D3A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA131, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EDC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8CD8, 0x8191, 0x9951, 0xC8B1, 0xC0B1, 0xC8B1, 0xC8B2, 0xC8B1, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC8B1, 0xC8B1, 0xC8D1, 0xA478, 0xA4D9, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0xC972, 0x003F, 0x003F, 0x001F, 0x009F, 0x00DF, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x9174, 0x049F, 0x057F, 0x051F, 0x04FF, 0x0619, 0x07F1, 0x07F6, 0x07FC, 0x07FF, 0x35BB, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x6912, 0xB0F1, 0xB0F1, 0x98F1, 0x30F0, 0x30F0, 0x28EF, 0x28CF, 0x28EF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x10D3, 0x20AD, 0x18AD, 0x10D3, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18D0, 0x011A, 0x011A, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x10D2, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x18B0, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0119, 0x00F9, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F5, 0x011A, 0x0119, 0x0117, 0x00F7, 0x00F9, 0x0119, 0x08F5, 0x20AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x011A, 0x00FA, 0x011A, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x20AD, 0x18AE, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC952, 0xC952, 0xC952, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D59, 0x8191, 0x9171, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xABD7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA931, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC0F2, 0xABB7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8437, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D3A, 0x8EBC, 0x8E1B, 0x81F2, 0x8971, 0xB912, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8D1, 0xC112, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8D1, 0xC8F2, 0xC8D1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F1, 0xA498, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8DBA, 0x8991, 0x8991, 0xC0F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC8F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC0F2, 0xC8F1, 0xC0F1, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC132, 0x8E5C, 0x8C17, 0x8191, 0xA931, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F2, 0xC8F2, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C17, 0x8191, 0xA951, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC8F1, 0x9D5A, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBD, 0x8DBA, 0x81F2, 0x8991, 0xC111, 0xC8F1, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8F1, 0xC8F1, 0xC0F2, 0xC8D2, 0xC8F1, 0xC8F2, 0xC0F1, 0xC0F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F2, 0xC8F2, 0xC8F1, 0xC8F1, 0xC8F2, 0xC152, 0x95FB, 0xA4B8, 0xC152, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0x001F, 0x001F, 0x001F, 0x007F, 0x00DF, 0x68B7, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xA8F3, 0x041F, 0x057F, 0x053F, 0x051F, 0x05F9, 0x07F0, 0x07F6, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0x5912, 0xB0F1, 0xB0F1, 0x90F1, 0x30F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20AE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F4, 0x0119, 0x011A, 0x00F7, 0x00F8, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x0117, 0x0119, 0x08F6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x08F3, 0x00F6, 0x08F3, 0x18AF, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18CD, 0x20AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x0117, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0119, 0x0119, 0x08F3, 0x18CD, 0x20AE, 0x10D3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC932, 0xC932, 0xC932, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8D79, 0x8191, 0x9171, 0xC132, 0xC131, 0xC912, 0xC912, 0xC132, 0xC911, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC911, 0xC912, 0xC912, 0xC112, 0xC912, 0xC912, 0xABF7, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8EBC, 0x8C36, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8AD4, 0x8191, 0xB152, 0xC912, 0xC131, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC912, 0xC912, 0xC911, 0xC112, 0xC932, 0xC912, 0xC912, 0xC932, 0xC911, 0xC912, 0xC912, 0xC932, 0xC131, 0x9DBA, 0x8EBC, 0x96BC, 0x8EBC, 0x8EDC, 0x96BB, 0x8EBC, 0x8EDC, 0x82D4, 0x8191, 0xB932, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC112, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC131, 0xC912, 0xC132, 0xC131, 0xC912, 0xC912, 0xC911, 0xC911, 0xC131, 0xC912, 0xC912, 0xB356, 0x8C36, 0x8191, 0xA151, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC912, 0xC112, 0x9D59, 0x8EBC, 0x96BC, 0x8EBC, 0x8EBC, 0x8C37, 0x8191, 0xA951, 0xC912, 0xC912, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0x9D59, 0x8EBC, 0x8EBC, 0x8EBC, 0x96BC, 0x8EBC, 0x82F4, 0x8991, 0xB151, 0xC912, 0xC912, 0xC932, 0xC912, 0xC912, 0xC131, 0xC932, 0xC912, 0xC911, 0xC911, 0xC932, 0xC911, 0xC912, 0xC911, 0xC932, 0xC932, 0xC112, 0xC911, 0xC132, 0xC912, 0xC912, 0xC932, 0xB336, 0x96BC, 0xA4F9, 0xC192, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0xC932, 0x001F, 0x001F, 0x001F, 0x007F, 0x00BF, 0x009F, 0x90B5, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x0B9E, 0x053F, 0x057F, 0x053F, 0x05DA, 0x07EF, 0x07F5, 0x07FB, 0x07FF, 0x5478, 0xB0D1, 0xB0F1, 0xB0F1, 0x9111, 0x5912, 0xA8F1, 0xB0F1, 0x70F1, 0x30F0, 0x28EF, 0x20EF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x011A, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AE, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F8, 0x0119, 0x08F7, 0x18AE, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18D0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10D0, 0x20AE, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC912, 0xC912, 0xC912, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9EDB, 0x9578, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xB417, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA518, 0x9EDB, 0x96DB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9436, 0x8191, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x94D8, 0x8191, 0x9991, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC253, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xBAB5, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x9599, 0x8191, 0x91B1, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B5, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC972, 0xC952, 0xC952, 0xC972, 0xC1B2, 0x9436, 0x8191, 0xA972, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDB, 0x9EDB, 0x9EDB, 0x8C36, 0x8991, 0xA171, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA579, 0x9EDB, 0x9EDC, 0x9EDB, 0x9EDB, 0x9598, 0x8191, 0x9191, 0xC952, 0xC952, 0xC952, 0xC952, 0xC152, 0xC952, 0xC172, 0xC952, 0xC952, 0xC952, 0xC1F3, 0xC2B4, 0xB952, 0xC152, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xC952, 0xA61A, 0x9EDC, 0xA5DA, 0xC172, 0xC912, 0xC911, 0xC911, 0xC912, 0xC912, 0xC111, 0xC912, 0xC912, 0xC912, 0x001F, 0x001F, 0x001F, 0x005F, 0x007F, 0x007F, 0x6098, 0xC0B1, 0xB8B1, 0xC0B1, 0xC0B1, 0x2AFC, 0x04FF, 0x05BF, 0x055F, 0x05FB, 0x07CF, 0x07F4, 0x07FC, 0x07FF, 0x5C79, 0xB0F1, 0xB0F1, 0xB0F1, 0x8112, 0x5912, 0xB0F1, 0xB0F1, 0x68F1, 0x30F0, 0x30EF, 0x30CF, 0x28CF, 0x20CF, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AE, 0x18AD, 0x10D2, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AE, 0x18AD, 0x0119, 0x011A, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x00F6, 0x0119, 0x0119, 0x10D2, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x10D3, 0x0119, 0x0119, 0x08D6, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0x18AD, 0x18AE, 0x18AD, 0x18D0, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x20AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AE, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x20AD, 0x18AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x18D0, 0x18AD, 0x18AD, 0x10D0, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xC8F1, 0xC8F1, 0xC8F2, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6DA, 0xA6FA, 0x9D98, 0x8191, 0x9191, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC992, 0xB436, 0xA6FB, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD99, 0x8A32, 0x8991, 0xC192, 0xC992, 0xC992, 0xC972, 0xC992, 0xC992, 0xC973, 0xC992, 0xC992, 0xC992, 0xBC36, 0xA69A, 0xA6FA, 0xA6FA, 0xA69A, 0x9395, 0x8991, 0xB992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0xAD98, 0xA6DB, 0xA6DA, 0xA6FA, 0xA6FB, 0xA6FA, 0x9395, 0x8191, 0xB192, 0xC992, 0xC992, 0xC992, 0xC993, 0xC972, 0xC972, 0xC992, 0xC972, 0xC233, 0xAD98, 0xA6FA, 0xA6FB, 0xA639, 0x8A93, 0x9992, 0xC192, 0xC972, 0xC992, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC972, 0x9A93, 0x8191, 0xA992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6FA, 0xA6FB, 0xA6FA, 0xA6FA, 0x9436, 0x8191, 0xA992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xAD98, 0xA6DA, 0xA6DA, 0xA6FA, 0xA6DA, 0x8B95, 0x8191, 0xB192, 0xC972, 0xC992, 0xC972, 0xC992, 0xC992, 0xC972, 0xC992, 0xC972, 0xC294, 0xADF9, 0xA6FA, 0xA6DA, 0xA69A, 0x9334, 0x9191, 0xB992, 0xC992, 0xC993, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xC992, 0xB497, 0xAEFB, 0xAEFB, 0xB5D9, 0xC952, 0xC8F1, 0xC8F2, 0xC0F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, 0xC8F1, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x005F, 0x7897, 0xC0B1, 0xC0D1, 0xC0B1, 0xB8D1, 0x6238, 0x04DF, 0x05BF, 0x059F, 0x05FA, 0x07CE, 0x07F4, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0F1, 0xB0F1, 0x7112, 0x5912, 0xB0F1, 0xA8F1, 0x5110, 0x30F0, 0x30CF, 0x28CF, 0x28CF, 0x28CF, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x20AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x08F6, 0x18D0, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x08F6, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18D0, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x00F7, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F5, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011A, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F3, 0x18AD, 0x18AD, 0x08F3, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0xC0D1, 0xC0D1, 0xC8D2, 0xB71A, 0xB71A, 0xB71A, 0xAEFA, 0xB71A, 0xAF1A, 0xAEFA, 0xA598, 0x8191, 0x9191, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC9D3, 0xBC76, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0x9C55, 0x8191, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xC9D3, 0xB5B8, 0xB71A, 0xAF1A, 0xB71A, 0xB6FA, 0xB71A, 0xB71A, 0xB71A, 0xB71A, 0xB6FA, 0xAF1A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xA3B5, 0x8191, 0x9992, 0xC9B2, 0xC9B3, 0xC9D2, 0xC9B2, 0xC9B3, 0xC9B2, 0xC9B3, 0xC9D3, 0xCA13, 0xBDB8, 0xAEFA, 0xAF1A, 0xB71A, 0xB6FA, 0xAEFA, 0xAF19, 0xA4F7, 0x8991, 0xB1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9D2, 0xC9B3, 0xC9B3, 0xC314, 0xAF1A, 0xAF1A, 0xAEF9, 0xAF1A, 0xAF1A, 0x89F1, 0x8191, 0xC1B2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9B2, 0xC9D3, 0xC9B3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xAEFA, 0xB71A, 0xB6B9, 0x8A93, 0x8991, 0xC1D2, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B2, 0xA992, 0x8191, 0xA9B2, 0xC9D3, 0xC9B3, 0xC9D3, 0xC9B2, 0xC9B2, 0xC9B2, 0xC9B3, 0xB5B8, 0xAF1A, 0xAEFA, 0xAF1A, 0xB71A, 0x9C56, 0x8191, 0xA992, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xB5B8, 0xB6FA, 0xAF1A, 0xAF1A, 0xB6FA, 0x89F2, 0x8191, 0xC1B2, 0xC9B3, 0xC9B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B2, 0xC9D3, 0xCAB4, 0xB6B9, 0xAF1A, 0xB71A, 0xB71A, 0xB6FA, 0xB71A, 0x92F3, 0x89B1, 0xC1B2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9D3, 0xC315, 0xB71A, 0xB71A, 0xB71A, 0xBDD9, 0xC132, 0xC0D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC8D1, 0xC0D1, 0xC0D1, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x007F, 0x6878, 0xB8B1, 0xC0B1, 0xC0D1, 0xB8D1, 0x9954, 0x047F, 0x05BF, 0x05BF, 0x061A, 0x07CE, 0x07F2, 0x07FC, 0x07FF, 0x5C78, 0xB0F1, 0xB0F1, 0xB0F1, 0x6112, 0x5912, 0xA8F1, 0xA8F1, 0x60F0, 0x30F0, 0x28EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x08F6, 0x0119, 0x0119, 0x0119, 0x0118, 0x00F6, 0x10D3, 0x08F6, 0x0118, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x208D, 0x18B0, 0x00F8, 0x0139, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x00F8, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x00F7, 0x00F7, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xC0B1, 0xC8B1, 0xC0B1, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA4B5, 0x8191, 0xA1B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xD1F3, 0xC496, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF39, 0xA455, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0x99F2, 0x8991, 0xB1D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC577, 0xBF19, 0xBF39, 0xBF39, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9BF5, 0x8191, 0xB1D2, 0xC9F3, 0xC9F3, 0xD1F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF19, 0xBF19, 0xB6B9, 0x8191, 0x8991, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9D3, 0xC9F3, 0xC9F3, 0xBED8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0xBF39, 0xAD57, 0x8191, 0x99B2, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xB9D3, 0x8191, 0xA9B2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xBF19, 0x9C75, 0x8191, 0xA9D2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBDD8, 0xBF19, 0xBF19, 0xBF19, 0xB6B8, 0x8191, 0x8191, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xBE78, 0xBF19, 0xBF39, 0xBF19, 0xBF39, 0xBF19, 0xBF19, 0xADB7, 0x8191, 0x91B1, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F2, 0xC9F3, 0xC9F3, 0xC9F3, 0xC9F3, 0xC71A, 0xBF1A, 0xC73A, 0xBF3A, 0xC659, 0xC9D3, 0xC0B1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC8B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x003F, 0x001F, 0x7076, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0x0BFF, 0x05DF, 0x05BF, 0x0639, 0x07CD, 0x07F2, 0x07FC, 0x07FF, 0x63F7, 0xB0F1, 0xB0F1, 0xB0F1, 0x4132, 0x4111, 0xA0F1, 0xB0F1, 0x90F1, 0x30F0, 0x28EF, 0x28CE, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x00F9, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D1, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F8, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x10D1, 0x08F3, 0x08F3, 0x10D2, 0x18CD, 0x20AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CE, 0x00F7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18CD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AE, 0xC0B1, 0xC0B1, 0xC0B1, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8991, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA34, 0xCA13, 0xCA33, 0xCA33, 0xCCB6, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA455, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xD213, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0x91B1, 0x8191, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xCA13, 0xC455, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0xC738, 0x8A52, 0x8991, 0xC213, 0xCA13, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCD56, 0xC738, 0xC738, 0xC739, 0xB5D7, 0x8191, 0x91B1, 0xCA13, 0xCA13, 0xCA13, 0xD233, 0xCA33, 0xCA33, 0xCA33, 0xCB55, 0xCF38, 0xC738, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0x8191, 0x8191, 0xCA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xD233, 0xCA13, 0x8191, 0xA9D2, 0xCA33, 0xCA33, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCDF7, 0xC738, 0xC738, 0xC738, 0xC739, 0xA475, 0x8191, 0xA9D2, 0xCA13, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCA13, 0xCA33, 0xC5F7, 0xC738, 0xC738, 0xC738, 0xB5D6, 0x8191, 0x99B2, 0xCA33, 0xCA33, 0xD213, 0xCA33, 0xCA33, 0xCA33, 0xCA33, 0xCB74, 0xC739, 0xC738, 0xC738, 0xC738, 0xC738, 0xC739, 0xC738, 0xC738, 0x8AB2, 0x8191, 0xBA13, 0xCA13, 0xCA13, 0xCA33, 0xCA13, 0xCA33, 0xCA33, 0xCA13, 0xCF39, 0xC739, 0xC759, 0xCF3A, 0xCF39, 0xCED9, 0xC9F3, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x001F, 0x001F, 0x9894, 0xB8D1, 0xB8D1, 0xB8D1, 0x42DA, 0x059F, 0x05FF, 0x0678, 0x07CC, 0x07F1, 0x07FC, 0x07FF, 0x82B5, 0xA8F1, 0xB0F1, 0x98F2, 0x4132, 0x3912, 0x70F1, 0xA8F1, 0xA8F1, 0x50F0, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x10D4, 0x08F5, 0x08F6, 0x08F4, 0x08D3, 0x10CF, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D2, 0x10D3, 0x08F3, 0x10D2, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC0B1, 0xC0B1, 0xC0B1, 0xCF57, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xCA53, 0xCA53, 0xCA54, 0xCCD6, 0xCF58, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF58, 0xAC75, 0x8191, 0xA9F2, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCE17, 0xCF57, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0x99D2, 0x89B1, 0xCA53, 0xCA53, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xD6B7, 0xD758, 0xCF58, 0xCF57, 0xCF58, 0xD758, 0xD757, 0xD758, 0xD757, 0xD758, 0xCF58, 0xB535, 0x8191, 0xA1D2, 0xCA53, 0xCA53, 0xCA53, 0xD254, 0xCA73, 0xCA53, 0xCA53, 0xCC95, 0xD758, 0xD758, 0xCF58, 0xBDD6, 0x8191, 0x99D2, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xCA53, 0xD254, 0xCA54, 0xD435, 0xD758, 0xD758, 0xCF58, 0xD758, 0xD758, 0xCF57, 0xD738, 0xCF58, 0x9AF3, 0x8991, 0xC213, 0xCA54, 0xCA53, 0xCA53, 0xD253, 0xCA53, 0xCA54, 0xCA73, 0x8191, 0xA9F2, 0xCA53, 0xD253, 0xD253, 0xCA54, 0xD253, 0xCA53, 0xCA54, 0xCE17, 0xCF58, 0xD758, 0xD758, 0xCF58, 0xAC74, 0x8191, 0xA9F2, 0xCA53, 0xCA54, 0xD253, 0xCA53, 0xCA53, 0xCA54, 0xCA53, 0xD617, 0xD758, 0xCF58, 0xCF58, 0xBDD6, 0x8191, 0x91B2, 0xCA53, 0xD254, 0xCA53, 0xCA53, 0xCA54, 0xD253, 0xD253, 0xCCD6, 0xD758, 0xD758, 0xD758, 0xD758, 0xCF57, 0xD757, 0xCF58, 0xD758, 0x9AF3, 0x8191, 0xBA33, 0xCA54, 0xCA53, 0xD253, 0xCA54, 0xCA53, 0xD253, 0xCA53, 0xD758, 0xD758, 0xDF59, 0xD779, 0xD759, 0xD759, 0xD6F9, 0xC1F2, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x001F, 0x001F, 0x001F, 0x183E, 0xB0D2, 0xB8D1, 0xB8D1, 0x9974, 0x059F, 0x061F, 0x0698, 0x07CC, 0x07F0, 0x07FC, 0x07FF, 0x82B5, 0xB0F1, 0xB0F1, 0x88F1, 0x4132, 0x4111, 0x3910, 0x98F1, 0xA8F2, 0x88F1, 0x28EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x10D0, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x10CF, 0x0118, 0x00F9, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0118, 0x10D0, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0xC0B1, 0xC0B1, 0xC0B1, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xCA74, 0xCA94, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xB494, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0x99D2, 0x91D2, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xD3D4, 0xDF77, 0xDF77, 0xDF77, 0xDF76, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xDF77, 0x8191, 0x8992, 0xCA94, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xCA94, 0xD3D5, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xCA94, 0xCA94, 0xD273, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xD515, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA93, 0xD294, 0xCA94, 0x8191, 0xAA12, 0xD294, 0xD294, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF57, 0xDF77, 0xB474, 0x8191, 0xAA12, 0xCA94, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xD294, 0xDE36, 0xDF77, 0xDF77, 0xDF77, 0xC5F5, 0x8191, 0x99D2, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xCA94, 0xCA93, 0xD4F5, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0xDF77, 0x9B12, 0x8191, 0xBA53, 0xD294, 0xCA94, 0xCA94, 0xD294, 0xCA94, 0xD294, 0xCA94, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xDF78, 0xE779, 0xDF19, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x385B, 0xB8D1, 0xB8D1, 0xB8D1, 0x2C3C, 0x061F, 0x06B7, 0x07CB, 0x07F0, 0x07FB, 0x07FF, 0xB0F1, 0xB0F1, 0xA8F1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xA0F1, 0xA8F1, 0x48EF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x00F9, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F9, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x208E, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xC0D1, 0xE776, 0xE796, 0xE797, 0xE797, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2D4, 0xD2B4, 0xD2B4, 0xDD35, 0xE776, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xE796, 0xB474, 0x8191, 0xAA33, 0xD2D4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2D4, 0xE656, 0xEF96, 0xE776, 0xE797, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0x99D2, 0x99F2, 0xCAB4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD2B4, 0xD3F5, 0xE777, 0xE797, 0xEF97, 0xE796, 0xE796, 0xE776, 0xE777, 0xE796, 0xE796, 0xE796, 0xE777, 0xEF97, 0x8191, 0x8191, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAD4, 0xD3D5, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xCAD4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2B4, 0xCAB4, 0xD2B4, 0xDD35, 0xE777, 0xEF76, 0xE796, 0xE797, 0xE797, 0xE776, 0xE796, 0xE776, 0xC534, 0xB494, 0xCC15, 0xD3F5, 0xDBF4, 0xDBF4, 0xDBF5, 0xD3F5, 0xD3F4, 0xCB34, 0x8191, 0xAA32, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xCAB4, 0xE656, 0xE776, 0xE796, 0xE796, 0xE776, 0xB494, 0x8191, 0xAA33, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xDE56, 0xE796, 0xE796, 0xE796, 0xCE15, 0x8191, 0x99F2, 0xD2B4, 0xD2B4, 0xD2D4, 0xD2B4, 0xD2D4, 0xCAD4, 0xCAD4, 0xDD15, 0xE796, 0xE796, 0xE776, 0xE796, 0xEF96, 0xE796, 0xE796, 0xE796, 0x9B13, 0x8191, 0xBA73, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xD2B4, 0xE797, 0xEF97, 0xEF77, 0xEF97, 0xEF78, 0xEF98, 0xEF98, 0xEF98, 0xC992, 0xB8D1, 0xC0D1, 0xC0B1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x7096, 0xB8D1, 0xB8D1, 0x8A35, 0x063F, 0x06D6, 0x07EA, 0x07F1, 0x07FC, 0x07FF, 0xA8F1, 0xA8F1, 0xA8F1, 0x6132, 0x4132, 0x4111, 0x38F1, 0x3110, 0x48F0, 0xA8F1, 0x98F1, 0x30CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10D0, 0x00F9, 0x0119, 0x08F7, 0x18AE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18CF, 0x00F8, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xF796, 0xF7B6, 0xF796, 0xF795, 0xF795, 0xF796, 0xEFB6, 0xBC93, 0x8191, 0xAA52, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2F4, 0xDD55, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xF7B6, 0xEFB6, 0xBC93, 0x8191, 0xAA53, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xE675, 0xF796, 0xF795, 0xF796, 0xF796, 0xF796, 0xF7B6, 0xF7B5, 0xF7B5, 0xEF96, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0x99F2, 0x99F2, 0xD2F5, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2D4, 0xD2F4, 0xD2F4, 0xDC75, 0xF795, 0xF795, 0xF795, 0xF796, 0xF7B5, 0xF796, 0xF796, 0xF796, 0xF796, 0xEFB6, 0xF7B5, 0xF796, 0x8191, 0x8991, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xDC15, 0xF796, 0xF796, 0xF796, 0xD615, 0x8191, 0x99F2, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xE535, 0xF7B6, 0xF7B5, 0xF796, 0xEFB6, 0xF796, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xF795, 0xF796, 0xF796, 0xF795, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xBC93, 0x8191, 0xAA53, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF796, 0xF7B5, 0xF796, 0xBC93, 0x8191, 0xAA33, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xEE75, 0xF796, 0xF7B5, 0xF795, 0xD634, 0x8191, 0x99F2, 0xD2F4, 0xD2F5, 0xD2F4, 0xD2F5, 0xD2F5, 0xD2F5, 0xD2D4, 0xE555, 0xF796, 0xF7B5, 0xF7B6, 0xF7B6, 0xF795, 0xF7B6, 0xF796, 0xF7B6, 0xA311, 0x8191, 0xBA94, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xD2F4, 0xF796, 0xF796, 0xF797, 0xF797, 0xF797, 0xF7B7, 0xF798, 0xF798, 0xD273, 0xB8D1, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x98B4, 0xB8D1, 0xB8D1, 0x3C9B, 0x06F5, 0x07E9, 0x07F1, 0x07FD, 0x26BD, 0xB0F1, 0xB0F2, 0xB0F1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30F0, 0x60F0, 0xA911, 0x70F0, 0x20CE, 0x20CF, 0x20AE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x00F8, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x18AD, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x0118, 0x18D0, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xFF94, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD315, 0xD335, 0xD335, 0xD335, 0xD334, 0xD315, 0xD335, 0xE575, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xF675, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB5, 0xFF95, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0x99F2, 0x99F2, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD315, 0xD335, 0xDC54, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0x8191, 0x8191, 0xD334, 0xD315, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xDC34, 0xFFB4, 0xFFB5, 0xFFB5, 0xDE34, 0x8191, 0x99F2, 0xD314, 0xD335, 0xD315, 0xD334, 0xD334, 0xD335, 0xD335, 0xE574, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xC4B3, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD314, 0xD315, 0xD335, 0xD335, 0xD335, 0xEDF5, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xC493, 0x8191, 0xAA53, 0xD335, 0xD335, 0xD335, 0xD335, 0xD315, 0xD315, 0xD335, 0xF694, 0xFFB5, 0xFFB5, 0xFFB5, 0xDE14, 0x8191, 0x99F2, 0xD335, 0xD335, 0xD314, 0xD334, 0xD314, 0xD334, 0xD315, 0xE555, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5, 0xFFB5, 0xA332, 0x8191, 0xBAB4, 0xD335, 0xD335, 0xD335, 0xD315, 0xD334, 0xD335, 0xD335, 0xFFB5, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB7, 0xFFB8, 0xDBD4, 0xB8D2, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x083F, 0x70F7, 0xB8D1, 0xA952, 0x0E94, 0x07C9, 0x07F2, 0x07FD, 0x2E3C, 0xA8F1, 0xA8F1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30F0, 0x30F0, 0x30EF, 0x58F0, 0xA8F1, 0x40CF, 0x20AE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18B0, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18CF, 0x00F8, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x00F9, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB8D1, 0xB8D1, 0xB8D1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xC3F0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xF590, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xC3EF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0x9A12, 0x91F2, 0xD355, 0xD354, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDBD4, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0x8191, 0x8191, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xDC13, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x99F2, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD354, 0xECD1, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE2E, 0xFE2E, 0xC3CF, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xE4D1, 0xFE4E, 0xFE2E, 0xFE2E, 0xFE4E, 0xC3D0, 0x8191, 0xAA73, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xF590, 0xFE4E, 0xFE2E, 0xFE2E, 0xE50F, 0x8191, 0x9A12, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xECD2, 0xFE2E, 0xFE4E, 0xFE2E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE2F, 0xA2B0, 0x8191, 0xC2F4, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xD355, 0xFE2F, 0xFE50, 0xFE50, 0xFE50, 0xFE51, 0xFE51, 0xFE52, 0xFE52, 0xE3D2, 0xB8D2, 0xB8D1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x001F, 0x003F, 0x00DF, 0x59F8, 0xB8D1, 0x8291, 0x07C9, 0x07F2, 0x07FE, 0x455A, 0xB0F1, 0xA8F1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28EF, 0x28CF, 0x50CF, 0x48EF, 0x20AE, 0x20AE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AF, 0x00F8, 0x0139, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AF, 0x0118, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0119, 0x00F8, 0x10CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xB8D1, 0xB0D1, 0xB0D2, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xC30F, 0x81B1, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD375, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD375, 0xD395, 0xD395, 0xD375, 0xD395, 0xD396, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0x9A12, 0x8191, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xDBD3, 0xFC8D, 0xFC6D, 0xFC6D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC8D, 0xFC6D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD375, 0xD395, 0xF42F, 0xFC6D, 0xFC6D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD375, 0xD395, 0xD376, 0xD395, 0xD395, 0xEBF1, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC8D, 0xFC6D, 0xFC6D, 0xFC6D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFC8E, 0xFC8F, 0xFC8F, 0xFC8F, 0xFCB0, 0xFCB0, 0xFCB1, 0xFCB1, 0xF3B2, 0xB8D1, 0xB0F1, 0xB8D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x031F, 0x2D3B, 0x99B2, 0x454B, 0x07F3, 0x07FE, 0x5498, 0xB0F1, 0xA8F1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30F0, 0x30EF, 0x30CF, 0x28CF, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18CD, 0x10D1, 0x08F3, 0x08D3, 0x10D1, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x00F8, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F6, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xB0F1, 0xB0D1, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0x9A12, 0x8191, 0xC334, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFC8E, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFC8D, 0xFC8D, 0xFC8D, 0xE3CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB2F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xC30F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF44F, 0xFC8D, 0xFC8D, 0xFC8D, 0xCB6F, 0x8191, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC11, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xFC8D, 0xA250, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFC8E, 0xFC8F, 0xFCAF, 0xFCAF, 0xFCB0, 0xFCB0, 0xFCB0, 0xFCB2, 0xF451, 0xB0D1, 0xB0D1, 0xB0D1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x003F, 0x005F, 0x025F, 0x06FD, 0x0770, 0x0F88, 0x07F4, 0x07FF, 0x5478, 0xA8F1, 0xA8F1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F9, 0x0119, 0x0119, 0x00F7, 0x18AE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CF, 0x0118, 0x0119, 0x00F7, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x00F6, 0x18CE, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F7, 0x0119, 0x00F8, 0x18CF, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xB0F1, 0xB0D1, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xCB4E, 0x8191, 0xAA73, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xBB11, 0x8191, 0xAA73, 0xD396, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xDBB4, 0xFCAE, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCAD, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xDBD3, 0xFCAD, 0xFCCD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCCD, 0xDBEE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD3, 0xFCCD, 0xFCCD, 0xFCCD, 0xFCCD, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF46F, 0xFCAD, 0xFCCD, 0xFCCD, 0xC32F, 0x8991, 0xAA94, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC31, 0xFCCD, 0xFCCD, 0xFCAD, 0xFCCD, 0xFCAD, 0xFCAD, 0xFCAD, 0xFCAD, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFCCE, 0xFCCF, 0xFCCF, 0xFCEF, 0xFCD0, 0xFCF0, 0xFCF1, 0xFCF1, 0xFCF2, 0xB0F1, 0xB0F1, 0xB0F2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x007F, 0x021F, 0x06FC, 0x078D, 0x07E7, 0x07F6, 0x07FF, 0x82B5, 0xA8F1, 0xA111, 0x4932, 0x4132, 0x4111, 0x38F1, 0x38F0, 0x30F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x08F5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08F4, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x10CF, 0x0118, 0x0119, 0x0117, 0x18AE, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xA8F1, 0xB0F1, 0xFD0D, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFD0D, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xC32F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC6F, 0x91D1, 0x89D1, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xDBB4, 0xEC70, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xFCED, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBF3, 0xFCED, 0xFCED, 0xFCED, 0xE42E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFD0D, 0xFCED, 0xEC6E, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xF4AF, 0xFD0D, 0xFCED, 0xFD0D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF48F, 0xFCED, 0xFCED, 0xFCED, 0xC34F, 0x8191, 0xAA93, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC51, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xFCED, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD0E, 0xFD0F, 0xFD0F, 0xFD0F, 0xFD10, 0xFD10, 0xFD31, 0xFD31, 0xFD32, 0xB0F1, 0xB0F1, 0xB0F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x005F, 0x021F, 0x073B, 0x07AC, 0x07E7, 0x07F7, 0x07FF, 0x82B5, 0xA8F1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30F0, 0x30EF, 0x28CF, 0x28CF, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x10F3, 0x18AD, 0x18AD, 0x10F3, 0x0119, 0x0119, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x0117, 0x0119, 0x00F7, 0x18AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x208D, 0x18AD, 0x20AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x10CF, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xB0F1, 0xA8F1, 0xB0F1, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xE44E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xC34F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4CF, 0xC34F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xE431, 0xEC71, 0xEC71, 0xDBF0, 0xE450, 0xF4CF, 0xFD0E, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDBD4, 0xF4AF, 0xF4CF, 0xF4AF, 0xDC10, 0x9A12, 0xAA73, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2C, 0xFD2C, 0x9211, 0x8191, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFCEE, 0xFD2D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC10, 0xE44E, 0xDC2E, 0xE44E, 0xB2F0, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xFD2D, 0xA270, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD2E, 0xFD2F, 0xFD2F, 0xFD4F, 0xFD50, 0xFD50, 0xFD51, 0xFD51, 0xFD71, 0xA8F1, 0xB0F1, 0xB0F2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x007F, 0x023F, 0x073B, 0x07AB, 0x07E8, 0x07F9, 0x07FF, 0xA152, 0xA8F1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18CE, 0x0119, 0x0119, 0x10D0, 0x18AD, 0x18AD, 0x18D0, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08F7, 0x18AD, 0x20AD, 0x18AD, 0x20CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AC, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA8F1, 0xA8F1, 0xA8F2, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xE46E, 0x8191, 0x9212, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xC36F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF4EF, 0xFD2D, 0x9211, 0x89B2, 0xCB75, 0xD396, 0xD375, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xCB95, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD4D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xBB2F, 0x8191, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC71, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xFD6D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFD6E, 0xFD6F, 0xFD6F, 0xFD8F, 0xFD90, 0xFD90, 0xFD91, 0xFD91, 0xFD92, 0xA8F1, 0xA8F1, 0xA8F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x005F, 0x007F, 0x009F, 0x023F, 0x0779, 0x07AA, 0x07E8, 0x07FB, 0x07FF, 0xA8F1, 0xA8F1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AC, 0x0119, 0x0119, 0x10D3, 0x18AD, 0x18AD, 0x10D3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00F6, 0x20AE, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x0116, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0xA8F1, 0xA8F1, 0xA8F1, 0xEC6F, 0xFD8D, 0xFDAD, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xE48E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFDAD, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xC38F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF52F, 0xFD8D, 0xE4AE, 0x8991, 0x9A32, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xE491, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFD8D, 0xFDAD, 0xF52D, 0x8191, 0x91F2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xEC91, 0xFD8D, 0xFD8D, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFDAD, 0xFD8D, 0xA290, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFDAF, 0xFDAF, 0xFDAF, 0xFDAF, 0xFDB0, 0xFDB0, 0xFDB1, 0xFDD1, 0xE4B2, 0xA911, 0xA8F1, 0xA8F1, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x007F, 0x009F, 0x02BF, 0x0778, 0x07C8, 0x07E9, 0x07FD, 0x173E, 0xA8F1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38F0, 0x30EF, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x08F4, 0x0119, 0x0119, 0x00F7, 0x08F6, 0x0119, 0x0119, 0x08F4, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x00F7, 0x0119, 0x0118, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18CD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA911, 0xA911, 0xA911, 0xEC8E, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xE4CE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDED, 0xFDCD, 0xC3AF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF54F, 0xFDED, 0xFDCD, 0xD44F, 0x8191, 0xB2B3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0x8991, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xFDCD, 0xBB6F, 0x8191, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECB1, 0xFDED, 0xFDED, 0xFDCD, 0xFDCD, 0xFDED, 0xFDED, 0xFDED, 0xFDED, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xFDEE, 0xFDEF, 0xFDEF, 0xFDF0, 0xFDF0, 0xFDF0, 0xFDF1, 0xFDF1, 0xECB1, 0xA0F1, 0xA911, 0xA911, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x005F, 0x005F, 0x007F, 0x009F, 0x009F, 0x041F, 0x0797, 0x07C7, 0x07EB, 0x07FE, 0x2E5C, 0xA8F1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AE, 0x00F6, 0x0118, 0x0118, 0x0119, 0x0119, 0x00F6, 0x18CE, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AC, 0x18AD, 0x18AC, 0x20AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x20AD, 0x18AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F7, 0x0118, 0x0117, 0x18CF, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0xA911, 0xA911, 0xA111, 0xE42E, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xE4EE, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xC3CF, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF56F, 0xFE0D, 0xFE0D, 0xFE0D, 0xD44F, 0x8191, 0xBAD3, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xECD1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0D, 0xF5AD, 0x9A70, 0x89B1, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECD1, 0xFE0D, 0xFE0D, 0xFE0D, 0xFE0E, 0xFE0D, 0xFE0E, 0xFE0E, 0xFE0E, 0xA2B0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE0F, 0xFE0F, 0xFE0F, 0xFE30, 0xFE30, 0xFE30, 0xFE31, 0xFE31, 0xDC32, 0xA111, 0xA911, 0xA111, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x005F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x043F, 0x0794, 0x07E6, 0x07EC, 0x07FE, 0x35DB, 0xA911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CE, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x20AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0119, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x10D1, 0x10D3, 0x10F2, 0x10D1, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x20AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AE, 0x00F6, 0x0119, 0x00F8, 0x18CF, 0x20AD, 0x18AD, 0x20AD, 0x18AC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x80F0, 0xA111, 0xA111, 0xC2B0, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8991, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xC3EF, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF58F, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xE50E, 0x89D1, 0xA253, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD376, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xF60E, 0x9A70, 0x91F2, 0xCB75, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF2, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xFE4D, 0xFE4E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE4E, 0xFE4F, 0xFE6F, 0xFE70, 0xFE50, 0xFE50, 0xFE71, 0xFE51, 0xBA52, 0xA111, 0xA111, 0x78D5, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x005F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x00BF, 0x043F, 0x07B3, 0x07C5, 0x07EE, 0x07FF, 0x5478, 0x6AD6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0118, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0119, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AC, 0x18AD, 0x20AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x00F6, 0x0118, 0x00F8, 0x18CF, 0x18AC, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18AC, 0x60EF, 0xA111, 0xA111, 0xA112, 0xFE2D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xE54E, 0x8191, 0x9A12, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xF5CF, 0xFE6D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE6D, 0xC40F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5CE, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6C, 0xFE8D, 0xF62D, 0xC40F, 0x9A12, 0xB2D4, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xECF1, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED11, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE8D, 0xFE6D, 0xFE2D, 0xBBCF, 0x89B1, 0xBAF4, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD396, 0xC314, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xA2D0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFE90, 0xFE91, 0xE471, 0xA111, 0xA112, 0xA111, 0x60D5, 0x001F, 0x283C, 0x7097, 0x405A, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x009F, 0x00BF, 0x00BF, 0x00DF, 0x045F, 0x07D2, 0x07E4, 0x07EF, 0x07FF, 0x2E3C, 0x2D1A, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38F0, 0x30F0, 0x30EF, 0x28CF, 0x28CE, 0x28CE, 0x20CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0118, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x20AD, 0x18AC, 0x0119, 0x0118, 0x18AD, 0x18AC, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18CC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x18AE, 0x18AD, 0x20AD, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x20AD, 0x18AD, 0x20AD, 0x18CD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x00F6, 0x0118, 0x00F7, 0x18CF, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x20AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x28CD, 0xA111, 0xA111, 0xA111, 0xCBCF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xF5ED, 0x89D1, 0x91D2, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD396, 0xD395, 0xED11, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xC42F, 0x81B1, 0xAA93, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFECC, 0xFEAD, 0xC42F, 0x8191, 0xAA93, 0xD395, 0xD395, 0xD396, 0xD395, 0xD395, 0xD395, 0xD395, 0xF5EF, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF64D, 0xD4CE, 0xBBD0, 0xC3B2, 0xC314, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xED12, 0x8191, 0x8191, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xD395, 0xD395, 0xED31, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xEE0D, 0xCC6F, 0xBB51, 0xBAD4, 0xCB55, 0xD395, 0xD395, 0xD395, 0xD395, 0xC334, 0x8191, 0xB294, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD375, 0xD395, 0xED11, 0xFEAE, 0xFECE, 0xFEAD, 0xFEAE, 0xFEAD, 0xFECE, 0xFEAE, 0xFEAE, 0xA2F0, 0x8191, 0xC314, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xD395, 0xDC34, 0xFEAF, 0xFED0, 0xFEAF, 0xFED0, 0xFEB0, 0xFED1, 0xE491, 0xA911, 0xA111, 0x9931, 0xA111, 0x58D6, 0x88B5, 0xB8D1, 0xB8D1, 0x5059, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x009F, 0x00BF, 0x00FF, 0x00DF, 0x047F, 0x07D2, 0x07E3, 0x07F1, 0x07FF, 0x07FF, 0x2CBA, 0x4933, 0x4132, 0x4131, 0x4111, 0x38F0, 0x38F0, 0x30F0, 0x30EF, 0x28EF, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x0118, 0x0118, 0x18AD, 0x18AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x0118, 0x0118, 0x18AD, 0x18AD, 0x18AD, 0x20AD, 0x18CD, 0x20AD, 0x20AD, 0x18AC, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x00F6, 0x18AD, 0x18AD, 0x18AC, 0x20AC, 0x18AC, 0x18AD, 0x18AC, 0x18AC, 0x18AD, 0x18AC, 0x20AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AC, 0x18AC, 0x18AD, 0x00F6, 0x0118, 0x0118, 0x18CF, 0x20AD, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x20AC, 0x20AD, 0x18AD, 0x8110, 0x9911, 0xA111, 0xA171, 0xF5ED, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE6D, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5CF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE4E, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EE, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE8D, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xF64D, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xFE6E, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xF60E, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF64E, 0xFEAC, 0xFEAD, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5EF, 0xF5EF, 0xF5EF, 0xF5CF, 0xFE4D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE6D, 0xF5EF, 0xF5EF, 0xF5CF, 0xF5CF, 0xFEAD, 0xF62E, 0xF5EF, 0xF5D0, 0xF5EF, 0xF5CF, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5EF, 0xF5F0, 0xFE4F, 0xFECE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAF, 0xF610, 0xF5D0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF5F0, 0xF610, 0xFEAF, 0xFEAF, 0xFEAF, 0xFED0, 0xFEB0, 0xFEB1, 0xE471, 0xB8D1, 0xA111, 0x9931, 0x9931, 0x9912, 0x6933, 0xB0F1, 0xB0D1, 0xB0D1, 0x283C, 0x001F, 0x001F, 0x001F, 0x003F, 0x007F, 0x00BF, 0x00DF, 0x00FF, 0x011F, 0x047F, 0x07D1, 0x07E3, 0x07F3, 0x07FF, 0x07FF, 0x3B77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38F0, 0x38F0, 0x30EF, 0x30EF, 0x28EF, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AC, 0x18AD, 0x0118, 0x0118, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AD, 0x20AD, 0x0118, 0x0118, 0x20AD, 0x20AC, 0x20AC, 0x18AD, 0x18AD, 0x18AC, 0x20AC, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, 0x18AD, + 0x0118, 0x00F6, 0x18CD, 0x18AC, 0x18AD, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18CC, 0x20AC, 0x18AD, 0x00F6, 0x0118, 0x0117, 0x18CF, 0x18AD, 0x18AC, 0x18AC, 0x18AD, 0x18AC, 0x20AD, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18CD, 0x18AC, 0x20AC, 0x38CE, 0x9931, 0x9931, 0x9931, 0xAA31, 0xFE2D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAC, 0xFEAC, 0xFEAD, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAC, 0xFEAC, 0xFE8C, 0xFE8C, 0xFEAC, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8C, 0xFEAD, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFEAC, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFEAC, 0xFE8D, 0xFE8C, 0xFEAD, 0xFEAD, 0xFE8C, 0xFE8C, 0xFE8C, 0xFEAD, 0xFE8C, 0xFEAC, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAC, 0xFE8D, 0xFEAC, 0xFEAD, 0xFEAD, 0xFE8C, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAC, 0xFE8C, 0xFEAD, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFEAD, 0xFEAD, 0xFEAD, 0xFEAD, 0xFE8D, 0xFE8E, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAD, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFEAE, 0xFEAE, 0xFEAE, 0xFE8E, 0xFE8E, 0xFEAE, 0xFEAF, 0xFEAE, 0xFEAE, 0xFEAF, 0xFE8E, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFEAF, 0xFE8F, 0xFEB0, 0xFEAF, 0xFEB0, 0xFE90, 0xE471, 0xB8D2, 0xA111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xB0F1, 0xB0D1, 0xB0D2, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x007F, 0x00DF, 0x00DF, 0x011F, 0x011F, 0x049F, 0x07F0, 0x07E2, 0x07F4, 0x07FF, 0x07FF, 0x3AF6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28EE, 0x28CE, 0x28CE, 0x20CE, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x18AC, 0x20AC, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x0118, 0x0118, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x20AD, 0x18AD, 0x0118, 0x0118, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AD, 0x18AD, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, + 0x00F8, 0x0118, 0x00F5, 0x18AD, 0x20AC, 0x18AD, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AD, 0x18CD, 0x0116, 0x0118, 0x0117, 0x18CF, 0x20AC, 0x20AC, 0x20AD, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AD, 0x20AC, 0x60EF, 0x9912, 0x9931, 0x9931, 0xB270, 0xF62D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE6D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8C, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8E, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xFEB0, 0xFEB0, 0xE471, 0xB8D1, 0xA111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xB0F1, 0xB0D1, 0x90B4, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x049F, 0x07F1, 0x07E2, 0x07F6, 0x07FF, 0x0F9F, 0x4A35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38F0, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CE, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x0118, 0x0118, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AD, 0x20AD, 0x0118, 0x0118, 0x18CE, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AD, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, + 0x18CE, 0x0117, 0x0118, 0x0115, 0x18AD, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AD, 0x00F6, 0x0118, 0x0117, 0x18CE, 0x18AC, 0x20CC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AD, 0x18CC, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x28AD, 0x8110, 0x9931, 0x9931, 0x9911, 0xAA31, 0xF5CD, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE8C, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE8E, 0xFE8D, 0xFE8D, 0xFE6E, 0xFE8D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE6F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE8F, 0xFE8F, 0xFE6F, 0xFE90, 0xFE8F, 0xFE8F, 0xFE90, 0xFE90, 0xE471, 0xB0D1, 0xA111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xB0D1, 0xB0D1, 0x7896, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x00BF, 0x011F, 0x011F, 0x013F, 0x017F, 0x04BF, 0x07F2, 0x07E2, 0x07F5, 0x07FF, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30EF, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AD, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x0118, 0x0118, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x00F5, 0x0117, 0x00F7, 0x18CE, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AC, 0x18AE, 0x0117, 0x0118, 0x08F5, 0x18AD, 0x18AC, 0x18CD, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x08F3, 0x0118, 0x0117, 0x18CE, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x28AD, 0x9111, 0x9931, 0x9931, 0x9931, 0xA171, 0xCBCF, 0xF60D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6C, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6D, 0xFE6D, 0xFE6D, 0xFE4D, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6E, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE70, 0xFE70, 0xFE6F, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE90, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xE471, 0xA8F1, 0xA111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xB0D1, 0xB0D1, 0x5878, 0x001F, 0x001F, 0x003F, 0x007F, 0x009F, 0x00FF, 0x013F, 0x013F, 0x017F, 0x019F, 0x033F, 0x07F3, 0x07E2, 0x07F3, 0x07FF, 0xA8F1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30EF, 0x30EF, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AD, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x0118, 0x0118, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AD, 0x20AC, 0x18AC, 0x18AD, 0x00F5, 0x0118, 0x0117, 0x18CE, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x18AC, 0x20AC, 0x18CE, 0x08F5, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0117, 0x00F7, 0x18CE, 0x20AC, 0x18CC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x28CD, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xBAB0, 0xDC6F, 0xE50F, 0xE50E, 0xFE4E, 0xFE6E, 0xFE4E, 0xFE6D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4D, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE4E, 0xFE4E, 0xFE6E, 0xFE6E, 0xFE4E, 0xFE6F, 0xFE6E, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE6F, 0xFE4F, 0xFE6F, 0xFE70, 0xFE50, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE70, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xFE71, 0xF612, 0xE531, 0xE512, 0xD472, 0xB271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xB0F1, 0xB0F1, 0x285C, 0x003F, 0x005F, 0x007F, 0x00BF, 0x00FF, 0x013F, 0x015F, 0x017F, 0x019F, 0x01BF, 0x02FF, 0x07F4, 0x07E3, 0x07F1, 0x2E5C, 0xA911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AC, 0x20AD, 0x20AD, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x0118, 0x0118, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18CC, 0x20AC, 0x18AD, 0x0115, 0x0118, 0x00F7, 0x18AE, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x10D0, 0x10D2, 0x08D2, 0x18AE, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, + 0x18AC, 0x20AC, 0x20AC, 0x18CD, 0x0116, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x18CE, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x28CC, 0x610F, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xB0F1, 0xB0D1, 0x087F, 0x009F, 0x00BF, 0x00DF, 0x011F, 0x015F, 0x019F, 0x019F, 0x019F, 0x01DF, 0x01DF, 0x01FF, 0x07F7, 0x07E3, 0x07EF, 0x5498, 0xA8F1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30EF, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x20CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x0117, 0x0117, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x18AD, 0x0115, 0x0117, 0x00F7, 0x18AE, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AD, 0x00F5, 0x0117, 0x0118, 0x0117, 0x0117, 0x08F3, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20CC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, + 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x40CE, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xA111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xB0F1, 0x98F3, 0x00DF, 0x00FF, 0x011F, 0x013F, 0x017F, 0x01BF, 0x01BF, 0x01DF, 0x01DF, 0x01FF, 0x01FF, 0x021F, 0x06D9, 0x07E5, 0x07EC, 0x7355, 0xA8F1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390F, 0x30EF, 0x30EE, 0x28CE, 0x28CE, 0x28CD, 0x28CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x0117, 0x00F7, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AD, 0x00F5, 0x0117, 0x0116, 0x18CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x00F5, 0x0117, 0x0118, 0x08F5, 0x0116, 0x0117, 0x0117, 0x10F2, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x18AC, 0x20AB, 0x20AC, 0x20AC, + 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x30CC, 0x58CF, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xA111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xA8F1, 0xB0F1, 0x80F5, 0x013F, 0x017F, 0x019F, 0x01BF, 0x01DF, 0x01FF, 0x01DF, 0x01FF, 0x021F, 0x023F, 0x023F, 0x023F, 0x057D, 0x07E8, 0x07E9, 0x82D5, 0xA0F1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38F0, 0x38EF, 0x30EF, 0x30EE, 0x28CE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CD, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x00F7, 0x0117, 0x10D0, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18CD, 0x00F5, 0x0117, 0x08F5, 0x18AD, 0x20AC, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AD, 0x0117, 0x0117, 0x10D0, 0x20AC, 0x20AC, 0x08F3, 0x0117, 0x0115, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, + 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20AD, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CE, 0x28EE, 0x28EE, 0x30EE, 0x30EF, 0x30EF, 0x30EE, 0x38EF, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xA932, 0xA131, 0xB131, 0xC912, 0xC911, 0xC8F2, 0xC8F2, 0xC8F2, 0xC8D1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xC0D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0x5158, 0x01BF, 0x01DF, 0x01FF, 0x021F, 0x023F, 0x023F, 0x021F, 0x023F, 0x025F, 0x025F, 0x025F, 0x025F, 0x041F, 0x07ED, 0x07E4, 0x7AB4, 0xA911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38EF, 0x30EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x10D0, 0x0117, 0x00F7, 0x10D0, 0x20AC, 0x20CC, 0x18AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x00F5, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x20AC, 0x20AC, 0x20AC, 0x10EF, 0x0117, 0x0117, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, + 0x20AC, 0x18AC, 0x18AC, 0x18CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AB, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28AD, 0x28CE, 0x30CE, 0x30CE, 0x30EE, 0x8151, 0xB192, 0xC9B3, 0xC9B2, 0xC992, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC932, 0xC912, 0xC912, 0xC111, 0xC8F1, 0xC8F1, 0xC8D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0D1, 0xB8B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D2, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0x39BB, 0x021F, 0x023F, 0x025F, 0x027F, 0x027F, 0x025F, 0x025F, 0x027F, 0x027F, 0x027F, 0x027F, 0x027F, 0x029F, 0x07F3, 0x07E2, 0x9972, 0xA911, 0xA112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38EF, 0x30EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x08F2, 0x0117, 0x0116, 0x10D0, 0x20AC, 0x20AB, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AD, 0x00F4, 0x00F7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x18CF, 0x20AC, 0x20AC, 0x10D1, 0x00F7, 0x0115, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x18CC, 0x18AC, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x18AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CC, 0x20CC, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x30CD, 0x28EE, 0x30EE, 0x490E, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC932, 0xC932, 0xC912, 0xC912, 0xC912, 0xC0F2, 0xC8D1, 0xC0D1, 0xC0D1, 0xC8B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB0D1, 0xB8D2, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0F2, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0x123E, 0x029F, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x029F, 0x02BF, 0x02BF, 0x02BF, 0x029F, 0x029F, 0x02DF, 0x06B9, 0x07E3, 0xA111, 0xA911, 0xA111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390F, 0x38EF, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x08D3, 0x0116, 0x0117, 0x10CF, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x18AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x00F4, 0x0117, 0x0116, 0x08F2, 0x08F2, 0x0117, 0x0116, 0x08F2, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x18AC, 0x20AC, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x30ED, 0x692F, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC132, 0xC912, 0xC912, 0xC8F2, 0xC8F1, 0xC8D1, 0xC0D1, 0xC0D1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xC0B1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0D1, 0xB8D1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0x9933, 0x02DF, 0x02DF, 0x02FF, 0x02FF, 0x02DF, 0x02BF, 0x02DF, 0x02DF, 0x02DF, 0x02DF, 0x02DF, 0x02BF, 0x02BF, 0x02FF, 0x051E, 0x07E8, 0xA912, 0xA111, 0xA111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410F, 0x390F, 0x38EE, 0x30EE, 0x30EE, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x08F2, 0x0116, 0x0117, 0x10D0, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x18CB, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AB, 0x20AB, 0x18AE, 0x0115, 0x0117, 0x0116, 0x0116, 0x0116, 0x00F4, 0x18CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x03B8, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AC, 0x20AC, 0x28AC, 0x20CC, 0x28CC, 0x28CC, 0x28CC, 0x28CD, 0x28CD, 0x28ED, 0x28CD, 0x30CD, 0x9191, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC952, 0xC952, 0xC932, 0xC932, 0xC912, 0xC932, 0xC912, 0xC112, 0xC8F2, 0xC8F2, 0xC8D1, 0xC8D1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88B4, 0x88B5, 0x88B5, 0xB8D1, 0xB8D1, 0xB8D1, 0xB8D1, 0xB0F1, 0xB0F1, 0xB0D1, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0x69D6, 0x033F, 0x033F, 0x033F, 0x031F, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02FF, 0x02DF, 0x02FF, 0x035F, 0x03FF, 0x07F0, 0x8A4F, 0xA111, 0xA111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410F, 0x390F, 0x30EE, 0x30EE, 0x30CD, 0x30CD, 0x28CD, 0x28CD, 0x28CC, 0x28CC, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x08F2, 0x0116, 0x0116, 0x10CF, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20CC, 0x08D1, 0x08F3, 0x08F3, 0x10D0, 0x20AB, 0x20AC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x03B7, 0x03B8, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CC, 0x20AC, 0x28CC, 0x28CC, 0x28CC, 0x20CC, 0x28CC, 0x28CC, 0x28CD, 0x40EE, 0xA9B2, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B2, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC972, 0xC952, 0xC952, 0xC952, 0xC932, 0xC932, 0x90D5, 0x88D6, 0x6098, 0x5879, 0x303C, 0x305C, 0x081E, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00BF, 0x00DF, 0x291C, 0x411A, 0x6118, 0x8915, 0xB0D1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F1, 0xB0F2, 0xA8F1, 0xB0F1, 0x429A, 0x039F, 0x039F, 0x035F, 0x035F, 0x033F, 0x033F, 0x033F, 0x033F, 0x033F, 0x033F, 0x031F, 0x031F, 0x031F, 0x037F, 0x03FF, 0x06D7, 0x7ACF, 0xA111, 0xA111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410F, 0x40EF, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x28CD, 0x28CD, 0x28CC, 0x28CC, 0x20CC, 0x20CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x08F2, 0x0116, 0x0116, 0x10CF, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x20AB, 0x20AB, 0x20AB, 0x20AB, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x28CC, 0x28CC, 0x28CC, 0x28CD, 0x28CC, 0x490E, 0xC1D3, 0xC9D3, 0xC9D3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC9B3, 0xC992, 0xC992, 0xC972, 0xC952, 0x98F5, 0x60B8, 0x407B, 0x183E, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x007F, 0x007F, 0x009F, 0x00BF, 0x00FF, 0x011F, 0x013F, 0x017F, 0x019F, 0x01DF, 0x021F, 0x21FD, 0x49D9, 0x7996, 0xA112, 0xA8F1, 0xB0F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0x139E, 0x03DF, 0x03BF, 0x039F, 0x039F, 0x037F, 0x037F, 0x037F, 0x037F, 0x035F, 0x035F, 0x033F, 0x033F, 0x035F, 0x03BF, 0x041F, 0x05DE, 0x7AD1, 0xA111, 0xA111, 0xA111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40EF, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x08F2, 0x0115, 0x0115, 0x10CF, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x18AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B8, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x692F, 0xC9F3, 0xC9D3, 0xC9D3, 0xC9B2, 0xC9B3, 0xC992, 0xC9B2, 0xC972, 0xB973, 0x80F7, 0x387B, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00BF, 0x00DF, 0x00FF, 0x013F, 0x015F, 0x019F, 0x01BF, 0x01FF, 0x023F, 0x025F, 0x029F, 0x02DF, 0x02FF, 0x033F, 0x2ADC, 0x5A58, 0x8994, 0xA8F1, 0xA8F1, 0x81D4, 0x041F, 0x041F, 0x03FF, 0x03DF, 0x03BF, 0x03BF, 0x03BF, 0x03BF, 0x03BF, 0x039F, 0x037F, 0x035F, 0x037F, 0x039F, 0x03FF, 0x047F, 0x04FF, 0x6375, 0xA112, 0xA111, 0xA111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390F, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x08F1, 0x0115, 0x0115, 0x10CF, 0x20AB, 0x20AB, 0x20AB, 0x20CA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, 0x03B7, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28AC, 0x28CC, 0x28CC, 0x28CC, 0x692E, 0xC9F3, 0xC9D2, 0xC9D3, 0xC9B3, 0xC9B3, 0xC992, 0xC993, 0x80F7, 0x389B, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x083C, 0x085B, 0x105B, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187A, 0x105B, 0x085D, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x003F, 0x005F, 0x007F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x017F, 0x01BF, 0x01FF, 0x021F, 0x025F, 0x029F, 0x02DF, 0x02FF, 0x033F, 0x037F, 0x03BF, 0x03DF, 0x041F, 0x043F, 0x0C3F, 0x2BBC, 0x0C3F, 0x045F, 0x043F, 0x041F, 0x041F, 0x03FF, 0x03FF, 0x03FF, 0x03DF, 0x03DF, 0x03BF, 0x039F, 0x037F, 0x039F, 0x03DF, 0x043F, 0x04BF, 0x053F, 0x5398, 0xA111, 0xA111, 0xA111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30CD, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x08F1, 0x0115, 0x0115, 0x10CE, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x1378, 0x1378, 0x1358, 0x1358, 0x1378, 0x1378, 0x1358, 0x1378, 0x1358, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CB, 0x28CB, 0x28CC, 0x28CB, 0x614E, 0xD1F3, 0xC9F3, 0xC9D3, 0xC9B2, 0xC9B3, 0xB173, 0x60D9, 0x081E, 0x003D, 0x083B, 0x1878, 0x1877, 0x28D2, 0x28D2, 0x40EE, 0x38EE, 0x390F, 0x390F, 0x390F, 0x410E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x4910, 0x4130, 0x38F3, 0x28B6, 0x189A, 0x003E, 0x001F, 0x001F, 0x003F, 0x005F, 0x005F, 0x007F, 0x00BF, 0x00DF, 0x00FF, 0x013F, 0x015F, 0x019F, 0x01DF, 0x021F, 0x023F, 0x027F, 0x029F, 0x02FF, 0x033F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x047F, 0x04BF, 0x04DF, 0x04DF, 0x04BF, 0x04BF, 0x047F, 0x047F, 0x043F, 0x043F, 0x043F, 0x041F, 0x041F, 0x03FF, 0x03DF, 0x03BF, 0x03BF, 0x03DF, 0x043F, 0x047F, 0x04DF, 0x057F, 0x3C1A, 0xA111, 0xA111, 0xA111, 0xA111, 0x5931, 0x4910, 0x4110, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x08F1, 0x0115, 0x0115, 0x10CF, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x3AF9, 0x3AD9, 0x3AD9, 0x3AD9, 0x3AD9, 0x3AD9, 0x3AF9, 0x3AF9, 0x3AF9, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28CB, 0x20CB, 0x28AB, 0x692E, 0xC9D3, 0xC9D3, 0xC9D3, 0xC9B3, 0xB1B2, 0x58F3, 0x1895, 0x28B2, 0x30ED, 0x38ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x390E, 0x390E, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390E, 0x410F, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x492F, 0x4930, 0x4910, 0x38F3, 0x20B8, 0x087D, 0x007F, 0x009F, 0x00DF, 0x00FF, 0x011F, 0x015F, 0x017F, 0x019F, 0x01DF, 0x021F, 0x025F, 0x02BF, 0x02DF, 0x031F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x049F, 0x04DF, 0x04FF, 0x051F, 0x051F, 0x053F, 0x04FF, 0x04DF, 0x04BF, 0x049F, 0x047F, 0x047F, 0x045F, 0x045F, 0x043F, 0x041F, 0x03FF, 0x03DF, 0x03FF, 0x043F, 0x045F, 0x04BF, 0x053F, 0x05BF, 0x2CDC, 0xA112, 0xA111, 0xA111, 0xA111, 0x7131, 0x4930, 0x4130, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x08F1, 0x0115, 0x0114, 0x10CE, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x625A, 0x625B, 0x5A5A, 0x5A5A, 0x625B, 0x20CA, 0x20AA, 0x20AA, 0x20AA, + 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28CB, 0x28CB, 0x612E, 0xC9F3, 0xC9D3, 0xC9D3, 0xB992, 0x692E, 0x28CC, 0x28EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x30ED, 0x38ED, 0x38ED, 0x390E, 0x38EE, 0x38EE, 0x38EE, 0x390F, 0x38EE, 0x40EE, 0x40EE, 0x390F, 0x390E, 0x410E, 0x40EF, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4910, 0x4910, 0x4930, 0x4113, 0x28F8, 0x08FE, 0x013F, 0x015F, 0x019F, 0x01DF, 0x021F, 0x023F, 0x029F, 0x02BF, 0x031F, 0x035F, 0x039F, 0x03DF, 0x041F, 0x045F, 0x049F, 0x04DF, 0x051F, 0x053F, 0x057F, 0x059F, 0x057F, 0x055F, 0x053F, 0x04FF, 0x04FF, 0x04DF, 0x04BF, 0x049F, 0x049F, 0x047F, 0x045F, 0x043F, 0x041F, 0x041F, 0x043F, 0x045F, 0x04BF, 0x04FF, 0x055F, 0x05DF, 0x0E1F, 0xA111, 0xA111, 0xA111, 0xA112, 0x8931, 0x4930, 0x4130, 0x410F, 0x410E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x08F1, 0x0115, 0x0114, 0x10CF, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20CB, 0x10CF, 0x10EF, 0x10EF, 0x18CE, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x81DB, 0x81DC, 0x81DB, 0x81DB, 0x81BC, 0x81BB, 0x81BC, 0x81DC, 0x81DC, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x20CB, 0x612E, 0xD1F3, 0xC9F3, 0xC1B2, 0x612E, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197A, 0x01DE, 0x021F, 0x027F, 0x02BF, 0x02FF, 0x033F, 0x037F, 0x03BF, 0x03FF, 0x045F, 0x049F, 0x04DF, 0x051F, 0x057F, 0x059F, 0x05DF, 0x05DF, 0x05DF, 0x05BF, 0x059F, 0x055F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04DF, 0x04BF, 0x047F, 0x045F, 0x043F, 0x043F, 0x047F, 0x04BF, 0x04FF, 0x053F, 0x05BF, 0x061F, 0x069F, 0x9972, 0xA111, 0xA111, 0xA111, 0xA111, 0x5130, 0x4910, 0x410F, 0x390F, 0x390E, 0x38ED, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x08F1, 0x0115, 0x00F4, 0x18CC, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x18CC, 0x00F3, 0x0115, 0x0114, 0x0115, 0x00F4, 0x00F2, 0x20CB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0xA93D, 0xA93D, 0xA95C, 0xA93D, 0xA95C, 0xA95D, 0xA93C, 0xA95D, 0xA93D, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x510D, 0xD1F3, 0xC9D2, 0x816F, 0x30CC, 0x28AC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4110, 0x410F, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31B6, 0x0A9D, 0x02FF, 0x035F, 0x039F, 0x03FF, 0x043F, 0x047F, 0x04BF, 0x051F, 0x055F, 0x05BF, 0x05DF, 0x061F, 0x063F, 0x063F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04BF, 0x047F, 0x047F, 0x047F, 0x049F, 0x04DF, 0x053F, 0x057F, 0x05FF, 0x065F, 0x06DF, 0x7A95, 0xA111, 0xA111, 0xA111, 0xA111, 0x6911, 0x4930, 0x410F, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x08F1, 0x0114, 0x0114, 0x18CD, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x08F2, 0x0115, 0x0114, 0x0115, 0x0114, 0x0115, 0x0114, 0x10EF, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20CB, 0x20AB, 0xC8BE, 0xD0BE, 0xC8BE, 0xC8BE, 0xD0BE, 0xC8BE, 0xD0BE, 0xD0BE, 0xC8BE, + 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x40EC, 0xC1D2, 0xC1B3, 0x490D, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390F, 0x410F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39D5, 0x131C, 0x041F, 0x047F, 0x04BF, 0x051F, 0x055F, 0x059F, 0x05DF, 0x061F, 0x067F, 0x069F, 0x069F, 0x067F, 0x065F, 0x061F, 0x05FF, 0x05FF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x04FF, 0x04DF, 0x04BF, 0x04BF, 0x04BF, 0x04DF, 0x051F, 0x057F, 0x05BF, 0x063F, 0x069F, 0x071F, 0x5438, 0xA111, 0xA111, 0xA111, 0xA111, 0x8111, 0x4930, 0x410F, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x08F1, 0x0115, 0x00F4, 0x18CC, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x18CC, 0x00F5, 0x0115, 0x00F4, 0x0115, 0x0115, 0x0114, 0x0115, 0x00F4, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, 0xF03F, + 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x30CB, 0xA992, 0xA9B1, 0x30CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CC, 0x30EC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38ED, 0x38ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3A15, 0x237B, 0x053F, 0x059F, 0x5358, 0x349B, 0x0E1F, 0x06BF, 0x06FF, 0x06FF, 0x06DF, 0x06BF, 0x069F, 0x065F, 0x063F, 0x061F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x051F, 0x04FF, 0x04DF, 0x04DF, 0x04FF, 0x051F, 0x055F, 0x059F, 0x05FF, 0x065F, 0x06DF, 0x073F, 0x359B, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x4930, 0x4910, 0x412F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x00F3, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x0115, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20CA, + 0x790F, 0x68EE, 0x50ED, 0x38CC, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x692F, 0x816F, 0x20AB, 0x20CB, 0x20AB, 0x28CB, 0x28CB, 0x28CB, 0x28AB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49D4, 0x243A, 0xA132, 0xA8F1, 0xA8F1, 0xA8F1, 0x8295, 0x8295, 0x5418, 0x351B, 0x06DF, 0x069F, 0x067F, 0x065F, 0x063F, 0x05FF, 0x05FF, 0x05BF, 0x059F, 0x057F, 0x055F, 0x053F, 0x051F, 0x051F, 0x053F, 0x057F, 0x059F, 0x05DF, 0x063F, 0x069F, 0x06FF, 0x077F, 0x0F5F, 0xA111, 0xA111, 0xA111, 0xA111, 0x9931, 0x6911, 0x4930, 0x410F, 0x390E, 0x38EE, 0x30ED, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x18CB, 0x00F2, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x00F5, 0x0114, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, + 0x8130, 0x8930, 0x8930, 0x8910, 0x8930, 0x790F, 0x690E, 0x48CD, 0x38CC, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20CB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x28CB, 0x28AB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30EE, 0x38ED, 0x38ED, 0x390E, 0x390E, 0x390E, 0x410E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xA8F1, 0xA911, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA8F1, 0xA172, 0x4C39, 0x2D5C, 0x069F, 0x065F, 0x063F, 0x061F, 0x05FF, 0x05DF, 0x059F, 0x057F, 0x055F, 0x055F, 0x055F, 0x057F, 0x059F, 0x05DF, 0x061F, 0x067F, 0x06DF, 0x073F, 0x079F, 0x07DF, 0x8254, 0xA111, 0xA131, 0xA111, 0x9911, 0x8131, 0x4910, 0x410F, 0x410E, 0x38EE, 0x38ED, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x08F2, 0x00F5, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x10F0, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, + 0x8930, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8910, 0x8130, 0x710F, 0x60EE, 0x48ED, 0x38CC, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30EC, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x390F, 0x410F, 0x410F, 0x410F, 0x412F, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xA111, 0xA8F1, 0xA8F1, 0xA8F1, 0xA8F1, 0xA911, 0xA111, 0xA911, 0xA0F1, 0x9972, 0x4419, 0x067F, 0x065F, 0x061F, 0x05FF, 0x05DF, 0x05BF, 0x059F, 0x059F, 0x05BF, 0x05BF, 0x05DF, 0x061F, 0x065F, 0x06BF, 0x06FF, 0x075F, 0x07BF, 0x07FF, 0x5498, 0xA131, 0xA111, 0xA111, 0xA111, 0x9911, 0x4930, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AB, 0x20CC, 0x00F3, 0x00F4, 0x0114, 0x0114, 0x0114, 0x08F2, 0x20CB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, + 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710F, 0x58ED, 0x48CC, 0x30CB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x28CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CC, 0x30EC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x390E, 0x390E, 0x390E, 0x390F, 0x410F, 0x410F, 0x490F, 0x412F, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xA8F1, 0xA8F1, 0xA911, 0xA8F1, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA111, 0x7A55, 0x34BB, 0x065F, 0x061F, 0x05FF, 0x05DF, 0x05DF, 0x05DF, 0x05DF, 0x05FF, 0x063F, 0x065F, 0x069F, 0x06DF, 0x071F, 0x077F, 0x07BF, 0x07FF, 0x2E3C, 0x9911, 0xA111, 0xA111, 0x9931, 0x9931, 0x6910, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20CB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20CB, 0x10CF, 0x10D0, 0x10EF, 0x10CE, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20CA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, + 0x8910, 0x8910, 0x8910, 0x810F, 0x890F, 0x890F, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x690F, 0x58EE, 0x40CD, 0x30CC, 0x20AB, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390E, 0x410F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xA911, 0xA8F1, 0xA911, 0xA911, 0xA911, 0xA911, 0xA8F1, 0xA111, 0xA111, 0xA111, 0xA111, 0x91B3, 0x62F6, 0x347B, 0x061F, 0x061F, 0x063F, 0x063F, 0x065F, 0x067F, 0x06BF, 0x071F, 0x073F, 0x079F, 0x07DF, 0x07FF, 0x07FF, 0xA111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410F, 0x410E, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x810F, 0x810F, 0x810F, 0x890F, 0x8910, 0x8910, 0x8110, 0x8110, 0x8110, 0x8110, 0x8910, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x810F, 0x710F, 0x50ED, 0x40CC, 0x28AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x38EE, 0x38EE, 0x390F, 0x410F, 0x410F, 0x410F, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xA911, 0xA911, 0xA911, 0xA911, 0xA111, 0xA911, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x91B3, 0x349B, 0x065F, 0x067F, 0x069F, 0x06BF, 0x06FF, 0x073F, 0x077F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x7AD4, 0xA111, 0x9911, 0xA111, 0x9931, 0x9931, 0x4930, 0x410F, 0x390E, 0x38EE, 0x30EE, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x8910, 0x8910, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x810F, 0x710F, 0x50ED, 0x38CC, 0x28AB, 0x20AB, 0x20AB, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28AB, 0x28AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xA111, 0xA911, 0xA111, 0xA111, 0xA911, 0xA112, 0xA111, 0xA911, 0xA111, 0xA112, 0xA0F1, 0xA111, 0xA111, 0xA111, 0x7A75, 0x15FD, 0x06BF, 0x06FF, 0x071F, 0x075F, 0x079F, 0x07BF, 0x07FF, 0x07FF, 0x07FF, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410F, 0x390E, 0x390E, 0x38EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x790F, 0x690E, 0x50ED, 0x38CC, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x20AB, 0x28AB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x40EE, 0x410F, 0x410F, 0x410F, 0x4130, 0x4930, 0x4930, 0x5931, 0x90F1, 0xA911, 0xA912, 0xA111, 0xA111, 0xA111, 0xA911, 0xA911, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0x9972, 0x353B, 0x071F, 0x073F, 0x077F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x2E3C, 0xA111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410F, 0x410F, 0x38EE, 0x38EE, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x810F, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8130, 0x8930, 0x8930, 0x790F, 0x690E, 0x50ED, 0x38CC, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x390E, 0x390E, 0x390E, 0x410F, 0x410F, 0x412F, 0x4130, 0x4930, 0x4930, 0x8111, 0xA911, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0xA112, 0xA111, 0xA111, 0x4499, 0x077F, 0x079F, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x9931, 0xA111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490F, 0x410F, 0x38EE, 0x30EE, 0x38ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x90EF, 0x88EF, 0x80EF, 0x810F, 0x80EF, 0x80EF, 0x80EF, 0x810F, 0x810F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x810F, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710F, 0x60EE, 0x48ED, 0x38EC, 0x20AA, 0x20AA, 0x20CB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x28AB, 0x28AB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CC, 0x30CD, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x310E, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x412F, 0x4930, 0x4930, 0x7131, 0xA111, 0xA111, 0xA112, 0xA111, 0xA0F1, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA131, 0x6397, 0x07BF, 0x07DF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x7AD4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390F, 0x38EE, 0x38EE, 0x38ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x990F, 0x990F, 0x910F, 0x910F, 0x890F, 0x88EF, 0x810F, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x710F, 0x58EE, 0x48ED, 0x30CB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30EC, 0x30ED, 0x38EE, 0x30ED, 0x38ED, 0x390E, 0x38EE, 0x410E, 0x410F, 0x410F, 0x4930, 0x4930, 0x6931, 0xA111, 0xA111, 0xA112, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA112, 0x9931, 0x9911, 0x6397, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x5C14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410F, 0x390E, 0x390E, 0x30ED, 0x30ED, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x910F, 0x98EF, 0x910F, 0x910F, 0x98EF, 0x990F, 0x910F, 0x890F, 0x88EF, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x810F, 0x810F, 0x8110, 0x8910, 0x8910, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710F, 0x58ED, 0x40ED, 0x30CB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x30EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0xA111, 0x9931, 0xA111, 0x9931, 0x5498, 0x07FF, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x35F5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510F, 0x390E, 0x390E, 0x38ED, 0x30ED, 0x30CC, 0x30CC, 0x28CC, 0x28CB, 0x28CB, 0x28AB, 0x20CB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x890F, 0x88EF, 0x88EF, 0x88EF, 0x88EF, 0x88EF, 0x88EF, 0x88EF, 0x88EF, 0x890F, 0x810F, 0x80EF, 0x80EF, 0x80EF, 0x80EF, 0x810F, 0x810F, 0x810F, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x890F, 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x890F, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x68EF, 0x50ED, 0x40CC, 0x28CB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20CB, 0x28AB, 0x28CB, 0x20CB, 0x28AB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30CD, 0x30ED, 0x30ED, 0x38ED, 0x38EE, 0x38EE, 0x390E, 0x410F, 0x410F, 0x412F, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xA111, 0xA111, 0xA111, 0xA131, 0xA111, 0xA111, 0x9931, 0xA111, 0xA111, 0xA111, 0xA111, 0x3D7A, 0x07FF, 0x07FF, 0x07FF, 0x07FE, 0x07F6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390E, 0x38EE, 0x30EE, 0x30ED, 0x30CD, 0x30CC, 0x28CC, 0x28CC, 0x28CB, 0x28AB, 0x28AB, 0x20AB, 0x20AB, 0x20CA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x18AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x78EE, 0x78EE, 0x80EE, 0x80EE, 0x80EE, 0x78EE, 0x80EE, 0x80EE, 0x80EF, 0x80EF, 0x80EF, 0x80EE, 0x80EF, 0x810F, 0x80EF, 0x80EF, 0x80EF, 0x80EF, 0x810F, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x8910, 0x8110, 0x8130, 0x8910, 0x810F, 0x8110, 0x810F, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x8110, 0x690F, 0x50ED, 0x38CC, 0x28AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20CB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x18AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20CA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x28CB, 0x20AB, 0x20CB, 0x20CB, 0x28CB, 0x28CB, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x28CC, 0x30CC, 0x30EC, 0x30ED, 0x30ED, 0x30ED, 0x38EE, 0x38EE, 0x390E, 0x390E, 0x410F, 0x410F, 0x410F, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xA111, 0xA111, 0xA111, 0x9931, 0xA111, 0xA111, 0xA112, 0x9931, 0x9911, 0x9192, 0x1EBD, 0x07FF, 0x07FF, 0x07FE, 0x07F6, 0x7A71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410E, 0x38EE, 0x30ED, 0x30ED, 0x30ED, 0x28CC, 0x28CC, 0x28CB, 0x28CB, 0x20AB, 0x28AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20CA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x208A, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, + 0x78EE, 0x78EE, 0x78EE, 0x78EE, 0x80EE, 0x78EE, 0x78EE, 0x80EE, 0x80EE, 0x80EF, 0x80EF, 0x80EE, 0x80EF, 0x80EF, 0x80EF, 0x80EF, 0x80EF, 0x810F, 0x810E, 0x810F, 0x80EF, 0x80EF, 0x80EF, 0x80EF, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x810F, 0x890F, 0x890F, 0x890F, 0x890F, 0x890F, 0x890F, 0x890F, 0x890F, 0x8110, 0x810F, 0x890F, 0x890F, 0x810F, 0x810F, 0x810F, 0x890F, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8130, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8910, 0x8910, 0x8130, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8130, 0x8930, 0x710F, 0x690E, 0x50ED, 0x38CC, 0x28AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20CB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AA, 0x20CA, 0x20AA, 0x20AB, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AA, 0x20AB, 0x20AA, 0x20AB, 0x20AB, 0x20AC, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CC, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x20CD, 0x28CD, 0x28CD, 0x28CD, 0x28CD, 0x20CD, 0x28CE, 0x28CE, 0x28CE, 0x28EE, 0x28CE, 0x28EE, 0x30EE, 0x30EF, 0x30EF, 0x30EF, 0x390F, 0x390F, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xA111, 0xA111, 0xA111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07FF, 0x07FF, 0x07FD, 0x07F6, 0x5C32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390F, 0x30EF, 0x30EF, 0x30EE, 0x30CE, 0x28CD, 0x28EE, 0x28ED, 0x28CD, 0x20CD, 0x20AC, 0x20CD, 0x20CD, 0x20AD, 0x20CD, 0x20AD, 0x20CC, 0x20CC, 0x20AD, 0x20CC, 0x20AC, 0x20CC, 0x20CC, 0x20AC, 0x20AC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20CD, 0x20AD, 0x18CC, 0x20CC, 0x20AC, 0x20CC, 0x20AD, 0x20CC, 0x20AC, 0x20AC, 0x20CC, 0x18CC, 0x18CC, 0x20CC, 0x20CC, 0x20CC, 0x20CC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x20AC, 0x18AC, 0x20AC, 0x20AC, 0x20AC, 0x20CC, 0x18AC, 0x18AC, 0x20AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AC, 0x18AB, 0x18AB, 0x18AB, 0x18AC, 0x18AC, 0x18AC, 0x18AB, + 0x78D0, 0x78D0, 0x78D0, 0x78F0, 0x78F0, 0x78F1, 0x78F0, 0x78F0, 0x78F0, 0x78F1, 0x78F1, 0x80F0, 0x78F1, 0x78F0, 0x80F1, 0x80D1, 0x80F1, 0x80F1, 0x80F1, 0x80F1, 0x80F0, 0x80F0, 0x80F0, 0x80F0, 0x80F0, 0x80F0, 0x80F0, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8111, 0x8111, 0x8111, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8911, 0x8110, 0x8110, 0x8111, 0x8110, 0x8911, 0x8911, 0x8911, 0x8111, 0x8911, 0x8911, 0x8910, 0x8911, 0x8911, 0x8911, 0x8911, 0x8111, 0x8131, 0x8131, 0x8931, 0x8911, 0x8911, 0x8911, 0x8911, 0x8931, 0x8911, 0x8131, 0x8131, 0x8931, 0x8130, 0x8131, 0x8911, 0x8931, 0x7931, 0x6111, 0x4911, 0x30D2, 0x18F2, 0x10F2, 0x18D2, 0x18D2, 0x10F2, 0x18D2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F3, 0x18F3, 0x18F2, 0x20F2, 0x18F2, 0x18F2, 0x20F2, 0x18F3, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F2, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x2113, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F3, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x28F3, 0x28F3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28F3, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xA111, 0xA111, 0x9931, 0x9911, 0xA111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5C38, 0x07FF, 0x07FD, 0x07F6, 0x44F2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20F3, 0x20F3, 0x2113, 0x1912, 0x18F2, 0x20F3, 0x18F2, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18D2, 0x10F2, 0x18F2, 0x18D2, 0x10F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x10F2, 0x10F2, 0x18F2, 0x18F2, 0x10F2, 0x10F2, 0x10F2, 0x10D2, 0x10D2, 0x10D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x10D2, 0x10D2, 0x10D2, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10B1, 0x10B1, 0x10B1, 0x10B1, 0x10D0, 0x10B0, 0x10D0, 0x10B0, 0x10B0, 0x10D0, 0x10B0, 0x08B0, 0x08B0, 0x08B0, 0x08B0, 0x08B0, + 0x0051, 0x0071, 0x0071, 0x0071, 0x0071, 0x0051, 0x0071, 0x0070, 0x0870, 0x0870, 0x0071, 0x0071, 0x0091, 0x0870, 0x0071, 0x0091, 0x0071, 0x0871, 0x0871, 0x0891, 0x0871, 0x0871, 0x0871, 0x0871, 0x0891, 0x0891, 0x0891, 0x0891, 0x0871, 0x0871, 0x0871, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0891, 0x0891, 0x0891, 0x0892, 0x0891, 0x0891, 0x08B1, 0x08B1, 0x08B1, 0x08B2, 0x10B2, 0x08B1, 0x08B2, 0x08B1, 0x08B2, 0x08B2, 0x08B2, 0x10B2, 0x10B2, 0x10B2, 0x10B2, 0x10B2, 0x08B2, 0x10B2, 0x10B2, 0x08B2, 0x08B2, 0x10B2, 0x10B2, 0x10B2, 0x10B2, 0x10B2, 0x10D2, 0x10D2, 0x10D2, 0x10F2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x18D2, 0x18D2, 0x10F2, 0x18D2, 0x18D2, 0x10D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F2, 0x18F3, 0x18F3, 0x20F2, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x18F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2112, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x20F2, 0x20F3, 0x20F2, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x20F3, 0x2113, 0x28F3, 0x2113, 0x20F3, 0x2113, 0x28F3, 0x20F3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28F3, 0x28F3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28F3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28F3, 0x28F3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28F3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xA111, 0xA112, 0xA111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2E5C, 0x07FC, 0x07F6, 0x2E53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20F3, 0x2112, 0x20F3, 0x20D3, 0x1912, 0x18F2, 0x18F3, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x20F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18D2, 0x18D2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x18F2, 0x18F2, 0x18F2, 0x10F2, 0x10F2, 0x18F2, 0x18F2, 0x18D2, 0x18F2, 0x10F2, 0x18F2, 0x18D2, 0x10F2, 0x18F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10F2, 0x10D2, 0x10D2, 0x10F2, 0x10F2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x10D2, 0x10D1, 0x10D1, 0x10D2, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10D1, 0x10B0, 0x10B0, 0x10B0, 0x10B0, 0x10B0, 0x10B0, 0x10B0, 0x10B0, 0x08B0, 0x10B0, 0x10B0, 0x08B0, 0x08B0, 0x10B0, 0x10D0, 0x08D0, 0x08B0, 0x08B0, 0x08B0, 0x08B0, + 0x0CDC, 0x0CDC, 0x0CDB, 0x0CDC, 0x0CFB, 0x0CDC, 0x14DC, 0x14FC, 0x0CDC, 0x14FC, 0x14DC, 0x0CFC, 0x0CFC, 0x14FC, 0x0CFC, 0x14FC, 0x14FC, 0x14FC, 0x14FC, 0x14FC, 0x14FC, 0x14FC, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x153C, 0x153C, 0x153C, 0x153C, 0x151C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x155C, 0x153C, 0x153C, 0x1D5C, 0x1D5C, 0x1D5C, 0x155C, 0x155C, 0x155C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x155C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x157C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x259C, 0x1DBC, 0x1D9D, 0x259D, 0x1D9C, 0x259C, 0x259C, 0x259C, 0x259C, 0x259C, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x1DDD, 0x25DD, 0x25DD, 0x25DD, 0x25BD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25DD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x25FD, 0x25FD, 0x25FD, 0x25FD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x2DFD, 0x25FD, 0x2DFE, 0x2DFD, 0x2DFD, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3E, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x365E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x365E, 0x365E, 0x2E5D, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E5E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3E, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3E, 0x2E3D, 0x2E3E, 0x2E3D, 0x363D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E3D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x2E1D, 0x361D, 0x361D, 0x361D, 0x361D, 0x361D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1D, 0x3E1E, 0x461E, 0x461D, 0x4DFE, 0x4DFD, 0x4E3E, 0x4DFE, 0x55DD, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7A74, 0x07FB, 0x07F6, 0x07F6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4CFB, 0x3DFE, 0x35DD, 0x35DD, 0x2DDD, 0x2DDD, 0x2DDD, 0x2DDD, 0x25DD, 0x25DD, 0x25BD, 0x25BD, 0x25DD, 0x25DD, 0x25BD, 0x25DC, 0x25BD, 0x25BD, 0x25BD, 0x1DBD, 0x25BC, 0x1DBD, 0x1DBD, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1DBC, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9D, 0x1D9C, 0x1D9C, 0x1DBC, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9C, 0x1D9D, 0x1D9C, 0x1D9D, 0x1D9C, 0x1D7C, 0x1D7C, 0x1D7D, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D7C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x157C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x1D5C, 0x155C, 0x155C, 0x155C, 0x1D5C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x153C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151B, 0x151B, 0x151B, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, 0x151C, + 0x0BFB, 0x0BFB, 0x0BFB, 0x0BFB, 0x0BFB, 0x0C1B, 0x0C1B, 0x0C1B, 0x0C1B, 0x141B, 0x141B, 0x145B, 0x14DC, 0x0CDB, 0x14BC, 0x143B, 0x141B, 0x0C1B, 0x0C1B, 0x141C, 0x141B, 0x141B, 0x141B, 0x141B, 0x141B, 0x141B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143C, 0x143B, 0x145B, 0x151C, 0x0D1B, 0x151C, 0x145B, 0x143B, 0x145C, 0x143B, 0x145C, 0x1C5B, 0x143B, 0x145C, 0x145C, 0x145C, 0x145C, 0x145C, 0x145B, 0x145C, 0x145B, 0x145B, 0x1C5C, 0x145C, 0x147C, 0x147C, 0x147C, 0x145C, 0x1C7C, 0x1C5C, 0x147C, 0x147C, 0x1C7C, 0x1CDC, 0x1D5C, 0x155C, 0x1CBC, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7B, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x249C, 0x1C9C, 0x1D9D, 0x1D7C, 0x1CFC, 0x1C9C, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x24DC, 0x24DC, 0x24DC, 0x253D, 0x25BD, 0x253D, 0x24DD, 0x24BC, 0x24BC, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24DD, 0x24FD, 0x24DC, 0x24DC, 0x24FD, 0x24FD, 0x24FC, 0x24DD, 0x24FD, 0x251C, 0x25FD, 0x255D, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FC, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x24FD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x251D, 0x24FD, 0x24FD, 0x251D, 0x2D1D, 0x24FD, 0x2CFD, 0x25BD, 0x25BD, 0x253C, 0x2CFC, 0x2D1D, 0x251D, 0x2CFD, 0x2CFD, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1C, 0x2D5D, 0x2DDE, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2E1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D3D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2DDD, 0x2D5D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2D1D, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2D1D, 0x2D1D, 0x2CFD, 0x2CFD, 0x2CFD, 0x2DBD, 0x2DBD, 0x2CFD, 0x2D1D, 0x251C, 0x251C, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x2CFD, 0x34FD, 0x34FD, 0x34FD, 0x34FD, 0x34FD, 0x3CFD, 0x3CFD, 0x3CFD, 0x3CFD, 0x3D1D, 0x451D, 0x451D, 0x451D, 0x4D1D, 0x4D1D, 0x553D, 0x91B3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xA112, 0x9931, 0x9931, 0x5496, 0x07F7, 0x07F7, 0x8A13, 0xA111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34DD, 0x34DD, 0x2CDD, 0x2CDC, 0x2CDD, 0x2CBC, 0x24DC, 0x24BC, 0x24BC, 0x253C, 0x25BD, 0x253C, 0x24BC, 0x24BC, 0x24BC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x24BC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1CBC, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C7C, 0x1C9C, 0x1CDC, 0x1D7C, 0x1D5C, 0x1C9C, 0x1C9C, 0x1C7B, 0x1C7C, 0x1C9C, 0x1C7B, 0x1C9C, 0x1C9C, 0x1C9C, 0x1C7C, 0x1C9C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x147C, 0x147C, 0x147C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C7C, 0x1C5C, 0x1C9C, 0x153C, 0x155C, 0x14BC, 0x145B, 0x145B, 0x1C5C, 0x147B, 0x145B, 0x145B, 0x145B, 0x145B, 0x145B, 0x145B, 0x145B, 0x145C, 0x145C, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x143B, 0x151C, 0x14FB, 0x14FC, 0x145B, 0x143B, 0x143B, 0x141B, 0x141B, 0x141B, 0x141B, 0x141B, 0x141B, + 0x0A5A, 0x0A5A, 0x0A5A, 0x0A5A, 0x0A7A, 0x0A5A, 0x0AFA, 0x0C1B, 0x0CBB, 0x0C9B, 0x0B9B, 0x0A9A, 0x125A, 0x0A7A, 0x0A7A, 0x0A7A, 0x0A7A, 0x127A, 0x127A, 0x0A7A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x127A, 0x129A, 0x129A, 0x129A, 0x133B, 0x145B, 0x0D1C, 0x149C, 0x131B, 0x129B, 0x129B, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129B, 0x129A, 0x129B, 0x129B, 0x129B, 0x129B, 0x129B, 0x129B, 0x129A, 0x129B, 0x1ABB, 0x129B, 0x131B, 0x147C, 0x153B, 0x145C, 0x12FB, 0x1ABB, 0x12BA, 0x1ABB, 0x1ABB, 0x12BB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1B3B, 0x1CFC, 0x157C, 0x1C1C, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x22DB, 0x22FB, 0x231C, 0x1D1C, 0x1D5C, 0x235B, 0x22DC, 0x22DB, 0x22DC, 0x22FB, 0x22FC, 0x22DC, 0x22DC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FB, 0x22FB, 0x22FB, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231B, 0x22FC, 0x233C, 0x253C, 0x1CFD, 0x22FC, 0x22FC, 0x22FB, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x22FC, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x2AFC, 0x2AFC, 0x231C, 0x2B1C, 0x2B1C, 0x259C, 0x247C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x231C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x25BD, 0x2BBC, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x25DD, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B7C, 0x259D, 0x2B1C, 0x2B1C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x231C, 0x245D, 0x259C, 0x22FC, 0x2AFC, 0x231C, 0x2AFC, 0x22FC, 0x231C, 0x231C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2B1C, 0x2AFC, 0x2B1C, 0x2B1C, 0x2B1C, 0x331C, 0x331C, 0x331C, 0x331C, 0x331C, 0x3B1C, 0x3B3D, 0x3B3D, 0x3B3D, 0x433C, 0x433D, 0x4B3D, 0x435D, 0x5A9A, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07F9, 0x72D4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331C, 0x32FC, 0x2AFB, 0x2AFC, 0x2AFB, 0x22FB, 0x22DC, 0x22DC, 0x22FB, 0x22DB, 0x22DB, 0x235C, 0x1D5C, 0x1D1D, 0x231B, 0x1ADB, 0x1ADB, 0x1ADB, 0x22DB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ADB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ADB, 0x1BFC, 0x1D5C, 0x14DC, 0x1B3B, 0x1ABB, 0x1ADB, 0x1ABB, 0x1ABB, 0x12DB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x1ABB, 0x129B, 0x12BB, 0x129A, 0x12BA, 0x129A, 0x12DB, 0x143B, 0x151B, 0x14BB, 0x1AFB, 0x12BA, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x129A, 0x127A, 0x127A, 0x127A, 0x131B, 0x147C, 0x14DB, 0x145B, 0x131A, 0x127A, 0x127A, 0x127A, 0x127A, + 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B5A, 0x0C1B, 0x0C9B, 0x0C9B, 0x0BBA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3B, 0x0B3A, 0x0B3A, 0x0B3B, 0x133B, 0x0B3B, 0x0B3B, 0x0B3B, 0x133A, 0x0B3A, 0x0C3B, 0x14DC, 0x14BC, 0x13FB, 0x0B3A, 0x133B, 0x133B, 0x133B, 0x135B, 0x0B5B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x135B, 0x0B5A, 0x135B, 0x135B, 0x135B, 0x135B, 0x0B5B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x13FB, 0x151C, 0x14FC, 0x13DB, 0x135B, 0x137B, 0x137B, 0x137B, 0x137B, 0x135B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x137B, 0x1B5B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x139B, 0x1BBB, 0x14FB, 0x153C, 0x13FB, 0x1B7B, 0x139B, 0x1B7B, 0x1B7C, 0x1B9B, 0x1B7B, 0x1B7B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1B9B, 0x1B9B, 0x139C, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1B9B, 0x1D3C, 0x1D5C, 0x1BFB, 0x1B9C, 0x1BBB, 0x1B9B, 0x1BBC, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBC, 0x1BBB, 0x1CDC, 0x1D7D, 0x23FC, 0x1BDC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x1BBC, 0x1BBC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x247C, 0x1D9C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x241C, 0x259D, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1DBD, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x1DBD, 0x243C, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x259C, 0x247C, 0x23BC, 0x23BC, 0x23DC, 0x23BC, 0x23DC, 0x23DC, 0x23BC, 0x23BC, 0x23BC, 0x23DC, 0x23DC, 0x23DC, 0x23DC, 0x2BDC, 0x2BDC, 0x2BDC, 0x2BDC, 0x2BDC, 0x33DC, 0x33DC, 0x33DC, 0x33DC, 0x3BDC, 0x3BFC, 0x3BFC, 0x3BDC, 0x43FC, 0x43FD, 0x6B18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6B53, 0x07FA, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2BBC, 0x2BBC, 0x2BBC, 0x2BBB, 0x23BB, 0x23BB, 0x239B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BDB, 0x1D5C, 0x1D1C, 0x1B9B, 0x1B9B, 0x139B, 0x139C, 0x1B9B, 0x1B7B, 0x1B7B, 0x139B, 0x1B9B, 0x1B9B, 0x1B7B, 0x1B9B, 0x139B, 0x1B7B, 0x1B7B, 0x1B9B, 0x1B9B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B9B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x139B, 0x1BBB, 0x151C, 0x151C, 0x13DB, 0x137B, 0x137B, 0x135B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x135B, 0x135B, 0x135B, 0x137B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x133B, 0x13DA, 0x14FB, 0x0CFB, 0x141B, 0x133A, 0x135B, 0x133B, 0x135B, 0x135B, 0x135A, 0x135B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133A, 0x133B, 0x0B5B, 0x133B, 0x133A, 0x0B3A, 0x133A, 0x133A, 0x0B3B, 0x0B3B, 0x0B3B, 0x0B3A, 0x133A, 0x0B1A, 0x0B3B, 0x0B3A, 0x0BDA, 0x14BB, 0x0CBB, 0x0C1B, 0x0B3A, 0x0B3B, 0x0B3A, + 0x0BDB, 0x0C7B, 0x0C7B, 0x0C1A, 0x0B3A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0C1B, 0x0CBB, 0x0C9B, 0x0BBB, 0x0B5A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133A, 0x133A, 0x133A, 0x0B3A, 0x133B, 0x0B3A, 0x133A, 0x0B3A, 0x133A, 0x0B3A, 0x135A, 0x133A, 0x133B, 0x133A, 0x133B, 0x0B3A, 0x0C7B, 0x0CFB, 0x147B, 0x137B, 0x0B5B, 0x0B5B, 0x135A, 0x135A, 0x135B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x137B, 0x135A, 0x135A, 0x137B, 0x135A, 0x135B, 0x139B, 0x14BB, 0x14FB, 0x13FB, 0x137B, 0x137B, 0x135B, 0x137B, 0x137A, 0x137A, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x1BBB, 0x153C, 0x151C, 0x1B7B, 0x139B, 0x137B, 0x139B, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x13BB, 0x139B, 0x1B9B, 0x139B, 0x1B9B, 0x1B9B, 0x1B9C, 0x1C3B, 0x1D5C, 0x1C3C, 0x1B9B, 0x1BBB, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBB, 0x1BBB, 0x1C9C, 0x1D1C, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BDB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1CFC, 0x1C7C, 0x1BBB, 0x1BDB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BDC, 0x23BC, 0x1BBB, 0x1D7C, 0x1BBB, 0x1BDC, 0x1BBB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1B9C, 0x1BDC, 0x1BBB, 0x1C5B, 0x1CFB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBB, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBC, 0x1BBB, 0x1BBB, 0x1BBB, 0x1B9B, 0x1D3C, 0x1CBC, 0x1BBB, 0x1BBB, 0x1B9B, 0x1B9C, 0x1B9C, 0x1B9B, 0x1B9B, 0x1BBB, 0x1B9C, 0x1B9B, 0x1BBB, 0x239B, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x23BC, 0x2BBC, 0x2BBC, 0x2BBC, 0x2BBC, 0x33BC, 0x33BC, 0x33DC, 0x3BDC, 0x3BDC, 0x3BDC, 0x3BDC, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4C98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4B19, 0x23BC, 0x239B, 0x239B, 0x239B, 0x1B9B, 0x1B9B, 0x1B9B, 0x1B7B, 0x1B7B, 0x1B7B, 0x1B7B, 0x137B, 0x137B, 0x137B, 0x14BB, 0x151B, 0x13DB, 0x137B, 0x137A, 0x137B, 0x137B, 0x137A, 0x137B, 0x137B, 0x137B, 0x135B, 0x137B, 0x135B, 0x135B, 0x135B, 0x137B, 0x137B, 0x137B, 0x137B, 0x137B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x135A, 0x13BB, 0x14DB, 0x14BB, 0x137B, 0x135A, 0x135B, 0x0B5A, 0x135B, 0x135B, 0x135A, 0x0B5A, 0x135A, 0x135B, 0x135A, 0x135A, 0x135A, 0x135A, 0x0B5A, 0x0B5A, 0x135A, 0x133A, 0x135A, 0x133A, 0x0B3A, 0x133B, 0x133A, 0x0B3A, 0x133B, 0x133B, 0x133A, 0x0B3A, 0x0B3A, 0x0C5B, 0x0CBB, 0x0C5B, 0x0B7A, 0x0B3A, 0x0B3B, 0x0B1A, 0x133B, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B9A, 0x0C9B, 0x0C9B, + 0x0BDA, 0x02F9, 0x01F9, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0178, 0x0178, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0178, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0A1A, 0x0B1A, 0x0C3A, 0x0C1B, 0x0ADA, 0x09F9, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x09F9, 0x0B1A, 0x0C7B, 0x0C1B, 0x0ABA, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11BA, 0x11BA, 0x11B9, 0x09B9, 0x11BA, 0x1199, 0x11BA, 0x11BA, 0x1199, 0x11DA, 0x0B3A, 0x0C9B, 0x0BFB, 0x127A, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x12BA, 0x14BB, 0x13FB, 0x11DB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BB, 0x11BA, 0x11DA, 0x11BA, 0x11DA, 0x11BA, 0x11BA, 0x11DA, 0x11BA, 0x127A, 0x14DB, 0x137B, 0x11DA, 0x19BA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x11DB, 0x19DB, 0x11DA, 0x19DA, 0x1A3B, 0x14FB, 0x1AFB, 0x19DA, 0x11DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19DA, 0x1A1B, 0x153C, 0x1A3B, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x153B, 0x19DB, 0x19DA, 0x19DB, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x19DA, 0x11DB, 0x19DB, 0x19DA, 0x19DB, 0x19FB, 0x153C, 0x123A, 0x19DA, 0x19DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x11DA, 0x19DA, 0x11DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x19DB, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x19DB, 0x19BA, 0x11DA, 0x11BA, 0x1ABB, 0x14FB, 0x1A5B, 0x19BA, 0x19BA, 0x11DA, 0x11DA, 0x19DB, 0x19DB, 0x19DA, 0x19DB, 0x19BA, 0x19DA, 0x19DA, 0x19DB, 0x19DB, 0x19DB, 0x21DB, 0x21DB, 0x21DB, 0x21FB, 0x21FB, 0x29FB, 0x29FB, 0x29FB, 0x29FB, 0x31FB, 0x321B, 0x31FB, 0x321B, 0x41FA, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72D4, 0x4C98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21DB, 0x21DA, 0x19DA, 0x19DA, 0x19DA, 0x11DA, 0x11DA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11D9, 0x137A, 0x149B, 0x131A, 0x11BA, 0x119A, 0x11B9, 0x11BA, 0x11BA, 0x119A, 0x11BA, 0x119A, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x11BA, 0x0999, 0x1199, 0x1199, 0x1199, 0x1199, 0x11BA, 0x11BA, 0x1199, 0x0999, 0x09B9, 0x0999, 0x0A1A, 0x0BFB, 0x0C9B, 0x131A, 0x09DA, 0x119A, 0x0999, 0x0999, 0x0999, 0x1199, 0x099A, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0ABA, 0x0BDA, 0x0C5B, 0x0B3A, 0x09F9, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0979, 0x0979, 0x0979, 0x0999, 0x0979, 0x0999, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0178, 0x0199, 0x0179, 0x0979, 0x0999, 0x02B9, + 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x0AB9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x0AB9, 0x02B9, 0x02B9, 0x02D9, 0x02D9, 0x02B9, 0x0AB9, 0x0AD9, 0x02D9, 0x0AD9, 0x0AB9, 0x0AB9, 0x03BA, 0x043A, 0x043A, 0x0359, 0x02D9, 0x0AD9, 0x02D9, 0x0AD9, 0x02D9, 0x02D9, 0x0AD9, 0x0AD9, 0x0AD9, 0x02D9, 0x0AD9, 0x02D9, 0x02D9, 0x0ADA, 0x0AFA, 0x02FA, 0x02FA, 0x02D9, 0x02FA, 0x0ADA, 0x0AFA, 0x02FA, 0x0AFA, 0x0AFA, 0x0AD9, 0x0AFA, 0x0ADA, 0x0AFA, 0x0B5A, 0x0C5B, 0x047A, 0x0BBA, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AF9, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0C3A, 0x0C9A, 0x0BDA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0BDB, 0x14BB, 0x0BFA, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0B3A, 0x131A, 0x0B3A, 0x0B1A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133B, 0x133B, 0x133A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x0B3A, 0x133A, 0x0B3A, 0x137A, 0x0CDB, 0x0C5B, 0x133B, 0x133B, 0x0B3A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133A, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x135B, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x135A, 0x0B5B, 0x133B, 0x143A, 0x147B, 0x135B, 0x135A, 0x133B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x13BB, 0x14DB, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135B, 0x133B, 0x14FB, 0x135A, 0x135B, 0x135A, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135B, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x135A, 0x133A, 0x135B, 0x135A, 0x135B, 0x135B, 0x149B, 0x13FB, 0x133A, 0x135B, 0x135B, 0x135A, 0x135A, 0x135A, 0x135B, 0x135B, 0x135B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133B, 0x133A, 0x133B, 0x133A, 0x135A, 0x133A, 0x143B, 0x147B, 0x133A, 0x133A, 0x133A, 0x133A, 0x133B, 0x133A, 0x133A, 0x133B, 0x133A, 0x133A, 0x133A, 0x135B, 0x133B, 0x133B, 0x1B3B, 0x1B5B, 0x1B5B, 0x1B3B, 0x1B5B, 0x235B, 0x235B, 0x235B, 0x235B, 0x2B5B, 0x2B5B, 0x2B7B, 0x2B7B, 0x335B, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72D5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71B4, 0x1B3B, 0x1B3B, 0x133A, 0x133B, 0x133A, 0x131A, 0x131A, 0x131A, 0x131A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0AFA, 0x0B1A, 0x0AFA, 0x0BDA, 0x0CBB, 0x0BDA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0BBA, 0x049B, 0x0C3A, 0x0B3A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x02FA, 0x0AFA, 0x0ADA, 0x0ADA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x02DA, 0x0ADA, 0x0ADA, 0x0ADA, 0x02D9, 0x02D9, 0x02DA, 0x02FA, 0x02D9, 0x0AD9, 0x0AD9, 0x0B5A, 0x045A, 0x045A, 0x033A, 0x0AD9, 0x02D9, 0x02D9, 0x02DA, 0x0ADA, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x0AB9, 0x0AB9, 0x02D9, 0x02D9, 0x0AB9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x0AB9, 0x02B9, 0x02D9, 0x02B9, 0x02D9, 0x0AB9, + 0x0299, 0x0299, 0x0298, 0x0298, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02B8, 0x02B9, 0x0299, 0x02B8, 0x039A, 0x041A, 0x03FA, 0x0339, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02D9, 0x02B9, 0x02B9, 0x02D9, 0x02B9, 0x02D9, 0x03BA, 0x043A, 0x03FA, 0x02F9, 0x02D9, 0x02D9, 0x0AB9, 0x0AB9, 0x02D9, 0x02B9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x0AD9, 0x0AD9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02F9, 0x02D9, 0x02DA, 0x0ADA, 0x0AFA, 0x0BFA, 0x0C5B, 0x0BFA, 0x0AD9, 0x02FA, 0x02F9, 0x02F9, 0x0AF9, 0x02F9, 0x0AF9, 0x02D9, 0x02F9, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AF9, 0x0AFA, 0x0AFA, 0x0AFA, 0x0C1A, 0x0C7B, 0x0B5A, 0x0AFA, 0x0AF9, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0B1A, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x031A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0AFA, 0x0C3A, 0x0C5A, 0x0B1A, 0x0AFA, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0C5B, 0x0C1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B3A, 0x0C7B, 0x0B7A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0CBB, 0x0B1A, 0x0B3A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B7A, 0x0CBB, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0BDA, 0x0C7B, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x0B1A, 0x131A, 0x131A, 0x131A, 0x131A, 0x131A, 0x1B1A, 0x1B3A, 0x1B3A, 0x1B3A, 0x1B3A, 0x233A, 0x233A, 0x233B, 0x2B3B, 0x2B5B, 0x3AD9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1B1A, 0x131A, 0x131A, 0x12FA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x0AFA, 0x02FA, 0x0AFA, 0x035A, 0x045A, 0x0C3A, 0x0AFA, 0x02DA, 0x0AFA, 0x0AF9, 0x02F9, 0x0AFA, 0x0AFA, 0x0AFA, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x0AD9, 0x02D9, 0x02DA, 0x0AD9, 0x0AD9, 0x02BA, 0x02D9, 0x039A, 0x043A, 0x03DA, 0x02D9, 0x0AB9, 0x02D9, 0x0AB9, 0x02B9, 0x02D9, 0x02B9, 0x02B9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02D9, 0x02B9, 0x0AB9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02D9, 0x02B9, 0x02D9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x02D9, 0x03FA, 0x041A, 0x03B9, 0x02B9, 0x02B9, 0x0299, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x0299, 0x02B9, 0x02B9, 0x02B9, 0x02B9, 0x0299, 0x02B9, 0x02B9, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02B8, 0x02B8, + 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0198, 0x02B8, 0x0399, 0x0359, 0x0258, 0x0198, 0x0137, 0x0137, 0x0117, 0x0158, 0x0137, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0158, 0x0259, 0x0399, 0x0399, 0x0258, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0158, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03B9, 0x03DA, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01B9, 0x037A, 0x0BDA, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033A, 0x041A, 0x01F9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0A79, 0x043A, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09B9, 0x0C3B, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0C7A, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0BFA, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0BDA, 0x02D9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199A, 0x1999, 0x2199, 0x219A, 0x21BA, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01D8, 0x0399, 0x0399, 0x01D9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0157, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0218, 0x0379, 0x03B9, 0x0258, 0x0158, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0137, 0x0238, 0x0359, 0x0399, 0x0298, 0x0178, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, + 0x0116, 0x0116, 0x0116, 0x00F7, 0x00F6, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0238, 0x0318, 0x0379, 0x0297, 0x0197, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0177, 0x02D8, 0x0399, 0x0318, 0x01D7, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01D8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03D9, 0x02B9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01D9, 0x03F9, 0x01F9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02D9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041A, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02B9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01D8, 0x03F9, 0x01F8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03F9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0138, 0x0117, 0x0137, 0x0238, 0x0379, 0x0379, 0x0238, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0136, 0x0117, 0x0117, 0x0117, 0x0136, 0x0137, 0x01B7, 0x02B8, 0x0399, 0x02B8, 0x0197, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, + 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x0116, 0x00F6, 0x0116, 0x01B7, 0x02B7, 0x0378, 0x02B7, 0x01D6, 0x0116, 0x00F7, 0x00F6, 0x0116, 0x00F6, 0x0116, 0x0116, 0x00F6, 0x00F6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0136, 0x0197, 0x02F8, 0x0378, 0x0297, 0x0177, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0116, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01D7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01D7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02F8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03B9, 0x01B8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03F9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03F9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03B9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01B7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x00F7, 0x0217, 0x0339, 0x02F8, 0x0197, 0x0136, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0156, 0x0237, 0x0358, 0x02D8, 0x01F7, 0x0116, 0x00F6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x00F6, 0x00F6, 0x0116, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x0116, + 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x02B7, 0x0297, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x0318, 0x0357, 0x0338, 0x02D7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B8, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B8, 0x02B8, 0x02B7, 0x0317, 0x0358, 0x0338, 0x02F7, 0x02D7, 0x02B7, 0x02B7, 0x02B7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D7, 0x02D8, 0x02D7, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02F7, 0x0358, 0x0378, 0x02F7, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D7, 0x02F8, 0x02F8, 0x0398, 0x0378, 0x02F8, 0x02D8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0378, 0x0398, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x02F7, 0x02F8, 0x02F8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03B8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03B8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x0318, 0x0378, 0x0338, 0x02F8, 0x02F8, 0x0318, 0x02F8, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0318, 0x0318, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0378, 0x0338, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x0AF8, 0x0AF8, 0x0AF8, 0x0AF8, 0x0B18, 0x0B18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1B18, 0x2AF8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0AF8, 0x0AF8, 0x02F8, 0x02F8, 0x02F8, 0x02F8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D8, 0x02D7, 0x02D8, 0x02D8, 0x0378, 0x0378, 0x02D7, 0x02D8, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D8, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02D7, 0x02B7, 0x02D7, 0x02D7, 0x02D7, 0x02B7, 0x02B7, 0x02F7, 0x0358, 0x0358, 0x02F7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02D7, 0x0338, 0x0357, 0x02F7, 0x0297, 0x0297, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x02B7, 0x0297, 0x0297, 0x0297, 0x02B7, 0x0297, 0x0297, 0x02B7, 0x0297, + 0x0175, 0x0155, 0x0155, 0x0156, 0x0175, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x01B6, 0x0257, 0x02F7, 0x02D7, 0x0216, 0x0176, 0x0155, 0x0175, 0x0156, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0176, 0x0155, 0x0176, 0x0176, 0x0176, 0x0175, 0x0176, 0x0175, 0x0156, 0x0176, 0x0176, 0x0176, 0x0155, 0x01B6, 0x0296, 0x0337, 0x0296, 0x01D6, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0196, 0x0176, 0x01B6, 0x02F8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01F7, 0x0337, 0x02D7, 0x01B6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01B6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x02F7, 0x0257, 0x0197, 0x01B6, 0x01B7, 0x01B6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B7, 0x01B6, 0x01B7, 0x0378, 0x01B7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01B6, 0x01F7, 0x0358, 0x0196, 0x0196, 0x01B6, 0x0196, 0x01B6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02F7, 0x02F7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01B6, 0x01B6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09B7, 0x0997, 0x09B7, 0x09B7, 0x09B7, 0x11B7, 0x11B7, 0x11D7, 0x11B7, 0x11B7, 0x11B7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09B6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02B7, 0x0337, 0x0216, 0x0196, 0x0196, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0196, 0x0195, 0x0216, 0x02F7, 0x0317, 0x0216, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0175, 0x0176, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0175, 0x0155, 0x0196, 0x0256, 0x0317, 0x02B7, 0x01B6, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0155, 0x0155, 0x0175, 0x0155, 0x0155, 0x0155, + 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B4, 0x00D3, 0x00D3, 0x00B4, 0x00D4, 0x0174, 0x0235, 0x02D6, 0x0235, 0x0174, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x0135, 0x0235, 0x02D6, 0x0236, 0x0134, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D4, 0x00D4, 0x00D4, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x0115, 0x0236, 0x0317, 0x0256, 0x00F4, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00F5, 0x01F6, 0x0317, 0x01F6, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00F5, 0x01B6, 0x0337, 0x01B6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x0155, 0x0337, 0x0156, 0x00D5, 0x00D5, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00D6, 0x00D6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00D5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x0115, 0x0338, 0x0115, 0x00F6, 0x00F5, 0x00F6, 0x00F5, 0x00D6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00F6, 0x00D5, 0x00F5, 0x0357, 0x00F5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F6, 0x00F5, 0x00D5, 0x00D5, 0x00D6, 0x00D6, 0x00D5, 0x00F5, 0x02F7, 0x0176, 0x00F5, 0x00D5, 0x00F5, 0x00F6, 0x00F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00F5, 0x00D5, 0x0116, 0x02F7, 0x01D6, 0x00D6, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00F5, 0x00D5, 0x00D5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x08F6, 0x08F6, 0x08F6, 0x08F6, 0x0916, 0x0916, 0x10F6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08F5, 0x08F6, 0x00F5, 0x00F5, 0x00F5, 0x00F5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D5, 0x00D4, 0x00D5, 0x00D5, 0x00D5, 0x01D6, 0x02F7, 0x0236, 0x0114, 0x00D5, 0x00D5, 0x00D4, 0x00D5, 0x00D5, 0x00D5, 0x00D4, 0x00D5, 0x00D4, 0x00D5, 0x00D5, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00F4, 0x01D5, 0x02D6, 0x0236, 0x0114, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D3, 0x0114, 0x01F5, 0x02B5, 0x0235, 0x0154, 0x00D3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, + 0x00B1, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00F2, 0x01D3, 0x0253, 0x0234, 0x0173, 0x00D2, 0x0092, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0092, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B3, 0x00B2, 0x0153, 0x0234, 0x0274, 0x01B3, 0x00F3, 0x00B2, 0x00B2, 0x00B3, 0x00B3, 0x00B2, 0x00B3, 0x00B3, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x01B4, 0x02B5, 0x01F4, 0x0113, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00D3, 0x00B3, 0x00D3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00B3, 0x00D4, 0x00B3, 0x00D3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00D3, 0x00B3, 0x00D3, 0x00D3, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x01D4, 0x02B5, 0x0134, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00F4, 0x02B5, 0x01B5, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01B5, 0x0255, 0x00D5, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x02F6, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x01F5, 0x0235, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00B4, 0x0154, 0x02B5, 0x0134, 0x00D4, 0x00B4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00B4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x08D4, 0x08D4, 0x08D4, 0x08F4, 0x08F4, 0x08F4, 0x08F5, 0x10F4, 0x10D5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00D4, 0x00D4, 0x00D4, 0x00D3, 0x00D3, 0x00D3, 0x00D3, 0x00D3, 0x00B3, 0x00D3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B2, 0x00B3, 0x00D3, 0x00D3, 0x0214, 0x0295, 0x0153, 0x00B3, 0x00B3, 0x00B3, 0x00B2, 0x00B3, 0x00B3, 0x00B3, 0x00B2, 0x00B2, 0x00B2, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B3, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00D2, 0x01B3, 0x0274, 0x01D3, 0x00F2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x0092, 0x00B2, 0x00B1, 0x0172, 0x0253, 0x0233, 0x0152, 0x00B1, 0x0091, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x0091, 0x00B1, + 0x0090, 0x0090, 0x0090, 0x00B0, 0x0151, 0x0212, 0x0232, 0x0191, 0x00F0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0090, 0x0091, 0x00B1, 0x0171, 0x0232, 0x0213, 0x0151, 0x0090, 0x00B0, 0x0090, 0x0091, 0x00B1, 0x00B0, 0x0090, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x0091, 0x00D1, 0x0172, 0x0253, 0x01B2, 0x00D1, 0x00B1, 0x0091, 0x0091, 0x0091, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x00D2, 0x01B2, 0x0273, 0x0172, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x01D3, 0x0253, 0x0112, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0213, 0x01D3, 0x0092, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0253, 0x0153, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x0294, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00F2, 0x0293, 0x00D2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B2, 0x0172, 0x0253, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B1, 0x00B1, 0x00B1, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x00B2, 0x08B2, 0x08B2, 0x08B2, 0x08D2, 0x08B2, 0x08D2, 0x08D3, 0x10D3, 0x40F2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00D2, 0x00B2, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0131, 0x0252, 0x01F2, 0x00B1, 0x00B1, 0x00B1, 0x0091, 0x0091, 0x00B1, 0x0091, 0x0091, 0x00B0, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x00B1, 0x0090, 0x00B0, 0x0091, 0x00B0, 0x01B2, 0x0252, 0x01B1, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x01D1, 0x0232, 0x0191, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x008F, 0x0130, 0x01B1, 0x0232, 0x01B1, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00D0, 0x0191, 0x0232, 0x01D1, 0x00F0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0171, 0x0232, 0x01D1, 0x00F1, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01D1, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01D2, 0x01F2, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0171, 0x0212, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x00F1, 0x0252, 0x00B0, 0x0090, 0x00B0, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0272, 0x00B0, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01D1, 0x0171, 0x0091, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01D1, 0x01D1, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x08B1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01B1, 0x0252, 0x0131, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01B1, 0x0232, 0x0191, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0191, 0x0252, 0x01B1, 0x0110, 0x0090, 0x0090, 0x0090, + 0x0212, 0x01F1, 0x0150, 0x00AF, 0x008F, 0x008F, 0x006F, 0x0090, 0x0090, 0x0070, 0x006F, 0x006F, 0x008F, 0x008F, 0x0070, 0x0070, 0x006F, 0x008F, 0x006F, 0x008F, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x006F, 0x008F, 0x008F, 0x008F, 0x0130, 0x01D1, 0x0212, 0x0191, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x008F, 0x0090, 0x0151, 0x0211, 0x01D1, 0x00F0, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F2, 0x01D1, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01B1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x01F1, 0x0171, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00B0, 0x00B0, 0x00B1, 0x08B1, 0x08B0, 0x08B1, 0x08B1, 0x50F1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x00F1, 0x0211, 0x01D2, 0x00D0, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x0090, 0x00B0, 0x01B1, 0x0232, 0x0151, 0x00B0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x0090, 0x008F, 0x00B0, 0x0151, 0x0211, 0x0212, 0x0130, 0x00AF, + 0x00CF, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x00AF, 0x0130, 0x01F2, 0x0212, 0x0131, 0x00AF, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x0090, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0130, 0x0212, 0x01F2, 0x00F0, 0x0070, 0x008F, 0x006F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x00D0, 0x0212, 0x01D2, 0x00D0, 0x0090, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x00F0, 0x0232, 0x01B1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x0232, 0x00D0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00F0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00F0, 0x0232, 0x00F1, 0x00B0, 0x008F, 0x008F, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00B0, 0x00B0, 0x0890, 0x08B0, 0x0891, 0x10B0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0090, 0x0191, 0x0212, 0x0150, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x006F, 0x008F, 0x006F, 0x0070, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x00D0, 0x01D2, 0x0212, 0x0150, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x0110, 0x01D1, 0x0212, + 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x00AF, 0x0171, 0x0212, 0x01D1, 0x0110, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x0110, 0x01F2, 0x0212, 0x0130, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0171, 0x0232, 0x0151, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x00F0, 0x0212, 0x0151, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x0070, 0x0090, 0x01F1, 0x01B1, 0x0070, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x008F, 0x008F, 0x0130, 0x01F1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0191, 0x01B1, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x0090, 0x0090, 0x008F, 0x0090, 0x006F, 0x008F, 0x0131, 0x0232, 0x00D0, 0x0090, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60F1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006F, 0x0090, 0x006F, 0x008F, 0x008F, 0x0070, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0110, 0x01F2, 0x01D1, 0x00CF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x006F, 0x00F0, 0x01B2, 0x0232, 0x0150, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x00F0, + 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006E, 0x00EF, 0x01B1, 0x0212, 0x0191, 0x00D0, 0x006F, 0x006F, 0x008E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x00EF, 0x01D1, 0x01F1, 0x0130, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0070, 0x008F, 0x006F, 0x008F, 0x0110, 0x0232, 0x01B1, 0x00AF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0110, 0x0252, 0x0130, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0170, 0x01F2, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x01D2, 0x0130, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x0252, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x00CF, 0x0232, 0x00AF, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x0191, 0x0212, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008F, 0x18AF, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xA111, 0x9931, 0xA111, 0x29D2, 0x01B1, 0x008F, 0x006F, 0x008F, 0x006F, 0x008F, 0x008F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x0150, 0x0232, 0x0150, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x00F0, 0x01D1, 0x01F1, 0x0130, 0x008F, 0x006F, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006E, 0x008F, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x0130, 0x01D1, 0x0212, 0x0150, 0x00AF, 0x006E, 0x006E, 0x008E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x006F, 0x006F, 0x00CF, 0x01B1, 0x0212, 0x0130, 0x006E, 0x006E, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x01B1, 0x0232, 0x010F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0232, 0x00CF, 0x006F, 0x006F, 0x008E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x010F, 0x0212, 0x00AF, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x008F, 0x00AF, 0x0212, 0x00AF, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006F, 0x006F, 0x0252, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x01D1, 0x0130, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x01F1, 0x01B1, 0x008F, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28D0, 0x01F2, 0x01D1, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x006F, 0x00CF, 0x01F1, 0x01F1, 0x00CF, 0x006F, 0x006F, 0x006F, 0x006E, 0x006E, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x006F, 0x00F0, 0x01D1, 0x01F1, 0x0110, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0150, 0x0212, 0x01D1, 0x0110, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x01D1, 0x0212, 0x0150, 0x008F, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0110, 0x0212, 0x01B1, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x008F, 0x006E, 0x006E, 0x006F, 0x006F, 0x008E, 0x006E, 0x0191, 0x01F1, 0x00CF, 0x006F, 0x006F, 0x006E, 0x008F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x006E, 0x006E, 0x006F, 0x00CF, 0x0212, 0x0110, 0x008F, 0x006F, 0x006E, 0x008F, 0x006F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0150, 0x0191, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0232, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x0110, 0x01F1, 0x008F, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x00AF, 0x0212, 0x0110, 0x006F, 0x006F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x008F, 0x008F, 0x008F, 0x008F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x48D0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008E, 0x008F, 0x01B1, 0x01F2, 0x00AF, 0x006F, 0x006E, 0x008F, 0x006E, 0x008F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0150, 0x0232, 0x0150, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x0110, 0x01F1, 0x01F1, 0x0110, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x0190, 0x0212, 0x0190, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x0170, 0x0212, 0x0150, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x0212, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x008E, 0x01D1, 0x01F1, 0x008F, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x01F1, 0x0170, 0x006F, 0x006E, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0211, 0x00CF, 0x008F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008F, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00EF, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006F, 0x006E, 0x108F, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006E, 0x006F, 0x006E, 0x0190, 0x0212, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x01B1, 0x01F2, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x01F1, 0x01B1, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, + 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x004E, 0x006E, 0x00EF, 0x01B1, 0x01F1, 0x0150, 0x008F, 0x006E, 0x006E, 0x004E, 0x004E, 0x004E, 0x004E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0170, 0x0212, 0x0171, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0130, 0x0212, 0x0170, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x01D1, 0x0190, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x01F1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00EF, 0x0211, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0170, 0x0190, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0150, 0x01F1, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x68F0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x0212, 0x00EF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x0130, 0x01F2, 0x0170, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x01D1, 0x01B1, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, + 0x006E, 0x006D, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x0130, 0x01D1, 0x01D1, 0x010F, 0x006E, 0x006D, 0x006D, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006D, 0x006E, 0x006E, 0x0170, 0x0212, 0x0170, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x01F2, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AF, 0x0212, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x010F, 0x0212, 0x008E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x0211, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0190, 0x01B1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x38B0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004E, 0x006E, 0x006E, 0x004E, 0x006E, 0x010F, 0x0212, 0x010F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x01B1, 0x01D1, 0x00CF, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006D, 0x004D, 0x008E, 0x0150, 0x01F1, 0x01B1, 0x00CF, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x006E, 0x006D, + 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x008E, 0x0170, 0x01F1, 0x01B1, 0x00EF, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x008E, 0x012F, 0x01F1, 0x0170, 0x008E, 0x006D, 0x006D, 0x006E, 0x004D, 0x006E, 0x006E, 0x006E, 0x004D, 0x004D, 0x006D, 0x006E, 0x006E, 0x004E, 0x004D, 0x006E, 0x006E, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x004D, 0x0130, 0x01F2, 0x0150, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x00EF, 0x0212, 0x010F, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x00AF, 0x0212, 0x00CF, 0x004E, 0x006E, 0x004E, 0x004E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x008E, 0x0232, 0x008E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x0232, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x01D1, 0x010F, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x008E, 0x01F1, 0x012F, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x004E, 0x006E, 0x086E, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004E, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x00AE, 0x0211, 0x0190, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004E, 0x006E, 0x006E, 0x004D, 0x00EF, 0x01F2, 0x0190, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x004D, 0x006E, 0x006E, 0x006D, 0x004E, 0x006E, 0x012F, 0x01F1, 0x0190, 0x008E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006E, 0x004D, 0x006D, 0x006D, + 0x006D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x00CE, 0x0190, 0x0211, 0x0170, 0x008E, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004E, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x0150, 0x01F1, 0x01B1, 0x00CE, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006D, 0x004D, 0x004D, 0x004E, 0x004D, 0x004D, 0x006D, 0x006D, 0x008E, 0x01B1, 0x01D1, 0x00CE, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006E, 0x004D, 0x006E, 0x006E, 0x004E, 0x006D, 0x010F, 0x0212, 0x00EF, 0x006D, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x004D, 0x006E, 0x004D, 0x006E, 0x01D1, 0x0150, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0130, 0x0191, 0x006E, 0x006E, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x0232, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x006E, 0x004D, 0x004D, 0x004E, 0x010F, 0x01D1, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004E, 0x004E, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x00CE, 0x0212, 0x00CE, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004D, 0x004D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004E, 0x70F0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006E, 0x006E, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x008E, 0x01D1, 0x0190, 0x006D, 0x006D, 0x004E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006E, 0x0171, 0x01F2, 0x00EF, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x008E, 0x012F, 0x01F1, 0x0170, 0x008E, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, + 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x00EF, 0x01D1, 0x01D1, 0x012F, 0x008D, 0x004D, 0x006D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x00EF, 0x01F1, 0x01B0, 0x00CE, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x0150, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004E, 0x004D, 0x004D, 0x004D, 0x0150, 0x01F1, 0x00AE, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x0170, 0x01B1, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x004E, 0x006E, 0x01D1, 0x010F, 0x006D, 0x006D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006E, 0x004E, 0x0212, 0x004D, 0x004D, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x004D, 0x006D, 0x006D, 0x006D, 0x006E, 0x01F1, 0x008E, 0x006D, 0x006E, 0x004D, 0x004D, 0x006D, 0x006D, 0x004E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006E, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x010F, 0x01F1, 0x006D, 0x006D, 0x004D, 0x006E, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004E, 0x006D, 0x006D, 0x004D, 0x40CF, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70F0, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x004D, 0x004D, 0x006D, 0x0191, 0x01B1, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x004D, 0x006D, 0x00EE, 0x01F1, 0x0190, 0x008E, 0x004D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x004D, 0x004D, 0x006D, 0x0150, 0x0212, 0x0170, 0x008E, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, + 0x0211, 0x0211, 0x0212, 0x01F2, 0x0212, 0x01F2, 0x01F1, 0x0211, 0x0211, 0x01F1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01F1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01F1, 0x0211, 0x0211, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x01F1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0232, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x11F1, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x5991, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01F1, 0x0212, 0x0211, 0x0212, 0x0212, 0x01F2, 0x0212, 0x0211, 0x01F1, 0x0211, 0x0211, 0x01F1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, + 0x004D, 0x004D, 0x004C, 0x004C, 0x004D, 0x00AE, 0x0170, 0x01F1, 0x0170, 0x00CE, 0x004D, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x004D, 0x004D, 0x00EF, 0x01D1, 0x01D1, 0x00EE, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x012F, 0x0212, 0x012F, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x01B1, 0x01D1, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x00AE, 0x0212, 0x00AE, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x0150, 0x014F, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x0212, 0x004D, 0x004D, 0x004D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x00AE, 0x01F1, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x01B1, 0x0150, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x004D, 0x88F0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9911, 0x9931, 0x40AF, 0x004D, 0x006D, 0x004D, 0x004D, 0x006D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x010F, 0x0212, 0x00AE, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004C, 0x006D, 0x00CE, 0x01D1, 0x0190, 0x008E, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x0170, 0x01F1, 0x012F, 0x006D, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, + 0x004C, 0x004C, 0x004C, 0x00EE, 0x0190, 0x01D1, 0x012F, 0x008D, 0x004C, 0x004C, 0x004C, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x00AE, 0x0190, 0x01D1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x004D, 0x00AE, 0x01B1, 0x01B1, 0x008D, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x008D, 0x01B1, 0x0170, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x01D1, 0x010F, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x01F1, 0x008E, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x0212, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x01D1, 0x00EE, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x006D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x008D, 0x01F1, 0x00EF, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x50CF, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xA111, 0x186E, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x00EF, 0x01F1, 0x00EF, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004D, 0x006D, 0x0150, 0x01F1, 0x010F, 0x004D, 0x004C, 0x004C, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x008E, 0x0190, 0x01D1, 0x012F, 0x006D, 0x004C, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, + 0x006D, 0x010F, 0x01B1, 0x01D1, 0x00EE, 0x006D, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x00AE, 0x0190, 0x01D1, 0x00EE, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x012F, 0x01F1, 0x012F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004C, 0x004C, 0x004C, 0x008E, 0x01F1, 0x014F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x006D, 0x0170, 0x0190, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x010F, 0x01D1, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004C, 0x004D, 0x004D, 0x0212, 0x004D, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x010E, 0x01B0, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AE, 0x01F1, 0x00AD, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x308E, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9111, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x01F1, 0x012F, 0x006D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004D, 0x004D, 0x004D, 0x004D, 0x008D, 0x01B0, 0x01B1, 0x008D, 0x004D, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00CD, 0x0191, 0x01D1, 0x012F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, + 0x01D1, 0x0170, 0x00AE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x0190, 0x01D1, 0x010F, 0x006D, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AE, 0x01D1, 0x0190, 0x008D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00EE, 0x01F1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x012F, 0x01B0, 0x006D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0170, 0x010F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004D, 0x004C, 0x004C, 0x004C, 0x0212, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x006D, 0x01F1, 0x008D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x006C, 0x004C, 0x012F, 0x01B0, 0x006D, 0x004C, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x084D, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x68F0, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x01B0, 0x016F, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x012F, 0x0211, 0x010F, 0x004D, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x00AD, 0x0190, 0x01D1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, + 0x006C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x002C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x0150, 0x01F1, 0x012F, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x006D, 0x014F, 0x01D1, 0x010F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x00EE, 0x01D1, 0x00CE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AE, 0x01F1, 0x008E, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x0211, 0x004D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0212, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0150, 0x012F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0170, 0x0170, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x80F0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x388E, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x006D, 0x01B0, 0x01B1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008E, 0x01B0, 0x01B0, 0x00AD, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AD, 0x01B0, 0x01B1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, + 0x004C, 0x004C, 0x002C, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002C, 0x002C, 0x002C, 0x002C, 0x002B, 0x004C, 0x004C, 0x004C, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x002C, 0x004C, 0x008D, 0x0150, 0x01D1, 0x012F, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AD, 0x01B0, 0x0190, 0x006C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0150, 0x01F1, 0x008D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x01D1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x010F, 0x016F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01F1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AD, 0x01F1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x006C, 0x01D1, 0x010E, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x50CF, 0xA111, 0x9931, 0x9931, 0x9931, 0x9931, 0x084C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x014F, 0x01B1, 0x008D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x010E, 0x01D1, 0x014F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x00CE, 0x01B1, 0x01B1, 0x00EE, 0x004C, 0x002C, 0x004C, + 0x004B, 0x002B, 0x004C, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004C, 0x004B, 0x004C, 0x004C, 0x004C, 0x002B, 0x004C, 0x004B, 0x004B, 0x002B, 0x002B, 0x004C, 0x002C, 0x004C, 0x004C, 0x012F, 0x01F1, 0x014F, 0x006C, 0x004B, 0x004C, 0x002C, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x002C, 0x002C, 0x002C, 0x002C, 0x002C, 0x002C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x004C, 0x014F, 0x01D1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0150, 0x01B0, 0x006D, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0190, 0x014F, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01B1, 0x00CE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01F1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01B1, 0x00EE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x008D, 0x01F1, 0x00AE, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x388E, 0x9931, 0x9931, 0x9931, 0x9931, 0x68D0, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x012E, 0x01D1, 0x008D, 0x004C, 0x004C, 0x004B, 0x004C, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x002C, 0x004C, 0x008C, 0x0170, 0x01B1, 0x00AD, 0x004C, 0x004C, 0x002B, 0x002B, 0x004C, 0x004C, 0x002B, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x004B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002C, 0x00EE, 0x01B1, 0x0190, 0x00AD, 0x002B, + 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004C, 0x004C, 0x004B, 0x002B, 0x004C, 0x004B, 0x004B, 0x004B, 0x006C, 0x010E, 0x01D1, 0x014F, 0x006C, 0x004B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x004B, 0x004C, 0x004C, 0x002C, 0x004B, 0x004B, 0x002B, 0x002B, 0x004B, 0x00CD, 0x01B1, 0x0170, 0x008C, 0x004B, 0x002C, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x002C, 0x004B, 0x004B, 0x004C, 0x0190, 0x0190, 0x004C, 0x004B, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x012F, 0x0190, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00AD, 0x01D1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01F2, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x010E, 0x0170, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x00CE, 0x01D1, 0x004C, 0x004C, 0x004C, 0x002B, 0x004C, 0x004C, 0x004C, 0x002C, 0x002C, 0x004C, 0x002C, 0x004C, 0x004C, 0x004C, 0x004C, 0x104C, 0xA111, 0x9931, 0x9931, 0x9931, 0x288D, 0x004B, 0x004C, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x004C, 0x002B, 0x004B, 0x004C, 0x002B, 0x004B, 0x00EE, 0x01F2, 0x00CD, 0x004B, 0x004C, 0x002B, 0x004C, 0x004C, 0x002B, 0x004B, 0x002B, 0x002B, 0x002C, 0x004B, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004C, 0x002B, 0x00EE, 0x01D1, 0x012F, 0x004C, 0x002B, 0x004C, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004C, 0x002B, 0x004C, 0x00EE, 0x01B1, 0x0170, + 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x004C, 0x010E, 0x01B1, 0x0170, 0x008C, 0x002B, 0x004B, 0x002B, 0x004B, 0x002C, 0x002C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x006C, 0x0170, 0x01D1, 0x00CD, 0x004B, 0x004B, 0x004C, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004C, 0x004B, 0x004B, 0x008D, 0x0190, 0x014F, 0x004C, 0x002B, 0x004B, 0x004C, 0x004C, 0x004B, 0x002B, 0x004C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004B, 0x004C, 0x002B, 0x00CD, 0x01D1, 0x008C, 0x004C, 0x004C, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x004C, 0x002B, 0x004B, 0x004B, 0x004B, 0x002B, 0x014F, 0x012E, 0x002C, 0x004B, 0x004C, 0x004B, 0x004C, 0x002B, 0x002B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x01F1, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002B, 0x004C, 0x01F1, 0x006C, 0x002B, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x002C, 0x004C, 0x004C, 0x002B, 0x004C, 0x014F, 0x01B0, 0x004C, 0x004C, 0x004C, 0x004C, 0x004B, 0x004B, 0x004C, 0x004B, 0x004B, 0x002B, 0x004C, 0x002B, 0x004B, 0x004C, 0x004C, 0x9931, 0x9931, 0x9931, 0x8910, 0x002C, 0x004B, 0x004C, 0x002B, 0x004B, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x002C, 0x002B, 0x004C, 0x002B, 0x004C, 0x002B, 0x002B, 0x004C, 0x004C, 0x004B, 0x00AC, 0x01D1, 0x010F, 0x004B, 0x002C, 0x004C, 0x002C, 0x004C, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x004C, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004C, 0x004B, 0x002B, 0x004C, 0x002B, 0x006C, 0x014F, 0x01D1, 0x00CD, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x004B, 0x002B, 0x004B, 0x002B, 0x004C, 0x010E, + 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x00ED, 0x01B1, 0x0170, 0x008D, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x00AD, 0x01D1, 0x016F, 0x004C, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x002B, 0x008D, 0x01D1, 0x012F, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004C, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x006C, 0x01D1, 0x00CD, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004C, 0x002B, 0x004C, 0x004B, 0x004C, 0x004B, 0x004C, 0x01D1, 0x006C, 0x004C, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x01F1, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x014F, 0x010E, 0x004B, 0x004B, 0x002C, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x004C, 0x004B, 0x004B, 0x0190, 0x012F, 0x004B, 0x004C, 0x002B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004C, 0x004B, 0x004B, 0x002B, 0x70F0, 0x9931, 0x9931, 0x48AE, 0x004B, 0x004B, 0x004C, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x008C, 0x01B1, 0x014F, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x00CD, 0x01D1, 0x0150, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, + 0x002A, 0x002A, 0x004A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002A, 0x004A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x00CD, 0x01B0, 0x0170, 0x00AC, 0x002A, 0x004B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004A, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x004B, 0x016F, 0x01D1, 0x00AD, 0x002B, 0x002A, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x00CE, 0x01D1, 0x00CD, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x0190, 0x012F, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x00EE, 0x0190, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x01F2, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x00AD, 0x01B1, 0x002B, 0x002C, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x002B, 0x006C, 0x01D1, 0x00CE, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x60CF, 0x9931, 0x9931, 0x104C, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x0190, 0x0190, 0x004C, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x014F, 0x01B1, 0x00AD, 0x002B, 0x002B, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002A, 0x004B, 0x004B, 0x002B, 0x002B, 0x004A, 0x002A, + 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x00CD, 0x0190, 0x01B0, 0x00CD, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x004A, 0x002A, 0x004A, 0x002A, 0x002A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004A, 0x002B, 0x002A, 0x004B, 0x00CD, 0x01D1, 0x012F, 0x004B, 0x004B, 0x002A, 0x004B, 0x002B, 0x002B, 0x004A, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x004B, 0x002B, 0x004B, 0x00CE, 0x01D1, 0x00AD, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x004B, 0x014F, 0x0190, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x0190, 0x00CD, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x01D1, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x01B0, 0x00AD, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x004B, 0x002B, 0x004B, 0x00AD, 0x01D1, 0x008C, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x48AE, 0x9931, 0x68F0, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x014F, 0x0190, 0x006C, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004A, 0x004B, 0x004B, 0x002A, 0x002B, 0x004B, 0x002B, 0x002B, 0x002A, 0x002B, 0x004A, 0x00AC, 0x0190, 0x0170, 0x006C, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, + 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x008C, 0x0170, 0x0190, 0x00CD, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x006B, 0x016F, 0x0190, 0x008C, 0x002A, 0x004A, 0x002A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x012F, 0x01B1, 0x006C, 0x004B, 0x002B, 0x002B, 0x002B, 0x004A, 0x002B, 0x002B, 0x002B, 0x002A, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002B, 0x004B, 0x002B, 0x004B, 0x00CD, 0x01B1, 0x004B, 0x002B, 0x002B, 0x004A, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x006C, 0x01D1, 0x004B, 0x002B, 0x004B, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x01D1, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x002B, 0x010E, 0x014F, 0x004B, 0x004B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x010E, 0x0190, 0x004B, 0x002A, 0x002B, 0x002A, 0x002B, 0x002B, 0x002A, 0x002B, 0x004B, 0x002B, 0x002B, 0x004B, 0x308D, 0x9911, 0x206C, 0x004B, 0x002B, 0x002B, 0x002A, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x002B, 0x004B, 0x004B, 0x002A, 0x004B, 0x004A, 0x004B, 0x004A, 0x002A, 0x002B, 0x002B, 0x004B, 0x002A, 0x002A, 0x002A, 0x002B, 0x010E, 0x01B1, 0x008C, 0x002A, 0x004A, 0x002B, 0x002A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x004B, 0x010E, 0x01B0, 0x00ED, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, + 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x002A, 0x002A, 0x002A, 0x0029, 0x008B, 0x016F, 0x01B0, 0x00CD, 0x002A, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x00ED, 0x01B1, 0x010E, 0x004A, 0x002A, 0x002A, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x004B, 0x014F, 0x016F, 0x004B, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002A, 0x002A, 0x008B, 0x01B1, 0x008C, 0x002B, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002A, 0x002B, 0x002A, 0x002A, 0x012E, 0x012F, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x01D2, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002A, 0x004B, 0x01D1, 0x006B, 0x002A, 0x002B, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002B, 0x002A, 0x014F, 0x014F, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x186B, 0x88F1, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x00CD, 0x01B1, 0x00CD, 0x002A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x00AC, 0x0190, 0x016F, 0x006B, 0x002A, 0x002A, 0x002A, 0x0029, 0x002A, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008B, 0x014F, 0x0190, 0x00ED, 0x004A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x002A, 0x002A, 0x002A, 0x006A, 0x014F, 0x0190, 0x00AB, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x004A, 0x0170, 0x016F, 0x004A, 0x002A, 0x002A, 0x002A, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x004A, 0x0170, 0x00ED, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0190, 0x008C, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x01D1, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x012F, 0x010E, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x002A, 0x004B, 0x0190, 0x00ED, 0x002A, 0x002A, 0x002A, 0x002A, 0x004A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x286B, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x00AC, 0x01B1, 0x00ED, 0x0029, 0x002A, 0x0029, 0x0029, 0x002A, 0x002A, 0x0029, 0x002A, 0x0029, 0x002A, 0x002A, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x00EE, 0x01B1, 0x010D, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0049, 0x012E, 0x0190, 0x00ED, 0x004A, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00CC, 0x01B0, 0x010E, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006B, 0x0190, 0x012E, 0x0049, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x0029, 0x0029, 0x012E, 0x016F, 0x002A, 0x0029, 0x002A, 0x002A, 0x0029, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x00AC, 0x0190, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x01D1, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x002A, 0x0029, 0x00AC, 0x0190, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x002A, 0x0029, 0x002A, 0x008B, 0x01B1, 0x008B, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x002A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006B, 0x01B0, 0x012E, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008B, 0x0170, 0x014F, 0x006A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x010D, 0x01B1, 0x00ED, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x006A, 0x014F, 0x016F, 0x008B, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006A, 0x01B0, 0x00ED, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x00CD, 0x01B0, 0x004A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x014F, 0x00CD, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01D1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002A, 0x0029, 0x0029, 0x0029, 0x002A, 0x0190, 0x00AB, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004A, 0x0029, 0x0029, 0x00CC, 0x01B1, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x016F, 0x012E, 0x004A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0009, 0x00ED, 0x01B1, 0x00ED, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x010E, 0x0191, 0x010E, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ED, 0x01B1, 0x00EC, 0x0008, 0x0028, 0x0028, 0x0029, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x00AB, 0x01B1, 0x00AC, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x006A, 0x01B1, 0x006A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004A, 0x01B1, 0x006A, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01B1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00ED, 0x012E, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x012E, 0x016F, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0029, 0x0049, 0x012E, 0x016F, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x006A, 0x014F, 0x0170, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ED, 0x0190, 0x010E, 0x004A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0029, 0x006A, 0x016F, 0x014F, 0x006A, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00CC, 0x0190, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x00CC, 0x012E, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01B1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x004A, 0x01B1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x016F, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x0029, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x010D, 0x0190, 0x006A, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00CC, 0x0190, 0x00ED, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0049, 0x00ED, 0x0190, 0x012F, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x00EC, 0x01B0, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010E, 0x0190, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x012E, 0x012E, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x016F, 0x00AB, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012E, 0x00EC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00AB, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00CC, 0x0190, 0x00AB, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0049, 0x014E, 0x0170, 0x008B, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00CC, 0x0190, 0x014F, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008A, 0x014F, 0x012F, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012E, 0x014F, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00CC, 0x016F, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0190, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x008B, 0x018F, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00AB, 0x0190, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00AC, 0x0190, 0x00AC, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00AC, 0x0190, 0x012E, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00CB, 0x0170, 0x014F, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0009, 0x0028, 0x0049, 0x00ED, 0x0190, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x014F, 0x014F, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0190, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010E, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0170, 0x008A, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ED, 0x014F, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0190, 0x010D, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012E, 0x0190, 0x00AB, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x00AC, 0x0170, 0x0170, 0x008B, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x008A, 0x016F, 0x014E, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x006A, 0x0170, 0x010E, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x0190, 0x00AB, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0190, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00CD, 0x010D, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012F, 0x012E, 0x0008, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014F, 0x010E, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00AB, 0x0190, 0x010E, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x008A, 0x016F, 0x016F, 0x00AC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x010D, 0x0190, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0190, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014F, 0x010D, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00CB, 0x016F, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x01B1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0170, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x014F, 0x014F, 0x0049, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x010D, 0x01B0, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x008B, 0x014F, 0x0170, 0x00AB, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x008B, 0x0170, 0x014E, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00AB, 0x0191, 0x00AB, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00EC, 0x016F, 0x0049, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012E, 0x00CC, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x012E, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0191, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x010E, 0x0170, 0x006A, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008A, 0x0170, 0x014F, 0x004A, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x012F, 0x0190, 0x00EC, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012E, 0x0190, 0x00AB, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ED, 0x0190, 0x006A, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00AA, 0x0190, 0x008A, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x01B1, 0x0049, 0x0008, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00AB, 0x0170, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00AC, 0x0190, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00EC, 0x0190, 0x008B, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0048, 0x00ED, 0x0190, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x00EC, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0008, 0x00AB, 0x0190, 0x012E, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010E, 0x0170, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0069, 0x0190, 0x008B, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ED, 0x010E, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0190, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010D, 0x014F, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0008, 0x00CB, 0x0191, 0x00CC, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x006B, 0x014F, 0x014E, 0x006A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012E, 0x0190, 0x00AB, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012F, 0x014F, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014F, 0x00ED, 0x0029, 0x0028, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0170, 0x008A, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01B1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x00ED, 0x010E, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014F, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006A, 0x0190, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ED, 0x0191, 0x00ED, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; diff --git a/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp b/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp index 69a045d85af1..4768f7e5fc89 100644 --- a/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp +++ b/Marlin/src/lcd/tft/images/btn_rounded_64x52x4.cpp @@ -27,52 +27,52 @@ extern const uint8_t btn_rounded_64x52x4[1664] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, - 0x88, 0x88, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x87, 0x77, 0x78, - 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x66, 0x78, - 0x88, 0x8d, 0xff, 0xb8, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x7b, 0xff, 0xc6, 0x67, - 0x87, 0xbf, 0xf7, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6f, 0xf9, 0x56, - 0x87, 0xef, 0x84, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x58, 0xfd, 0x46, - 0x87, 0xff, 0x54, 0x44, 0x56, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xff, 0x45, - 0x87, 0xff, 0x44, 0x45, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xff, 0x45, - 0x87, 0xff, 0x44, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xff, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xff, 0x44, - 0x87, 0xef, 0x84, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xfe, 0x44, - 0x87, 0xaf, 0xf6, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xf9, 0x44, - 0x87, 0x7d, 0xff, 0xb8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9c, 0xff, 0xd4, 0x45, - 0x87, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x45, - 0x87, 0x76, 0x56, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x64, 0x44, 0x46, + 0x88, 0x88, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x87, 0x77, 0x78, + 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x66, 0x78, + 0x88, 0x8D, 0xFF, 0xB8, 0x54, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x7B, 0xFF, 0xC6, 0x67, + 0x87, 0xBF, 0xF7, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6F, 0xF9, 0x56, + 0x87, 0xEF, 0x84, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x58, 0xFD, 0x46, + 0x87, 0xFF, 0x54, 0x44, 0x56, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x45, + 0x87, 0xFF, 0x44, 0x45, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xFF, 0x45, + 0x87, 0xFF, 0x44, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xFF, 0x44, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xFF, 0x44, + 0x87, 0xEF, 0x84, 0x56, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFE, 0x44, + 0x87, 0xAF, 0xF6, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xF9, 0x44, + 0x87, 0x7D, 0xFF, 0xB8, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9C, 0xFF, 0xD4, 0x45, + 0x87, 0x76, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x54, 0x45, + 0x87, 0x76, 0x56, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x64, 0x44, 0x46, 0x87, 0x77, 0x65, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x56, 0x88, 0x77, 0x76, 0x55, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x55, 0x67, 0x88, 0x77, 0x77, 0x66, 0x65, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x66, 0x78, diff --git a/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp b/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp index 502b592d8e92..a315e2df1cbe 100644 --- a/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp @@ -40,42 +40,42 @@ extern const uint8_t cancel_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdd, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xba, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x77, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xfd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xdd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xa9, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x68, 0x77, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDD, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xBA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x76, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x77, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x6A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x66, 0x67, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xFF, 0xC7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFF, 0xFD, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xFF, 0xFC, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xFF, 0xD7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xFF, 0xD7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9F, 0xDD, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xA9, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x68, 0x77, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp b/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp index 8ec4350fe682..23722f616d13 100644 --- a/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp @@ -37,44 +37,44 @@ extern const uint8_t chamber_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8f, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8F, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, @@ -104,44 +104,44 @@ extern const uint8_t chamber_heated_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8f, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0x9b, 0x97, 0x88, 0x88, 0x87, 0x8b, 0xa8, 0x78, 0x88, 0x87, 0x8b, 0xb8, 0x78, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xf9, 0x78, 0x88, 0x78, 0xdf, 0xfb, 0x78, 0x88, 0x77, 0xcf, 0xfc, 0x87, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x7a, 0xff, 0xfd, 0x77, 0x88, 0x79, 0xff, 0xff, 0x87, 0x88, 0x78, 0xdf, 0xff, 0x97, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xff, 0x86, 0x88, 0x78, 0xdf, 0xff, 0xb6, 0x88, 0x77, 0xcf, 0xff, 0xc6, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xb6, 0x78, 0x87, 0x9f, 0xff, 0xd6, 0x78, 0x87, 0x8e, 0xff, 0xf7, 0x68, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x7d, 0xff, 0xe5, 0x67, 0x87, 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x79, 0xff, 0xfa, 0x57, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xe6, 0x57, 0x87, 0x8c, 0xff, 0xf7, 0x57, 0x88, 0x7a, 0xff, 0xfa, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xd5, 0x57, 0x87, 0x8e, 0xff, 0xe6, 0x57, 0x88, 0x7c, 0xff, 0xf8, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xa5, 0x57, 0x87, 0xaf, 0xff, 0xd5, 0x57, 0x87, 0x9f, 0xff, 0xe6, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xff, 0x75, 0x57, 0x78, 0xef, 0xff, 0xa5, 0x57, 0x87, 0xcf, 0xff, 0xb5, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x7c, 0xff, 0xfb, 0x55, 0x67, 0x7b, 0xff, 0xfe, 0x65, 0x57, 0x79, 0xff, 0xff, 0x85, 0x57, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x9f, 0xff, 0xf7, 0x55, 0x67, 0x8e, 0xff, 0xf8, 0x55, 0x67, 0x7d, 0xff, 0xfb, 0x55, 0x67, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x55, 0x77, 0x9f, 0xff, 0xd6, 0x55, 0x77, 0x8f, 0xff, 0xe7, 0x55, 0x68, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x77, 0xdf, 0xff, 0x75, 0x56, 0x87, 0xbf, 0xff, 0xa5, 0x56, 0x77, 0xaf, 0xff, 0xb5, 0x55, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x78, 0xef, 0xfd, 0x65, 0x67, 0x77, 0xcf, 0xff, 0x85, 0x57, 0x87, 0xbf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x78, 0xef, 0xfd, 0x55, 0x68, 0x77, 0xcf, 0xff, 0x75, 0x68, 0x87, 0xbf, 0xff, 0x95, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x78, 0xdf, 0xff, 0x65, 0x78, 0x77, 0xbf, 0xff, 0x95, 0x68, 0x87, 0xaf, 0xff, 0xb5, 0x68, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x9f, 0xff, 0xf8, 0x68, 0x87, 0x8e, 0xff, 0xf9, 0x68, 0x87, 0x7c, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x7b, 0xff, 0xfa, 0x58, 0x88, 0x7b, 0xff, 0xfc, 0x57, 0x88, 0x78, 0xff, 0xfe, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0xdf, 0xd7, 0x57, 0x88, 0x87, 0xbf, 0xf8, 0x56, 0x88, 0x87, 0xaf, 0xfa, 0x56, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0x69, 0x75, 0x56, 0x88, 0x87, 0x68, 0x85, 0x56, 0x78, 0x87, 0x68, 0x85, 0x55, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x65, 0x55, 0x57, 0x88, 0x88, 0x75, 0x55, 0x56, 0x88, 0x88, 0x75, 0x55, 0x56, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x57, 0x77, 0x77, 0x77, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8F, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x77, 0x9B, 0x97, 0x88, 0x88, 0x87, 0x8B, 0xA8, 0x78, 0x88, 0x87, 0x8B, 0xB8, 0x78, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x79, 0xFF, 0xF9, 0x78, 0x88, 0x78, 0xDF, 0xFB, 0x78, 0x88, 0x77, 0xCF, 0xFC, 0x87, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x7A, 0xFF, 0xFD, 0x77, 0x88, 0x79, 0xFF, 0xFF, 0x87, 0x88, 0x78, 0xDF, 0xFF, 0x97, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0x86, 0x88, 0x78, 0xDF, 0xFF, 0xB6, 0x88, 0x77, 0xCF, 0xFF, 0xC6, 0x78, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xB6, 0x78, 0x87, 0x9F, 0xFF, 0xD6, 0x78, 0x87, 0x8E, 0xFF, 0xF7, 0x68, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x7D, 0xFF, 0xE5, 0x67, 0x87, 0x7B, 0xFF, 0xF7, 0x57, 0x88, 0x79, 0xFF, 0xFA, 0x57, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xE6, 0x57, 0x87, 0x8C, 0xFF, 0xF7, 0x57, 0x88, 0x7A, 0xFF, 0xFA, 0x56, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xD5, 0x57, 0x87, 0x8E, 0xFF, 0xE6, 0x57, 0x88, 0x7C, 0xFF, 0xF8, 0x56, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xA5, 0x57, 0x87, 0xAF, 0xFF, 0xD5, 0x57, 0x87, 0x9F, 0xFF, 0xE6, 0x56, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0x75, 0x57, 0x78, 0xEF, 0xFF, 0xA5, 0x57, 0x87, 0xCF, 0xFF, 0xB5, 0x56, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x87, 0x7C, 0xFF, 0xFB, 0x55, 0x67, 0x7B, 0xFF, 0xFE, 0x65, 0x57, 0x79, 0xFF, 0xFF, 0x85, 0x57, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x87, 0x9F, 0xFF, 0xF7, 0x55, 0x67, 0x8E, 0xFF, 0xF8, 0x55, 0x67, 0x7D, 0xFF, 0xFB, 0x55, 0x67, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x87, 0xCF, 0xFF, 0xB5, 0x55, 0x77, 0x9F, 0xFF, 0xD6, 0x55, 0x77, 0x8F, 0xFF, 0xE7, 0x55, 0x68, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x77, 0xDF, 0xFF, 0x75, 0x56, 0x87, 0xBF, 0xFF, 0xA5, 0x56, 0x77, 0xAF, 0xFF, 0xB5, 0x55, 0x78, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x78, 0xEF, 0xFD, 0x65, 0x67, 0x77, 0xCF, 0xFF, 0x85, 0x57, 0x87, 0xBF, 0xFF, 0x95, 0x56, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x78, 0xEF, 0xFD, 0x55, 0x68, 0x77, 0xCF, 0xFF, 0x75, 0x68, 0x87, 0xBF, 0xFF, 0x95, 0x67, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x78, 0xDF, 0xFF, 0x65, 0x78, 0x77, 0xBF, 0xFF, 0x95, 0x68, 0x87, 0xAF, 0xFF, 0xB5, 0x68, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x87, 0x9F, 0xFF, 0xF8, 0x68, 0x87, 0x8E, 0xFF, 0xF9, 0x68, 0x87, 0x7C, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x7B, 0xFF, 0xFA, 0x58, 0x88, 0x7B, 0xFF, 0xFC, 0x57, 0x88, 0x78, 0xFF, 0xFE, 0x67, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x77, 0xDF, 0xD7, 0x57, 0x88, 0x87, 0xBF, 0xF8, 0x56, 0x88, 0x87, 0xAF, 0xFA, 0x56, 0x78, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x87, 0x69, 0x75, 0x56, 0x88, 0x87, 0x68, 0x85, 0x56, 0x78, 0x87, 0x68, 0x85, 0x55, 0x78, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x65, 0x55, 0x57, 0x88, 0x88, 0x75, 0x55, 0x56, 0x88, 0x88, 0x75, 0x55, 0x56, 0x78, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x57, 0x77, 0x77, 0x77, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xF9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0xBF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp b/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp index 1ecb09834c3d..ff623ed34917 100644 --- a/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp @@ -40,40 +40,40 @@ extern const uint8_t confirm_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x76, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFC, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xC7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x55, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xBF, 0xFF, 0xFF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFF, 0xFF, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xBF, 0xFF, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4B, 0xFA, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x75, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp b/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp index 3514433c8edf..b58670098622 100644 --- a/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp @@ -53,15 +53,15 @@ extern const uint8_t decrease_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xad, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x94, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x94, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/directory_32x32x4.cpp b/Marlin/src/lcd/tft/images/directory_32x32x4.cpp index 0297f03fb320..5fa55c8468f0 100644 --- a/Marlin/src/lcd/tft/images/directory_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/directory_32x32x4.cpp @@ -30,28 +30,28 @@ extern const uint8_t directory_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, - 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x68, 0x88, + 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x68, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x68, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/down_32x32x4.cpp b/Marlin/src/lcd/tft/images/down_32x32x4.cpp index b71c0e5e7ca4..eabf6f97fec5 100644 --- a/Marlin/src/lcd/tft/images/down_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/down_32x32x4.cpp @@ -34,21 +34,21 @@ extern const uint8_t down_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x98, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x8f, 0xb4, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xfa, 0x48, 0x88, 0x88, - 0x88, 0x78, 0xff, 0xfa, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0x84, 0x88, 0x88, - 0x88, 0x7f, 0xff, 0xff, 0xa3, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfa, 0x47, 0x88, - 0x88, 0x7a, 0xff, 0xff, 0xfa, 0x38, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xff, 0xff, 0xc5, 0x35, 0x88, - 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa3, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfc, 0x43, 0x46, 0x88, - 0x88, 0x87, 0x79, 0xff, 0xff, 0xfa, 0x47, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc4, 0x34, 0x78, 0x88, - 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa4, 0x78, 0x79, 0xff, 0xff, 0xfc, 0x43, 0x47, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xf9, 0x47, 0x9f, 0xff, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0x96, 0xff, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x44, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xc3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xac, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8F, 0xB4, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xFA, 0x48, 0x88, 0x88, + 0x88, 0x78, 0xFF, 0xFA, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0x84, 0x88, 0x88, + 0x88, 0x7F, 0xFF, 0xFF, 0xA3, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xFF, 0xFF, 0xFA, 0x47, 0x88, + 0x88, 0x7A, 0xFF, 0xFF, 0xFA, 0x38, 0x88, 0x88, 0x88, 0x77, 0x8F, 0xFF, 0xFF, 0xC5, 0x35, 0x88, + 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xA3, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFC, 0x43, 0x46, 0x88, + 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFA, 0x47, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xC4, 0x34, 0x78, 0x88, + 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xA4, 0x78, 0x79, 0xFF, 0xFF, 0xFC, 0x43, 0x47, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xF9, 0x47, 0x9F, 0xFF, 0xFF, 0xC3, 0x34, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0x96, 0xFF, 0xFF, 0xFC, 0x33, 0x47, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x44, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xFF, 0xFD, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFF, 0xC3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFC, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xC3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAC, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x86, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/fan_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_64x64x4.cpp index 02801ddbc706..1a154a6ea415 100644 --- a/Marlin/src/lcd/tft/images/fan_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/fan_64x64x4.cpp @@ -30,54 +30,54 @@ extern const uint8_t fan0_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x9a, 0xcc, 0xcb, 0xba, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xed, 0xb9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x64, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x74, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x64, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xef, 0xff, 0xff, 0x84, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xfe, 0xa7, 0x67, 0xbf, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xc6, 0x44, 0x44, 0x48, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8a, 0x64, 0x44, 0x44, 0x44, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x54, 0x6a, 0xcb, 0x86, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9a, 0xbb, 0xbb, 0xba, 0x98, 0x87, 0x77, 0x87, 0x46, 0xef, 0xff, 0xfa, 0x76, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xad, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0xa9, 0x87, 0x7c, 0xff, 0xff, 0xfd, 0x77, 0xac, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x9f, 0xff, 0xff, 0xff, 0x75, 0x9f, 0xea, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x8f, 0xff, 0xff, 0xff, 0x74, 0x8e, 0xff, 0xda, 0x98, 0x87, 0x78, 0x89, 0xab, 0xcd, 0xda, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x54, 0x7c, 0xff, 0xff, 0xfc, 0x54, 0x8f, 0xff, 0xff, 0xee, 0xdc, 0xdd, 0xee, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x74, 0x78, 0xcf, 0xff, 0xd6, 0x44, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x77, 0x58, 0xa9, 0x54, 0x45, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x64, 0x44, 0x44, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x74, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x86, 0x54, 0x59, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x54, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x76, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x66, 0x78, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x44, 0x44, 0x57, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x45, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x64, 0x44, 0x45, 0x68, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x44, 0x45, 0x67, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x47, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x45, 0x57, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x64, 0x57, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x46, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x44, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x74, 0x45, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x44, 0x46, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, 0x8f, 0xff, 0xff, 0xff, 0xfd, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x68, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x45, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x9f, 0xff, 0xff, 0xf7, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xd5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x57, 0xdf, 0xff, 0xff, 0xd8, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x8d, 0xff, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xcc, 0xc9, 0x64, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x9A, 0xCC, 0xCB, 0xBA, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xBC, 0xEF, 0xFF, 0xFF, 0xFF, 0xED, 0xB9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9B, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x64, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x45, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x74, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x64, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0x84, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFE, 0xA7, 0x67, 0xBF, 0xF9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xC6, 0x44, 0x44, 0x48, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8A, 0x64, 0x44, 0x44, 0x44, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x54, 0x6A, 0xCB, 0x86, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9A, 0xBB, 0xBB, 0xBA, 0x98, 0x87, 0x77, 0x87, 0x46, 0xEF, 0xFF, 0xFA, 0x76, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDB, 0xA9, 0x87, 0x7C, 0xFF, 0xFF, 0xFD, 0x77, 0xAC, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0x75, 0x9F, 0xEA, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x66, 0x8F, 0xFF, 0xFF, 0xFF, 0x74, 0x8E, 0xFF, 0xDA, 0x98, 0x87, 0x78, 0x89, 0xAB, 0xCD, 0xDA, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x54, 0x7C, 0xFF, 0xFF, 0xFC, 0x54, 0x8F, 0xFF, 0xFF, 0xEE, 0xDC, 0xDD, 0xEE, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x74, 0x78, 0xCF, 0xFF, 0xD6, 0x44, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x77, 0x58, 0xA9, 0x54, 0x45, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x64, 0x44, 0x44, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x74, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x86, 0x54, 0x59, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x54, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x76, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x44, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x66, 0x78, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x45, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x44, 0x44, 0x57, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x45, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x64, 0x44, 0x45, 0x68, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x44, 0x45, 0x67, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x47, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x45, 0x57, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x64, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x44, 0x46, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x74, 0x45, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x44, 0x46, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, 0x8F, 0xFF, 0xFF, 0xFF, 0xFD, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, 0x44, 0x68, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xFF, 0xFF, 0xFF, 0xFB, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x54, 0x45, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x9F, 0xFF, 0xFF, 0xF7, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xFF, 0xFF, 0xD5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x57, 0xDF, 0xFF, 0xFF, 0xD8, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x8D, 0xFF, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xCC, 0xC9, 0x64, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x76, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x55, 0x54, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x44, 0x44, 0x45, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, @@ -103,54 +103,54 @@ extern const uint8_t fan1_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x44, 0x44, 0x46, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x55, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x46, 0x75, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x69, 0xcc, 0xc9, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8f, 0xfd, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x48, 0xdf, 0xff, 0xff, 0xd7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xdf, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x45, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x47, 0xff, 0xff, 0xff, 0x95, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x4b, 0xff, 0xff, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x5d, 0xff, 0xff, 0xff, 0xff, 0x85, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x86, 0x44, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x75, 0x44, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x64, 0x45, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x64, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x86, 0x44, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x54, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x87, 0x55, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x87, 0x65, 0x44, 0x46, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x86, 0x44, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x65, 0x44, 0x44, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x75, 0x46, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x54, 0x44, 0x48, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x75, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x88, 0x76, 0x67, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x64, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x78, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x64, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x54, 0x56, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x64, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x44, 0x44, 0x67, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x64, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x44, 0x59, 0xa8, 0x57, 0x75, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x75, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x46, 0xdf, 0xff, 0xc8, 0x74, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xfe, 0xed, 0xdc, 0xde, 0xef, 0xff, 0xff, 0x84, 0x5c, 0xff, 0xff, 0xfc, 0x74, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xdd, 0xcb, 0xa9, 0x88, 0x77, 0x88, 0x9a, 0xdf, 0xfe, 0x84, 0x7f, 0xff, 0xff, 0xff, 0x86, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x8a, 0xef, 0x95, 0x7f, 0xff, 0xff, 0xff, 0x97, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8c, 0xa7, 0x7d, 0xff, 0xff, 0xfc, 0x77, 0x89, 0xab, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x86, 0x7a, 0xff, 0xff, 0xe6, 0x47, 0x87, 0x77, 0x88, 0x9a, 0xbb, 0xbb, 0xba, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x56, 0x8b, 0xca, 0x64, 0x57, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6a, 0x87, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x98, 0x44, 0x44, 0x46, 0xcc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x49, 0xff, 0xb7, 0x67, 0xae, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0x8f, 0xff, 0xff, 0xef, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x45, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xbd, 0xef, 0xff, 0xff, 0xff, 0xec, 0xb9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x9a, 0xbb, 0xcc, 0xca, 0x98, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x69, 0xCC, 0xC9, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8F, 0xFD, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x48, 0xDF, 0xFF, 0xFF, 0xD7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xDF, 0xFF, 0xF9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x45, 0xAF, 0xFF, 0xFF, 0xFF, 0xFE, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x47, 0xFF, 0xFF, 0xFF, 0x95, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x4B, 0xFF, 0xFF, 0xFF, 0xF9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x44, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x44, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x64, 0x45, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x64, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, 0x88, 0x86, 0x44, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x54, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x87, 0x55, 0x44, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x44, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x87, 0x65, 0x44, 0x46, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x44, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x65, 0x44, 0x44, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x46, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x54, 0x44, 0x48, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x88, 0x76, 0x67, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x76, 0x78, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x54, 0x56, 0x8A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x54, 0x44, 0x44, 0x67, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x44, 0x59, 0xA8, 0x57, 0x75, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94, 0x46, 0xDF, 0xFF, 0xC8, 0x74, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFE, 0xED, 0xDC, 0xDE, 0xEF, 0xFF, 0xFF, 0x84, 0x5C, 0xFF, 0xFF, 0xFC, 0x74, 0x5E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xDD, 0xCB, 0xA9, 0x88, 0x77, 0x88, 0x9A, 0xDF, 0xFE, 0x84, 0x7F, 0xFF, 0xFF, 0xFF, 0x86, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x8A, 0xEF, 0x95, 0x7F, 0xFF, 0xFF, 0xFF, 0x97, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8C, 0xA7, 0x7D, 0xFF, 0xFF, 0xFC, 0x77, 0x89, 0xAB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xA8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x86, 0x7A, 0xFF, 0xFF, 0xE6, 0x47, 0x87, 0x77, 0x88, 0x9A, 0xBB, 0xBB, 0xBA, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x56, 0x8B, 0xCA, 0x64, 0x57, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6A, 0x87, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x98, 0x44, 0x44, 0x46, 0xCC, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x49, 0xFF, 0xB7, 0x67, 0xAE, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0x8F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x45, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xBD, 0xEF, 0xFF, 0xFF, 0xFF, 0xEC, 0xB9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x9A, 0xBB, 0xCC, 0xCA, 0x98, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp index a315f8bf8f07..4586954ccf57 100644 --- a/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp @@ -31,58 +31,58 @@ extern const uint8_t fan_fast0_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x89, 0x98, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x8a, 0xbd, 0xef, 0xfe, 0xec, 0xba, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xac, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x79, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9c, 0xed, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xde, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xbd, 0xed, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xdd, 0xdd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xac, 0xdd, 0xdd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x68, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x68, 0x88, 0x78, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xca, 0xac, 0xdd, 0xdd, 0xdd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x68, 0x87, 0x8a, 0xba, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xba, 0xaa, 0xbc, 0xdd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x78, 0x78, 0xac, 0xbb, 0x97, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xaa, 0xaa, 0xaa, 0xbc, 0xdd, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x56, 0x78, 0x8a, 0xcb, 0xaa, 0xa8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8b, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x57, 0x87, 0x9c, 0xba, 0xaa, 0xb9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9b, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xdd, 0xdd, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x55, 0x67, 0x79, 0xbb, 0xba, 0xaa, 0xaa, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9c, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x55, 0x77, 0x9b, 0xcb, 0xaa, 0xaa, 0xaa, 0x96, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x89, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x55, 0x56, 0x79, 0xbc, 0xba, 0xaa, 0xaa, 0xaa, 0xa6, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x55, 0x68, 0xab, 0xcb, 0xaa, 0xaa, 0xaa, 0xab, 0xb8, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x56, 0x78, 0x9a, 0xaa, 0xaa, 0xbd, 0xce, 0xff, 0xfd, 0xde, 0xff, 0xfc, 0x65, 0x56, 0x9b, 0xcb, 0xba, 0xaa, 0xaa, 0xab, 0xcd, 0xdb, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x65, 0x55, 0x55, 0x57, 0x9a, 0xaa, 0xac, 0xde, 0xfb, 0x86, 0x67, 0x8c, 0xe8, 0x77, 0x8a, 0xcc, 0xba, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0x86, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x65, 0x55, 0x58, 0xaa, 0xab, 0xdd, 0x95, 0x55, 0x55, 0x56, 0x68, 0xaa, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0xdd, 0x95, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x76, 0x55, 0x7a, 0xab, 0xc8, 0x55, 0x57, 0x87, 0x55, 0x56, 0xac, 0xaa, 0xaa, 0xaa, 0xab, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb5, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x76, 0x56, 0xab, 0x95, 0x55, 0xae, 0xff, 0xb7, 0x65, 0x7c, 0xdc, 0xcb, 0xcc, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcd, 0xee, 0xee, 0xed, 0xcb, 0x96, 0x89, 0x65, 0x5a, 0xff, 0xff, 0xfc, 0x77, 0x9c, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x79, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0x65, 0x6e, 0xff, 0xff, 0xfe, 0x77, 0x9e, 0xec, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xcc, 0xcd, 0xc6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x65, 0x8f, 0xff, 0xff, 0xff, 0x75, 0x9f, 0xff, 0xdd, 0xcc, 0xcc, 0xcc, 0xcc, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x65, 0x8e, 0xff, 0xff, 0xfe, 0x65, 0x8f, 0xff, 0xff, 0xee, 0xdd, 0xdd, 0xee, 0xef, 0xff, 0xff, 0xd6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x7a, 0xff, 0xff, 0xfa, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x77, 0x9d, 0xfd, 0xa5, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x66, 0x66, 0x55, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x75, 0x55, 0x56, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x57, 0x88, - 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa8, 0x66, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x65, 0x67, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xcb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x67, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xcb, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x55, 0x68, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xcd, 0xdb, 0xa9, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcc, 0xdd, 0xba, 0xa8, 0x55, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x56, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdc, 0xaa, 0xa7, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x57, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdb, 0xaa, 0xa7, 0x56, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xca, 0xaa, 0xa7, 0x56, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x55, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdd, 0xdd, 0xca, 0xaa, 0xa7, 0x56, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x55, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdd, 0xba, 0xaa, 0xa8, 0x56, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x56, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xba, 0xaa, 0xb9, 0x56, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xa9, 0x56, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x85, 0x55, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0xef, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0x76, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0x85, 0x78, 0x87, 0x6b, 0xff, 0xff, 0xff, 0xfd, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0xdf, 0xff, 0xec, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa6, 0x68, 0x88, 0x76, 0xae, 0xff, 0xfe, 0xa6, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x6b, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa7, 0x68, 0x88, 0x86, 0x56, 0x89, 0x86, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8b, 0xdd, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa9, 0x57, 0x88, 0x88, 0x65, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x8b, 0xdd, 0xdd, 0xdd, 0xaa, 0xaa, 0xaa, 0xaa, 0x66, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x56, 0x8b, 0xdd, 0xdc, 0xaa, 0xaa, 0xaa, 0xba, 0x65, 0x78, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x79, 0x99, 0x99, 0xaa, 0xaa, 0x97, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x8A, 0xBD, 0xEF, 0xFE, 0xEC, 0xBA, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xAC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x79, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9C, 0xED, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xDE, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xBD, 0xED, 0xDD, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xDD, 0xDD, 0xDD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAC, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x68, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xCB, 0xCD, 0xDD, 0xDD, 0xDD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x68, 0x88, 0x78, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCA, 0xAC, 0xDD, 0xDD, 0xDD, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x55, 0x68, 0x87, 0x8A, 0xBA, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xAC, 0xBA, 0xAA, 0xBC, 0xDD, 0xDD, 0xDD, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x55, 0x78, 0x78, 0xAC, 0xBB, 0x97, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xCB, 0xAA, 0xAA, 0xAA, 0xBC, 0xDD, 0xDD, 0xDC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x56, 0x78, 0x8A, 0xCB, 0xAA, 0xA8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCA, 0xAA, 0xAA, 0xAA, 0xAA, 0xCD, 0xDD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x57, 0x87, 0x9C, 0xBA, 0xAA, 0xB9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9B, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAB, 0xDD, 0xDD, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x55, 0x67, 0x79, 0xBB, 0xBA, 0xAA, 0xAA, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9C, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBD, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x55, 0x77, 0x9B, 0xCB, 0xAA, 0xAA, 0xAA, 0x96, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x89, 0xAA, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAB, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x55, 0x56, 0x79, 0xBC, 0xBA, 0xAA, 0xAA, 0xAA, 0xA6, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xCD, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x55, 0x68, 0xAB, 0xCB, 0xAA, 0xAA, 0xAA, 0xAB, 0xB8, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x56, 0x78, 0x9A, 0xAA, 0xAA, 0xBD, 0xCE, 0xFF, 0xFD, 0xDE, 0xFF, 0xFC, 0x65, 0x56, 0x9B, 0xCB, 0xBA, 0xAA, 0xAA, 0xAB, 0xCD, 0xDB, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x65, 0x55, 0x55, 0x57, 0x9A, 0xAA, 0xAC, 0xDE, 0xFB, 0x86, 0x67, 0x8C, 0xE8, 0x77, 0x8A, 0xCC, 0xBA, 0xAA, 0xAA, 0xAA, 0xCD, 0xDD, 0xDD, 0x86, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x65, 0x55, 0x58, 0xAA, 0xAB, 0xDD, 0x95, 0x55, 0x55, 0x56, 0x68, 0xAA, 0xBB, 0xBB, 0xAA, 0xAA, 0xAA, 0xCD, 0xDD, 0xDD, 0xDD, 0x95, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x76, 0x55, 0x7A, 0xAB, 0xC8, 0x55, 0x57, 0x87, 0x55, 0x56, 0xAC, 0xAA, 0xAA, 0xAA, 0xAB, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xB5, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x76, 0x56, 0xAB, 0x95, 0x55, 0xAE, 0xFF, 0xB7, 0x65, 0x7C, 0xDC, 0xCB, 0xCC, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xC6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xCD, 0xEE, 0xEE, 0xED, 0xCB, 0x96, 0x89, 0x65, 0x5A, 0xFF, 0xFF, 0xFC, 0x77, 0x9C, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xC6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDB, 0x65, 0x6E, 0xFF, 0xFF, 0xFE, 0x77, 0x9E, 0xEC, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0xCC, 0xCD, 0xC6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x8F, 0xFF, 0xFF, 0xFF, 0x75, 0x9F, 0xFF, 0xDD, 0xCC, 0xCC, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xC6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x65, 0x8E, 0xFF, 0xFF, 0xFE, 0x65, 0x8F, 0xFF, 0xFF, 0xEE, 0xDD, 0xDD, 0xEE, 0xEF, 0xFF, 0xFF, 0xD6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x7A, 0xFF, 0xFF, 0xFA, 0x55, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x77, 0x9D, 0xFD, 0xA5, 0x55, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x66, 0x66, 0x55, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x97, 0x75, 0x55, 0x56, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xA8, 0x66, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x65, 0x67, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xCB, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x67, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xCB, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x55, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xCD, 0xDB, 0xA9, 0x57, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x55, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCC, 0xDD, 0xBA, 0xA8, 0x55, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDD, 0xDC, 0xAA, 0xA7, 0x55, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xDB, 0xAA, 0xA7, 0x56, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDD, 0xCA, 0xAA, 0xA7, 0x56, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x55, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xDD, 0xDD, 0xCA, 0xAA, 0xA7, 0x56, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x55, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDD, 0xDD, 0xBA, 0xAA, 0xA8, 0x56, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xDD, 0xBA, 0xAA, 0xB9, 0x56, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x55, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xDD, 0xDD, 0xBA, 0xAA, 0xA9, 0x56, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x85, 0x55, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0xEF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDD, 0xDD, 0xBA, 0xAA, 0xAA, 0x76, 0x88, 0x76, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7E, 0xFF, 0xFF, 0xFD, 0xCD, 0xDD, 0xDD, 0xBA, 0xAA, 0xAA, 0x85, 0x78, 0x87, 0x6B, 0xFF, 0xFF, 0xFF, 0xFD, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0xDF, 0xFF, 0xEC, 0xDD, 0xDD, 0xDD, 0xBA, 0xAA, 0xAA, 0xA6, 0x68, 0x88, 0x76, 0xAE, 0xFF, 0xFE, 0xA6, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x6B, 0xFF, 0xDC, 0xDD, 0xDD, 0xDD, 0xBA, 0xAA, 0xAA, 0xA7, 0x68, 0x88, 0x86, 0x56, 0x89, 0x86, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8B, 0xDD, 0xDD, 0xDD, 0xDD, 0xBA, 0xAA, 0xAA, 0xA9, 0x57, 0x88, 0x88, 0x65, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x8B, 0xDD, 0xDD, 0xDD, 0xAA, 0xAA, 0xAA, 0xAA, 0x66, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x56, 0x8B, 0xDD, 0xDC, 0xAA, 0xAA, 0xAA, 0xBA, 0x65, 0x78, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x79, 0x99, 0x99, 0xAA, 0xAA, 0x97, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x55, 0x56, 0x66, 0x66, 0x65, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, @@ -99,58 +99,58 @@ extern const uint8_t fan_fast1_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x66, 0x66, 0x66, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x57, 0x9a, 0xaa, 0xa9, 0x99, 0x99, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x75, 0x6a, 0xba, 0xaa, 0xaa, 0xac, 0xdd, 0xdb, 0x86, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x67, 0x88, 0x88, 0x86, 0x6a, 0xaa, 0xaa, 0xaa, 0xad, 0xdd, 0xdd, 0xdb, 0x85, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x55, 0x68, 0x88, 0x87, 0x59, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdd, 0xdb, 0x85, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x89, 0x86, 0x56, 0x88, 0x88, 0x67, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdc, 0xdf, 0xfb, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x56, 0xae, 0xff, 0xfe, 0xa6, 0x78, 0x88, 0x66, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdc, 0xef, 0xff, 0xd7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x7d, 0xff, 0xff, 0xff, 0xfb, 0x67, 0x88, 0x75, 0x8a, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x58, 0xef, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x86, 0x7a, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x86, 0x59, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x86, 0x59, 0xba, 0xaa, 0xbd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x86, 0x55, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x86, 0x58, 0xaa, 0xaa, 0xbd, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x75, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x76, 0x57, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x65, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x57, 0xaa, 0xaa, 0xcd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x65, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0x57, 0xaa, 0xab, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x55, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x57, 0xaa, 0xac, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x86, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x58, 0xaa, 0xbd, 0xdc, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x75, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x59, 0xab, 0xdd, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x65, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x7b, 0xcd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x65, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xcc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x65, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x86, 0x68, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0x55, 0x55, 0x77, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x55, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x55, 0x56, 0x66, 0x67, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x55, 0xad, 0xfd, 0x97, 0x75, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x5a, 0xff, 0xff, 0xfa, 0x75, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xee, 0xed, 0xdd, 0xde, 0xef, 0xff, 0xff, 0x85, 0x6e, 0xff, 0xff, 0xfe, 0x85, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdc, 0xcc, 0xcc, 0xcc, 0xcd, 0xdf, 0xff, 0x95, 0x7f, 0xff, 0xff, 0xff, 0x85, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xcd, 0xcc, 0xcc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcc, 0xee, 0x97, 0x7e, 0xff, 0xff, 0xfe, 0x65, 0x6b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0x97, 0x7c, 0xff, 0xff, 0xfa, 0x55, 0x69, 0x86, 0x9b, 0xcd, 0xee, 0xee, 0xed, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcc, 0xcb, 0xcc, 0xdc, 0x75, 0x67, 0xbf, 0xfe, 0xa5, 0x55, 0x9b, 0xa6, 0x56, 0x78, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x65, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcb, 0xaa, 0xaa, 0xaa, 0xac, 0xa6, 0x55, 0x57, 0x87, 0x55, 0x58, 0xcb, 0xaa, 0x75, 0x56, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x75, 0x9d, 0xdd, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xab, 0xbb, 0xba, 0xa8, 0x66, 0x55, 0x55, 0x55, 0x9d, 0xdb, 0xaa, 0xa8, 0x55, 0x55, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x86, 0x8d, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xaa, 0xbc, 0xca, 0x87, 0x78, 0xec, 0x87, 0x66, 0x8b, 0xfe, 0xdc, 0xaa, 0xaa, 0x97, 0x55, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x6b, 0xdd, 0xcb, 0xaa, 0xaa, 0xaa, 0xbb, 0xcb, 0x96, 0x55, 0x6c, 0xff, 0xfe, 0xdd, 0xff, 0xfe, 0xcd, 0xba, 0xaa, 0xaa, 0x98, 0x76, 0x55, 0x55, 0x57, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x68, 0xbb, 0xaa, 0xaa, 0xaa, 0xab, 0xcb, 0xa8, 0x65, 0x55, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x87, 0x67, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x66, 0xaa, 0xaa, 0xaa, 0xaa, 0xbc, 0xb9, 0x76, 0x55, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdb, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xa9, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x76, 0x9a, 0xaa, 0xaa, 0xab, 0xcb, 0x97, 0x75, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbc, 0x97, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7a, 0xaa, 0xaa, 0xbb, 0xb9, 0x77, 0x65, 0x57, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xdd, 0xdb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0x97, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x69, 0xba, 0xaa, 0xbc, 0x97, 0x87, 0x55, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0xcb, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xaa, 0xab, 0xca, 0x88, 0x76, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdd, 0xdc, 0xba, 0xaa, 0xaa, 0xab, 0xc9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xbc, 0xa8, 0x78, 0x75, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xdc, 0xba, 0xaa, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xba, 0x87, 0x88, 0x65, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xaa, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x78, 0x88, 0x65, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xcb, 0xc9, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x65, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdd, 0xdd, 0xed, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xde, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xec, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xa9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x8a, 0xbc, 0xee, 0xff, 0xed, 0xba, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x57, 0x9A, 0xAA, 0xA9, 0x99, 0x99, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x75, 0x6A, 0xBA, 0xAA, 0xAA, 0xAC, 0xDD, 0xDB, 0x86, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x67, 0x88, 0x88, 0x86, 0x6A, 0xAA, 0xAA, 0xAA, 0xAD, 0xDD, 0xDD, 0xDB, 0x85, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x55, 0x68, 0x88, 0x87, 0x59, 0xAA, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xDD, 0xDB, 0x85, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x89, 0x86, 0x56, 0x88, 0x88, 0x67, 0xAA, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xDC, 0xDF, 0xFB, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x56, 0xAE, 0xFF, 0xFE, 0xA6, 0x78, 0x88, 0x66, 0xAA, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xDC, 0xEF, 0xFF, 0xD7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x7D, 0xFF, 0xFF, 0xFF, 0xFB, 0x67, 0x88, 0x75, 0x8A, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xCD, 0xFF, 0xFF, 0xFE, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x58, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x78, 0x86, 0x7A, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xE7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x86, 0x59, 0xAA, 0xAA, 0xBD, 0xDD, 0xDD, 0xCF, 0xFF, 0xFF, 0xFF, 0xFE, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x86, 0x59, 0xBA, 0xAA, 0xBD, 0xDD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x55, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x86, 0x58, 0xAA, 0xAA, 0xBD, 0xDD, 0xDC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x76, 0x57, 0xAA, 0xAA, 0xCD, 0xDD, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x65, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x76, 0x57, 0xAA, 0xAA, 0xCD, 0xDD, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x65, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x57, 0xAA, 0xAB, 0xDD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x55, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x57, 0xAA, 0xAC, 0xDD, 0xDC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x55, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x58, 0xAA, 0xBD, 0xDC, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x56, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x59, 0xAB, 0xDD, 0xCD, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x65, 0x59, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x7B, 0xCD, 0xDC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x65, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBB, 0xCC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x65, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x86, 0x68, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x55, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x96, 0x55, 0x55, 0x77, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x55, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x55, 0x56, 0x66, 0x67, 0x68, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x55, 0xAD, 0xFD, 0x97, 0x75, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x5A, 0xFF, 0xFF, 0xFA, 0x75, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xDF, 0xFF, 0xFF, 0xEE, 0xED, 0xDD, 0xDE, 0xEF, 0xFF, 0xFF, 0x85, 0x6E, 0xFF, 0xFF, 0xFE, 0x85, 0x6E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xCD, 0xDD, 0xDD, 0xDC, 0xCC, 0xCC, 0xCC, 0xCD, 0xDF, 0xFF, 0x95, 0x7F, 0xFF, 0xFF, 0xFF, 0x85, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xCD, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCC, 0xEE, 0x97, 0x7E, 0xFF, 0xFF, 0xFE, 0x65, 0x6B, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0x97, 0x7C, 0xFF, 0xFF, 0xFA, 0x55, 0x69, 0x86, 0x9B, 0xCD, 0xEE, 0xEE, 0xED, 0xCA, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCC, 0xCB, 0xCC, 0xDC, 0x75, 0x67, 0xBF, 0xFE, 0xA5, 0x55, 0x9B, 0xA6, 0x56, 0x78, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x65, 0xBD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCB, 0xAA, 0xAA, 0xAA, 0xAC, 0xA6, 0x55, 0x57, 0x87, 0x55, 0x58, 0xCB, 0xAA, 0x75, 0x56, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x9D, 0xDD, 0xDD, 0xDD, 0xCA, 0xAA, 0xAA, 0xAB, 0xBB, 0xBA, 0xA8, 0x66, 0x55, 0x55, 0x55, 0x9D, 0xDB, 0xAA, 0xA8, 0x55, 0x55, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x8D, 0xDD, 0xDD, 0xCA, 0xAA, 0xAA, 0xAA, 0xBC, 0xCA, 0x87, 0x78, 0xEC, 0x87, 0x66, 0x8B, 0xFE, 0xDC, 0xAA, 0xAA, 0x97, 0x55, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x6B, 0xDD, 0xCB, 0xAA, 0xAA, 0xAA, 0xBB, 0xCB, 0x96, 0x55, 0x6C, 0xFF, 0xFE, 0xDD, 0xFF, 0xFE, 0xCD, 0xBA, 0xAA, 0xAA, 0x98, 0x76, 0x55, 0x55, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x68, 0xBB, 0xAA, 0xAA, 0xAA, 0xAB, 0xCB, 0xA8, 0x65, 0x55, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xCD, 0xCA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x87, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x66, 0xAA, 0xAA, 0xAA, 0xAA, 0xBC, 0xB9, 0x76, 0x55, 0x5B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAB, 0xAA, 0xA9, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x76, 0x9A, 0xAA, 0xAA, 0xAB, 0xCB, 0x97, 0x75, 0x55, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDD, 0xBA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBC, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7A, 0xAA, 0xAA, 0xBB, 0xB9, 0x77, 0x65, 0x57, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xDD, 0xDB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBB, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x69, 0xBA, 0xAA, 0xBC, 0x97, 0x87, 0x55, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xDD, 0xCA, 0xAA, 0xAA, 0xAA, 0xAA, 0xCB, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xAA, 0xAB, 0xCA, 0x88, 0x76, 0x55, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xDD, 0xDD, 0xDC, 0xBA, 0xAA, 0xAA, 0xAB, 0xC9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9B, 0xBC, 0xA8, 0x78, 0x75, 0x56, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xCD, 0xDD, 0xDD, 0xDC, 0xBA, 0xAA, 0xBC, 0xA8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xBA, 0x87, 0x88, 0x65, 0x5A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDD, 0xDD, 0xDD, 0xDC, 0xAA, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x78, 0x88, 0x65, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xCB, 0xC9, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x65, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDC, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDD, 0xDD, 0xDD, 0xDA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xDD, 0xDD, 0xED, 0xB8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCD, 0xDE, 0xDA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xEC, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xB8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9C, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xA9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x8A, 0xBC, 0xEE, 0xFF, 0xED, 0xBA, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x99, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp index baf065188193..7bbd149ae797 100644 --- a/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp @@ -29,61 +29,61 @@ extern const uint8_t fan_slow0_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9a, 0xbb, 0xbb, 0xaa, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xcb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xbc, 0xbb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcb, 0xbb, 0xbb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8a, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9b, 0xcb, 0xbb, 0xbb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xac, 0xcb, 0xbb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbc, 0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbc, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9b, 0xcb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xbc, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xcb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xa8, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xbe, 0xff, 0xca, 0xab, 0xce, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xcc, 0xca, 0x78, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcf, 0xd9, 0x77, 0x77, 0x79, 0xc8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9b, 0xcc, 0xbb, 0xcb, 0x87, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8a, 0xcc, 0x87, 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9b, 0xcc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x79, 0xb8, 0x77, 0x8a, 0xcb, 0x97, 0x77, 0x8a, 0xa9, 0x88, 0x88, 0x89, 0xab, 0xcc, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x99, 0xaa, 0x99, 0x98, 0x87, 0x77, 0x79, 0x97, 0x78, 0xdf, 0xff, 0xea, 0x77, 0x8a, 0xcb, 0xbb, 0xbb, 0xbb, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7a, 0xce, 0xff, 0xff, 0xff, 0xee, 0xdc, 0xa9, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xfe, 0x97, 0x8c, 0xcb, 0xbc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xb7, 0x7c, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, - 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xc7, 0x7b, 0xff, 0xec, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcd, 0xcc, 0x97, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xa7, 0x7b, 0xff, 0xff, 0xed, 0xdc, 0xcc, 0xcd, 0xde, 0xff, 0xff, 0xfe, 0x97, 0x88, - 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x7b, 0xff, 0xff, 0xfd, 0x87, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, - 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0xbe, 0xff, 0xc8, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, - 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x77, 0x79, 0x99, 0x87, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, - 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x77, 0x77, 0x77, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x88, - 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x97, 0x78, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, - 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0x98, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, - 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xcc, 0xa8, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xbb, 0xca, 0x87, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, - 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbc, 0xa8, 0x78, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0x87, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xca, 0x78, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbc, 0xb8, 0x78, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbc, 0x97, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xbb, 0xbc, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbb, 0xbb, 0x87, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xef, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xae, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9d, 0xff, 0xff, 0xfd, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xdf, 0xfd, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xcb, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcc, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x8a, 0xbc, 0xcb, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbb, 0xb9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9A, 0xBB, 0xBB, 0xAA, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xAB, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDB, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xCE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xAC, 0xCB, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xBC, 0xBB, 0xBB, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xCB, 0xBB, 0xBB, 0xBB, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xBB, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8A, 0xCC, 0xBB, 0xBB, 0xBB, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9B, 0xCB, 0xBB, 0xBB, 0xBB, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xAC, 0xCB, 0xBB, 0xBB, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xBC, 0xBB, 0xBB, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8A, 0xBC, 0xBB, 0xBB, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9B, 0xCB, 0xBB, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xBC, 0xBB, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9B, 0xCB, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xCB, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xAC, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xAB, 0xA8, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9B, 0xBE, 0xFF, 0xCA, 0xAB, 0xCE, 0xFD, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xAB, 0xCC, 0xCA, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCF, 0xD9, 0x77, 0x77, 0x79, 0xC8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9B, 0xCC, 0xBB, 0xCB, 0x87, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8A, 0xCC, 0x87, 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9B, 0xCC, 0xBB, 0xBB, 0xCB, 0x87, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x79, 0xB8, 0x77, 0x8A, 0xCB, 0x97, 0x77, 0x8A, 0xA9, 0x88, 0x88, 0x89, 0xAB, 0xCC, 0xBB, 0xBB, 0xBB, 0xBC, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x99, 0xAA, 0x99, 0x98, 0x87, 0x77, 0x79, 0x97, 0x78, 0xDF, 0xFF, 0xEA, 0x77, 0x8A, 0xCB, 0xBB, 0xBB, 0xBB, 0xCC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7A, 0xCE, 0xFF, 0xFF, 0xFF, 0xEE, 0xDC, 0xA9, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFE, 0x97, 0x8C, 0xCB, 0xBC, 0xCC, 0xCB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x77, 0x9F, 0xFF, 0xFF, 0xFF, 0xB7, 0x7C, 0xFD, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0x97, 0x88, + 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x77, 0x9F, 0xFF, 0xFF, 0xFF, 0xC7, 0x7B, 0xFF, 0xEC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xCD, 0xCC, 0x97, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0x8E, 0xFF, 0xFF, 0xFF, 0xA7, 0x7B, 0xFF, 0xFF, 0xED, 0xDC, 0xCC, 0xCD, 0xDE, 0xFF, 0xFF, 0xFE, 0x97, 0x88, + 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x7B, 0xFF, 0xFF, 0xFD, 0x87, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, + 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x78, 0xBE, 0xFF, 0xC8, 0x77, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, + 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x77, 0x79, 0x99, 0x87, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, + 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x77, 0x77, 0x77, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x97, 0x88, + 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x97, 0x78, 0x7B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, + 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x98, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x78, 0x88, + 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xCC, 0xA8, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEC, 0xBB, 0xCA, 0x87, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, + 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBB, 0xBC, 0xA8, 0x78, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xBB, 0xBB, 0x87, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBB, 0xCA, 0x78, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBB, 0xBC, 0xB8, 0x78, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xBB, 0xBC, 0xA8, 0x78, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xBB, 0xBC, 0x97, 0x88, 0x88, 0x88, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBB, 0xBB, 0xBC, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBB, 0xBB, 0xBB, 0x87, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xEF, 0xFF, 0xFF, 0xFF, 0xFC, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xEB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xDB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xEF, 0xFF, 0xFF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAE, 0xFF, 0xFF, 0xCB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9D, 0xFF, 0xFF, 0xFD, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xDF, 0xFD, 0xBB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xAC, 0xCB, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xCC, 0xBB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8A, 0xBC, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x8A, 0xBC, 0xCB, 0xCA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8A, 0xBB, 0xB9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, @@ -98,61 +98,61 @@ extern const uint8_t fan_slow1_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xbb, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcb, 0xcc, 0xba, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbc, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9b, 0xcc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbd, 0xff, 0xd9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9d, 0xff, 0xff, 0xfd, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xcf, 0xff, 0xfe, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xbb, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x78, 0xac, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x78, 0xbc, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x7a, 0xcb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x87, 0x8b, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x78, 0xac, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, - 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x77, 0x8a, 0xcb, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, - 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0xac, 0xcc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, - 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x9a, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, - 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x78, 0x77, 0x9b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, - 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x77, 0x77, 0x77, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, - 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x77, 0x89, 0x99, 0x77, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, - 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x78, 0xcf, 0xfe, 0xb8, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, - 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x77, 0x8d, 0xff, 0xff, 0xfb, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, - 0x88, 0x87, 0x9e, 0xff, 0xff, 0xfe, 0xdd, 0xcc, 0xcc, 0xdd, 0xef, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xff, 0xfe, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x88, 0x88, - 0x88, 0x87, 0x9c, 0xcd, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xef, 0xfb, 0x77, 0xcf, 0xff, 0xff, 0xff, 0x97, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, - 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xfc, 0x77, 0xbf, 0xff, 0xff, 0xff, 0x97, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcc, 0xcc, 0xbb, 0xcc, 0x87, 0x9e, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x89, 0xac, 0xde, 0xef, 0xff, 0xff, 0xfe, 0xca, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbb, 0xbb, 0xbb, 0xca, 0x87, 0x7a, 0xef, 0xff, 0xd8, 0x77, 0x99, 0x77, 0x77, 0x88, 0x99, 0x9a, 0xa9, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xa9, 0x88, 0x88, 0x89, 0xaa, 0x87, 0x77, 0x9b, 0xca, 0x87, 0x78, 0xb9, 0x78, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xcb, 0x98, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x77, 0x77, 0x77, 0x77, 0x8c, 0xca, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x8b, 0xcb, 0xbc, 0xcb, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xc9, 0x77, 0x77, 0x79, 0xdf, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x7a, 0xcc, 0xcb, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xfe, 0xcb, 0xaa, 0xcf, 0xfe, 0xbb, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x78, 0xab, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xc9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xcb, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbc, 0xb9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xcb, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbc, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xbc, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbb, 0xcc, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xcb, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbc, 0xca, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbc, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xcc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9a, 0xab, 0xbb, 0xba, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xBB, 0xBA, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xCB, 0xCC, 0xBA, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBC, 0xBA, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xBC, 0xCA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9B, 0xCC, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xBD, 0xFF, 0xD9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9D, 0xFF, 0xFF, 0xFD, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xCF, 0xFF, 0xFE, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xDF, 0xFF, 0xFF, 0xFA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8B, 0xBB, 0xBB, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x97, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x78, 0xAC, 0xBB, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0x88, 0x88, 0x78, 0xBC, 0xBB, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x7A, 0xCB, 0xBB, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x87, 0x8B, 0xBB, 0xBB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x78, 0xAC, 0xBB, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x77, 0x8A, 0xCB, 0xBC, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x88, 0x88, + 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x78, 0xAC, 0xCC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x78, 0x88, + 0x88, 0x88, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x78, 0x9A, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, + 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x78, 0x77, 0x9B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, + 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x87, 0x77, 0x77, 0x77, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, + 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x77, 0x89, 0x99, 0x77, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, + 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x78, 0xCF, 0xFE, 0xB8, 0x77, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, + 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x77, 0x8D, 0xFF, 0xFF, 0xFB, 0x77, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, + 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFE, 0xDD, 0xCC, 0xCC, 0xDD, 0xEF, 0xFF, 0xFB, 0x77, 0xAF, 0xFF, 0xFF, 0xFE, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x88, 0x88, + 0x88, 0x87, 0x9C, 0xCD, 0xCC, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xEF, 0xFB, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0x97, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x87, 0x88, 0x88, + 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBD, 0xFC, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0x97, 0x7B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xCC, 0xCC, 0xBB, 0xCC, 0x87, 0x9E, 0xFF, 0xFF, 0xFC, 0x87, 0x88, 0x89, 0xAC, 0xDE, 0xEF, 0xFF, 0xFF, 0xFE, 0xCA, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xBB, 0xBB, 0xBC, 0xCB, 0xBB, 0xBB, 0xBB, 0xCA, 0x87, 0x7A, 0xEF, 0xFF, 0xD8, 0x77, 0x99, 0x77, 0x77, 0x88, 0x99, 0x9A, 0xA9, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x9C, 0xBB, 0xBB, 0xBB, 0xBC, 0xCB, 0xA9, 0x88, 0x88, 0x89, 0xAA, 0x87, 0x77, 0x9B, 0xCA, 0x87, 0x78, 0xB9, 0x78, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8B, 0xCB, 0xBB, 0xBC, 0xCB, 0x98, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x77, 0x77, 0x77, 0x77, 0x8C, 0xCA, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8B, 0xCB, 0xBC, 0xCB, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xC9, 0x77, 0x77, 0x79, 0xDF, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x7A, 0xCC, 0xCB, 0xA8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFE, 0xCB, 0xAA, 0xCF, 0xFE, 0xBB, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xAB, 0xA8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBC, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBB, 0xC9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBB, 0xCB, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBB, 0xBC, 0xB9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBB, 0xCB, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xBB, 0xBC, 0xBA, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xBB, 0xBB, 0xBC, 0xB9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xBB, 0xBB, 0xBB, 0xCC, 0xA8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBB, 0xBB, 0xBB, 0xCB, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xBB, 0xBB, 0xBB, 0xBC, 0xCA, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xBB, 0xBB, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0xBB, 0xBB, 0xBB, 0xCA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xBB, 0xBB, 0xBC, 0xB8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBB, 0xBB, 0xCB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xCC, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xB9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xA8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xC9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9B, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDB, 0xA8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9A, 0xAB, 0xBB, 0xBA, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 diff --git a/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp b/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp index 3515b382753b..52f9124fdbd9 100644 --- a/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp @@ -26,34 +26,34 @@ extern const uint8_t feedrate_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x78, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x77, 0x8a, 0xcd, 0xa8, 0xcc, 0xb9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0x9c, 0xef, 0xff, 0xa8, 0xff, 0xff, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x8b, 0xef, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff, 0xd9, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xec, 0x76, 0xbd, 0xef, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x8d, 0xff, 0xff, 0xc9, 0x65, 0x55, 0x65, 0x6a, 0xef, 0xfb, 0x67, 0x87, 0x88, 0x88, - 0x88, 0x77, 0xcf, 0xff, 0xe9, 0x55, 0x55, 0x55, 0x65, 0x55, 0x6b, 0xb5, 0x7d, 0xb7, 0x78, 0x88, - 0x87, 0x7a, 0xff, 0xfe, 0x85, 0x55, 0x56, 0x67, 0x77, 0x66, 0x55, 0x57, 0xdf, 0xf8, 0x78, 0x88, - 0x87, 0x8e, 0xff, 0xf8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x87, 0x76, 0x58, 0xff, 0xfc, 0x67, 0x88, - 0x77, 0xbf, 0xff, 0xa5, 0x55, 0x67, 0x88, 0x88, 0x87, 0x78, 0xb9, 0x66, 0xbf, 0xff, 0x86, 0x88, - 0x78, 0xdf, 0xfd, 0x65, 0x56, 0x78, 0x88, 0x87, 0x77, 0xae, 0xd8, 0x77, 0x7e, 0xff, 0xb5, 0x78, - 0x79, 0xff, 0xfa, 0x55, 0x67, 0x88, 0x88, 0x77, 0x9c, 0xff, 0x86, 0x56, 0x7b, 0xff, 0xe6, 0x68, - 0x7a, 0xff, 0xf7, 0x55, 0x78, 0x88, 0x87, 0x8b, 0xff, 0xfb, 0x55, 0x67, 0x79, 0xff, 0xf8, 0x68, - 0x7b, 0xff, 0xe6, 0x56, 0x78, 0x88, 0x78, 0xdf, 0xff, 0xe7, 0x55, 0x78, 0x79, 0xee, 0xe8, 0x57, - 0x7c, 0xff, 0xd6, 0x57, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xa5, 0x56, 0x78, 0x78, 0x77, 0x76, 0x57, - 0x7c, 0xff, 0xd6, 0x57, 0x88, 0x87, 0x7c, 0xff, 0xfd, 0x65, 0x57, 0x88, 0x78, 0x98, 0x86, 0x57, - 0x7b, 0xff, 0xd6, 0x57, 0x88, 0x88, 0x79, 0xef, 0xe8, 0x55, 0x67, 0x88, 0x79, 0xff, 0xf9, 0x67, - 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x88, 0x87, 0x78, 0x75, 0x55, 0x78, 0x88, 0x7a, 0xff, 0xf8, 0x67, - 0x79, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x65, 0x55, 0x56, 0x88, 0x87, 0x7c, 0xff, 0xd6, 0x56, - 0x78, 0xef, 0xfd, 0x57, 0x88, 0x88, 0x88, 0x76, 0x55, 0x67, 0x88, 0x87, 0x8f, 0xff, 0xb5, 0x57, - 0x77, 0xbf, 0xff, 0x96, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x77, 0xcf, 0xff, 0x85, 0x67, - 0x87, 0x8e, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xfc, 0x55, 0x67, - 0x88, 0x7a, 0xff, 0xfd, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9e, 0xff, 0xf7, 0x55, 0x68, - 0x88, 0x77, 0xbf, 0xff, 0xea, 0x77, 0x77, 0x88, 0x87, 0x77, 0x7a, 0xff, 0xff, 0x95, 0x56, 0x78, - 0x88, 0x87, 0x6c, 0xff, 0xff, 0xc9, 0x87, 0x77, 0x77, 0x89, 0xdf, 0xff, 0xfb, 0x55, 0x56, 0x88, - 0x88, 0x88, 0x76, 0xcf, 0xff, 0xff, 0xdc, 0xbb, 0xbc, 0xef, 0xff, 0xff, 0xa5, 0x55, 0x67, 0x88, - 0x88, 0x88, 0x86, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x55, 0x55, 0x78, 0x88, - 0x88, 0x88, 0x87, 0x65, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xda, 0x65, 0x55, 0x57, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x86, 0x55, 0x79, 0xbd, 0xde, 0xdc, 0xb9, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x8A, 0xCD, 0xA8, 0xCC, 0xB9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x9C, 0xEF, 0xFF, 0xA8, 0xFF, 0xFF, 0xDA, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8B, 0xEF, 0xFF, 0xFF, 0x97, 0xFF, 0xFF, 0xFF, 0xD9, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xEC, 0x76, 0xBD, 0xEF, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xC9, 0x65, 0x55, 0x65, 0x6A, 0xEF, 0xFB, 0x67, 0x87, 0x88, 0x88, + 0x88, 0x77, 0xCF, 0xFF, 0xE9, 0x55, 0x55, 0x55, 0x65, 0x55, 0x6B, 0xB5, 0x7D, 0xB7, 0x78, 0x88, + 0x87, 0x7A, 0xFF, 0xFE, 0x85, 0x55, 0x56, 0x67, 0x77, 0x66, 0x55, 0x57, 0xDF, 0xF8, 0x78, 0x88, + 0x87, 0x8E, 0xFF, 0xF8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x87, 0x76, 0x58, 0xFF, 0xFC, 0x67, 0x88, + 0x77, 0xBF, 0xFF, 0xA5, 0x55, 0x67, 0x88, 0x88, 0x87, 0x78, 0xB9, 0x66, 0xBF, 0xFF, 0x86, 0x88, + 0x78, 0xDF, 0xFD, 0x65, 0x56, 0x78, 0x88, 0x87, 0x77, 0xAE, 0xD8, 0x77, 0x7E, 0xFF, 0xB5, 0x78, + 0x79, 0xFF, 0xFA, 0x55, 0x67, 0x88, 0x88, 0x77, 0x9C, 0xFF, 0x86, 0x56, 0x7B, 0xFF, 0xE6, 0x68, + 0x7A, 0xFF, 0xF7, 0x55, 0x78, 0x88, 0x87, 0x8B, 0xFF, 0xFB, 0x55, 0x67, 0x79, 0xFF, 0xF8, 0x68, + 0x7B, 0xFF, 0xE6, 0x56, 0x78, 0x88, 0x78, 0xDF, 0xFF, 0xE7, 0x55, 0x78, 0x79, 0xEE, 0xE8, 0x57, + 0x7C, 0xFF, 0xD6, 0x57, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xA5, 0x56, 0x78, 0x78, 0x77, 0x76, 0x57, + 0x7C, 0xFF, 0xD6, 0x57, 0x88, 0x87, 0x7C, 0xFF, 0xFD, 0x65, 0x57, 0x88, 0x78, 0x98, 0x86, 0x57, + 0x7B, 0xFF, 0xD6, 0x57, 0x88, 0x88, 0x79, 0xEF, 0xE8, 0x55, 0x67, 0x88, 0x79, 0xFF, 0xF9, 0x67, + 0x7B, 0xFF, 0xF7, 0x57, 0x88, 0x88, 0x87, 0x78, 0x75, 0x55, 0x78, 0x88, 0x7A, 0xFF, 0xF8, 0x67, + 0x79, 0xFF, 0xF9, 0x57, 0x88, 0x88, 0x88, 0x65, 0x55, 0x56, 0x88, 0x87, 0x7C, 0xFF, 0xD6, 0x56, + 0x78, 0xEF, 0xFD, 0x57, 0x88, 0x88, 0x88, 0x76, 0x55, 0x67, 0x88, 0x87, 0x8F, 0xFF, 0xB5, 0x57, + 0x77, 0xBF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x77, 0xCF, 0xFF, 0x85, 0x67, + 0x87, 0x8E, 0xFF, 0xE8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFC, 0x55, 0x67, + 0x88, 0x7A, 0xFF, 0xFD, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9E, 0xFF, 0xF7, 0x55, 0x68, + 0x88, 0x77, 0xBF, 0xFF, 0xEA, 0x77, 0x77, 0x88, 0x87, 0x77, 0x7A, 0xFF, 0xFF, 0x95, 0x56, 0x78, + 0x88, 0x87, 0x6C, 0xFF, 0xFF, 0xC9, 0x87, 0x77, 0x77, 0x89, 0xDF, 0xFF, 0xFB, 0x55, 0x56, 0x88, + 0x88, 0x88, 0x76, 0xCF, 0xFF, 0xFF, 0xDC, 0xBB, 0xBC, 0xEF, 0xFF, 0xFF, 0xA5, 0x55, 0x67, 0x88, + 0x88, 0x88, 0x86, 0x6A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x55, 0x55, 0x78, 0x88, + 0x88, 0x88, 0x87, 0x65, 0x7B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x65, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x55, 0x79, 0xBD, 0xDE, 0xDC, 0xB9, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x56, 0x66, 0x66, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x55, 0x55, 0x55, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88 diff --git a/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp b/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp index d3c7fd187a46..2259472f792a 100644 --- a/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp @@ -29,30 +29,30 @@ extern const uint8_t flowrate_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x77, 0x78, 0xce, 0xeb, 0x77, 0x77, 0x87, 0x7c, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x89, 0x77, 0xef, 0xfd, 0x67, 0xa8, 0x77, 0x7e, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x78, 0xdf, 0xba, 0xff, 0xfe, 0x8b, 0xfd, 0x87, 0x7d, 0xfa, 0x56, 0x87, 0x77, 0x88, 0x88, - 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x7d, 0xfa, 0x56, 0x77, 0x87, 0x77, 0x88, - 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x7d, 0xfa, 0x56, 0x9c, 0xdc, 0x97, 0x78, - 0x87, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x6d, 0xfa, 0x59, 0xff, 0xff, 0xfb, 0x77, - 0x88, 0x89, 0xef, 0xff, 0xa7, 0x7b, 0xff, 0xfd, 0x76, 0x5d, 0xf9, 0x7f, 0xff, 0xff, 0xff, 0x97, - 0x7a, 0xdf, 0xff, 0xfa, 0x55, 0x55, 0xcf, 0xff, 0xec, 0x9c, 0xf9, 0x9f, 0xff, 0xff, 0xff, 0xc6, - 0x7c, 0xff, 0xff, 0xf7, 0x55, 0x55, 0x8f, 0xff, 0xff, 0xac, 0xf9, 0xbf, 0xfd, 0x6c, 0xff, 0xe5, - 0x7c, 0xff, 0xff, 0xf7, 0x56, 0x77, 0xaf, 0xff, 0xff, 0x9b, 0xf9, 0xbf, 0xfe, 0x8d, 0xff, 0xe5, - 0x7a, 0xde, 0xff, 0xfb, 0x56, 0x77, 0xdf, 0xff, 0xed, 0x8c, 0xf9, 0x8f, 0xff, 0xff, 0xff, 0xb5, - 0x87, 0x67, 0xef, 0xff, 0xa8, 0x9c, 0xff, 0xfd, 0x76, 0x5d, 0xf9, 0x6d, 0xff, 0xff, 0xfe, 0x75, - 0x88, 0x66, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x5c, 0xfa, 0x57, 0xdf, 0xff, 0xd8, 0x55, - 0x87, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x6d, 0xfa, 0x55, 0x68, 0xa9, 0x65, 0x55, - 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x7d, 0xfa, 0x56, 0x65, 0x55, 0x55, 0x56, - 0x88, 0x78, 0xdf, 0xa8, 0xff, 0xfe, 0x8a, 0xfc, 0x65, 0x6d, 0xfa, 0x56, 0x77, 0x65, 0x56, 0x67, - 0x88, 0x87, 0x78, 0x55, 0xef, 0xfd, 0x55, 0x86, 0x55, 0x5d, 0xfa, 0x56, 0x88, 0x77, 0x77, 0x88, - 0x88, 0x88, 0x65, 0x55, 0xbe, 0xea, 0x55, 0x55, 0x55, 0x6b, 0xd8, 0x56, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x77, 0x66, 0x76, 0x65, 0x56, 0x76, 0x68, 0xa9, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x77, 0x76, 0x55, 0x56, 0x87, 0x7b, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x67, 0x88, 0x78, 0xef, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x87, 0xaf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0xfd, 0x65, 0x56, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xf8, 0x55, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x78, 0xCE, 0xEB, 0x77, 0x77, 0x87, 0x7C, 0xEA, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x89, 0x77, 0xEF, 0xFD, 0x67, 0xA8, 0x77, 0x7E, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x78, 0xDF, 0xBA, 0xFF, 0xFE, 0x8B, 0xFD, 0x87, 0x7D, 0xFA, 0x56, 0x87, 0x77, 0x88, 0x88, + 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x7D, 0xFA, 0x56, 0x77, 0x87, 0x77, 0x88, + 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x7D, 0xFA, 0x56, 0x9C, 0xDC, 0x97, 0x78, + 0x87, 0x78, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x6D, 0xFA, 0x59, 0xFF, 0xFF, 0xFB, 0x77, + 0x88, 0x89, 0xEF, 0xFF, 0xA7, 0x7B, 0xFF, 0xFD, 0x76, 0x5D, 0xF9, 0x7F, 0xFF, 0xFF, 0xFF, 0x97, + 0x7A, 0xDF, 0xFF, 0xFA, 0x55, 0x55, 0xCF, 0xFF, 0xEC, 0x9C, 0xF9, 0x9F, 0xFF, 0xFF, 0xFF, 0xC6, + 0x7C, 0xFF, 0xFF, 0xF7, 0x55, 0x55, 0x8F, 0xFF, 0xFF, 0xAC, 0xF9, 0xBF, 0xFD, 0x6C, 0xFF, 0xE5, + 0x7C, 0xFF, 0xFF, 0xF7, 0x56, 0x77, 0xAF, 0xFF, 0xFF, 0x9B, 0xF9, 0xBF, 0xFE, 0x8D, 0xFF, 0xE5, + 0x7A, 0xDE, 0xFF, 0xFB, 0x56, 0x77, 0xDF, 0xFF, 0xED, 0x8C, 0xF9, 0x8F, 0xFF, 0xFF, 0xFF, 0xB5, + 0x87, 0x67, 0xEF, 0xFF, 0xA8, 0x9C, 0xFF, 0xFD, 0x76, 0x5D, 0xF9, 0x6D, 0xFF, 0xFF, 0xFE, 0x75, + 0x88, 0x66, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x5C, 0xFA, 0x57, 0xDF, 0xFF, 0xD8, 0x55, + 0x87, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x6D, 0xFA, 0x55, 0x68, 0xA9, 0x65, 0x55, + 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x7D, 0xFA, 0x56, 0x65, 0x55, 0x55, 0x56, + 0x88, 0x78, 0xDF, 0xA8, 0xFF, 0xFE, 0x8A, 0xFC, 0x65, 0x6D, 0xFA, 0x56, 0x77, 0x65, 0x56, 0x67, + 0x88, 0x87, 0x78, 0x55, 0xEF, 0xFD, 0x55, 0x86, 0x55, 0x5D, 0xFA, 0x56, 0x88, 0x77, 0x77, 0x88, + 0x88, 0x88, 0x65, 0x55, 0xBE, 0xEA, 0x55, 0x55, 0x55, 0x6B, 0xD8, 0x56, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x66, 0x76, 0x65, 0x56, 0x76, 0x68, 0xA9, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x77, 0x76, 0x55, 0x56, 0x87, 0x7B, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x67, 0x88, 0x78, 0xEF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x87, 0xAF, 0xFF, 0x95, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7D, 0xFD, 0x65, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xF8, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x96, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp b/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp index 6bc96968dac4..5382ff7558ed 100644 --- a/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp @@ -70,11 +70,11 @@ extern const uint8_t bed_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, @@ -111,37 +111,37 @@ extern const uint8_t bed_heated_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9b, 0x97, 0x88, 0x88, 0x87, 0x8b, 0xa8, 0x78, 0x88, 0x87, 0x8b, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xf9, 0x78, 0x88, 0x78, 0xdf, 0xfb, 0x78, 0x88, 0x77, 0xcf, 0xfc, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xfd, 0x77, 0x88, 0x79, 0xff, 0xff, 0x87, 0x88, 0x78, 0xdf, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0x86, 0x88, 0x78, 0xdf, 0xff, 0xb6, 0x88, 0x77, 0xcf, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xb6, 0x78, 0x87, 0x9f, 0xff, 0xd6, 0x78, 0x87, 0x8e, 0xff, 0xf7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0xff, 0xe6, 0x68, 0x87, 0x7d, 0xff, 0xe7, 0x68, 0x88, 0x7a, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7d, 0xff, 0xe5, 0x67, 0x87, 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x79, 0xff, 0xfa, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xe6, 0x57, 0x87, 0x8c, 0xff, 0xf7, 0x57, 0x88, 0x7a, 0xff, 0xfa, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xd5, 0x57, 0x87, 0x8e, 0xff, 0xe6, 0x57, 0x88, 0x7c, 0xff, 0xf8, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xa5, 0x57, 0x87, 0xaf, 0xff, 0xd5, 0x57, 0x87, 0x9f, 0xff, 0xe6, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0x75, 0x57, 0x78, 0xef, 0xff, 0xa5, 0x57, 0x87, 0xcf, 0xff, 0xb5, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xfb, 0x55, 0x67, 0x7b, 0xff, 0xfe, 0x65, 0x57, 0x79, 0xff, 0xff, 0x85, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xf7, 0x55, 0x67, 0x8e, 0xff, 0xf8, 0x55, 0x67, 0x7d, 0xff, 0xfb, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x55, 0x77, 0x9f, 0xff, 0xd6, 0x55, 0x77, 0x8f, 0xff, 0xe7, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0x75, 0x56, 0x87, 0xbf, 0xff, 0xa5, 0x56, 0x77, 0xaf, 0xff, 0xb5, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xfd, 0x65, 0x67, 0x77, 0xcf, 0xff, 0x85, 0x57, 0x87, 0xbf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xfd, 0x55, 0x68, 0x77, 0xcf, 0xff, 0x75, 0x68, 0x87, 0xbf, 0xff, 0x95, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0x65, 0x78, 0x77, 0xbf, 0xff, 0x95, 0x68, 0x87, 0xaf, 0xff, 0xb5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x78, 0x87, 0xaf, 0xff, 0xd6, 0x68, 0x87, 0x9f, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xf8, 0x68, 0x87, 0x8e, 0xff, 0xf9, 0x68, 0x87, 0x7c, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xfa, 0x58, 0x88, 0x7b, 0xff, 0xfc, 0x57, 0x88, 0x78, 0xff, 0xfe, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xd7, 0x57, 0x88, 0x87, 0xbf, 0xf8, 0x56, 0x88, 0x87, 0xaf, 0xfa, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9B, 0x97, 0x88, 0x88, 0x87, 0x8B, 0xA8, 0x78, 0x88, 0x87, 0x8B, 0xB8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xF9, 0x78, 0x88, 0x78, 0xDF, 0xFB, 0x78, 0x88, 0x77, 0xCF, 0xFC, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFD, 0x77, 0x88, 0x79, 0xFF, 0xFF, 0x87, 0x88, 0x78, 0xDF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0x86, 0x88, 0x78, 0xDF, 0xFF, 0xB6, 0x88, 0x77, 0xCF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xB6, 0x78, 0x87, 0x9F, 0xFF, 0xD6, 0x78, 0x87, 0x8E, 0xFF, 0xF7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7D, 0xFF, 0xE6, 0x68, 0x87, 0x7D, 0xFF, 0xE7, 0x68, 0x88, 0x7A, 0xFF, 0xF9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7D, 0xFF, 0xE5, 0x67, 0x87, 0x7B, 0xFF, 0xF7, 0x57, 0x88, 0x79, 0xFF, 0xFA, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xE6, 0x57, 0x87, 0x8C, 0xFF, 0xF7, 0x57, 0x88, 0x7A, 0xFF, 0xFA, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xD5, 0x57, 0x87, 0x8E, 0xFF, 0xE6, 0x57, 0x88, 0x7C, 0xFF, 0xF8, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xA5, 0x57, 0x87, 0xAF, 0xFF, 0xD5, 0x57, 0x87, 0x9F, 0xFF, 0xE6, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0x75, 0x57, 0x78, 0xEF, 0xFF, 0xA5, 0x57, 0x87, 0xCF, 0xFF, 0xB5, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFB, 0x55, 0x67, 0x7B, 0xFF, 0xFE, 0x65, 0x57, 0x79, 0xFF, 0xFF, 0x85, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xF7, 0x55, 0x67, 0x8E, 0xFF, 0xF8, 0x55, 0x67, 0x7D, 0xFF, 0xFB, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xCF, 0xFF, 0xB5, 0x55, 0x77, 0x9F, 0xFF, 0xD6, 0x55, 0x77, 0x8F, 0xFF, 0xE7, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xDF, 0xFF, 0x75, 0x56, 0x87, 0xBF, 0xFF, 0xA5, 0x56, 0x77, 0xAF, 0xFF, 0xB5, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFD, 0x65, 0x67, 0x77, 0xCF, 0xFF, 0x85, 0x57, 0x87, 0xBF, 0xFF, 0x95, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xEF, 0xFD, 0x55, 0x68, 0x77, 0xCF, 0xFF, 0x75, 0x68, 0x87, 0xBF, 0xFF, 0x95, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0x65, 0x78, 0x77, 0xBF, 0xFF, 0x95, 0x68, 0x87, 0xAF, 0xFF, 0xB5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xCF, 0xFF, 0xB5, 0x78, 0x87, 0xAF, 0xFF, 0xD6, 0x68, 0x87, 0x9F, 0xFF, 0xE7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xF8, 0x68, 0x87, 0x8E, 0xFF, 0xF9, 0x68, 0x87, 0x7C, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFA, 0x58, 0x88, 0x7B, 0xFF, 0xFC, 0x57, 0x88, 0x78, 0xFF, 0xFE, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xDF, 0xD7, 0x57, 0x88, 0x87, 0xBF, 0xF8, 0x56, 0x88, 0x87, 0xAF, 0xFA, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0x75, 0x56, 0x88, 0x87, 0x68, 0x85, 0x56, 0x78, 0x87, 0x68, 0x85, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x55, 0x57, 0x88, 0x88, 0x75, 0x55, 0x56, 0x88, 0x88, 0x75, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x46, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEA, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/home_64x64x4.cpp b/Marlin/src/lcd/tft/images/home_64x64x4.cpp index 107c76e54ef3..27384c99c0f7 100644 --- a/Marlin/src/lcd/tft/images/home_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/home_64x64x4.cpp @@ -31,57 +31,57 @@ extern const uint8_t home_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0x88, 0x76, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9d, 0xff, 0xea, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x40, 0xbf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf6, 0x54, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x57, 0xff, 0x80, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xbf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xa, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, 0x88, - 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xaf, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, - 0x88, 0x69, 0xff, 0xff, 0xff, 0xf5, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xb, 0xff, 0xff, 0xff, 0xc6, 0x78, 0x88, - 0x87, 0x7f, 0xff, 0xff, 0xff, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0xbf, 0xff, 0xff, 0xfb, 0x68, 0x88, - 0x87, 0x7f, 0xff, 0xff, 0xf7, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xb, 0xff, 0xff, 0xfd, 0x67, 0x88, - 0x87, 0x3d, 0xff, 0xff, 0x75, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x30, 0xbf, 0xff, 0xfa, 0x68, 0x88, - 0x88, 0x44, 0xce, 0xd7, 0x58, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x74, 0x19, 0xee, 0xa6, 0x88, 0x88, - 0x88, 0x73, 0x24, 0x56, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x52, 0x35, 0x68, 0x88, 0x88, - 0x88, 0x87, 0x66, 0x78, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x87, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0x44, 0x44, 0x44, 0x12, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x72, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x84, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0x4c, 0xee, 0xee, 0xee, 0xee, 0xee, 0xff, 0x97, 0x88, 0x88, 0x88, 0x84, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9D, 0xFF, 0xEA, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x40, 0xBF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF6, 0x54, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x57, 0xFF, 0x80, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xBF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, 0x88, + 0x88, 0x86, 0x9F, 0xFF, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xAF, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, + 0x88, 0x69, 0xFF, 0xFF, 0xFF, 0xF5, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xB, 0xFF, 0xFF, 0xFF, 0xC6, 0x78, 0x88, + 0x87, 0x7F, 0xFF, 0xFF, 0xFF, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0xBF, 0xFF, 0xFF, 0xFB, 0x68, 0x88, + 0x87, 0x7F, 0xFF, 0xFF, 0xF7, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xB, 0xFF, 0xFF, 0xFD, 0x67, 0x88, + 0x87, 0x3D, 0xFF, 0xFF, 0x75, 0x59, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x30, 0xBF, 0xFF, 0xFA, 0x68, 0x88, + 0x88, 0x44, 0xCE, 0xD7, 0x58, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x74, 0x19, 0xEE, 0xA6, 0x88, 0x88, + 0x88, 0x73, 0x24, 0x56, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x52, 0x35, 0x68, 0x88, 0x88, + 0x88, 0x87, 0x66, 0x78, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x87, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x55, 0x55, 0x55, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x92, 0x44, 0x44, 0x44, 0x12, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x77, 0x88, 0x88, 0x88, 0x72, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x88, 0x88, 0x88, 0x84, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0x4C, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFF, 0x97, 0x88, 0x88, 0x88, 0x84, 0xAE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEA, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x32, 0x44, 0x44, 0x44, 0x44, 0x33, 0x57, 0x88, 0x88, 0x88, 0x88, 0x86, 0x43, 0x34, 0x44, 0x44, 0x44, 0x34, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp b/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp index 7dbf5f0ab115..7b068aa7e404 100644 --- a/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp @@ -36,45 +36,45 @@ extern const uint8_t hotend_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xaa, 0xaa, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x9a, 0xaa, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xee, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x77, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x55, 0x57, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x55, 0x55, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x65, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x75, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x55, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x58, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x85, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x55, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x95, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xcf, 0xff, 0xff, 0xff, 0xd7, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x5a, 0xff, 0xff, 0xfb, 0x65, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8d, 0xfe, 0xa5, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xA7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8A, 0xAA, 0xAA, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x9A, 0xAA, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xEE, 0xEE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEE, 0xA5, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA7, 0x77, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x55, 0x57, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0x55, 0x55, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x65, 0x6C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x75, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x65, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x55, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x58, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x85, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x55, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x95, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xCF, 0xFF, 0xFF, 0xFF, 0xD7, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x5A, 0xFF, 0xFF, 0xFB, 0x65, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8D, 0xFE, 0xA5, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x87, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/increase_64x64x4.cpp b/Marlin/src/lcd/tft/images/increase_64x64x4.cpp index c6f34d1affc2..710fe8e78e13 100644 --- a/Marlin/src/lcd/tft/images/increase_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/increase_64x64x4.cpp @@ -40,40 +40,40 @@ extern const uint8_t increase_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9b, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x99, 0x99, 0x99, 0x99, 0x99, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xee, 0xee, 0xee, 0xee, 0xa6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0xBC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x99, 0x99, 0x99, 0x99, 0x99, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xEE, 0xEE, 0xEE, 0xEE, 0xA6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/left_32x32x4.cpp b/Marlin/src/lcd/tft/images/left_32x32x4.cpp index a855f0c19706..486518d5085d 100644 --- a/Marlin/src/lcd/tft/images/left_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/left_32x32x4.cpp @@ -28,31 +28,31 @@ extern const uint8_t left_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfb, 0x46, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfb, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xb3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xfb, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfa, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xf6, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x76, 0xbf, 0xff, 0xff, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x3b, 0xff, 0xff, 0xf8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x73, 0xcf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x3c, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xcf, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3b, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xbf, 0xff, 0xff, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xbf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xcf, 0x93, 0x34, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xF7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFB, 0x46, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xA3, 0x34, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFB, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xB3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFB, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xA3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFA, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xA3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFA, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xF6, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x76, 0xBF, 0xFF, 0xFF, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x3B, 0xFF, 0xFF, 0xF8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x73, 0xCF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x3C, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xCF, 0xFF, 0xFF, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3B, 0xFF, 0xFF, 0xF7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xBF, 0xFF, 0xFF, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4B, 0xFF, 0xFF, 0xF8, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xBF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4B, 0xFF, 0xF9, 0x46, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xCF, 0x93, 0x34, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4B, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x73, 0x34, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp b/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp index f0bb73e93523..3243d7f27f35 100644 --- a/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp @@ -33,22 +33,22 @@ extern const uint8_t leveling_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0x99, 0x99, 0x99, 0x99, 0x87, 0x78, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x88, 0x87, 0x7b, 0x77, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x88, 0x87, 0x8f, 0x97, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x88, 0x77, 0xef, 0xf5, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x88, 0x7a, 0xff, 0xfc, 0x78, 0x88, 0x88, - 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x7a, 0x88, 0x88, 0x58, 0x88, 0x88, - 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x66, 0x87, 0x45, 0x55, 0x57, 0x88, 0x88, - 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x85, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x56, 0x7c, 0xff, 0xfe, 0x67, 0x88, 0x88, - 0x88, 0x88, 0x86, 0x55, 0xef, 0xff, 0xff, 0xf9, 0x45, 0x57, 0x86, 0xff, 0xf5, 0x57, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x4c, 0xff, 0xff, 0x74, 0x57, 0x88, 0x87, 0x8f, 0xa4, 0x68, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x84, 0x9f, 0xd5, 0x45, 0x78, 0x88, 0x88, 0x7c, 0x55, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x88, 0x87, 0x7B, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC4, 0x88, 0x87, 0x8F, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x88, 0x77, 0xEF, 0xF5, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x77, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x88, 0x7A, 0xFF, 0xFC, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x7A, 0x88, 0x88, 0x58, 0x88, 0x88, + 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x66, 0x87, 0x45, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x76, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x85, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC5, 0x56, 0x7C, 0xFF, 0xFE, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x55, 0xEF, 0xFF, 0xFF, 0xF9, 0x45, 0x57, 0x86, 0xFF, 0xF5, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x4C, 0xFF, 0xFF, 0x74, 0x57, 0x88, 0x87, 0x8F, 0xA4, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0x9F, 0xD5, 0x45, 0x78, 0x88, 0x88, 0x7C, 0x55, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x65, 0x55, 0x68, 0x87, 0x77, 0x77, 0x86, 0x57, 0x87, 0x77, 0x78, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x56, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, - 0x7b, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xb7, - 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, - 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, + 0x7B, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xB7, + 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, + 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x78, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/menu_64x64x4.cpp b/Marlin/src/lcd/tft/images/menu_64x64x4.cpp index 89cd56b8dc3e..bbbe66ab1ba1 100644 --- a/Marlin/src/lcd/tft/images/menu_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/menu_64x64x4.cpp @@ -33,52 +33,52 @@ extern const uint8_t menu_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFA, 0x78, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFA, 0x66, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xBB, 0xA7, 0x67, 0x88, 0x88, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xA6, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFA, 0x78, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFA, 0x66, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xBB, 0xA7, 0x67, 0x88, 0x88, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xA6, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFA, 0x78, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFA, 0x66, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xBB, 0xA7, 0x67, 0x88, 0x88, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xA6, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFA, 0x78, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFA, 0x66, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xBB, 0xA7, 0x67, 0x88, 0x88, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xA6, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x9A, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFA, 0x78, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xFB, 0x66, 0x88, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFA, 0x66, 0x88, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8A, 0xBB, 0xA7, 0x67, 0x88, 0x88, 0xAB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xA6, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/pause_64x64x4.cpp b/Marlin/src/lcd/tft/images/pause_64x64x4.cpp index b88651c1060c..3079b22a17c9 100644 --- a/Marlin/src/lcd/tft/images/pause_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/pause_64x64x4.cpp @@ -39,42 +39,42 @@ extern const uint8_t pause_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x67, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x78, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x78, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x67, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x67, 0x88, 0x88, 0x87, 0x8D, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp b/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp index 48ca294ca100..f8548d2837a4 100644 --- a/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp @@ -30,28 +30,28 @@ extern const uint8_t refresh_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0x57, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0x9a, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xce, 0xff, 0xfd, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x6a, 0xff, 0x55, 0x5c, 0xff, 0xd7, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xa7, 0x78, 0x86, 0x9f, 0x57, 0x75, 0x8f, 0xfb, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xfc, 0x78, 0x88, 0x69, 0x67, 0x88, 0x69, 0xff, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7c, 0xff, 0x58, 0x88, 0x87, 0x58, 0x88, 0x86, 0xff, 0xa7, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7e, 0xfa, 0x58, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xe5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7f, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xf5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7f, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xf5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7e, 0xfa, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xe5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7c, 0xff, 0x68, 0x88, 0x87, 0x78, 0x88, 0x77, 0xff, 0xa5, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x78, 0xff, 0xa7, 0x88, 0x78, 0xb7, 0x88, 0x77, 0xbf, 0x66, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0xbf, 0xf9, 0x77, 0x77, 0xfb, 0x78, 0x88, 0x68, 0x57, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x6d, 0xff, 0xd8, 0x77, 0xff, 0xb7, 0x78, 0x87, 0x68, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x85, 0xcf, 0xff, 0xfd, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x57, 0xef, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x89, 0xff, 0xf8, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0xff, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xf7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0x57, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0x9A, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFE, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xFF, 0xCE, 0xFF, 0xFD, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x6A, 0xFF, 0x55, 0x5C, 0xFF, 0xD7, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xA7, 0x78, 0x86, 0x9F, 0x57, 0x75, 0x8F, 0xFB, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xFC, 0x78, 0x88, 0x69, 0x67, 0x88, 0x69, 0xFF, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7C, 0xFF, 0x58, 0x88, 0x87, 0x58, 0x88, 0x86, 0xFF, 0xA7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7E, 0xFA, 0x58, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xE5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7F, 0xF8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xF5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7F, 0xF8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAF, 0xF5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7E, 0xFA, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xCF, 0xE5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7C, 0xFF, 0x68, 0x88, 0x87, 0x78, 0x88, 0x77, 0xFF, 0xA5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xFF, 0xA7, 0x88, 0x78, 0xB7, 0x88, 0x77, 0xBF, 0x66, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xBF, 0xF9, 0x77, 0x77, 0xFB, 0x78, 0x88, 0x68, 0x57, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x6D, 0xFF, 0xD8, 0x77, 0xFF, 0xB7, 0x78, 0x87, 0x68, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x85, 0xCF, 0xFF, 0xFD, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x57, 0xEF, 0xFF, 0xFF, 0xFF, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x89, 0xFF, 0xF8, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0xFF, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xF7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/right_32x32x4.cpp b/Marlin/src/lcd/tft/images/right_32x32x4.cpp index 6ca5867e98ad..ab9c36eae069 100644 --- a/Marlin/src/lcd/tft/images/right_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/right_32x32x4.cpp @@ -28,31 +28,31 @@ extern const uint8_t right_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x84, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x3a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x4a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0x9f, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x49, 0xff, 0xff, 0xfa, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc4, 0x36, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfc, 0x33, 0x46, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfd, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xd3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xfc, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xff, 0xff, 0xc3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xc4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x8a, 0xff, 0xfc, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x84, 0x8f, 0xc4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x4a, 0x53, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x8F, 0xA7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xFF, 0xF9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xF9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0xAF, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x3A, 0xFF, 0xFF, 0xF9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xAF, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3A, 0xFF, 0xFF, 0xF9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xAF, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x4A, 0xFF, 0xFF, 0xF9, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0x9F, 0xFF, 0xFF, 0x97, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x49, 0xFF, 0xFF, 0xFA, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xFF, 0xFF, 0xFC, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xC4, 0x36, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFC, 0x33, 0x46, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xC3, 0x34, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFD, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xD3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xFF, 0xFF, 0xFC, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x8F, 0xFF, 0xFF, 0xC3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xFF, 0xFF, 0xFC, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xC4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8A, 0xFF, 0xFC, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0x8F, 0xC4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x4A, 0x53, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x84, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/sd_64x64x4.cpp b/Marlin/src/lcd/tft/images/sd_64x64x4.cpp index 6991ff68c96e..3f786f46caa8 100644 --- a/Marlin/src/lcd/tft/images/sd_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/sd_64x64x4.cpp @@ -32,54 +32,54 @@ extern const uint8_t sd_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xfe, 0xdf, 0xff, 0xfd, 0xef, 0xff, 0xde, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0xbf, 0xfa, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x59, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x3a, 0xff, 0xa3, 0x9f, 0xfb, 0x48, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x3a, 0xff, 0xa3, 0xaf, 0xfb, 0x39, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xcf, 0xfa, 0x5b, 0xff, 0xb5, 0xbf, 0xfc, 0x5a, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0xFF, 0xFE, 0xDF, 0xFF, 0xFD, 0xEF, 0xFF, 0xDE, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0xBF, 0xFA, 0x4B, 0xFF, 0xA4, 0xAF, 0xFB, 0x59, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xBF, 0xF9, 0x3A, 0xFF, 0xA3, 0x9F, 0xFB, 0x48, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xBF, 0xF9, 0x4B, 0xFF, 0xA4, 0xAF, 0xFB, 0x49, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xCF, 0xF9, 0x4B, 0xFF, 0xA4, 0xAF, 0xFB, 0x49, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xCF, 0xF9, 0x4B, 0xFF, 0xA4, 0xAF, 0xFB, 0x49, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xCF, 0xF9, 0x4B, 0xFF, 0xA4, 0xAF, 0xFB, 0x49, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x84, 0xBF, 0xF9, 0x3A, 0xFF, 0xA3, 0xAF, 0xFB, 0x39, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0xCF, 0xFA, 0x5B, 0xFF, 0xB5, 0xBF, 0xFC, 0x5A, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/settings_64x64x4.cpp b/Marlin/src/lcd/tft/images/settings_64x64x4.cpp index 7a9c84fdffa2..093e7ff61ef8 100644 --- a/Marlin/src/lcd/tft/images/settings_64x64x4.cpp +++ b/Marlin/src/lcd/tft/images/settings_64x64x4.cpp @@ -32,54 +32,54 @@ extern const uint8_t settings_64x64x4[2048] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xad, 0xdd, 0xdd, 0xd9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x77, 0xef, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x87, 0x78, 0x79, 0xff, 0xff, 0xff, 0xfd, 0x67, 0x87, 0x78, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xeb, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0x75, 0x78, 0xce, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xea, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xbf, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x98, 0x8a, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xfb, 0x65, 0x55, 0x55, 0x57, 0xdf, 0xff, 0xff, 0xff, 0xb5, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x6c, 0xff, 0xff, 0xff, 0x95, 0x56, 0x66, 0x66, 0x65, 0x5b, 0xff, 0xff, 0xff, 0x95, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0xaf, 0xff, 0xff, 0xfa, 0x56, 0x66, 0x67, 0x77, 0x77, 0x65, 0xdf, 0xff, 0xff, 0xd7, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xce, 0xff, 0xff, 0xff, 0xd5, 0x56, 0x67, 0x88, 0x88, 0x88, 0x86, 0x7f, 0xff, 0xff, 0xff, 0xdb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x75, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x79, 0xcf, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xfc, 0x96, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x55, 0x55, 0x58, 0xdf, 0xfd, 0x77, 0x78, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xa5, 0x56, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9c, 0xdd, 0xdb, 0x96, 0x55, 0x5b, 0xff, 0xd8, 0x77, 0x77, 0x77, 0x77, 0xaf, 0xff, 0xff, 0xff, 0x95, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xad, 0xff, 0xff, 0xff, 0xfe, 0xb7, 0x55, 0xbf, 0xfe, 0xb9, 0x77, 0x78, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x86, 0x6d, 0xff, 0xff, 0xed, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xb7, 0x56, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x86, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xc6, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xfd, 0xef, 0xff, 0xfe, 0x75, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xfc, 0x59, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x66, 0x68, 0xbd, 0xff, 0xff, 0xa5, 0x7b, 0xff, 0xe7, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xfd, 0x66, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x66, 0x55, 0x56, 0x8a, 0xee, 0x65, 0x55, 0x7a, 0x75, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0x75, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x97, 0x55, 0x55, 0x66, 0x66, 0x66, 0x55, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfe, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xca, 0x76, 0x55, 0x56, 0x78, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0x97, 0x9d, 0xff, 0xd5, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x97, 0x66, 0x77, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x7b, 0xfd, 0xa7, 0x9a, 0x68, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xc9, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xba, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x89, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xef, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x55, 0x57, 0x9b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x87, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x6a, 0xdf, 0xff, 0xfe, 0xb8, 0x55, 0x66, 0x65, 0x55, 0x69, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x67, 0x77, 0x76, 0x55, 0x66, 0x67, 0x76, 0x66, 0x55, 0x56, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x66, 0x66, 0x78, 0x88, 0x87, 0x76, 0x65, 0x55, 0x68, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x76, 0x66, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x55, 0x55, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0xf8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x65, 0x55, 0x67, 0x9c, 0xef, 0xff, 0xb5, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x55, 0x55, 0x79, 0xb9, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xAD, 0xDD, 0xDD, 0xD9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x77, 0xEF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x87, 0x78, 0x79, 0xFF, 0xFF, 0xFF, 0xFD, 0x67, 0x87, 0x78, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8D, 0xEB, 0x87, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0x78, 0xCE, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xEA, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0xBF, 0xFF, 0xFB, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0x98, 0x8A, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFB, 0x65, 0x55, 0x55, 0x57, 0xDF, 0xFF, 0xFF, 0xFF, 0xB5, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x6C, 0xFF, 0xFF, 0xFF, 0x95, 0x56, 0x66, 0x66, 0x65, 0x5B, 0xFF, 0xFF, 0xFF, 0x95, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0xAF, 0xFF, 0xFF, 0xFA, 0x56, 0x66, 0x67, 0x77, 0x77, 0x65, 0xDF, 0xFF, 0xFF, 0xD7, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xCE, 0xFF, 0xFF, 0xFF, 0xD5, 0x56, 0x67, 0x88, 0x88, 0x88, 0x86, 0x7F, 0xFF, 0xFF, 0xFF, 0xDB, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x6C, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFE, 0x75, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFD, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFE, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFF, 0xFF, 0xE5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8C, 0xEF, 0xFF, 0xFF, 0xFF, 0xA5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xFF, 0xFF, 0xFF, 0xFE, 0xA5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x79, 0xCF, 0xFF, 0xE7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xFC, 0x96, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x55, 0x55, 0x58, 0xDF, 0xFD, 0x77, 0x78, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFF, 0xA5, 0x56, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9C, 0xDD, 0xDB, 0x96, 0x55, 0x5B, 0xFF, 0xD8, 0x77, 0x77, 0x77, 0x77, 0xAF, 0xFF, 0xFF, 0xFF, 0x95, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAD, 0xFF, 0xFF, 0xFF, 0xFE, 0xB7, 0x55, 0xBF, 0xFE, 0xB9, 0x77, 0x78, 0x9C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x86, 0x6D, 0xFF, 0xFF, 0xED, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x77, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xB7, 0x56, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xC6, 0x5D, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x8C, 0xEF, 0xFF, 0xFF, 0xFF, 0xFD, 0xEF, 0xFF, 0xFE, 0x75, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7A, 0xFF, 0xFF, 0xFC, 0x59, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x66, 0x68, 0xBD, 0xFF, 0xFF, 0xA5, 0x7B, 0xFF, 0xE7, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7B, 0xFF, 0xFF, 0xFD, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x66, 0x55, 0x56, 0x8A, 0xEE, 0x65, 0x55, 0x7A, 0x75, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xFF, 0x75, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x97, 0x55, 0x55, 0x66, 0x66, 0x66, 0x55, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xFF, 0xFF, 0xFE, 0x65, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xCA, 0x76, 0x55, 0x56, 0x78, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0x97, 0x9D, 0xFF, 0xD5, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x97, 0x66, 0x77, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7B, 0xFD, 0xA7, 0x9A, 0x68, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xFF, 0xFF, 0xC9, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xB8, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBA, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x89, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x55, 0x57, 0x9B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x96, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x6A, 0xDF, 0xFF, 0xFE, 0xB8, 0x55, 0x66, 0x65, 0x55, 0x69, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x67, 0x77, 0x76, 0x55, 0x66, 0x67, 0x76, 0x66, 0x55, 0x56, 0x7B, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x65, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x66, 0x66, 0x78, 0x88, 0x87, 0x76, 0x65, 0x55, 0x68, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x76, 0x66, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x55, 0x55, 0x8A, 0xDF, 0xFF, 0xFF, 0xFF, 0xF8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x65, 0x55, 0x67, 0x9C, 0xEF, 0xFF, 0xB5, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x55, 0x55, 0x79, 0xB9, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x55, 0x55, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/tft/images/slider_8x16x4.cpp b/Marlin/src/lcd/tft/images/slider_8x16x4.cpp index 9fb8c42c2878..2839cd980634 100644 --- a/Marlin/src/lcd/tft/images/slider_8x16x4.cpp +++ b/Marlin/src/lcd/tft/images/slider_8x16x4.cpp @@ -25,22 +25,22 @@ #if HAS_GRAPHICAL_TFT extern const uint8_t slider_8x16x4[64] = { - 0x88, 0xff, 0xff, 0x88, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x8f, 0xff, 0xff, 0xf8, - 0x88, 0xff, 0xff, 0x88, + 0x88, 0xFF, 0xFF, 0x88, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x8F, 0xFF, 0xFF, 0xF8, + 0x88, 0xFF, 0xFF, 0x88, }; #endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/up_32x32x4.cpp b/Marlin/src/lcd/tft/images/up_32x32x4.cpp index 59bae8aef0a4..b36a028cc909 100644 --- a/Marlin/src/lcd/tft/images/up_32x32x4.cpp +++ b/Marlin/src/lcd/tft/images/up_32x32x4.cpp @@ -32,21 +32,21 @@ extern const uint8_t up_32x32x4[512] = { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xad, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xb3, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfb, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xc3, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x78, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa6, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x6f, 0xff, 0xff, 0xb4, 0x78, 0x88, 0x88, 0x88, - 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x78, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, 0x88, - 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x47, 0x87, 0x8f, 0xff, 0xff, 0xb4, 0x78, 0x88, 0x88, - 0x88, 0x77, 0xaf, 0xff, 0xff, 0xb3, 0x44, 0x78, 0x87, 0x78, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, - 0x88, 0x7a, 0xff, 0xff, 0xfb, 0x34, 0x47, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xc4, 0x78, 0x88, - 0x88, 0x7f, 0xff, 0xff, 0xb3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x77, 0xff, 0xff, 0xfb, 0x37, 0x88, - 0x88, 0x78, 0xff, 0xfa, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0x93, 0x34, 0x88, - 0x88, 0x77, 0x7f, 0xb3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xf9, 0x34, 0x47, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xAD, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xB3, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9F, 0xFF, 0xFB, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xFF, 0xFF, 0xFF, 0xC3, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9F, 0xFF, 0xFF, 0xFF, 0xFC, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xA6, 0xFF, 0xFF, 0xFB, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFA, 0x33, 0x6F, 0xFF, 0xFF, 0xB4, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xA3, 0x34, 0x78, 0xFF, 0xFF, 0xFB, 0x47, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x7A, 0xFF, 0xFF, 0xFA, 0x33, 0x47, 0x87, 0x8F, 0xFF, 0xFF, 0xB4, 0x78, 0x88, 0x88, + 0x88, 0x77, 0xAF, 0xFF, 0xFF, 0xB3, 0x44, 0x78, 0x87, 0x78, 0xFF, 0xFF, 0xFB, 0x47, 0x88, 0x88, + 0x88, 0x7A, 0xFF, 0xFF, 0xFB, 0x34, 0x47, 0x88, 0x88, 0x87, 0x7F, 0xFF, 0xFF, 0xC4, 0x78, 0x88, + 0x88, 0x7F, 0xFF, 0xFF, 0xB3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x77, 0xFF, 0xFF, 0xFB, 0x37, 0x88, + 0x88, 0x78, 0xFF, 0xFA, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8F, 0xFF, 0x93, 0x34, 0x88, + 0x88, 0x77, 0x7F, 0xB3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xF9, 0x34, 0x47, 0x88, 0x88, 0x87, 0x78, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x84, 0x34, 0x88, 0x88, 0x88, 0x88, 0x87, 0x64, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 92dd63389fb6..58e6d9473b35 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -41,7 +41,7 @@ MarlinUI ui; #include "fontutils.h" #include "../sd/cardreader.h" #if EITHER(EXTENSIBLE_UI, DWIN_CREALITY_LCD) - #define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) + #define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80U) #endif #endif diff --git a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h index fba1d41a94b0..55a809efab91 100644 --- a/Marlin/src/pins/stm32f1/pins_FLY_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_FLY_MINI.h @@ -138,7 +138,7 @@ #define MISO_PIN PB14 #define MOSI_PIN PB15 -#define SDSS SS_PIN +#define SDSS SS_PIN #define SD_DETECT_PIN PB11 #define BEEPER_PIN PC14 diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h index 838b927678ab..d94958dd5492 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/UsbCore.h @@ -78,16 +78,16 @@ typedef MAX3421e MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega #define USB_CLASS_PRINTER 0x07 // Printer #define USB_CLASS_MASS_STORAGE 0x08 // Mass Storage #define USB_CLASS_HUB 0x09 // Hub -#define USB_CLASS_CDC_DATA 0x0a // CDC-Data -#define USB_CLASS_SMART_CARD 0x0b // Smart-Card -#define USB_CLASS_CONTENT_SECURITY 0x0d // Content Security -#define USB_CLASS_VIDEO 0x0e // Video -#define USB_CLASS_PERSONAL_HEALTH 0x0f // Personal Healthcare -#define USB_CLASS_DIAGNOSTIC_DEVICE 0xdc // Diagnostic Device -#define USB_CLASS_WIRELESS_CTRL 0xe0 // Wireless Controller -#define USB_CLASS_MISC 0xef // Miscellaneous -#define USB_CLASS_APP_SPECIFIC 0xfe // Application Specific -#define USB_CLASS_VENDOR_SPECIFIC 0xff // Vendor Specific +#define USB_CLASS_CDC_DATA 0x0A // CDC-Data +#define USB_CLASS_SMART_CARD 0x0B // Smart-Card +#define USB_CLASS_CONTENT_SECURITY 0x0D // Content Security +#define USB_CLASS_VIDEO 0x0E // Video +#define USB_CLASS_PERSONAL_HEALTH 0x0F // Personal Healthcare +#define USB_CLASS_DIAGNOSTIC_DEVICE 0xDC // Diagnostic Device +#define USB_CLASS_WIRELESS_CTRL 0xE0 // Wireless Controller +#define USB_CLASS_MISC 0xEF // Miscellaneous +#define USB_CLASS_APP_SPECIFIC 0xFE // Application Specific +#define USB_CLASS_VENDOR_SPECIFIC 0xFF // Vendor Specific // Additional Error Codes #define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED 0xD1 @@ -117,7 +117,7 @@ typedef MAX3421e MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega #define HUB_PORT_RESET_DELAY 20 // hub port reset delay 10 ms recomended, can be up to 20 ms /* USB state machine states */ -#define USB_STATE_MASK 0xf0 +#define USB_STATE_MASK 0xF0 #define USB_STATE_DETACHED 0x10 #define USB_DETACHED_SUBSTATE_INITIALIZE 0x11 @@ -132,7 +132,7 @@ typedef MAX3421e MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega #define USB_STATE_ADDRESSING 0x70 #define USB_STATE_CONFIGURING 0x80 #define USB_STATE_RUNNING 0x90 -#define USB_STATE_ERROR 0xa0 +#define USB_STATE_ERROR 0xA0 class USBDeviceConfig { public: diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/macros.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/macros.h index 40e3e02a2f90..8cb5b6bf37e8 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/macros.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/macros.h @@ -52,16 +52,16 @@ #define BGRAB7(__usi__) (((uint8_t *)&(__usi__))[7]) #else // Note: The cast alone to uint8_t is actually enough. -// GCC throws out the "& 0xff", and the size is no different. +// GCC throws out the "& 0xFF", and the size is no different. // Some compilers need it. -#define BGRAB0(__usi__) ((uint8_t)((__usi__) & 0xff )) -#define BGRAB1(__usi__) ((uint8_t)(((__usi__) >> 8) & 0xff)) -#define BGRAB2(__usi__) ((uint8_t)(((__usi__) >> 16) & 0xff)) -#define BGRAB3(__usi__) ((uint8_t)(((__usi__) >> 24) & 0xff)) -#define BGRAB4(__usi__) ((uint8_t)(((__usi__) >> 32) & 0xff)) -#define BGRAB5(__usi__) ((uint8_t)(((__usi__) >> 40) & 0xff)) -#define BGRAB6(__usi__) ((uint8_t)(((__usi__) >> 48) & 0xff)) -#define BGRAB7(__usi__) ((uint8_t)(((__usi__) >> 56) & 0xff)) +#define BGRAB0(__usi__) ((uint8_t)((__usi__) & 0xFF )) +#define BGRAB1(__usi__) ((uint8_t)(((__usi__) >> 8) & 0xFF)) +#define BGRAB2(__usi__) ((uint8_t)(((__usi__) >> 16) & 0xFF)) +#define BGRAB3(__usi__) ((uint8_t)(((__usi__) >> 24) & 0xFF)) +#define BGRAB4(__usi__) ((uint8_t)(((__usi__) >> 32) & 0xFF)) +#define BGRAB5(__usi__) ((uint8_t)(((__usi__) >> 40) & 0xFF)) +#define BGRAB6(__usi__) ((uint8_t)(((__usi__) >> 48) & 0xFF)) +#define BGRAB7(__usi__) ((uint8_t)(((__usi__) >> 56) & 0xFF)) #endif #define BOVER1(__usi__) ((uint16_t)(__usi__) << 8) #define BOVER2(__usi__) ((uint32_t)(__usi__) << 16) diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp index d707a41a2702..a84a68320413 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp @@ -439,7 +439,7 @@ uint8_t BulkOnly::Init(uint8_t parent __attribute__((unused)), uint8_t port __at printf(" standards.\r\n"); #endif - uint8_t tries = 0xf0; + uint8_t tries = 0xF0; while ((rcode = TestUnitReady(lun))) { if (rcode == 0x08) break; // break on no media, this is OK to do. // try to lock media and spin up @@ -765,7 +765,7 @@ uint8_t BulkOnly::Page3F(uint8_t lun) { #ifdef SKIP_WRITE_PROTECT return 0; #endif - uint8_t rc = ModeSense6(lun, 0, 0x3f, 0, 192, buf); + uint8_t rc = ModeSense6(lun, 0, 0x3F, 0, 192, buf); if (!rc) { WriteOk[lun] = ((buf[2] & 0x80) == 0); Notify(PSTR("Mode Sense: "), 0x80); @@ -1203,10 +1203,10 @@ uint8_t BulkOnly::Read(uint8_t lun __attribute__((unused)), uint32_t addr __attr cbw.CBWCB[0] = SCSI_CMD_READ_10; cbw.CBWCB[8] = blocks; - cbw.CBWCB[2] = ((addr >> 24) & 0xff); - cbw.CBWCB[3] = ((addr >> 16) & 0xff); - cbw.CBWCB[4] = ((addr >> 8) & 0xff); - cbw.CBWCB[5] = (addr & 0xff); + cbw.CBWCB[2] = ((addr >> 24) & 0xFF); + cbw.CBWCB[3] = ((addr >> 16) & 0xFF); + cbw.CBWCB[4] = ((addr >> 8) & 0xFF); + cbw.CBWCB[5] = (addr & 0xFF); return HandleSCSIError(Transaction(&cbw, bsize, prs, 1)); #else diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.h index e6cece7ffdb6..25df006e513d 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/masstorage.h @@ -214,7 +214,7 @@ struct CDB6 { public: CDB6(uint8_t _Opcode, uint8_t _LUN, uint32_t LBA, uint8_t _AllocationLength, uint8_t _Control) : - Opcode(_Opcode), LBAMSB(BGRAB2(LBA) & 0x1f), LUN(_LUN), LBAHB(BGRAB1(LBA)), LBALB(BGRAB0(LBA)), + Opcode(_Opcode), LBAMSB(BGRAB2(LBA) & 0x1F), LUN(_LUN), LBAHB(BGRAB1(LBA)), LBALB(BGRAB0(LBA)), AllocationLength(_AllocationLength), Control(_Control) { } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/max3421e.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/max3421e.h index 6451981fb742..6cad39d0df59 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/max3421e.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/max3421e.h @@ -86,7 +86,7 @@ #define rREVISION 0x90 //18<<3 -#define rIOPINS1 0xa0 //20<<3 +#define rIOPINS1 0xA0 //20<<3 /* IOPINS1 Bits */ #define bmGPOUT0 0x01 @@ -98,7 +98,7 @@ #define bmGPIN2 0x40 #define bmGPIN3 0x80 -#define rIOPINS2 0xa8 //21<<3 +#define rIOPINS2 0xA8 //21<<3 /* IOPINS2 Bits */ #define bmGPOUT4 0x01 #define bmGPOUT5 0x02 @@ -109,7 +109,7 @@ #define bmGPIN6 0x40 #define bmGPIN7 0x80 -#define rGPINIRQ 0xb0 //22<<3 +#define rGPINIRQ 0xB0 //22<<3 /* GPINIRQ Bits */ #define bmGPINIRQ0 0x01 #define bmGPINIRQ1 0x02 @@ -120,7 +120,7 @@ #define bmGPINIRQ6 0x40 #define bmGPINIRQ7 0x80 -#define rGPINIEN 0xb8 //23<<3 +#define rGPINIEN 0xB8 //23<<3 /* GPINIEN Bits */ #define bmGPINIEN0 0x01 #define bmGPINIEN1 0x02 @@ -131,7 +131,7 @@ #define bmGPINIEN6 0x40 #define bmGPINIEN7 0x80 -#define rGPINPOL 0xc0 //24<<3 +#define rGPINPOL 0xC0 //24<<3 /* GPINPOL Bits */ #define bmGPINPOL0 0x01 #define bmGPINPOL1 0x02 @@ -142,7 +142,7 @@ #define bmGPINPOL6 0x40 #define bmGPINPOL7 0x80 -#define rHIRQ 0xc8 //25<<3 +#define rHIRQ 0xC8 //25<<3 /* HIRQ Bits */ #define bmBUSEVENTIRQ 0x01 // indicates BUS Reset Done or BUS Resume #define bmRWUIRQ 0x02 @@ -153,7 +153,7 @@ #define bmFRAMEIRQ 0x40 #define bmHXFRDNIRQ 0x80 -#define rHIEN 0xd0 //26<<3 +#define rHIEN 0xD0 //26<<3 /* HIEN Bits */ #define bmBUSEVENTIE 0x01 @@ -165,7 +165,7 @@ #define bmFRAMEIE 0x40 #define bmHXFRDNIE 0x80 -#define rMODE 0xd8 //27<<3 +#define rMODE 0xD8 //27<<3 /* MODE Bits */ #define bmHOST 0x01 @@ -177,9 +177,9 @@ #define bmDMPULLDN 0x40 #define bmDPPULLDN 0x80 -#define rPERADDR 0xe0 //28<<3 +#define rPERADDR 0xE0 //28<<3 -#define rHCTL 0xe8 //29<<3 +#define rHCTL 0xE8 //29<<3 /* HCTL Bits */ #define bmBUSRST 0x01 #define bmFRMRST 0x02 @@ -190,7 +190,7 @@ #define bmSNDTOG0 0x40 #define bmSNDTOG1 0x80 -#define rHXFR 0xf0 //30<<3 +#define rHXFR 0xF0 //30<<3 #undef tokSETUP #undef tokIN @@ -210,7 +210,7 @@ #define tokISOIN 0x40 // HS=0, ISO=1, OUTNIN=0, SETUP=0 #define tokISOOUT 0x60 // HS=0, ISO=1, OUTNIN=1, SETUP=0 -#define rHRSL 0xf8 //31<<3 +#define rHRSL 0xF8 //31<<3 /* HRSL Bits */ #define bmRCVTOGRD 0x10 @@ -218,7 +218,7 @@ #define bmKSTATUS 0x40 #define bmJSTATUS 0x80 #define bmSE0 0x00 //SE0 - disconnect state -#define bmSE1 0xc0 //SE1 - illegal state +#define bmSE1 0xC0 //SE1 - illegal state /* Host error result codes, the 4 LSB's in the HRSL register */ #define hrSUCCESS 0x00 diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/printhex.h b/Marlin/src/sd/usb_flashdrive/lib-uhs2/printhex.h index 1e369fde2c91..319cd9c4c87d 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/printhex.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/printhex.h @@ -34,7 +34,7 @@ template void PrintHex(T val, int lvl) { int num_nibbles = sizeof (T) * 2; do { - char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0F); if (v > 57) v += 7; E_Notifyc(v, lvl); } while (--num_nibbles); @@ -50,7 +50,7 @@ template void SerialPrintHex(T val) { int num_nibbles = sizeof (T) * 2; do { - char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0F); if (v > 57) v += 7; USB_HOST_SERIAL.print(v); } while (--num_nibbles); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp index eb58f37d2f5a..6d2182cb8bbd 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp @@ -90,7 +90,7 @@ uint8_t* MAX3421e::bytesRd(uint8_t reg, uint8_t nbytes, uint8_t* data_p) { // GPIN pins are in high nybbles of IOPINS1, IOPINS2 uint8_t MAX3421e::gpioRd() { - return (regRd(rIOPINS2) & 0xf0) | // pins 4-7, clean lower nybble + return (regRd(rIOPINS2) & 0xF0) | // pins 4-7, clean lower nybble (regRd(rIOPINS1) >> 4); // shift low bits and OR with upper from previous operation. } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h index 15ed427697b6..37ba681c5c7b 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_BULK_STORAGE_INLINE.h @@ -453,9 +453,9 @@ uint8_t UHS_NI UHS_Bulk_Storage::Start() { for(uint8_t lun = 0; lun <= bMaxLUN; lun++) { if(!UHS_SLEEP_MS(3)) goto FailUnPlug; #ifndef USB_NO_TEST_UNIT_READY - uint8_t tries = 0xf0; + uint8_t tries = 0xF0; while((rcode = TestUnitReady(lun))) { - BS_HOST_DEBUG("\r\nTry %2.2x TestUnitReady %2.2x\r\n", tries - 0xf0, rcode); + BS_HOST_DEBUG("\r\nTry %2.2x TestUnitReady %2.2x\r\n", tries - 0xF0, rcode); if(rcode == 0x08) break; // break on no media, this is OK to do. if(rcode == UHS_BULK_ERR_DEVICE_DISCONNECTED) goto FailUnPlug; if(rcode == UHS_BULK_ERR_INVALID_CSW) goto Fail; @@ -475,7 +475,7 @@ uint8_t UHS_NI UHS_Bulk_Storage::Start() { if(!UHS_SLEEP_MS(3)) goto FailUnPlug; if(MediaCTL(lun, 1) == UHS_BULK_ERR_DEVICE_DISCONNECTED) goto FailUnPlug; // I actually have a USB stick that needs this! } - BS_HOST_DEBUG("\r\nTry %2.2x TestUnitReady %2.2x\r\n", tries - 0xf0, rcode); + BS_HOST_DEBUG("\r\nTry %2.2x TestUnitReady %2.2x\r\n", tries - 0xF0, rcode); if(!rcode) { if(!UHS_SLEEP_MS(3)) goto FailUnPlug; BS_HOST_DEBUG("CheckLUN...\r\n"); @@ -579,7 +579,7 @@ bool UHS_NI UHS_Bulk_Storage::CheckLUN(uint8_t lun) { CurrentCapacity[lun] = UHS_BYTES_TO_UINT32(capacity.data[0], capacity.data[1], capacity.data[2], capacity.data[3]) + 1; if(CurrentCapacity[lun] == /*0xffffffffLU */ 0x01LU || CurrentCapacity[lun] == 0x00LU) { - // Buggy firmware will report 0xffffffff or 0 for no media + // Buggy firmware will report 0xFFFFFFFF or 0 for no media #ifdef DEBUG_USB_HOST if(CurrentCapacity[lun]) ErrorMessage (PSTR(">>>>>>>>>>>>>>>>BUGGY FIRMWARE. CAPACITY FAIL ON LUN"), lun); @@ -756,7 +756,7 @@ uint8_t UHS_NI UHS_Bulk_Storage::Page3F(uint8_t lun) { buf[i] = 0x00; } WriteOk[lun] = true; - uint8_t rc = ModeSense6(lun, 0, 0x3f, 0, 192, buf); + uint8_t rc = ModeSense6(lun, 0, 0x3F, 0, 192, buf); if(!rc) { WriteOk[lun] = ((buf[2] & 0x80) == 0); #ifdef DEBUG_USB_HOST diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h index f127b4ed5348..bead520bf2e3 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_BULK_STORAGE/UHS_SCSI.h @@ -146,7 +146,7 @@ struct SCSI_CDB6 { public: SCSI_CDB6(uint8_t _Opcode, uint8_t _LUN, uint32_t LBA, uint8_t _AllocationLength, uint8_t _Control) : - Opcode(_Opcode), LBAMSB(UHS_UINT8_BYTE2(LBA) & 0x1f), LUN(_LUN), LBAHB(UHS_UINT8_BYTE1(LBA)), LBALB(UHS_UINT8_BYTE0(LBA)), + Opcode(_Opcode), LBAMSB(UHS_UINT8_BYTE2(LBA) & 0x1F), LUN(_LUN), LBAHB(UHS_UINT8_BYTE1(LBA)), LBALB(UHS_UINT8_BYTE0(LBA)), AllocationLength(_AllocationLength), Control(_Control) { } diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_UsbCore.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_UsbCore.h index 73640d5c6f00..1591f3b74b8a 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_UsbCore.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_UsbCore.h @@ -189,8 +189,8 @@ e-mail : support@circuitsathome.com #define UHS_USB_HOST_STATE_INITIALIZE 0x10U // Looks like "I"nit // Host SE result codes. -// Common SE results are stored in the low nybble, all interface drivers understand these plus 0x1f. -// Extended SE results are 0x10-0x1e. SE code only understands these internal to the hardware. +// Common SE results are stored in the low nybble, all interface drivers understand these plus 0x1F. +// Extended SE results are 0x10-0x1E. SE code only understands these internal to the hardware. // Values > 0x1F are driver or other internal error conditions. // Return these result codes from your host controller driver to match the error condition // ALL Non-zero values are errors. diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h index 7843013b0442..9c7b5001c090 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_host_INLINE.h @@ -1005,7 +1005,7 @@ uint8_t UHS_USB_HOST_BASE::ctrlReq(uint8_t addr, uint64_t Request, uint16_t nbyt rcode = ctrlReqRead(pep, &left, &read, nbytes, dataptr); #if UHS_DEVICE_WINDOWS_USB_SPEC_VIOLATION_DESCRIPTOR_DEVICE - HOST_DEBUG("RESULT: 0x%2.2x 0x%2.2x 0x%2.2x 0x%8.8lx%8.8lx\r\n", rcode, addr, read, (uint32_t)((Request>>32)&0xfffffffflu), (uint32_t)(Request&0xfffffffflu)); + HOST_DEBUG("RESULT: 0x%2.2x 0x%2.2x 0x%2.2x 0x%8.8lx%8.8lx\r\n", rcode, addr, read, (uint32_t)((Request>>32)&0xFFFFFFFFLU), (uint32_t)(Request&0xFFFFFFFFLU)); // Should only be used for GET_DESCRIPTOR USB_DESCRIPTOR_DEVICE constexpr uint32_t req_match = ((uint32_t)USB_DESCRIPTOR_DEVICE << 24) | ((uint32_t)USB_REQUEST_GET_DESCRIPTOR << 8); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h index 05c76d399874..c5458208d2da 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_macros.h @@ -343,16 +343,16 @@ e-mail : support@circuitsathome.com #define UHS_UINT8_BYTE7(__usi__) (((uint8_t *)&(__usi__))[7]) #else // Note: The cast alone to uint8_t is actually enough. -// GCC throws out the "& 0xff", and the size is no different. +// GCC throws out the "& 0xFF", and the size is no different. // Some compilers need it. -#define UHS_UINT8_BYTE0(__usi__) ((uint8_t)((__usi__) & 0xff )) -#define UHS_UINT8_BYTE1(__usi__) ((uint8_t)(((__usi__) >> 8) & 0xff)) -#define UHS_UINT8_BYTE2(__usi__) ((uint8_t)(((__usi__) >> 16) & 0xff)) -#define UHS_UINT8_BYTE3(__usi__) ((uint8_t)(((__usi__) >> 24) & 0xff)) -#define UHS_UINT8_BYTE4(__usi__) ((uint8_t)(((__usi__) >> 32) & 0xff)) -#define UHS_UINT8_BYTE5(__usi__) ((uint8_t)(((__usi__) >> 40) & 0xff)) -#define UHS_UINT8_BYTE6(__usi__) ((uint8_t)(((__usi__) >> 48) & 0xff)) -#define UHS_UINT8_BYTE7(__usi__) ((uint8_t)(((__usi__) >> 56) & 0xff)) +#define UHS_UINT8_BYTE0(__usi__) ((uint8_t)((__usi__) & 0xFF )) +#define UHS_UINT8_BYTE1(__usi__) ((uint8_t)(((__usi__) >> 8) & 0xFF)) +#define UHS_UINT8_BYTE2(__usi__) ((uint8_t)(((__usi__) >> 16) & 0xFF)) +#define UHS_UINT8_BYTE3(__usi__) ((uint8_t)(((__usi__) >> 24) & 0xFF)) +#define UHS_UINT8_BYTE4(__usi__) ((uint8_t)(((__usi__) >> 32) & 0xFF)) +#define UHS_UINT8_BYTE5(__usi__) ((uint8_t)(((__usi__) >> 40) & 0xFF)) +#define UHS_UINT8_BYTE6(__usi__) ((uint8_t)(((__usi__) >> 48) & 0xFF)) +#define UHS_UINT8_BYTE7(__usi__) ((uint8_t)(((__usi__) >> 56) & 0xFF)) #endif #define UHS_UINT16_SET_BYTE1(__usi__) ((uint16_t)(__usi__) << 8) #define UHS_UINT32_SET_BYTE1(__usi__) ((uint32_t)(__usi__) << 8) diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printhex.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printhex.h index 94015fba72b3..bfa052b8f7e3 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printhex.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_printhex.h @@ -36,7 +36,7 @@ void PrintHex(T val, int lvl) { int num_nibbles = sizeof (T) * 2; do { - char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0F); if(v > 57) v += 7; E_Notifyc(v, lvl); } while(--num_nibbles); @@ -56,7 +56,7 @@ void SerialPrintHex(T val) { int num_nibbles = sizeof (T) * 2; do { - char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0F); if(v > 57) v += 7; USB_HOST_SERIAL.print(v); } while(--num_nibbles); diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usb_ch9.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usb_ch9.h index a9ed2e71a59f..6486482d961a 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usb_ch9.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/UHS_usb_ch9.h @@ -108,12 +108,12 @@ e-mail : support@circuitsathome.com #define USB_DESCRIPTOR_OTHER_SPEED 0x07 // bDescriptorType for a Other Speed Configuration. #define USB_DESCRIPTOR_INTERFACE_POWER 0x08 // bDescriptorType for Interface Power. #define USB_DESCRIPTOR_OTG 0x09 // bDescriptorType for an OTG Descriptor. -#define USB_DESCRIPTOR_DEBUG 0x0a -#define USB_DESCRIPTOR_INTERFACE_ASSOCIATION 0x0b -#define USB_DESCRIPTOR_SECURITY 0x0c -#define USB_DESCRIPTOR_KEY 0x0d -#define USB_DESCRIPTOR_ENCRYPTION_TYPE 0x0e -#define USB_DESCRIPTOR_BOS 0x0f +#define USB_DESCRIPTOR_DEBUG 0x0A +#define USB_DESCRIPTOR_INTERFACE_ASSOCIATION 0x0B +#define USB_DESCRIPTOR_SECURITY 0x0C +#define USB_DESCRIPTOR_KEY 0x0D +#define USB_DESCRIPTOR_ENCRYPTION_TYPE 0x0E +#define USB_DESCRIPTOR_BOS 0x0F #define USB_DESCRIPTOR_DEVICE_CAPABILITY 0x10 #define USB_DESCRIPTOR_WIRELESS_ENDPOINT_COMP 0x11 #define USB_DESCRIPTOR_WIRE_ADAPTER 0x21 diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/UHS_max3421e.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/UHS_max3421e.h index 8719293e7301..8ecafd4ad895 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/UHS_max3421e.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/UHS_max3421e.h @@ -90,7 +90,7 @@ e-mail : support@circuitsathome.com #define rREVISION 0x90 //18<<3 // (IOPINS1) -#define rIOPINS1 0xa0 //20<<3 +#define rIOPINS1 0xA0 //20<<3 #define bmGPOUT0 0x01 // #define bmGPOUT1 0x02 // #define bmGPOUT2 0x04 // @@ -101,7 +101,7 @@ e-mail : support@circuitsathome.com #define bmGPIN3 0x80 // // (IOPINS2) -#define rIOPINS2 0xa8 //21<<3 +#define rIOPINS2 0xA8 //21<<3 #define bmGPOUT4 0x01 // #define bmGPOUT5 0x02 // #define bmGPOUT6 0x04 // @@ -112,7 +112,7 @@ e-mail : support@circuitsathome.com #define bmGPIN7 0x80 // // (GPINIRQ) -#define rGPINIRQ 0xb0 //22<<3 +#define rGPINIRQ 0xB0 //22<<3 #define bmGPINIRQ0 0x01 // #define bmGPINIRQ1 0x02 // #define bmGPINIRQ2 0x04 // @@ -123,7 +123,7 @@ e-mail : support@circuitsathome.com #define bmGPINIRQ7 0x80 // // (GPINIEN) -#define rGPINIEN 0xb8 //23<<3 +#define rGPINIEN 0xB8 //23<<3 #define bmGPINIEN0 0x01 // #define bmGPINIEN1 0x02 // #define bmGPINIEN2 0x04 // @@ -134,7 +134,7 @@ e-mail : support@circuitsathome.com #define bmGPINIEN7 0x80 // // (GPINPOL) -#define rGPINPOL 0xc0 //24<<3 +#define rGPINPOL 0xC0 //24<<3 #define bmGPINPOL0 0x01 // #define bmGPINPOL1 0x02 // #define bmGPINPOL2 0x04 // @@ -151,7 +151,7 @@ e-mail : support@circuitsathome.com // The CPU should never directly clear the SNDBAVIRQ bit. // Host Interrupt Request Status (HIRQ) -#define rHIRQ 0xc8 // Host Interrupt Request Register +#define rHIRQ 0xC8 // Host Interrupt Request Register #define bmBUSEVENTIRQ 0x01 // BUS Reset Done or BUS Resume Interrupt Request #define bmRWUIRQ 0x02 // Remote Wakeup Interrupt Request #define bmRCVDAVIRQ 0x04 // Receive FIFO Data Available Interrupt Request @@ -165,7 +165,7 @@ e-mail : support@circuitsathome.com #define ICLRALLBITS (bmBUSEVENTIRQ | bmRWUIRQ | bmRCVDAVIRQ | bmSUSDNIRQ | bmCONDETIRQ | bmFRAMEIRQ | bmHXFRDNIRQ) // Host Interrupt Request Control (HIEN) -#define rHIEN 0xd0 // +#define rHIEN 0xD0 // #define bmBUSEVENTIE bmBUSEVENTIRQ // BUS Reset Done or BUS Resume Interrupt Request Enable #define bmRWUIE bmRWUIRQ // Remote Wakeup Interrupt Request Enable #define bmRCVDAVIE bmRCVDAVIRQ // Receive FIFO Data Available Interrupt Request Enable @@ -176,7 +176,7 @@ e-mail : support@circuitsathome.com #define bmHXFRDNIE bmHXFRDNIRQ // Host Transfer Done Interrupt Request Enable // (MODE)) -#define rMODE 0xd8 //27<<3 +#define rMODE 0xD8 //27<<3 #define bmHOST 0x01 // #define bmLOWSPEED 0x02 // #define bmHUBPRE 0x04 // @@ -186,10 +186,10 @@ e-mail : support@circuitsathome.com #define bmDMPULLDN 0x40 // #define bmDPPULLDN 0x80 // -#define rPERADDR 0xe0 //28<<3 +#define rPERADDR 0xE0 //28<<3 // (HCTL) -#define rHCTL 0xe8 //29<<3 +#define rHCTL 0xE8 //29<<3 #define bmBUSRST 0x01 // #define bmFRMRST 0x02 // #define bmSAMPLEBUS 0x04 // @@ -200,7 +200,7 @@ e-mail : support@circuitsathome.com #define bmSNDTOG1 0x80 // // Host transfer (HXFR) -#define rHXFR 0xf0 //30<<3 +#define rHXFR 0xF0 //30<<3 /* Host transfer token values for writing the HXFR register (R30) */ /* OR this bit field with the endpoint number in bits 3:0 */ #define MAX3421E_tokSETUP 0x10 // HS=0, ISO=0, OUTNIN=0, SETUP=1 @@ -212,13 +212,13 @@ e-mail : support@circuitsathome.com #define MAX3421E_tokISOOUT 0x60 // HS=0, ISO=1, OUTNIN=1, SETUP=0 // (HRSL) -#define rHRSL 0xf8 //31<<3 +#define rHRSL 0xF8 //31<<3 #define bmRCVTOGRD 0x10 // #define bmSNDTOGRD 0x20 // #define bmKSTATUS 0x40 // #define bmJSTATUS 0x80 // #define bmSE0 0x00 //SE0 - disconnect state -#define bmSE1 0xc0 //SE1 - illegal state +#define bmSE1 0xC0 //SE1 - illegal state #define MODE_FS_HOST (bmDPPULLDN|bmDMPULLDN|bmHOST|bmSOFKAENAB) #define MODE_LS_HOST (bmDPPULLDN|bmDMPULLDN|bmHOST|bmLOWSPEED|bmSOFKAENAB) diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h index 3166ae4b05f2..f7dd315a0490 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/UHS_host/USB_HOST_SHIELD/USB_HOST_SHIELD_INLINE.h @@ -136,7 +136,7 @@ uint8_t* UHS_NI MAX3421E_HOST::bytesRd(uint8_t reg, uint8_t nbytes, uint8_t* dat uint8_t UHS_NI MAX3421E_HOST::gpioRd() { uint8_t gpin = 0; gpin = regRd(rIOPINS2); //pins 4-7 - gpin &= 0xf0; //clean lower nibble + gpin &= 0xF0; //clean lower nibble gpin |= (regRd(rIOPINS1) >> 4); //shift low bits and OR with upper from previous operation. return ( gpin); } @@ -504,7 +504,7 @@ uint8_t UHS_NI MAX3421E_HOST::InTransfer(UHS_EpInfo *pep, uint16_t nak_limit, ui /* the only case when absence of RCVDAVIRQ makes sense is when toggle error occurred. Need to add handling for that */ if((regRd(rHIRQ) & bmRCVDAVIRQ) == 0) { //MAX_HOST_DEBUG(PSTR(">>>>>>>> Problem! NO RCVDAVIRQ!\r\n")); - rcode = 0xf0; //receive error + rcode = 0xF0; //receive error break; } pktsize = regRd(rRCVBC); //number of received bytes @@ -576,7 +576,7 @@ uint8_t UHS_NI MAX3421E_HOST::OutTransfer(UHS_EpInfo *pep, uint16_t nak_limit, u regWr(rHXFR, (MAX3421E_tokOUT | pep->epAddr)); //dispatch packet while(!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ - rcode = (regRd(rHRSL) & 0x0f); + rcode = (regRd(rHRSL) & 0x0F); while(rcode && ((long)(millis() - timeout) < 0L)) { switch(rcode) { @@ -606,7 +606,7 @@ uint8_t UHS_NI MAX3421E_HOST::OutTransfer(UHS_EpInfo *pep, uint16_t nak_limit, u regWr(rHXFR, (MAX3421E_tokOUT | pep->epAddr)); //dispatch packet while(!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ - rcode = (regRd(rHRSL) & 0x0f); + rcode = (regRd(rHRSL) & 0x0F); SYSTEM_OR_SPECIAL_YIELD(); }//while( rcode && .... bytes_left -= bytes_tosend; @@ -631,7 +631,7 @@ uint8_t UHS_NI MAX3421E_HOST::OutTransfer(UHS_EpInfo *pep, uint16_t nak_limit, u /* If nak_limit == 0, do not count NAKs, exit after timeout */ /* If bus timeout, re-sends up to USB_RETRY_LIMIT times */ -/* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */ +/* return codes 0x00-0x0F are HRSLT( 0x00 being success ), 0xFF means timeout */ uint8_t UHS_NI MAX3421E_HOST::dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit) { unsigned long timeout = millis() + UHS_HOST_TRANSFER_MAX_MS; uint8_t tmpdata; @@ -654,7 +654,7 @@ uint8_t UHS_NI MAX3421E_HOST::dispatchPkt(uint8_t token, uint8_t ep, uint16_t na }//while ( millis() < timeout - rcode = (regRd(rHRSL) & 0x0f); //analyze transfer result + rcode = (regRd(rHRSL) & 0x0F); //analyze transfer result switch(rcode) { case UHS_HOST_ERROR_NAK: diff --git a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h index 0fdb3ee3db95..07f4ae054dcf 100644 --- a/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h +++ b/Marlin/src/sd/usb_flashdrive/lib-uhs3/dyn_SWI/dyn_SWI.h @@ -75,7 +75,7 @@ extern "C" #define NVIC_NUM_INTERRUPTS ((int)PERIPH_COUNT_IRQn) #endif #define VECTORTABLE_SIZE (NVIC_NUM_INTERRUPTS+16) -#define VECTORTABLE_ALIGNMENT (0x100ul) +#define VECTORTABLE_ALIGNMENT (0x100UL) #define NVIC_GET_ACTIVE(n) NVIC_GetActive((IRQn_Type)n) #define NVIC_GET_PENDING(n) NVIC_GetPendingIRQ((IRQn_Type)n) #define NVIC_SET_PENDING(n) NVIC_SetPendingIRQ((IRQn_Type)n) diff --git a/buildroot/share/PlatformIO/scripts/chitu_crypt.py b/buildroot/share/PlatformIO/scripts/chitu_crypt.py index 26e5612e3cb6..aa675878e70e 100644 --- a/buildroot/share/PlatformIO/scripts/chitu_crypt.py +++ b/buildroot/share/PlatformIO/scripts/chitu_crypt.py @@ -32,7 +32,7 @@ def xor_block(r0, r1, block_number, block_size, file_key): key_length = 0x18 # This is an initial seed - xor_seed = 0x4bad + xor_seed = 0x4BAD # This is the block counter block_number = xor_seed * block_number @@ -77,7 +77,7 @@ def encrypt_file(input, output_file, file_length): uid_value = uuid.uuid4() file_key = int(uid_value.hex[0:8], 16) - xor_crc = 0xef3d4323; + xor_crc = 0xEF3D4323; # the input file is exepcted to be in chunks of 0x800 # so round the size diff --git a/buildroot/share/PlatformIO/variants/archim/variant.h b/buildroot/share/PlatformIO/variants/archim/variant.h index 56f641420298..179a13735376 100644 --- a/buildroot/share/PlatformIO/variants/archim/variant.h +++ b/buildroot/share/PlatformIO/variants/archim/variant.h @@ -55,10 +55,10 @@ extern "C"{ *----------------------------------------------------------------------------*/ // Number of pins defined in PinDescription array -#define PINS_COUNT (79u) -#define NUM_DIGITAL_PINS (66u) -#define NUM_ANALOG_INPUTS (12u) -#define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1) +#define PINS_COUNT (79U) +#define NUM_DIGITAL_PINS (66U) +#define NUM_ANALOG_INPUTS (12U) +#define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #define digitalPinToPort(P) ( g_APinDescription[P].pPort ) #define digitalPinToBitMask(P) ( g_APinDescription[P].ulPin ) @@ -89,9 +89,9 @@ extern "C"{ #define digitalPinToInterrupt(p) ((p) < NUM_DIGITAL_PINS ? (p) : -1) // LEDs -#define PIN_LED_13 (13u) -#define PIN_LED_RXL (72u) -#define PIN_LED_TXL (73u) +#define PIN_LED_13 (13U) +#define PIN_LED_RXL (72U) +#define PIN_LED_TXL (73U) #define PIN_LED PIN_LED_13 #define PIN_LED2 PIN_LED_RXL #define PIN_LED3 PIN_LED_TXL @@ -105,16 +105,16 @@ extern "C"{ #define SPI_INTERFACE SPI0 #define SPI_INTERFACE_ID ID_SPI0 #define SPI_CHANNELS_NUM 4 -#define PIN_SPI_SS0 (77u) -#define PIN_SPI_SS1 (87u) -#define PIN_SPI_SS2 (86u) -#define PIN_SPI_SS3 (78u) -#define PIN_SPI_MOSI (75u) -#define PIN_SPI_MISO (74u) -#define PIN_SPI_SCK (76u) -#define BOARD_SPI_SS0 (77u) //(10u) -#define BOARD_SPI_SS1 (4u) -#define BOARD_SPI_SS2 (52u) +#define PIN_SPI_SS0 (77U) +#define PIN_SPI_SS1 (87U) +#define PIN_SPI_SS2 (86U) +#define PIN_SPI_SS3 (78U) +#define PIN_SPI_MOSI (75U) +#define PIN_SPI_MISO (74U) +#define PIN_SPI_SCK (76U) +#define BOARD_SPI_SS0 (77U) //(10U) +#define BOARD_SPI_SS1 (4U) +#define BOARD_SPI_SS2 (52U) #define BOARD_SPI_SS3 PIN_SPI_SS3 #define BOARD_SPI_DEFAULT_SS BOARD_SPI_SS3 @@ -140,15 +140,15 @@ static const uint8_t SCK = PIN_SPI_SCK; */ #define WIRE_INTERFACES_COUNT 2 -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) +#define PIN_WIRE_SDA (20U) +#define PIN_WIRE_SCL (21U) #define WIRE_INTERFACE TWI1 #define WIRE_INTERFACE_ID ID_TWI1 #define WIRE_ISR_HANDLER TWI1_Handler #define WIRE_ISR_ID TWI1_IRQn -#define PIN_WIRE1_SDA (70u) -#define PIN_WIRE1_SCL (71u) +#define PIN_WIRE1_SDA (70U) +#define PIN_WIRE1_SCL (71U) #define WIRE1_INTERFACE TWI0 #define WIRE1_INTERFACE_ID ID_TWI0 #define WIRE1_ISR_HANDLER TWI0_Handler @@ -163,18 +163,18 @@ static const uint8_t SCL1 = PIN_WIRE1_SCL; * UART/USART Interfaces */ // Serial -#define PINS_UART (81u) +#define PINS_UART (81U) // Serial1 -#define PINS_USART0 (82u) +#define PINS_USART0 (82U) // Serial2 -#define PINS_USART1 (83u) +#define PINS_USART1 (83U) // Serial3 -#define PINS_USART3 (84u) +#define PINS_USART3 (84U) /* * USB Interfaces */ -#define PINS_USB (85u) +#define PINS_USB (85U) /* * Analog pins @@ -204,9 +204,9 @@ static const uint8_t CAN1RX = 88; static const uint8_t CAN1TX = 89; // CAN0 -#define PINS_CAN0 (90u) +#define PINS_CAN0 (90U) // CAN1 -#define PINS_CAN1 (91u) +#define PINS_CAN1 (91U) /* From 9126a2e654df0bbea7bd511b6a993a5a24e0f0f6 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 10 Oct 2020 00:14:40 +0000 Subject: [PATCH 231/277] [cron] Bump distribution date (2020-10-10) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 7a0242b2bc16..ad7f2e1d599c 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-09" + #define STRING_DISTRIBUTION_DATE "2020-10-10" #endif /** From 958f05e4b4cb82f16b1981c5659177312c3a63da Mon Sep 17 00:00:00 2001 From: ellensp Date: Sat, 10 Oct 2020 22:39:12 +1300 Subject: [PATCH 232/277] HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) --- Marlin/src/lcd/menu/menu_probe_offset.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/menu/menu_probe_offset.cpp b/Marlin/src/lcd/menu/menu_probe_offset.cpp index 29c7d4112964..87957e6207ef 100644 --- a/Marlin/src/lcd/menu/menu_probe_offset.cpp +++ b/Marlin/src/lcd/menu/menu_probe_offset.cpp @@ -94,7 +94,7 @@ void probe_offset_wizard_menu() { if ((SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { extern const char NUL_STR[]; SUBMENU_P(NUL_STR, []{ _goto_manual_move_z(float(SHORT_MANUAL_Z_MOVE)); }); - MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD)); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_MARLINUI_HD44780)); char tmp[20], numstr[10]; // Determine digits needed right of decimal const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : From 887e2637c020c3f9422471c7b7d09c44507a4317 Mon Sep 17 00:00:00 2001 From: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Date: Sat, 10 Oct 2020 13:01:46 +0300 Subject: [PATCH 233/277] Fixes for TFTGLCD Panel, FastIO (#19614) --- Marlin/src/HAL/STM32/fastio.h | 8 +- Marlin/src/core/language.h | 2 +- Marlin/src/core/utility.h | 2 +- Marlin/src/inc/Conditionals_LCD.h | 2 +- Marlin/src/inc/Conditionals_post.h | 2 +- Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp | 223 +++++++----------- Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h | 1 + Marlin/src/lcd/menu/menu_advanced.cpp | 2 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 16 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h | 2 +- Marlin/src/pins/stm32f0/pins_MALYAN_M300.h | 3 + Marlin/src/pins/stm32f1/pins_MORPHEUS.h | 1 + 12 files changed, 107 insertions(+), 157 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index d90b2fbeb02d..f000d68cf0c3 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -63,7 +63,7 @@ void FastIO_init(); // Must be called before using fast io macros #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) -#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) /*!< Output Push Pull Mode & GPIO_NOPULL */ +#define _SET_OUTPUT(IO) pinMode(IO, OUTPUT) //!< Output Push Pull Mode & GPIO_NOPULL #define _SET_OUTPUT_OD(IO) pinMode(IO, OUTPUT_OPEN_DRAIN) #define WRITE(IO,V) _WRITE(IO,V) @@ -73,9 +73,9 @@ void FastIO_init(); // Must be called before using fast io macros #define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) #define OUT_WRITE_OD(IO,V) do{ _SET_OUTPUT_OD(IO); WRITE(IO,V); }while(0) -#define SET_INPUT(IO) _SET_MODE(IO, INPUT) /*!< Input Floating Mode */ -#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) /*!< Input with Pull-up activation */ -#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, INPUT_PULLDOWN) /*!< Input with Pull-down activation */ +#define SET_INPUT(IO) _SET_MODE(IO, INPUT) //!< Input Floating Mode +#define SET_INPUT_PULLUP(IO) _SET_MODE(IO, INPUT_PULLUP) //!< Input with Pull-up activation +#define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, INPUT_PULLDOWN) //!< Input with Pull-down activation #define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) #define SET_PWM(IO) _SET_MODE(IO, PWM) diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index a644ab2fc8be..60d9aa6b720a 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -303,7 +303,7 @@ #define LCD_STR_C STR_C #define LCD_STR_E STR_E -#if HAS_MARLINUI_HD44780 +#if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL) // Custom characters defined in the first 8 characters of the LCD #define LCD_STR_BEDTEMP "\x00" // Print only as a char. This will have 'unexpected' results when used in a string! diff --git a/Marlin/src/core/utility.h b/Marlin/src/core/utility.h index 0481ffc02a2e..645a4be80735 100644 --- a/Marlin/src/core/utility.h +++ b/Marlin/src/core/utility.h @@ -71,7 +71,7 @@ class restorer { inline void restore() { ref_ = val_; } }; -#define REMEMBER(N,X,V...) restorer restorer_##N(X, ##V) +#define REMEMBER(N,X,V...) restorer<__typeof__(X)> restorer_##N(X, ##V) #define RESTORE(N) restorer_##N.restore() // Converts from an uint8_t in the range of 0-255 to an uint8_t diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 210bf3e91bca..42d82dcc1066 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -226,9 +226,9 @@ #define LCD_PROGRESS_BAR #endif #if ENABLED(TFTGLCD_PANEL_I2C) - #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD for I2C and SPI buses (LiquidTWI2 not required) #define LCD_I2C_ADDRESS 0x27 // Must be equal to panel's I2C slave addres #endif + #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD, used for both I2C and SPI buses (LiquidTWI2 not required) #define STD_ENCODER_PULSES_PER_STEP 2 #define STD_ENCODER_STEPS_PER_MENU_ITEM 1 #define LCD_WIDTH 20 // 20 or 24 chars in line diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 80c42955e92d..f832137f5b40 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -2457,7 +2457,7 @@ /** * Buzzer/Speaker */ -#if PIN_EXISTS(BEEPER) || ANY(LCD_USE_I2C_BUZZER, PCA9632_BUZZER, IS_TFTGLCD_PANEL) +#if PIN_EXISTS(BEEPER) || ANY(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) #define HAS_BUZZER 1 #if PIN_EXISTS(BEEPER) #define USE_BEEPER 1 diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp index a537d92081d1..b5789091dc2f 100644 --- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp @@ -32,7 +32,7 @@ * and supports color output. */ -#if NONE(__AVR__, MCU_LPC1768, __STM32F1__, STM32F4xx) +#if NONE(__AVR__, TARGET_LPC1768, __STM32F1__, STM32F4xx) #warning "Selected platform not yet tested. Please contribute your good pin mappings." #endif @@ -72,16 +72,17 @@ TFTGLCD lcd; #define ICON_HOT B01000000 //when any T > 50deg #define PIC_MASK 0x7F -//LEDs not used, for compatibility with Smoothieware +// LEDs not used, for compatibility with Smoothieware #define LED_HOTEND_ON B00000001 #define LED_BED_ON B00000010 #define LED_FAN_ON B00000100 #define LED_HOT B00001000 #define LED_MASK 0x0F -#define FBSIZE (LCD_WIDTH * LCD_HEIGHT + 2) +#define FBSIZE (LCD_WIDTH * LCD_HEIGHT + 2) +#define MIDDLE_Y ((LCD_HEIGHT - 1) / 2) -//markers for change line color +// Markers for change line colors #define COLOR_EDIT '#' #define COLOR_ERROR '!' @@ -114,7 +115,8 @@ enum Commands { // based on Smoothieware commands GET_LCD_ROW = 0xE0, // for detect panel GET_LCD_COL, // reserved for compatibility with Smoothieware, not used LCD_PUT, // write one line to LCD - INIT_SCREEN = 0xFE, // clear panel buffer + CLR_SCREEN, + INIT_SCREEN = 0xFE // clear panel buffer }; static unsigned char framebuffer[FBSIZE]; @@ -123,28 +125,62 @@ static uint8_t cour_line; static uint8_t picBits, ledBits, hotBits; static uint8_t PanelDetected = 0; +// Different platforms use different SPI methods +#if ANY(__AVR__, TARGET_LPC1768, __STM32F1__, ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + #define SPI_SEND_ONE(V) SPI.transfer(V); + #define SPI_SEND_TWO(V) SPI.transfer16(V); +#elif defined(STM32F4xx) + #define SPI_SEND_ONE(V) SPI.transfer(V, SPI_CONTINUE); + #define SPI_SEND_TWO(V) SPI.transfer16(V, SPI_CONTINUE); +#elif defined(ARDUINO_ARCH_ESP32) + #define SPI_SEND_ONE(V) SPI.write(V); + #define SPI_SEND_TWO(V) SPI.write16(V); +#endif + +#if ANY(__AVR__, ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) + #define SPI_SEND_SOME(V,L,Z) SPI.transfer(&V[Z], L); +#elif defined(STM32F4xx) + #define SPI_SEND_SOME(V,L,Z) SPI.transfer(&V[Z], L, SPI_CONTINUE); +#elif ANY(TARGET_LPC1768, __STM32F1__, ARDUINO_ARCH_ESP32) + #define SPI_SEND_SOME(V,L,Z) do{ for (uint16_t i = 0; i < L; i++) SPI_SEND_ONE(V[(Z)+i]); }while(0) +#endif + // Constructor TFTGLCD::TFTGLCD() {} -//clearing local buffer +// Clear local buffer void TFTGLCD::clear_buffer() { memset(&framebuffer[0], ' ', FBSIZE - 2); framebuffer[FBSIZE - 1] = framebuffer[FBSIZE - 2] = 0; picBits = ledBits = 0; } -//set new text cursor position +// Clear panel's screen +void TFTGLCD::clr_screen() { + if (!PanelDetected) return; + #if ENABLED(TFTGLCD_PANEL_SPI) + WRITE(TFTGLCD_CS, LOW); + SPI_SEND_ONE(CLR_SCREEN); + WRITE(TFTGLCD_CS, HIGH); + #else + Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); //set I2C device address + Wire.write(CLR_SCREEN); + Wire.endTransmission(); //transmit data + #endif +} + +// Set new text cursor position void TFTGLCD::setCursor(uint8_t col, uint8_t row) { fb = &framebuffer[0] + col + row * LCD_WIDTH; cour_line = row; } -//send char to buffer +// Send char to buffer void TFTGLCD::write(char c) { *fb++ = c; } -//send text line to buffer +// Send text line to buffer void TFTGLCD::print(const char *line) { while (*line) *fb++ = *line++; } @@ -154,27 +190,9 @@ void TFTGLCD::print_line() { if (!PanelDetected) return; #if ENABLED(TFTGLCD_PANEL_SPI) WRITE(TFTGLCD_CS, LOW); - #ifdef __AVR__ - SPI.transfer(LCD_PUT); - SPI.transfer(cour_line); - SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH); - #elif EITHER(MCU_LPC1768, __STM32F1__) - SPI.transfer(LCD_PUT); - SPI.transfer(cour_line); - for (uint16_t i = 0; i < LCD_WIDTH; i++) SPI.transfer(framebuffer[cour_line * LCD_WIDTH + i]); - #elif defined(STM32F4xx) - SPI.transfer(LCD_PUT, SPI_CONTINUE); - SPI.transfer(cour_line, SPI_CONTINUE); - SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(LCD_PUT); - SPI.transfer(cour_line); - SPI.transfer(&framebuffer[cour_line * LCD_WIDTH], LCD_WIDTH); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(LCD_PUT); - SPI.write(cour_line); - for (uint16_t i = 0; i < LCD_WIDTH; i++) SPI.write(framebuffer[cour_line * LCD_WIDTH + i]); - #endif + SPI_SEND_ONE(LCD_PUT); + SPI_SEND_ONE(cour_line); + SPI_SEND_SOME(framebuffer, LCD_WIDTH, cour_line * LCD_WIDTH); WRITE(TFTGLCD_CS, HIGH); #else Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); //set I2C device address @@ -193,22 +211,8 @@ void TFTGLCD::print_screen(){ #if ENABLED(TFTGLCD_PANEL_SPI) // Send all framebuffer to panel WRITE(TFTGLCD_CS, LOW); - #ifdef __AVR__ - SPI.transfer(LCD_WRITE); - SPI.transfer(&framebuffer[0], FBSIZE); - #elif EITHER(MCU_LPC1768, __STM32F1__) - SPI.transfer(LCD_WRITE); - for (uint16_t i = 0; i < FBSIZE; i++) SPI.transfer(framebuffer[i]); - #elif defined(STM32F4xx) - SPI.transfer(LCD_WRITE, SPI_CONTINUE); - SPI.transfer(&framebuffer[0], FBSIZE, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(LCD_WRITE); - SPI.transfer(&framebuffer[0], FBSIZE); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(LCD_WRITE); - for (uint16_t i = 0; i < FBSIZE; i++) SPI.write(framebuffer[i]); - #endif + SPI_SEND_ONE(LCD_WRITE); + SPI_SEND_SOME(framebuffer, FBSIZE, 0); WRITE(TFTGLCD_CS, HIGH); #else uint8_t r; @@ -235,19 +239,8 @@ void TFTGLCD::setContrast(uint16_t contrast) { if (!PanelDetected) return; #if ENABLED(TFTGLCD_PANEL_SPI) WRITE(TFTGLCD_CS, LOW); - #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) - SPI.transfer(CONTRAST); - SPI.transfer((uint8_t)contrast); - #elif defined(STM32F4xx) - SPI.transfer(CONTRAST, SPI_CONTINUE); - SPI.transfer((uint8_t)contrast, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(CONTRAST); - SPI.transfer((uint8_t)contrast); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(CONTRAST); - SPI.write((uint8_t)contrast); - #endif + SPI_SEND_ONE(CONTRAST); + SPI_SEND_ONE((uint8_t)contrast); WRITE(TFTGLCD_CS, HIGH); #else Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); @@ -257,37 +250,24 @@ void TFTGLCD::setContrast(uint16_t contrast) { #endif } -//reading buttons and encoder states extern volatile int8_t encoderDiff; +// Read buttons and encoder states uint8_t MarlinUI::read_slow_buttons(void) { if (!PanelDetected) return 0; #if ENABLED(TFTGLCD_PANEL_SPI) uint8_t b = 0; WRITE(TFTGLCD_CS, LOW); - #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) - SPI.transfer(READ_ENCODER); - WRITE(TFTGLCD_CS, LOW); //for delay - encoderDiff += SPI.transfer(READ_BUTTONS); - WRITE(TFTGLCD_CS, LOW); //for delay - b = SPI.transfer(GET_SPI_DATA); - #elif defined(STM32F4xx) - SPI.transfer(READ_ENCODER, SPI_CONTINUE); - encoderDiff += SPI.transfer(READ_BUTTONS, SPI_CONTINUE); - b = SPI.transfer(GET_SPI_DATA, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(READ_ENCODER); - WRITE(TFTGLCD_CS, LOW); //for delay ???? - encoderDiff += SPI.transfer(READ_BUTTONS); - WRITE(TFTGLCD_CS, LOW); //for delay ???? - b = SPI.transfer(GET_SPI_DATA); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.transfer(READ_ENCODER); - WRITE(TFTGLCD_CS, LOW); //for delay ???? - encoderDiff += SPI.transfer(READ_BUTTONS); - WRITE(TFTGLCD_CS, LOW); //for delay ???? - b = SPI.transfer(GET_SPI_DATA); + SPI_SEND_ONE(READ_ENCODER); + #ifndef STM32F4xx + WRITE(TFTGLCD_CS, LOW); // for delay #endif + encoderDiff += SPI_SEND_ONE(READ_BUTTONS); + #ifndef STM32F4xx + WRITE(TFTGLCD_CS, LOW); // for delay + WRITE(TFTGLCD_CS, LOW); + #endif + b = SPI_SEND_ONE(GET_SPI_DATA); WRITE(TFTGLCD_CS, HIGH); return b; #else @@ -298,7 +278,7 @@ uint8_t MarlinUI::read_slow_buttons(void) { Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, 2, 0, 0, 1); #elif defined(__STM32F1__) Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, (uint8_t)2); - #elif EITHER(STM32F4xx, MCU_LPC1768) + #elif EITHER(STM32F4xx, TARGET_LPC1768) Wire.requestFrom(LCD_I2C_ADDRESS, 2); #endif encoderDiff += Wire.read(); @@ -306,28 +286,14 @@ uint8_t MarlinUI::read_slow_buttons(void) { #endif } -// duration in ms, freq in Hz +// Duration in ms, freq in Hz void MarlinUI::buzz(const long duration, const uint16_t freq) { if (!PanelDetected) return; #if ENABLED(TFTGLCD_PANEL_SPI) WRITE(TFTGLCD_CS, LOW); - #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) - SPI.transfer(BUZZER); - SPI.transfer16((uint16_t)duration); - SPI.transfer16(freq); - #elif defined(STM32F4xx) - SPI.transfer(BUZZER, SPI_CONTINUE); - SPI.transfer16((uint16_t)duration, SPI_CONTINUE); - SPI.transfer16(freq, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(BUZZER); - SPI.transfer16((uint16_t)duration); - SPI.transfer16(freq); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(BUZZER); - SPI.write16((uint16_t)duration); - SPI.write16(freq); - #endif + SPI_SEND_ONE(BUZZER); + SPI_SEND_TWO((uint16_t)duration); + SPI_SEND_TWO(freq); WRITE(TFTGLCD_CS, HIGH); #else Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); @@ -346,24 +312,14 @@ void MarlinUI::init_lcd() { t = 0; #if ENABLED(TFTGLCD_PANEL_SPI) // SPI speed must be less 10MHz - OUT_WRITE(TFTGLCD_CS, HIGH); + _SET_OUTPUT(TFTGLCD_CS); + WRITE(TFTGLCD_CS, HIGH); spiInit(TERN(__STM32F1__, SPI_QUARTER_SPEED, SPI_FULL_SPEED)); WRITE(TFTGLCD_CS, LOW); - #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) - SPI.transfer(GET_LCD_ROW); - t = SPI.transfer(GET_SPI_DATA); - #elif defined(STM32F4xx) - SPI.transfer(GET_LCD_ROW, SPI_CONTINUE); - t = SPI.transfer(GET_SPI_DATA, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(GET_LCD_ROW); - t = SPI.transfer(GET_SPI_DATA); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(GET_LCD_ROW); - t = SPI.transfer(GET_SPI_DATA); - #endif + SPI_SEND_ONE(GET_LCD_ROW); + t = SPI_SEND_ONE(GET_SPI_DATA); #else - #ifdef MCU_LPC1768 + #ifdef TARGET_LPC1768 Wire.begin(); //init twi/I2C #else Wire.begin((uint8_t)LCD_I2C_ADDRESS); //init twi/I2C @@ -373,7 +329,7 @@ void MarlinUI::init_lcd() { Wire.endTransmission(); // send buffer #ifdef __AVR__ Wire.requestFrom((uint8_t)LCD_I2C_ADDRESS, 1, 0, 0, 1); - #elif ANY(__STM32F1__, STM32F4xx, MCU_LPC1768) + #elif ANY(__STM32F1__, STM32F4xx, TARGET_LPC1768) Wire.requestFrom(LCD_I2C_ADDRESS, 1); #endif t = (uint8_t)Wire.read(); @@ -382,20 +338,8 @@ void MarlinUI::init_lcd() { if (t == LCD_HEIGHT) { PanelDetected = 1; #if ENABLED(TFTGLCD_PANEL_SPI) - PanelDetected = 1; - #if ANY(__AVR__, MCU_LPC1768, __STM32F1__) - SPI.transfer(INIT_SCREEN); - SPI.transfer(Marlin); - #elif defined(STM32F4xx) - SPI.transfer(INIT_SCREEN, SPI_CONTINUE); - SPI.transfer(Marlin, SPI_CONTINUE); - #elif ANY(ARDUINO_ARCH_SAM, __SAMD51__, __MK20DX256__, __MK64FX512__) - SPI.transfer(INIT_SCREEN); - SPI.transfer(Marlin); - #elif defined(ARDUINO_ARCH_ESP32) - SPI.write(INIT_SCREEN); - SPI.write(Marlin); - #endif + SPI_SEND_ONE(INIT_SCREEN); + SPI_SEND_ONE(Marlin); WRITE(TFTGLCD_CS, HIGH); #else Wire.beginTransmission((uint8_t)LCD_I2C_ADDRESS); @@ -415,8 +359,8 @@ bool MarlinUI::detected() { void MarlinUI::clear_lcd() { if (!PanelDetected) return; + lcd.clr_screen(); lcd.clear_buffer(); - lcd.print_screen(); } int16_t MarlinUI::contrast; // Initialized by settings.load() @@ -583,10 +527,10 @@ FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char *p lcd.write('%'); lcd.write(percent); } else { // For progress bar test - lcd.setCursor(LCD_WIDTH / 2 - 2, LCD_HEIGHT / 2 - 2); + lcd.setCursor(LCD_WIDTH / 2 - 2, MIDDLE_Y); lcd.print(i16tostr3rj(percent)); lcd.write('%'); lcd.print_line(); - lcd.setCursor(0, LCD_HEIGHT / 2 - 1); + lcd.setCursor(0, MIDDLE_Y + 1); lcd.write('%'); lcd.write(percent); lcd.print_line(); } @@ -912,16 +856,17 @@ void MarlinUI::draw_status_screen() { } // Low-level draw_edit_screen can be used to draw an edit screen from anyplace + // This line moves to the last line of the screen for UBL plot screen on the panel side void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) { if (!PanelDetected) return; ui.encoder_direction_normal(); - lcd.setCursor(0, LCD_HEIGHT - 1); //last line is free most time + lcd.setCursor(0, MIDDLE_Y); lcd.write(COLOR_EDIT); lcd_put_u8str_P(pstr); if (value != nullptr) { lcd.write(':'); - lcd.setCursor((LCD_WIDTH - 1) - (utf8_strlen(value) + 1), LCD_HEIGHT - 1); // Right-justified, padded by spaces - lcd.write(' '); // Overwrite char if value gets shorter + lcd.setCursor((LCD_WIDTH - 1) - (utf8_strlen(value) + 1), MIDDLE_Y); // Right-justified, padded by spaces + lcd.write(' '); // Overwrite char if value gets shorter lcd.print(value); lcd.write(' '); lcd.print_line(); @@ -932,10 +877,10 @@ void MarlinUI::draw_status_screen() { void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const bool yesno, PGM_P const pref, const char * const string, PGM_P const suff) { if (!PanelDetected) return; ui.draw_select_screen_prompt(pref, string, suff); - lcd.setCursor(0, LCD_HEIGHT - 1); + lcd.setCursor(0, MIDDLE_Y); lcd.write(COLOR_EDIT); lcd.write(yesno ? ' ' : '['); lcd_put_u8str_P(no); lcd.write(yesno ? ' ' : ']'); - lcd.setCursor(LCD_WIDTH - utf8_strlen_P(yes) - 3, LCD_HEIGHT - 1); + lcd.setCursor(LCD_WIDTH - utf8_strlen_P(yes) - 3, MIDDLE_Y); lcd.write(yesno ? '[' : ' '); lcd_put_u8str_P(yes); lcd.write(yesno ? ']' : ' '); lcd.print_line(); } diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h index 9f54730c3c89..eedcc4afa073 100644 --- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h +++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.h @@ -45,6 +45,7 @@ class TFTGLCD { public: TFTGLCD(); void clear_buffer(); + void clr_screen(); void setCursor(uint8_t col, uint8_t row); void write(char c); void print(const char *line); diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index c0a72bbe6c8a..68a10245e951 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -490,7 +490,7 @@ void menu_backlash(); #if ENABLED(PROBE_OFFSET_WIZARD) SUBMENU(MSG_PROBE_WIZARD, goto_probe_offset_wizard); #endif - + END_MENU(); } #endif diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 8cb06824b409..5bb32a420aee 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -223,14 +223,14 @@ #endif /** - * _____ _____ - * NC | · · | GND 5V | · · | GND - * RESET | · · | 1.31(SD_DETECT) (LCD_D7) 1.23 | · · | 1.22 (LCD_D6) - * (MOSI)0.18 | · · | 3.25(BTN_EN2) (LCD_D5) 1.21 | · · | 1.20 (LCD_D4) - * (SD_SS)0.16 | · · | 3.26(BTN_EN1) (LCD_RS) 1.19 | · · | 1.18 (LCD_EN) - * (SCK)0.15 | · · | 0.17(MISO) (BTN_ENC) 0.28 | · · | 1.30 (BEEPER) - * ----- ----- - * EXP2 EXP1 + * _____ _____ + * NC | · · | GND 5V | · · | GND + * RESET | · · | 1.31 (SD_DETECT) (LCD_D7) 1.23 | · · | 1.22 (LCD_D6) + * (MOSI) 0.18 | · · | 3.25 (BTN_EN2) (LCD_D5) 1.21 | · · | 1.20 (LCD_D4) + * (SD_SS) 0.16 | · · | 3.26 (BTN_EN1) (LCD_RS) 1.19 | · · | 1.18 (LCD_EN) + * (SCK) 0.15 | · · | 0.17 (MISO) (BTN_ENC) 0.28 | · · | 1.30 (BEEPER) + * ----- ----- + * EXP2 EXP1 */ #if HAS_WIRED_LCD #if ENABLED(ANET_FULL_GRAPHICS_LCD) diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h index fd902afda42f..820c35a01cb9 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h @@ -92,7 +92,7 @@ // // LCD / Controller // -#if HAS_WIRED_LCD +#if HAS_WIRED_LCD && DISABLED(LCD_USE_I2C_BUZZER) #define BEEPER_PIN P1_30 // (37) not 5V tolerant #endif diff --git a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h index dfa413b63fad..a0e035a91688 100644 --- a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h +++ b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h @@ -33,6 +33,9 @@ // #if NO_EEPROM_SELECTED #define FLASH_EEPROM_EMULATION + #ifndef MARLIN_EEPROM_SIZE + #define MARLIN_EEPROM_SIZE 0x800U // 2KB + #endif #endif // diff --git a/Marlin/src/pins/stm32f1/pins_MORPHEUS.h b/Marlin/src/pins/stm32f1/pins_MORPHEUS.h index 28262eaa828c..ccc92b7527d1 100644 --- a/Marlin/src/pins/stm32f1/pins_MORPHEUS.h +++ b/Marlin/src/pins/stm32f1/pins_MORPHEUS.h @@ -89,3 +89,4 @@ // #define LED_PIN PC13 #define SDSS PA3 +#define TFTGLCD_CS PA4 From 11662bf2b65e0762e7ed7c95522a15477215c013 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 10 Oct 2020 01:17:34 -0500 Subject: [PATCH 234/277] Marlin 2.0.7.1 --- Marlin/Configuration.h | 3 +-- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- config/README.md | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index ec8b162cd643..9f92bc4782ed 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -346,11 +346,10 @@ #endif #endif -// @section temperature - //=========================================================================== //============================= Thermal Settings ============================ //=========================================================================== +// @section temperature /** * --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table diff --git a/Marlin/Version.h b/Marlin/Version.h index 5759771f7f4e..f642fec7567a 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.7" +//#define SHORT_BUILD_VERSION "2.0.7.1" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index ad7f2e1d599c..274659c48b17 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.7" + #define SHORT_BUILD_VERSION "2.0.7.1" #endif /** diff --git a/config/README.md b/config/README.md index 95d761155717..3d73a9bbbc71 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.1.zip From faae9007475ac5367a297500516acf03658c72d8 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Mon, 12 Oct 2020 18:38:07 -0300 Subject: [PATCH 235/277] TFT Refactoring (#19192) * split tft folder in two: tft for color ui; tft_io for shared tft code * after the files got moved, now the code was moved to the right place * classic ui using TFT IO init lcd codes * feature to compile tft_io when enabled * compiling fix * lvgl spi tft working with tft io init codes * there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything * remove debug * base for TFT rotation and mirroring API, and ILI9488 support * ST7796S rotate and mirror support * ST7789V rotate and mirror support * ST7735 rotate and mirror support * ILI9341 rotate and mirror support * ILI9328 rotate and mirror support * R61505 rotate and mirror support * MKS TFT definitions * more configs for mks tfts * update config * naming typo * to configure the user interface * ANYCUBIC_TFT35 * tft configs * support for SSD1963 * tft display types * updated conditionals lcd; first board fully working with the new code - all 3 ui! * compatiblity * changed name * move classic ui file name * rename TURN -> ROTATE * GRAPHICAL_TFT_ROTATE_180 deprecated * first fsmc board fully working - chitu v5 * mks robin nano v1.2 + tft 35 ok! * right pin name * anycubic tft tested in a TRIGORILLA_PRO * chitu v6 * nano 32 tft orientation * mks tft43 * mks tft43 rotation * fixed LONGER LK tft setup * GRAPHICAL_TFT_UPSCALE defined by the display type * better offsets defaults * Update Configuration.h * Update tft_fsmc.cpp * Update Conditionals_LCD.h * Tweak comments * update nano tests * Revert "update nano tests" This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65. * default tft * outdated comments * to not break non-vscode builds * upscale tft 35 * support tft 180 rotation for color ui * Each TFT Driver is responsible for its default color mode. * use auto detect in mks displays, because some of them could be shipped with diferent drivers * extra s * unused code * wrong -1 * missing mirror options * Smaller regex pattern * Comment updates * Clean up old defines * Apply pins formatting * GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180 * MKS_ROBIN_TFT_V1_1R * merge fix * correct resolution * auto is default, dont need be there, and it will allow the user to configure it even for named displays * to not use rotation with MKS_ROBIN_TFT_V1_1R * i like () in macros * avoid sleepy commits * default for st7789 is rgb * nano follow up * to allow ili9328 rotation * default is rgb * boards merge follow up * to match bootloader orientation * HAS_TOUCH_XPT2046 is not hal specific anymore * lets not forget LPC * 180 rotation for ili9328 and R61505 * Clean up whitespace Co-authored-by: Scott Lahteine Co-authored-by: Scott Lahteine --- Marlin/Configuration.h | 74 ++-- Marlin/Configuration_adv.h | 3 +- Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h | 7 - Marlin/src/HAL/LPC1768/tft/tft_spi.h | 2 +- Marlin/src/HAL/STM32/tft/tft_fsmc.h | 2 +- Marlin/src/HAL/STM32/tft/tft_spi.h | 2 +- Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h | 7 - Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp | 13 - Marlin/src/HAL/STM32F1/tft/tft_fsmc.h | 2 +- Marlin/src/HAL/STM32F1/tft/tft_spi.h | 2 +- Marlin/src/core/macros.h | 6 + Marlin/src/inc/Conditionals_LCD.h | 176 +++++++- Marlin/src/inc/SanityCheck.h | 4 +- ...pp => u8g_dev_tft_upscale_from_128x64.cpp} | 347 +--------------- Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp | 146 ++----- Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h | 18 +- .../extui/lib/mks_ui/draw_error_message.cpp | 6 +- Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp | 65 +-- .../extui/lib/mks_ui/mks_hardware_test.cpp | 12 +- Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp | 60 --- Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h | 30 -- .../lib/mks_ui/tft_lvgl_configuration.cpp | 385 +----------------- .../extui/lib/mks_ui/tft_lvgl_configuration.h | 2 +- Marlin/src/lcd/scaled_tft.h | 9 +- Marlin/src/lcd/tft/tft.cpp | 159 +------- Marlin/src/lcd/tft/tft.h | 26 +- Marlin/src/lcd/tft/tft_io.h | 30 -- Marlin/src/lcd/tft/touch.cpp | 4 + Marlin/src/lcd/{tft => tft_io}/ili9328.h | 29 +- Marlin/src/lcd/{tft => tft_io}/ili9341.h | 18 +- Marlin/src/lcd/{tft => tft_io}/ili9488.h | 18 +- Marlin/src/lcd/{tft => tft_io}/r65105.h | 29 +- Marlin/src/lcd/tft_io/ssd1963.h | 131 ++++++ Marlin/src/lcd/{tft => tft_io}/st7735.h | 16 +- Marlin/src/lcd/{tft => tft_io}/st7789v.h | 16 +- Marlin/src/lcd/{tft => tft_io}/st7796s.h | 16 +- Marlin/src/lcd/tft_io/tft_io.cpp | 226 ++++++++++ Marlin/src/lcd/tft_io/tft_io.h | 124 ++++++ Marlin/src/lcd/touch/touch_buttons.cpp | 2 +- Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h | 31 +- Marlin/src/pins/lpc1768/pins_MKS_SBASE.h | 2 +- Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h | 2 +- .../src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h | 2 +- Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h | 4 +- Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h | 18 +- Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h | 22 +- .../src/pins/stm32f1/pins_JGAURORA_A5S_A1.h | 2 +- Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h | 11 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h | 4 +- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h | 1 + Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h | 61 +-- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 18 +- Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h | 52 ++- Marlin/src/pins/teensy4/pins_T41U5XBB.h | 6 +- Marlin/src/pins/teensy4/pins_TEENSY41.h | 10 +- platformio.ini | 6 +- 56 files changed, 1000 insertions(+), 1476 deletions(-) rename Marlin/src/lcd/dogm/{u8g_dev_tft_320x240_upscale_from_128x64.cpp => u8g_dev_tft_upscale_from_128x64.cpp} (60%) delete mode 100644 Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp delete mode 100644 Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h delete mode 100644 Marlin/src/lcd/tft/tft_io.h rename Marlin/src/lcd/{tft => tft_io}/ili9328.h (87%) rename Marlin/src/lcd/{tft => tft_io}/ili9341.h (94%) rename Marlin/src/lcd/{tft => tft_io}/ili9488.h (93%) rename Marlin/src/lcd/{tft => tft_io}/r65105.h (87%) create mode 100644 Marlin/src/lcd/tft_io/ssd1963.h rename Marlin/src/lcd/{tft => tft_io}/st7735.h (92%) rename Marlin/src/lcd/{tft => tft_io}/st7789v.h (93%) rename Marlin/src/lcd/{tft => tft_io}/st7796s.h (93%) create mode 100644 Marlin/src/lcd/tft_io/tft_io.cpp create mode 100644 Marlin/src/lcd/tft_io/tft_io.h diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 9f92bc4782ed..d32dbbbfb32f 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -2198,43 +2198,47 @@ //=============================== Graphical TFTs ============================== //============================================================================= -// -// TFT display with optional touch screen -// Color Marlin UI with standard menu system -// -//#define TFT_320x240 -//#define TFT_320x240_SPI -//#define TFT_480x320 -//#define TFT_480x320_SPI - -// -// Skip autodetect and force specific TFT driver -// Mandatory for SPI screens with no MISO line -// Available drivers are: ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 -// -//#define TFT_DRIVER AUTO - -// -// SPI display (MKS Robin Nano V2.0, MKS Gen L V2.0) -// Upscaled 128x64 Marlin UI -// -//#define SPI_GRAPHICAL_TFT +/** + * TFT Type - Select your Display type + * + * Available options are: + * MKS_TS35_V2_0, + * MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, + * MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R + * TFT_TRONXY_X5SA, ANYCUBIC_TFT35, LONGER_LK_TFT28 + * TFT_GENERIC + * + * For TFT_GENERIC, you need to configure these 3 options: + * Driver: TFT_DRIVER + * Current Drivers are: AUTO, ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 + * Resolution: TFT_WIDTH and TFT_HEIGHT + * Interface: TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI + */ +//#define TFT_GENERIC -// -// FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) -// Upscaled 128x64 Marlin UI -// -//#define FSMC_GRAPHICAL_TFT +/** + * TFT UI - User Interface Selection. Enable one of the following options: + * + * TFT_CLASSIC_UI - Emulated DOGM - 128x64 Upscaled + * TFT_COLOR_UI - Marlin Default Menus, Touch Friendly, using full TFT capabilities + * TFT_LVGL_UI - A Modern UI using LVGL + * + * For LVGL_UI also copy the 'assets' folder from the build directory to the + * root of your SD card, together with the compiled firmware. + */ +//#define TFT_CLASSIC_UI +//#define TFT_COLOR_UI +//#define TFT_LVGL_UI -// -// TFT LVGL UI -// -// Using default MKS icons and fonts from: https://git.io/JJvzK -// Just copy the 'assets' folder from the build directory to the -// root of your SD card, together with the compiled firmware. -// -//#define TFT_LVGL_UI_FSMC // Robin nano v1.2 uses FSMC -//#define TFT_LVGL_UI_SPI // Robin nano v2.0 uses SPI +/** + * TFT Rotation. Set to one of the following values: + * + * TFT_ROTATE_90, TFT_ROTATE_90_MIRROR_X, TFT_ROTATE_90_MIRROR_Y, + * TFT_ROTATE_180, TFT_ROTATE_180_MIRROR_X, TFT_ROTATE_180_MIRROR_Y, + * TFT_ROTATE_270, TFT_ROTATE_270_MIRROR_X, TFT_ROTATE_270_MIRROR_Y, + * TFT_MIRROR_X, TFT_MIRROR_Y, TFT_NO_ROTATION + */ +//#define TFT_ROTATION TFT_NO_ROTATION //============================================================================= //============================ Other Controllers ============================ diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 59a1813610ff..9c439c90a71f 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1562,10 +1562,9 @@ #endif // -// FSMC / SPI Graphical TFT +// Classic UI Options // #if TFT_SCALED_DOGLCD - //#define GRAPHICAL_TFT_ROTATE_180 //#define TFT_MARLINUI_COLOR 0xFFFF // White //#define TFT_MARLINBG_COLOR 0x0000 // Black //#define TFT_DISABLED_COLOR 0x0003 // Almost black diff --git a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h index b9bc0bf82e61..32ef908d633c 100644 --- a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h @@ -24,10 +24,3 @@ #if HAS_FSMC_TFT #error "Sorry! FSMC TFT displays are not current available for HAL/LPC1768." #endif - -// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046' -#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT - #undef TOUCH_SCREEN - #undef TOUCH_SCREEN_CALIBRATION - #define HAS_TOUCH_XPT2046 1 -#endif diff --git a/Marlin/src/HAL/LPC1768/tft/tft_spi.h b/Marlin/src/HAL/LPC1768/tft/tft_spi.h index 8d3e3127bbd1..4753fdbae9a0 100644 --- a/Marlin/src/HAL/LPC1768/tft/tft_spi.h +++ b/Marlin/src/HAL/LPC1768/tft/tft_spi.h @@ -36,7 +36,7 @@ #define DATASIZE_8BIT SSP_DATABIT_8 #define DATASIZE_16BIT SSP_DATABIT_16 -#define TFT_IO TFT_SPI +#define TFT_IO_DRIVER TFT_SPI #define DMA_MINC_ENABLE 1 #define DMA_MINC_DISABLE 0 diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.h b/Marlin/src/HAL/STM32/tft/tft_fsmc.h index 8500fee113eb..cbec7613ef4a 100644 --- a/Marlin/src/HAL/STM32/tft/tft_fsmc.h +++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.h @@ -38,7 +38,7 @@ #define DATASIZE_8BIT SPI_DATASIZE_8BIT #define DATASIZE_16BIT SPI_DATASIZE_16BIT -#define TFT_IO TFT_FSMC +#define TFT_IO_DRIVER TFT_FSMC #ifdef STM32F1xx #define __IS_DMA_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CCR & DMA_CCR_EN) diff --git a/Marlin/src/HAL/STM32/tft/tft_spi.h b/Marlin/src/HAL/STM32/tft/tft_spi.h index 1eed45a709cc..d477b58c004d 100644 --- a/Marlin/src/HAL/STM32/tft/tft_spi.h +++ b/Marlin/src/HAL/STM32/tft/tft_spi.h @@ -38,7 +38,7 @@ #define DATASIZE_8BIT SPI_DATASIZE_8BIT #define DATASIZE_16BIT SPI_DATASIZE_16BIT -#define TFT_IO TFT_SPI +#define TFT_IO_DRIVER TFT_SPI class TFT_SPI { private: diff --git a/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h b/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h index 25110d7c80e4..f52e6fec2b1e 100644 --- a/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h @@ -25,10 +25,3 @@ //#warning "SD_CHECK_AND_RETRY isn't needed with USE_USB_COMPOSITE." #undef SD_CHECK_AND_RETRY #endif - -// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046' -#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT - #undef TOUCH_SCREEN - #undef TOUCH_SCREEN_CALIBRATION - #define HAS_TOUCH_XPT2046 1 -#endif diff --git a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp index 008301d9bc0c..5b52fb416fa3 100644 --- a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp @@ -89,25 +89,12 @@ void TFT_FSMC::Init() { uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN; uint32_t controllerAddress; - #if PIN_EXISTS(TFT_BACKLIGHT) - OUT_WRITE(TFT_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); - #endif - #if ENABLED(LCD_USE_DMA_FSMC) dma_init(FSMC_DMA_DEV); dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); #endif - #if PIN_EXISTS(TFT_RESET) - OUT_WRITE(TFT_RESET_PIN, HIGH); - delay(100); - #endif - - #if PIN_EXISTS(TFT_BACKLIGHT) - OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); - #endif - struct fsmc_nor_psram_reg_map* fsmcPsramRegion; if (fsmcInit) return; diff --git a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h index 6fcfea8a1167..11eb1ffa8410 100644 --- a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h @@ -32,7 +32,7 @@ #define DATASIZE_8BIT DMA_SIZE_8BITS #define DATASIZE_16BIT DMA_SIZE_16BITS -#define TFT_IO TFT_FSMC +#define TFT_IO_DRIVER TFT_FSMC typedef struct { __IO uint16_t REG; diff --git a/Marlin/src/HAL/STM32F1/tft/tft_spi.h b/Marlin/src/HAL/STM32F1/tft/tft_spi.h index bb26fc21b64f..da9a8e0c223e 100644 --- a/Marlin/src/HAL/STM32F1/tft/tft_spi.h +++ b/Marlin/src/HAL/STM32F1/tft/tft_spi.h @@ -34,7 +34,7 @@ #define DATASIZE_8BIT DATA_SIZE_8BIT #define DATASIZE_16BIT DATA_SIZE_16BIT -#define TFT_IO TFT_SPI +#define TFT_IO_DRIVER TFT_SPI #define DMA_MINC_ENABLE 1 #define DMA_MINC_DISABLE 0 diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index 72644b195ccd..21bb32c4cf24 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -452,6 +452,12 @@ #define HAS_ARGS(V...) _BOOL(FIRST(_END_OF_ARGUMENTS_ V)()) #define _END_OF_ARGUMENTS_() 0 + +// Simple Inline IF Macros, friendly to use in other macro definitions +#define IF(O, A, B) ((O) ? (A) : (B)) +#define IF_0(O, A) IF(O, A, 0) +#define IF_1(O, A) IF(O, A, 1) + // // REPEAT core macros. Recurse N times with ascending I. // diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 42d82dcc1066..56ce2ca5ed82 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -311,13 +311,40 @@ #define IS_ULTIPANEL #endif +// Compatibility +#if ENABLED(FSMC_GRAPHICAL_TFT) + #define TFT_CLASSIC_UI + #define TFT_INTERFACE_FSMC + #define TFT_GENERIC +#elif ENABLED(SPI_GRAPHICAL_TFT) + #define TFT_CLASSIC_UI + #define TFT_INTERFACE_SPI + #define TFT_GENERIC +#elif EITHER(TFT_320x240, TFT_480x320) + #define TFT_COLOR_UI + #define TFT_INTERFACE_FSMC + #define TFT_GENERIC +#elif EITHER(TFT_320x240_SPI, TFT_480x320_SPI) + #define TFT_COLOR_UI + #define TFT_INTERFACE_SPI + #define TFT_GENERIC +#elif ENABLED(TFT_LVGL_UI_FSMC) + #define TFT_LVGL_UI + #define TFT_INTERFACE_FSMC + #define TFT_GENERIC +#elif ENABLED(TFT_LVGL_UI_SPI) + #define TFT_LVGL_UI + #define TFT_INTERFACE_SPI + #define TFT_GENERIC +#endif + // FSMC/SPI TFT Panels (LVGL) -#if EITHER(TFT_LVGL_UI_SPI, TFT_LVGL_UI_FSMC) +#if ENABLED(TFT_LVGL_UI) #define HAS_TFT_LVGL_UI 1 #endif // FSMC/SPI TFT Panels -#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) +#if ENABLED(TFT_CLASSIC_UI) #define TFT_SCALED_DOGLCD 1 #endif @@ -325,32 +352,16 @@ #define DOGLCD #define IS_ULTIPANEL #define DELAYED_BACKLIGHT_INIT -#elif ENABLED(TFT_LVGL_UI_SPI) +#elif ENABLED(TFT_LVGL_UI) #define DELAYED_BACKLIGHT_INIT #endif -// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h -#if ANY(TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC, FSMC_GRAPHICAL_TFT) - #define HAS_FSMC_TFT 1 -#elif ANY(TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI, SPI_GRAPHICAL_TFT) - #define HAS_SPI_TFT 1 -#endif - // Color UI -#if ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI) +#if ENABLED(TFT_COLOR_UI) #define HAS_GRAPHICAL_TFT 1 #define IS_ULTIPANEL #endif -// Fewer lines with touch buttons on-screen -#if EITHER(TFT_320x240, TFT_320x240_SPI) - #define HAS_UI_320x240 1 - #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) -#elif EITHER(TFT_480x320, TFT_480x320_SPI) - #define HAS_UI_480x320 1 - #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) -#endif - /** * I2C Panels */ @@ -810,3 +821,128 @@ #ifndef EXTRUDE_MINTEMP #define EXTRUDE_MINTEMP 170 #endif + +/** + * TFT Displays + * + * Configure parameters for TFT displays: + * - TFT_DEFAULT_ORIENTATION + * - TFT_DRIVER + * - TFT_WIDTH + * - TFT_HEIGHT + * - TFT_INTERFACE_(SPI|FSMC) + * - TFT_COLOR + * - GRAPHICAL_TFT_UPSCALE + */ +#if ENABLED(MKS_TS35_V2_0) + // Most common: ST7796 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY) + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define TFT_INTERFACE_SPI + #define GRAPHICAL_TFT_UPSCALE 3 +#elif ENABLED(MKS_ROBIN_TFT24) + // Most common: ST7789 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(MKS_ROBIN_TFT28) + // Most common: ST7789 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(MKS_ROBIN_TFT32) + // Most common: ST7789 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(MKS_ROBIN_TFT35) + // Most common: ILI9488 + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 3 +#elif ENABLED(MKS_ROBIN_TFT43) + #define TFT_DEFAULT_ORIENTATION 0 + #define TFT_DRIVER SSD1963 + #define TFT_WIDTH 480 + #define TFT_HEIGHT 272 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(MKS_ROBIN_TFT_V1_1R) + // ILI9328 or R61505 + #define TFT_DEFAULT_ORIENTATION (TFT_INVERT_X | TFT_INVERT_Y | TFT_EXCHANGE_XY) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif EITHER(TFT_TRONXY_X5SA, ANYCUBIC_TFT35) + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) + #define TFT_DRIVER ILI9488 + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 3 +#elif ENABLED(LONGER_LK_TFT28) + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 + #define TFT_INTERFACE_FSMC + #define GRAPHICAL_TFT_UPSCALE 2 +#elif ENABLED(TFT_GENERIC) + #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y) +#endif + +// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h +#if ENABLED(TFT_INTERFACE_FSMC) + #define HAS_FSMC_TFT 1 + #if ENABLED(TFT_CLASSIC_UI) + #define FSMC_GRAPHICAL_TFT + #elif ENABLED(TFT_LVGL_UI) + #define TFT_LVGL_UI_FSMC + #endif +#elif ENABLED(TFT_INTERFACE_SPI) + #define HAS_SPI_TFT 1 + #if ENABLED(TFT_CLASSIC_UI) + #define SPI_GRAPHICAL_TFT + #elif ENABLED(TFT_LVGL_UI) + #define TFT_LVGL_UI_SPI + #endif +#endif + +#if ENABLED(TFT_COLOR_UI) && TFT_HEIGHT == 240 + #if ENABLED(TFT_INTERFACE_SPI) + #define TFT_320x240_SPI + #elif ENABLED(TFT_INTERFACE_FSMC) + #define TFT_320x240 + #endif +#elif ENABLED(TFT_COLOR_UI) && TFT_HEIGHT == 320 + #if ENABLED(TFT_INTERFACE_SPI) + #define TFT_480x320_SPI + #elif ENABLED(TFT_INTERFACE_FSMC) + #define TFT_480x320 + #endif +#endif + +// Fewer lines with touch buttons on-screen +#if EITHER(TFT_320x240, TFT_320x240_SPI) + #define HAS_UI_320x240 1 + #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) +#elif EITHER(TFT_480x320, TFT_480x320_SPI) + #define HAS_UI_480x320 1 + #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) +#endif + +// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046' +#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT + #undef TOUCH_SCREEN + #undef TOUCH_SCREEN_CALIBRATION + #define HAS_TOUCH_XPT2046 1 +#endif diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index c4dcfd54ae82..7e3b6724d035 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -447,8 +447,6 @@ #error "POWER_SUPPLY is now obsolete. Please remove it from Configuration.h." #elif defined(MKS_ROBIN_TFT) #error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. Please update your configuration." -#elif defined(TFT_LVGL_UI) - #error "TFT_LVGL_UI is now TFT_LVGL_UI_FSMC. Please update your configuration." #elif defined(SDPOWER) #error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/or pins." #elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2) @@ -535,6 +533,8 @@ #error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. Please update your Configuration.h." #elif defined(EVENT_GCODE_SD_STOP) #error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. Please update your Configuration.h." +#elif defined(GRAPHICAL_TFT_ROTATE_180) + #error "GRAPHICAL_TFT_ROTATE_180 is now TFT_ROTATION set to TFT_ROTATE_180. Please update your Configuration.h." #elif defined(FIL_RUNOUT_INVERTING) #if FIL_RUNOUT_INVERTING #error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update your Configuration.h." diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp similarity index 60% rename from Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp rename to Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp index 0f53e45a27b5..d18b617987cb 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp @@ -66,12 +66,7 @@ #define HAS_LCD_IO 1 #endif -#if ENABLED(SPI_GRAPHICAL_TFT) - #include HAL_PATH(../../HAL, tft/tft_spi.h) -#elif ENABLED(FSMC_GRAPHICAL_TFT) - #include HAL_PATH(../../HAL, tft/tft_fsmc.h) -#endif - +#include "../tft_io/tft_io.h" TFT_IO tftio; #define WIDTH LCD_PIXEL_WIDTH @@ -132,299 +127,10 @@ TFT_IO tftio; #define TFT_BTOKMENU_COLOR COLOR_RED #endif -static uint32_t lcd_id = 0; - -#define ST7789V_CASET 0x2A /* Column address register */ -#define ST7789V_RASET 0x2B /* Row address register */ -#define ST7789V_WRITE_RAM 0x2C /* Write data to GRAM */ - - -/* Mind the mess: with landscape screen orientation 'Horizontal' is Y and 'Vertical' is X */ -#define ILI9328_HASET 0x20 /* Horizontal GRAM address register (0-255) */ -#define ILI9328_VASET 0x21 /* Vertical GRAM address register (0-511)*/ -#define ILI9328_WRITE_RAM 0x22 /* Write data to GRAM */ - -#define ILI9328_HASTART 0x50 /* Horizontal address start position (0-255) */ -#define ILI9328_HAEND 0x51 /* Horizontal address end position (0-255) */ -#define ILI9328_VASTART 0x52 /* Vertical address start position (0-511) */ -#define ILI9328_VAEND 0x53 /* Vertical address end position (0-511) */ - -static void setWindow_ili9328(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { - #if HAS_LCD_IO - tftio.DataTransferBegin(DATASIZE_8BIT); - #define IO_REG_DATA(R,D) do { tftio.WriteReg(R); tftio.WriteData(D); }while(0) - #else - #define IO_REG_DATA(R,D) do { u8g_WriteByte(u8g, dev, R); u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&D); }while(0) - #endif - - #if NONE(LCD_USE_DMA_FSMC, LCD_USE_DMA_SPI) - u8g_SetAddress(u8g, dev, 0); - #endif - - IO_REG_DATA(ILI9328_HASTART, Ymin); - IO_REG_DATA(ILI9328_HAEND, Ymax); - IO_REG_DATA(ILI9328_VASTART, Xmin); - IO_REG_DATA(ILI9328_VAEND, Xmax); - - IO_REG_DATA(ILI9328_HASET, Ymin); - IO_REG_DATA(ILI9328_VASET, Xmin); - - #if HAS_LCD_IO - tftio.WriteReg(ILI9328_WRITE_RAM); - tftio.DataTransferEnd(); - #else - u8g_WriteByte(u8g, dev, ILI9328_WRITE_RAM); - u8g_SetAddress(u8g, dev, 1); - #endif -} - -static void setWindow_st7789v(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { - #if HAS_LCD_IO - tftio.DataTransferBegin(DATASIZE_8BIT); - tftio.WriteReg(ST7789V_CASET); - tftio.WriteData((Xmin >> 8) & 0xFF); - tftio.WriteData(Xmin & 0xFF); - tftio.WriteData((Xmax >> 8) & 0xFF); - tftio.WriteData(Xmax & 0xFF); - - tftio.WriteReg(ST7789V_RASET); - tftio.WriteData((Ymin >> 8) & 0xFF); - tftio.WriteData(Ymin & 0xFF); - tftio.WriteData((Ymax >> 8) & 0xFF); - tftio.WriteData(Ymax & 0xFF); - - tftio.WriteReg(ST7789V_WRITE_RAM); - tftio.DataTransferEnd(); - #else - u8g_SetAddress(u8g, dev, 0); u8g_WriteByte(u8g, dev, ST7789V_CASET); u8g_SetAddress(u8g, dev, 1); - u8g_WriteByte(u8g, dev, (Xmin >> 8) & 0xFF); - u8g_WriteByte(u8g, dev, Xmin & 0xFF); - u8g_WriteByte(u8g, dev, (Xmax >> 8) & 0xFF); - u8g_WriteByte(u8g, dev, Xmax & 0xFF); - - u8g_SetAddress(u8g, dev, 0); u8g_WriteByte(u8g, dev, ST7789V_RASET); u8g_SetAddress(u8g, dev, 1); - u8g_WriteByte(u8g, dev, (Ymin >> 8) & 0xFF); - u8g_WriteByte(u8g, dev, Ymin & 0xFF); - u8g_WriteByte(u8g, dev, (Ymax >> 8) & 0xFF); - u8g_WriteByte(u8g, dev, Ymax & 0xFF); - - u8g_SetAddress(u8g, dev, 0); u8g_WriteByte(u8g, dev, ST7789V_WRITE_RAM); u8g_SetAddress(u8g, dev, 1); - #endif +static void setWindow(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { + tftio.set_window(Xmin, Ymin, Xmax, Ymax); } -static void setWindow_none(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) {} -void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) = setWindow_none; - -#define ESC_REG(x) 0xFFFF, 0x00FF & (uint16_t)x -#define ESC_DELAY(x) 0xFFFF, 0x8000 | (x & 0x7FFF) -#define ESC_END 0xFFFF, 0x7FFF -#define ESC_FFFF 0xFFFF, 0xFFFF - -#if HAS_LCD_IO - void writeEscSequence(const uint16_t *sequence) { - uint16_t data; - for (;;) { - data = *sequence++; - if (data != 0xFFFF) { - tftio.WriteData(data); - continue; - } - data = *sequence++; - if (data == 0x7FFF) return; - if (data == 0xFFFF) { - tftio.WriteData(data); - } else if (data & 0x8000) { - delay(data & 0x7FFF); - } else if ((data & 0xFF00) == 0) { - tftio.WriteReg(data); - } - } - } - #define WRITE_ESC_SEQUENCE(V) writeEscSequence(V) - #define WRITE_ESC_SEQUENCE16(V) writeEscSequence(V) -#else - void writeEscSequence8(u8g_t *u8g, u8g_dev_t *dev, const uint16_t *sequence) { - uint16_t data; - u8g_SetAddress(u8g, dev, 1); - for (;;) { - data = *sequence++; - if (data != 0xFFFF) { - u8g_WriteByte(u8g, dev, data & 0xFF); - continue; - } - data = *sequence++; - if (data == 0x7FFF) return; - if (data == 0xFFFF) { - u8g_WriteByte(u8g, dev, data & 0xFF); - } else if (data & 0x8000) { - delay(data & 0x7FFF); - } else if ((data & 0xFF00) == 0) { - u8g_SetAddress(u8g, dev, 0); - u8g_WriteByte(u8g, dev, data & 0xFF); - u8g_SetAddress(u8g, dev, 1); - } - } - } - - #define WRITE_ESC_SEQUENCE(V) writeEscSequence8(u8g, dev, V) - - void writeEscSequence16(u8g_t *u8g, u8g_dev_t *dev, const uint16_t *sequence) { - uint16_t data; - u8g_SetAddress(u8g, dev, 0); - for (;;) { - data = *sequence++; - if (data != 0xFFFF) { - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&data); - continue; - } - data = *sequence++; - if (data == 0x7FFF) return; - if (data == 0xFFFF) { - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&data); - } else if (data & 0x8000) { - delay(data & 0x7FFF); - } else if ((data & 0xFF00) == 0) { - u8g_WriteByte(u8g, dev, data & 0xFF); - } - } - u8g_SetAddress(u8g, dev, 1); - } - - #define WRITE_ESC_SEQUENCE16(V) writeEscSequence16(u8g, dev, V) -#endif - -static const uint16_t st7789v_init[] = { - ESC_REG(0x0010), ESC_DELAY(10), - ESC_REG(0x0001), ESC_DELAY(200), - ESC_REG(0x0011), ESC_DELAY(120), - ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x0060, 0x00A0), - ESC_REG(0x003A), 0x0055, - ESC_REG(0x002A), 0x0000, 0x0000, 0x0001, 0x003F, - ESC_REG(0x002B), 0x0000, 0x0000, 0x0000, 0x00EF, - ESC_REG(0x00B2), 0x000C, 0x000C, 0x0000, 0x0033, 0x0033, - ESC_REG(0x00B7), 0x0035, - ESC_REG(0x00BB), 0x001F, - ESC_REG(0x00C0), 0x002C, - ESC_REG(0x00C2), 0x0001, 0x00C3, - ESC_REG(0x00C4), 0x0020, - ESC_REG(0x00C6), 0x000F, - ESC_REG(0x00D0), 0x00A4, 0x00A1, - ESC_REG(0x0029), - ESC_REG(0x0011), - ESC_END -}; - -static const uint16_t ili9328_init[] = { - ESC_REG(0x0001), 0x0100, - ESC_REG(0x0002), 0x0400, - ESC_REG(0x0003), 0x1038, - ESC_REG(0x0004), 0x0000, - ESC_REG(0x0008), 0x0202, - ESC_REG(0x0009), 0x0000, - ESC_REG(0x000A), 0x0000, - ESC_REG(0x000C), 0x0000, - ESC_REG(0x000D), 0x0000, - ESC_REG(0x000F), 0x0000, - ESC_REG(0x0010), 0x0000, - ESC_REG(0x0011), 0x0007, - ESC_REG(0x0012), 0x0000, - ESC_REG(0x0013), 0x0000, - ESC_REG(0x0007), 0x0001, - ESC_DELAY(200), - ESC_REG(0x0010), 0x1690, - ESC_REG(0x0011), 0x0227, - ESC_DELAY(50), - ESC_REG(0x0012), 0x008C, - ESC_DELAY(50), - ESC_REG(0x0013), 0x1500, - ESC_REG(0x0029), 0x0004, - ESC_REG(0x002B), 0x000D, - ESC_DELAY(50), - ESC_REG(0x0050), 0x0000, - ESC_REG(0x0051), 0x00EF, - ESC_REG(0x0052), 0x0000, - ESC_REG(0x0053), 0x013F, - ESC_REG(0x0020), 0x0000, - ESC_REG(0x0021), 0x0000, - ESC_REG(0x0060), 0x2700, - ESC_REG(0x0061), 0x0001, - ESC_REG(0x006A), 0x0000, - ESC_REG(0x0080), 0x0000, - ESC_REG(0x0081), 0x0000, - ESC_REG(0x0082), 0x0000, - ESC_REG(0x0083), 0x0000, - ESC_REG(0x0084), 0x0000, - ESC_REG(0x0085), 0x0000, - ESC_REG(0x0090), 0x0010, - ESC_REG(0x0092), 0x0600, - ESC_REG(0x0007), 0x0133, - ESC_REG(0x0022), - ESC_END -}; - -static const uint16_t ili9341_init[] = { - ESC_REG(0x0010), ESC_DELAY(10), - ESC_REG(0x0001), ESC_DELAY(200), - ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x0028, 0x00E8), - ESC_REG(0x003A), 0x0055, - ESC_REG(0x002A), 0x0000, 0x0000, 0x0001, 0x003F, - ESC_REG(0x002B), 0x0000, 0x0000, 0x0000, 0x00EF, - ESC_REG(0x00C5), 0x003E, 0x0028, - ESC_REG(0x00C7), 0x0086, - ESC_REG(0x00B1), 0x0000, 0x0018, - ESC_REG(0x00C0), 0x0023, - ESC_REG(0x00C1), 0x0010, - ESC_REG(0x0029), - ESC_REG(0x0011), - ESC_DELAY(100), - ESC_END -}; - -static const uint16_t ili9488_init[] = { - ESC_REG(0x00E0), 0x0000, 0x0007, 0x000F, 0x000D, 0x001B, 0x000A, 0x003C, 0x0078, 0x004A, 0x0007, 0x000E, 0x0009, 0x001B, 0x001E, 0x000F, - ESC_REG(0x00E1), 0x0000, 0x0022, 0x0024, 0x0006, 0x0012, 0x0007, 0x0036, 0x0047, 0x0047, 0x0006, 0x000A, 0x0007, 0x0030, 0x0037, 0x000F, - ESC_REG(0x00C0), 0x0010, 0x0010, - ESC_REG(0x00C1), 0x0041, - ESC_REG(0x00C5), 0x0000, 0x0022, 0x0080, - ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x00A8, 0x0068), - ESC_REG(0x003A), 0x0055, - ESC_REG(0x00B0), 0x0000, - ESC_REG(0x00B1), 0x00B0, 0x0011, - ESC_REG(0x00B4), 0x0002, - ESC_REG(0x00B6), 0x0002, 0x0042, - ESC_REG(0x00B7), 0x00C6, - ESC_REG(0x00E9), 0x0000, - ESC_REG(0x00F0), 0x00A9, 0x0051, 0x002C, 0x0082, - ESC_REG(0x0029), - ESC_REG(0x0011), - ESC_DELAY(100), - ESC_END -}; - -static const uint16_t st7796_init[] = { - ESC_REG(0x0010), ESC_DELAY(120), - ESC_REG(0x0001), ESC_DELAY(120), - ESC_REG(0x0011), ESC_DELAY(120), - ESC_REG(0x00F0), 0x00C3, - ESC_REG(0x00F0), 0x0096, - ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x00E8, 0x0028), - ESC_REG(0x003A), 0x0055, - ESC_REG(0x00B4), 0x0001, - ESC_REG(0x00B7), 0x00C6, - ESC_REG(0x00E8), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, - ESC_REG(0x00C1), 0x0006, - ESC_REG(0x00C2), 0x00A7, - ESC_REG(0x00C5), 0x0018, - ESC_REG(0x00E0), 0x00F0, 0x0009, 0x000B, 0x0006, 0x0004, 0x0015, 0x002F, 0x0054, 0x0042, 0x003C, 0x0017, 0x0014, 0x0018, 0x001B, - ESC_REG(0x00E1), 0x00F0, 0x0009, 0x000B, 0x0006, 0x0004, 0x0003, 0x002D, 0x0043, 0x0042, 0x003B, 0x0016, 0x0014, 0x0017, 0x001B, - ESC_REG(0x00F0), 0x003C, - ESC_REG(0x00F0), 0x0069, ESC_DELAY(120), - ESC_REG(0x0029), - ESC_REG(0x0011), - ESC_DELAY(100), - ESC_END -}; - #if HAS_TOUCH_XPT2046 static const uint8_t buttonD[] = { @@ -640,43 +346,9 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u switch (msg) { case U8G_DEV_MSG_INIT: - dev->com_fn(u8g, U8G_COM_MSG_INIT, U8G_SPI_CLK_CYCLE_NONE, &lcd_id); - tftio.DataTransferBegin(DATASIZE_8BIT); - switch (lcd_id & 0xFFFF) { - case 0x8552: // ST7789V - WRITE_ESC_SEQUENCE(st7789v_init); - setWindow = setWindow_st7789v; - break; - case 0x9328: // ILI9328 - WRITE_ESC_SEQUENCE16(ili9328_init); - setWindow = setWindow_ili9328; - break; - case 0x9341: // ILI9341 - WRITE_ESC_SEQUENCE(ili9341_init); - setWindow = setWindow_st7789v; - break; - case 0x8066: // Anycubic / TronXY TFTs (480x320) - WRITE_ESC_SEQUENCE(ili9488_init); - setWindow = setWindow_st7789v; - break; - case 0x7796: - WRITE_ESC_SEQUENCE(st7796_init); - setWindow = setWindow_st7789v; - break; - case 0x9488: - WRITE_ESC_SEQUENCE(ili9488_init); - setWindow = setWindow_st7789v; - case 0x0404: // No connected display on FSMC - lcd_id = 0; - return 0; - case 0xFFFF: // No connected display on SPI - lcd_id = 0; - return 0; - default: - setWindow = (lcd_id & 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; - break; - } - tftio.DataTransferEnd(); + dev->com_fn(u8g, U8G_COM_MSG_INIT, U8G_SPI_CLK_CYCLE_NONE, NULL); + tftio.Init(); + tftio.InitTFT(); if (preinit) { preinit = false; @@ -771,14 +443,7 @@ uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_p case U8G_COM_MSG_STOP: break; case U8G_COM_MSG_INIT: u8g_SetPIOutput(u8g, U8G_PI_RESET); - u8g_Delay(50); - - tftio.Init(); - - if (arg_ptr) { - *((uint32_t *)arg_ptr) = tftio.GetID(); - } isCommand = 0; break; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp index 351d033d01ec..394ce4807572 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp @@ -22,7 +22,7 @@ #include "../../../../inc/MarlinConfigPre.h" -#if ENABLED(TFT_LVGL_UI_SPI) +#if HAS_TFT_LVGL_UI #include "SPI_TFT.h" #include "pic_manager.h" @@ -32,6 +32,8 @@ #include +#include "draw_ui.h" + TFT SPI_TFT; // use SPI1 for the spi tft. @@ -39,142 +41,48 @@ void TFT::spi_init(uint8_t spiRate) { tftio.Init(); } -void TFT::LCD_WR_REG(uint8_t cmd) { - tftio.WriteReg(cmd); -} - -void TFT::LCD_WR_DATA(uint8_t data) { - tftio.WriteData(data); -} - void TFT::SetPoint(uint16_t x, uint16_t y, uint16_t point) { if ((x > 480) || (y > 320)) return; - SetWindows(x, y, 1, 1); + setWindow(x, y, 1, 1); tftio.WriteMultiple(point, (uint16_t)1); } -void TFT::SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height) { - tftio.DataTransferBegin(DATASIZE_8BIT); - - LCD_WR_REG(0x2A); - LCD_WR_DATA(x >> 8); - LCD_WR_DATA(x); - LCD_WR_DATA((x + with - 1) >> 8); - LCD_WR_DATA((x + with - 1)); - - LCD_WR_REG(0x2B); - LCD_WR_DATA(y >> 8); - LCD_WR_DATA(y); - LCD_WR_DATA((y + height - 1) >> 8); - LCD_WR_DATA(y + height - 1); - - LCD_WR_REG(0X2C); - - tftio.DataTransferEnd(); +void TFT::setWindow(uint16_t x, uint16_t y, uint16_t with, uint16_t height) { + tftio.set_window(x, y, (x + with - 1), (y + height - 1)); } void TFT::LCD_init() { - TFT_BLK_L; - TFT_RST_H; - delay(150); - TFT_RST_L; - delay(150); - TFT_RST_H; - - tftio.DataTransferBegin(DATASIZE_8BIT); - - delay(120); - LCD_WR_REG(0x11); - delay(120); - - LCD_WR_REG(0xF0); - LCD_WR_DATA(0xC3); - LCD_WR_REG(0xF0); - LCD_WR_DATA(0x96); - - LCD_WR_REG(0x36); - LCD_WR_DATA(0x28 + TERN0(GRAPHICAL_TFT_ROTATE_180, 0x80)); - LCD_WR_REG(0x3A); - LCD_WR_DATA(0x55); - - LCD_WR_REG(0xB4); - LCD_WR_DATA(0x01); - LCD_WR_REG(0xB7); - LCD_WR_DATA(0xC6); - LCD_WR_REG(0xE8); - LCD_WR_DATA(0x40); - LCD_WR_DATA(0x8A); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x29); - LCD_WR_DATA(0x19); - LCD_WR_DATA(0xA5); - LCD_WR_DATA(0x33); - LCD_WR_REG(0xC1); - LCD_WR_DATA(0x06); - LCD_WR_REG(0xC2); - LCD_WR_DATA(0xA7); - LCD_WR_REG(0xC5); - LCD_WR_DATA(0x18); - LCD_WR_REG(0xE0); // Positive Voltage Gamma Control - LCD_WR_DATA(0xF0); - LCD_WR_DATA(0x09); - LCD_WR_DATA(0x0B); - LCD_WR_DATA(0x06); - LCD_WR_DATA(0x04); - LCD_WR_DATA(0x15); - LCD_WR_DATA(0x2F); - LCD_WR_DATA(0x54); - LCD_WR_DATA(0x42); - LCD_WR_DATA(0x3C); - LCD_WR_DATA(0x17); - LCD_WR_DATA(0x14); - LCD_WR_DATA(0x18); - LCD_WR_DATA(0x1B); - LCD_WR_REG(0xE1); // Negative Voltage Gamma Control - LCD_WR_DATA(0xF0); - LCD_WR_DATA(0x09); - LCD_WR_DATA(0x0B); - LCD_WR_DATA(0x06); - LCD_WR_DATA(0x04); - LCD_WR_DATA(0x03); - LCD_WR_DATA(0x2D); - LCD_WR_DATA(0x43); - LCD_WR_DATA(0x42); - LCD_WR_DATA(0x3B); - LCD_WR_DATA(0x16); - LCD_WR_DATA(0x14); - LCD_WR_DATA(0x17); - LCD_WR_DATA(0x1B); - LCD_WR_REG(0xF0); - LCD_WR_DATA(0x3C); - LCD_WR_REG(0xF0); - LCD_WR_DATA(0x69); - delay(120); // Delay 120ms - LCD_WR_REG(0x29); // Display ON - - tftio.DataTransferEnd(); - - LCD_clear(0x0000); // + tftio.InitTFT(); + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, LOW); + #endif + delay(100); + LCD_clear(0x0000); LCD_Draw_Logo(); - TFT_BLK_H; - delay(2000); + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + #endif + #if HAS_LOGO_IN_FLASH + delay(2000); + #endif } void TFT::LCD_clear(uint16_t color) { - SetWindows(0, 0, (TFT_WIDTH) - 1, (TFT_HEIGHT) - 1); + setWindow(0, 0, (TFT_WIDTH), (TFT_HEIGHT)); tftio.WriteMultiple(color, (uint32_t)(TFT_WIDTH) * (TFT_HEIGHT)); } extern unsigned char bmp_public_buf[17 * 1024]; void TFT::LCD_Draw_Logo() { - SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); - for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) { - Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2); - tftio.WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH); - } + #if HAS_LOGO_IN_FLASH + setWindow(0, 0, TFT_WIDTH, TFT_HEIGHT); + for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) { + Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2); + tftio.WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH); + } + #endif } -#endif // HAS_TFT_LVGL_UI_SPI +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h index e40039fe8649..696bc16974be 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h @@ -23,29 +23,21 @@ #include "../../inc/MarlinConfigPre.h" -#if ENABLED(TFT_LVGL_UI_SPI) - #include HAL_PATH(../../HAL, tft/tft_spi.h) -#elif ENABLED(TFT_LVGL_UI_FSMC) - #include HAL_PATH(../../HAL, tft/tft_fsmc.h) -#endif +#if HAS_TFT_LVGL_UI -#define TFT_RST_H OUT_WRITE(TFT_RESET_PIN, HIGH) -#define TFT_RST_L OUT_WRITE(TFT_RESET_PIN, LOW) - -#define TFT_BLK_H OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH) -#define TFT_BLK_L OUT_WRITE(LCD_BACKLIGHT_PIN, LOW) +#include "../../../tft_io/tft_io.h" class TFT { public: TFT_IO tftio; void spi_init(uint8_t spiRate); - void LCD_WR_REG(uint8_t cmd); - void LCD_WR_DATA(uint8_t data); void SetPoint(uint16_t x, uint16_t y, uint16_t point); - void SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height); + void setWindow(uint16_t x, uint16_t y, uint16_t with, uint16_t height); void LCD_init(); void LCD_clear(uint16_t color); void LCD_Draw_Logo(); }; extern TFT SPI_TFT; + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.cpp index 1bcdccda414a..c21ee3612c3a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_error_message.cpp @@ -23,9 +23,7 @@ #if HAS_TFT_LVGL_UI -#if ENABLED(TFT_LVGL_UI_SPI) - #include "SPI_TFT.h" -#endif +#include "SPI_TFT.h" #include "lv_conf.h" #include "draw_ui.h" @@ -77,7 +75,7 @@ void lv_draw_error_message(PGM_P const msg) { lv_task_handler(); #endif - TERN(TFT_LVGL_UI_SPI, SPI_TFT.LCD_clear, LCD_Clear)(0x0000); + SPI_TFT.LCD_clear(0x0000); if (msg) disp_string((TFT_WIDTH - strlen(msg) * 16) / 2, 100, msg, 0xFFFF, 0x0000); disp_string((TFT_WIDTH - strlen("PRINTER HALTED") * 16) / 2, 140, "PRINTER HALTED", 0xFFFF, 0x0000); disp_string((TFT_WIDTH - strlen("Please Reset") * 16) / 2, 180, "Please Reset", 0xFFFF, 0x0000); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index 458620801b1b..d600b09a5f16 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -23,9 +23,7 @@ #if HAS_TFT_LVGL_UI -#if ENABLED(TFT_LVGL_UI_SPI) - #include "SPI_TFT.h" -#endif +#include "SPI_TFT.h" #include "tft_lvgl_configuration.h" @@ -165,7 +163,7 @@ void gCfgItems_init() { W25QXX.SPI_FLASH_BufferWrite((uint8_t *)&custom_gcode_command[4], OTHERS_COMMAND_ADDR_4, 100); } - const byte rot = TERN0(GRAPHICAL_TFT_ROTATE_180, 0xEE); + const byte rot = (TFT_ROTATION & TFT_ROTATE_180) ? 0xEE : 0x00; if (gCfgItems.disp_rotation_180 != rot) { gCfgItems.disp_rotation_180 = rot; update_spi_flash(); @@ -655,12 +653,7 @@ char *creat_title_text() { } card.setIndex((gPicturePreviewStart + To_pre_view) + size * row + 8); - #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); - #else - LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1); - LCD_WriteRAM_Prepare(); - #endif + SPI_TFT.setWindow(xpos_pixel, ypos_pixel + row, 200, 1); j = i = 0; @@ -673,20 +666,11 @@ char *creat_title_text() { } if (j >= 400) break; } - #if ENABLED(TFT_LVGL_UI_SPI) - for (i = 0; i < 400; i += 2) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; - } - SPI_TFT.tftio.WriteSequence((uint16_t*)bmp_public_buf, 200); - #else - for (i = 0; i < 400;) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; //gCfgItems.preview_bk_color; - LCD_IO_WriteData(*p_index); - i += 2; - } - #endif + for (i = 0; i < 400; i += 2) { + p_index = (uint16_t *)(&bmp_public_buf[i]); + if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; + } + SPI_TFT.tftio.WriteSequence((uint16_t*)bmp_public_buf, 200); #if HAS_BAK_VIEW_IN_FLASH W25QXX.init(SPI_QUARTER_SPEED); if (row < 20) W25QXX.SPI_FLASH_SectorErase(BAK_VIEW_ADDR_TFT35 + row * 4096); @@ -768,7 +752,7 @@ char *creat_title_text() { card.setIndex((PREVIEW_LITTLE_PIC_SIZE + To_pre_view) + size * row + 8); #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); + SPI_TFT.setWindow(xpos_pixel, ypos_pixel + row, 200, 1); #else LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1); LCD_WriteRAM_Prepare(); @@ -901,34 +885,9 @@ char *creat_title_text() { default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 8k #endif - #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.SetWindows(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 - SPI_TFT.tftio.WriteSequence((uint16_t*)(bmp_public_buf), DEFAULT_VIEW_MAX_SIZE / 20); - #else - int x_off = 0; - uint16_t temp_p; - int i = 0; - uint16_t *p_index; - LCD_setWindowArea(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 - - LCD_WriteRAM_Prepare(); - - for (int _y = y_off * 20; _y < (y_off + 1) * 20; _y++) { - for (x_off = 0; x_off < 200; x_off++) { - if (sel == 1) { - temp_p = (uint16_t)(bmp_public_buf[i] | bmp_public_buf[i + 1] << 8); - p_index = &temp_p; - } - else { - p_index = (uint16_t *)(&bmp_public_buf[i]); - } - if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; //gCfgItems.preview_bk_color; - LCD_IO_WriteData(*p_index); - i += 2; - } - if (i >= 8000) break; - } - #endif // TFT_LVGL_UI_SPI + SPI_TFT.setWindow(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 + SPI_TFT.tftio.WriteSequence((uint16_t*)(bmp_public_buf), DEFAULT_VIEW_MAX_SIZE / 20); + y_off++; } W25QXX.init(SPI_QUARTER_SPEED); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp index eeb6bae706bc..bc329aa82b89 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp @@ -23,9 +23,7 @@ #if HAS_TFT_LVGL_UI -#if ENABLED(TFT_LVGL_UI_SPI) - #include "SPI_TFT.h" -#endif +#include "SPI_TFT.h" #include "tft_lvgl_configuration.h" #include "draw_ready_print.h" @@ -626,10 +624,8 @@ static const uint16_t ASCII_Table_16x24[] PROGMEM = { void disp_char_1624(uint16_t x, uint16_t y, uint8_t c, uint16_t charColor, uint16_t bkColor) { for (uint16_t i = 0; i < 24; i++) { const uint16_t tmp_char = pgm_read_word(&ASCII_Table_16x24[((c - 0x20) * 24) + i]); - for (uint16_t j = 0; j < 16; j++) { - TERN(TFT_LVGL_UI_SPI, SPI_TFT.SetPoint, tft_set_point) - (x + j, y + i, ((tmp_char >> j) & 0x01) ? charColor : bkColor); - } + for (uint16_t j = 0; j < 16; j++) + SPI_TFT.SetPoint(x + j, y + i, ((tmp_char >> j) & 0x01) ? charColor : bkColor); } } @@ -643,7 +639,7 @@ void disp_string(uint16_t x, uint16_t y, const char * string, uint16_t charColor //static lv_obj_t * scr_test; void disp_assets_update() { - TERN(TFT_LVGL_UI_SPI,, LCD_Clear(0x0000)); + SPI_TFT.LCD_clear(0x0000); disp_string(100, 140, "Assets Updating...", 0xFFFF, 0x0000); } diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp deleted file mode 100644 index 62967b9d8061..000000000000 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -#include "../../../../inc/MarlinConfig.h" - -#if ENABLED(TFT_LVGL_UI_FSMC) - -#include HAL_PATH(../../HAL, tft/tft_fsmc.h) -TFT_IO tftio; - -void LCD_IO_Init(uint8_t cs, uint8_t rs); -void LCD_IO_WriteData(uint16_t RegValue); -void LCD_IO_WriteReg(uint16_t Reg); -#ifdef LCD_USE_DMA_FSMC - void LCD_IO_WriteMultiple(uint16_t data, uint32_t count); - void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); -#endif - -void LCD_IO_Init(uint8_t cs, uint8_t rs) { - tftio.Init(); -} - -void LCD_IO_WriteData(uint16_t RegValue) { - tftio.WriteData(RegValue); -} - -void LCD_IO_WriteReg(uint16_t Reg) { - tftio.WriteReg(Reg); -} - -#ifdef LCD_USE_DMA_FSMC - void LCD_IO_WriteMultiple(uint16_t color, uint32_t count) { - tftio.WriteMultiple(color, count); - } - - void LCD_IO_WriteSequence(uint16_t *data, uint16_t length) { - tftio.WriteSequence(data, length); - } -#endif // LCD_USE_DMA_FSMC - -#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h deleted file mode 100644 index b2e19d66f8f8..000000000000 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.h +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ -#pragma once - -#ifdef __cplusplus - extern "C" { /* C-declarations for C++ */ -#endif - -#ifdef __cplusplus - } /* C-declarations for C++ */ -#endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index 49b44799a69f..922848d84f0b 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -29,9 +29,7 @@ #if HAS_TFT_LVGL_UI -#if ENABLED(TFT_LVGL_UI_SPI) - #include "SPI_TFT.h" -#endif +#include "SPI_TFT.h" #include "tft_lvgl_configuration.h" #include "draw_ready_print.h" @@ -74,24 +72,6 @@ lv_group_t* g; uint16_t DeviceCode = 0x9488; extern uint8_t sel_id; -#define SetCs -#define ClrCs - -#define HDP 799 // Horizontal Display Period -#define HT 1000 // Horizontal Total -#define HPS 51 // LLINE Pulse Start Position -#define LPS 3 // Horizontal Display Period Start Position -#define HPW 8 // LLINE Pulse Width - -#define VDP 479 // Vertical Display Period -#define VT 530 // Vertical Total -#define VPS 24 // LFRAME Pulse Start Position -#define FPS 23 // Vertical Display Period Start Positio -#define VPW 3 // LFRAME Pulse Width - -#define MAX_HZ_POSX HDP+1 -#define MAX_HZ_POSY VDP+1 - extern uint8_t gcode_preview_over, flash_preview_begin, default_preview_flg; uint8_t bmp_public_buf[17 * 1024]; @@ -125,317 +105,7 @@ void SysTick_Callback() { } } -#if DISABLED(TFT_LVGL_UI_SPI) - - extern void LCD_IO_Init(uint8_t cs, uint8_t rs); - extern void LCD_IO_WriteData(uint16_t RegValue); - extern void LCD_IO_WriteReg(uint16_t Reg); - - extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count); - void tft_set_cursor(uint16_t x, uint16_t y) { - LCD_IO_WriteReg(0x002A); - LCD_IO_WriteData(x >> 8); - LCD_IO_WriteData(x & 0x00FF); - LCD_IO_WriteData(x >> 8); - LCD_IO_WriteData(x & 0x00FF); - //ILI9488_WriteData(0x01); - //ILI9488_WriteData(0xDF); - LCD_IO_WriteReg(0x002B); - LCD_IO_WriteData(y >> 8); - LCD_IO_WriteData(y & 0x00FF); - LCD_IO_WriteData(y >> 8); - LCD_IO_WriteData(y & 0x00FF); - //ILI9488_WriteData(0x01); - //ILI9488_WriteData(0x3F); - } - - void LCD_WriteRAM_Prepare(void) { - #if 0 - switch (DeviceCode) { - case 0x9325: case 0x9328: case 0x8989: { - ClrCs - LCD->LCD_REG = R34; - SetCs - } break; - default: LCD_WrtReg(0x002C); - } - #else - LCD_IO_WriteReg(0x002C); - #endif - } - - void tft_set_point(uint16_t x, uint16_t y, uint16_t point) { - //if (DeviceCode == 0x9488) { - if (x > (TFT_WIDTH) || y > (TFT_HEIGHT)) return; - //} - tft_set_cursor(x, y); - - LCD_WriteRAM_Prepare(); - //LCD_WriteRAM(point); - LCD_IO_WriteData(point); - } - - void LCD_WriteReg(uint16_t LCD_Reg, uint16_t LCD_RegValue) { - /* Write 16-bit Index, then Write Reg */ - ClrCs - LCD_IO_WriteReg(LCD_Reg); - /* Write 16-bit Reg */ - LCD_IO_WriteData(LCD_RegValue); - SetCs - } - - void LCD_setWindowArea(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh) { - uint16_t s_h, s_l, e_h, e_l; - uint16_t xEnd, yEnd; - xEnd = StartX + width; - yEnd = StartY + heigh - 1; - if (DeviceCode == 0x8989) { - /*LCD_WriteReg(0x0044, (StartX & 0xFF) | (xEnd << 8)); - LCD_WriteReg(0x0045, StartY); - LCD_WriteReg(0x0046, yEnd);*/ - LCD_WriteReg(0x0044, (StartY & 0xFF) | (yEnd << 8)); - LCD_WriteReg(0x0045, StartX); - LCD_WriteReg(0x0046, xEnd); - } - else if (DeviceCode == 0x9488) { - s_h = (StartX >> 8) & 0x00FF; - s_l = StartX & 0x00FF; - e_h = ((StartX + width - 1) >> 8) & 0x00FF; - e_l = (StartX + width - 1) & 0x00FF; - - LCD_IO_WriteReg(0x002A); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - - s_h = (StartY >> 8) & 0x00FF; - s_l = StartY & 0x00FF; - e_h = ((StartY + heigh - 1) >> 8) & 0x00FF; - e_l = (StartY + heigh - 1) & 0x00FF; - - LCD_IO_WriteReg(0x002B); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - } - else if ((DeviceCode == 0x9325) || (DeviceCode == 0x9328) || (DeviceCode == 0x1505)) { - /* LCD_WriteReg(0x0050, StartX); - LCD_WriteReg(0x0052, StartY); - LCD_WriteReg(0x0051, xEnd); - LCD_WriteReg(0x0053, yEnd);*/ - LCD_WriteReg(0x0050, StartY); // Specify the start/end positions of the window address in the horizontal direction by an address unit - LCD_WriteReg(0x0051, yEnd); // Specify the start positions of the window address in the vertical direction by an address unit - LCD_WriteReg(0x0052, (TFT_HEIGHT) - xEnd); - LCD_WriteReg(0x0053, (TFT_HEIGHT) - StartX - 1); // Specify the end positions of the window address in the vertical direction by an address unit - - } - else { - s_h = (StartX >> 8) & 0xFF; - s_l = StartX & 0xFF; - e_h = ((StartX + width - 1) >> 8) & 0xFF; - e_l = (StartX + width - 1) & 0xFF; - - LCD_IO_WriteReg(0x2A); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - - s_h = (StartY >> 8) & 0xFF; - s_l = StartY & 0xFF; - e_h = ((StartY + heigh - 1) >> 8) & 0xFF; - e_l = (StartY + heigh - 1) & 0xFF; - - LCD_IO_WriteReg(0x2B); - LCD_IO_WriteData(s_h); - LCD_IO_WriteData(s_l); - LCD_IO_WriteData(e_h); - LCD_IO_WriteData(e_l); - } - } - - void LCD_Clear(uint16_t Color) { - uint32_t index = 0; - unsigned int count; - - if (DeviceCode == 0x9488) { - tft_set_cursor(0, 0); - LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); - LCD_WriteRAM_Prepare(); - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); - #else - //index = (TFT_HEIGHT) / 2 * (TFT_WIDTH); - for (index = 0; index < (TFT_HEIGHT) * (TFT_WIDTH); index++) - LCD_IO_WriteData(Color); - #endif - //LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); - //while(index --) LCD_IO_WriteData(Color); - } - else if (DeviceCode == 0x5761) { - LCD_IO_WriteReg(0x002A); - LCD_IO_WriteData(0); - LCD_IO_WriteData(0); - LCD_IO_WriteData(HDP >> 8); - LCD_IO_WriteData(HDP & 0x00FF); - LCD_IO_WriteReg(0x002B); - LCD_IO_WriteData(0); - LCD_IO_WriteData(0); - LCD_IO_WriteData(VDP >> 8); - LCD_IO_WriteData(VDP & 0x00FF); - LCD_IO_WriteReg(0x002C); - LCD_IO_WriteReg(0x002C); - for (count = 0; count < (HDP + 1) * (VDP + 1); count++) - LCD_IO_WriteData(Color); - } - else { - tft_set_cursor(0, 0); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for (index = 0; index < 76800; index++) - LCD_IO_WriteData(Color); - } - } - - #include HAL_PATH(../../HAL, tft/tft_fsmc.h) - extern TFT_IO tftio; - void fsmc_tft_init() { - uint16_t i; - - TERN_(HAS_LCD_CONTRAST, refresh_contrast()); - - #ifdef LCD_USE_DMA_FSMC - dma_init(FSMC_DMA_DEV); - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); - #endif - - LCD_IO_Init(FSMC_CS_PIN, FSMC_RS_PIN); - - _delay_ms(5); - - DeviceCode = tftio.GetID() & 0xFFFF; - // Chitu and others - if (DeviceCode == 0x8066) DeviceCode = 0x9488; - - if (DeviceCode == 0x9488) { - LCD_IO_WriteReg(0x00E0); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x000F); - LCD_IO_WriteData(0x000D); - LCD_IO_WriteData(0x001B); - LCD_IO_WriteData(0x000A); - LCD_IO_WriteData(0x003C); - LCD_IO_WriteData(0x0078); - LCD_IO_WriteData(0x004A); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x000E); - LCD_IO_WriteData(0x0009); - LCD_IO_WriteData(0x001B); - LCD_IO_WriteData(0x001E); - LCD_IO_WriteData(0x000F); - - LCD_IO_WriteReg(0x00E1); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0022); - LCD_IO_WriteData(0x0024); - LCD_IO_WriteData(0x0006); - LCD_IO_WriteData(0x0012); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x0036); - LCD_IO_WriteData(0x0047); - LCD_IO_WriteData(0x0047); - LCD_IO_WriteData(0x0006); - LCD_IO_WriteData(0x000A); - LCD_IO_WriteData(0x0007); - LCD_IO_WriteData(0x0030); - LCD_IO_WriteData(0x0037); - LCD_IO_WriteData(0x000F); - - LCD_IO_WriteReg(0x00C0); - LCD_IO_WriteData(0x0010); - LCD_IO_WriteData(0x0010); - - LCD_IO_WriteReg(0x00C1); - LCD_IO_WriteData(0x0041); - - LCD_IO_WriteReg(0x00C5); - LCD_IO_WriteData(0x0000); - LCD_IO_WriteData(0x0022); - LCD_IO_WriteData(0x0080); - - LCD_IO_WriteReg(0x0036); - LCD_IO_WriteData(TERN(GRAPHICAL_TFT_ROTATE_180, 0xE8, 0x0068)); - - LCD_IO_WriteReg(0x003A); //Interface Mode Control - LCD_IO_WriteData(0x0055); - - LCD_IO_WriteReg(0x00B0); //Interface Mode Control - LCD_IO_WriteData(0x0000); - LCD_IO_WriteReg(0x00B1); //Frame rate 70HZ - LCD_IO_WriteData(0x00B0); - LCD_IO_WriteData(0x0011); - LCD_IO_WriteReg(0x00B4); - LCD_IO_WriteData(0x0002); - LCD_IO_WriteReg(0x00B6); //RGB/MCU Interface Control - LCD_IO_WriteData(0x0002); - LCD_IO_WriteData(0x0042); - - LCD_IO_WriteReg(0x00B7); - LCD_IO_WriteData(0x00C6); - - //WriteComm(0xBE); - //WriteData(0x00); - //WriteData(0x04); - - LCD_IO_WriteReg(0x00E9); - LCD_IO_WriteData(0x0000); - - LCD_IO_WriteReg(0x00F7); - LCD_IO_WriteData(0x00A9); - LCD_IO_WriteData(0x0051); - LCD_IO_WriteData(0x002C); - LCD_IO_WriteData(0x0082); - - LCD_IO_WriteReg(0x0011); - for (i = 0; i < 65535; i++) { /* do nothing */ } - LCD_IO_WriteReg(0x0029); - - LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); - - OUT_WRITE(LCD_BACKLIGHT_PIN, LOW); - LCD_Clear(0x0000); - - TERN_(HAS_LOGO_IN_FLASH, lcd_draw_logo()); - - OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH); - delay(2000); - } - } - - extern void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); - - void lcd_draw_logo() { - LCD_setWindowArea(0, 0, TFT_WIDTH, TFT_HEIGHT); - LCD_WriteRAM_Prepare(); - - for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) { - Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2); - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH); - #else - int index = 0;,x_off = 0; - for (x_off = 0; x_off < TFT_WIDTH; x_off++) { - LCD_IO_WriteData((uint16_t)bmp_public_buf[index]); - index += 2; - } - #endif - } - } - -#endif // !TFT_LVGL_UI_SPI +extern uint8_t bmp_public_buf[17 * 1024]; void tft_lvgl_init() { @@ -448,12 +118,8 @@ void tft_lvgl_init() { disp_language_init(); //init tft first! - #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.spi_init(SPI_FULL_SPEED); - SPI_TFT.LCD_init(); - #else - fsmc_tft_init(); - #endif + SPI_TFT.spi_init(SPI_FULL_SPEED); + SPI_TFT.LCD_init(); //spi_flash_read_test(); #if ENABLED(SDSUPPORT) @@ -548,41 +214,18 @@ void tft_lvgl_init() { } void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p) { - #if ENABLED(TFT_LVGL_UI_SPI) - uint16_t i, width, height; + uint16_t i, width, height; - width = area->x2 - area->x1 + 1; - height = area->y2 - area->y1 + 1; + width = area->x2 - area->x1 + 1; + height = area->y2 - area->y1 + 1; - SPI_TFT.SetWindows((uint16_t)area->x1, (uint16_t)area->y1, width, height); - for (i = 0; i < height; i++) { - SPI_TFT.tftio.WriteSequence((uint16_t*)(color_p + width * i), width); - } - lv_disp_flush_ready(disp); /* Indicate you are ready with the flushing*/ - - W25QXX.init(SPI_QUARTER_SPEED); - - #else // !TFT_LVGL_UI_SPI - - #if 1 - uint16_t i, width, height; - //uint16_t clr_temp; - width = area->x2 - area->x1 + 1; - height = area->y2 - area->y1 + 1; - LCD_setWindowArea((uint16_t)area->x1, (uint16_t)area->y1, width, height); - LCD_WriteRAM_Prepare(); - for (i = 0; i < width * height - 2; i++) { - //clr_temp = (uint16_t)(((uint16_t)color_p->ch.red << 11) - //| ((uint16_t)color_p->ch.green << 5) - //| ((uint16_t)color_p->ch.blue)); - LCD_IO_WriteData(color_p->full); - color_p++; - } - - lv_disp_flush_ready(disp); /* Indicate you are ready with the flushing*/ - #endif + SPI_TFT.setWindow((uint16_t)area->x1, (uint16_t)area->y1, width, height); + for (i = 0; i < height; i++) { + SPI_TFT.tftio.WriteSequence((uint16_t*)(color_p + width * i), width); + } + lv_disp_flush_ready(disp); /* Indicate you are ready with the flushing*/ - #endif // !TFT_LVGL_UI_SPI + W25QXX.init(SPI_QUARTER_SPEED); } #define TICK_CYCLE 1 @@ -599,7 +242,7 @@ static bool get_point(int16_t *x, int16_t *y) { *y = int16_t((int32_t(*y) * XPT2046_Y_CALIBRATION) >> 16) + XPT2046_Y_OFFSET; } - #if ENABLED(GRAPHICAL_TFT_ROTATE_180) + #if (TFT_ROTATION & TFT_ROTATE_180) *x = int16_t((TFT_WIDTH) - (int)(*x)); *y = int16_t((TFT_HEIGHT) - (int)(*y)); #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h index 7e24f948fd09..727ab33aea30 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.h @@ -32,7 +32,7 @@ #include -//#define GRAPHICAL_TFT_ROTATE_180 +//#define TFT_ROTATION TFT_ROTATE_180 #define USE_WIFI_FUNCTION 0 extern void tft_lvgl_init(); diff --git a/Marlin/src/lcd/scaled_tft.h b/Marlin/src/lcd/scaled_tft.h index be846f70a9dd..2c05e5f26d81 100644 --- a/Marlin/src/lcd/scaled_tft.h +++ b/Marlin/src/lcd/scaled_tft.h @@ -43,8 +43,13 @@ #endif #ifndef TFT_PIXEL_OFFSET_X - #define TFT_PIXEL_OFFSET_X 48 + #if GRAPHICAL_TFT_UPSCALE == 2 + #define TFT_PIXEL_OFFSET_X 32 + #else + #define TFT_PIXEL_OFFSET_X 48 + #endif #endif #ifndef TFT_PIXEL_OFFSET_Y - #define TFT_PIXEL_OFFSET_Y 48 + // 32 is better for both 320x240 and 480x320 + #define TFT_PIXEL_OFFSET_Y 32 #endif diff --git a/Marlin/src/lcd/tft/tft.cpp b/Marlin/src/lcd/tft/tft.cpp index 81fe6788e7c7..fa3c2c241f79 100644 --- a/Marlin/src/lcd/tft/tft.cpp +++ b/Marlin/src/lcd/tft/tft.cpp @@ -25,173 +25,16 @@ #if HAS_GRAPHICAL_TFT #include "tft.h" -#include "st7735.h" -#include "st7789v.h" -#include "st7796s.h" -#include "r65105.h" -#include "ili9328.h" -#include "ili9341.h" -#include "ili9488.h" //#define DEBUG_GRAPHICAL_TFT #define DEBUG_OUT ENABLED(DEBUG_GRAPHICAL_TFT) #include "../../core/debug_out.h" uint16_t TFT::buffer[]; -uint32_t TFT::lcd_id = 0xFFFFFFFF; void TFT::init() { - if (lcd_id != 0xFFFFFFFF) return; - io.Init(); - - #if TFT_DRIVER != AUTO - lcd_id = TFT_DRIVER; - #endif - - #if TFT_DRIVER == ST7735 - write_esc_sequence(st7735_init); - #elif TFT_DRIVER == ST7789 - write_esc_sequence(st7789v_init); - #elif TFT_DRIVER == ST7796 - write_esc_sequence(st7796s_init); - #elif TFT_DRIVER == R61505 - write_esc_sequence(r61505_init); - #elif TFT_DRIVER == ILI9328 - write_esc_sequence(ili9328_init); - #elif TFT_DRIVER == ILI9341 - write_esc_sequence(ili9341_init); - #elif TFT_DRIVER == ILI9488 - write_esc_sequence(ili9488_init); - #elif TFT_DRIVER == LERDGE_ST7796 - lcd_id = ST7796; - write_esc_sequence(lerdge_st7796s_init); - - #elif TFT_DRIVER == AUTO // autodetect - - lcd_id = io.GetID() & 0xFFFF; - - switch (lcd_id) { - case ST7796: // ST7796S 480x320 - DEBUG_ECHO_MSG(" ST7796S"); - write_esc_sequence(st7796s_init); - break; - case ST7789: // ST7789V 320x240 - DEBUG_ECHO_MSG(" ST7789V"); - write_esc_sequence(st7789v_init); - break; - case ST7735: // ST7735 160x128 - DEBUG_ECHO_MSG(" ST7735"); - write_esc_sequence(st7735_init); - break; - case R61505: // R61505U 320x240 - DEBUG_ECHO_MSG(" R61505U"); - write_esc_sequence(r61505_init); - break; - case ILI9328: // ILI9328 320x240 - DEBUG_ECHO_MSG(" ILI9328"); - write_esc_sequence(ili9328_init); - break; - case ILI9341: // ILI9341 320x240 - DEBUG_ECHO_MSG(" ILI9341"); - write_esc_sequence(ili9341_init); - break; - case ILI9488: // ILI9488 480x320 - DEBUG_ECHO_MSG(" ILI9488"); - write_esc_sequence(ili9488_init); - break; - default: - lcd_id = 0; - } - #else - #error Unsupported TFT driver - #endif -} - -void TFT::set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { - #ifdef OFFSET_X - Xmin += OFFSET_X; Xmax += OFFSET_X; - #endif - #ifdef OFFSET_Y - Ymin += OFFSET_Y; Ymax += OFFSET_Y; - #endif - - switch (lcd_id) { - case ST7735: // ST7735 160x128 - case ST7789: // ST7789V 320x240 - case ST7796: // ST7796 480x320 - case ILI9341: // ILI9341 320x240 - case ILI9488: // ILI9488 480x320 - io.DataTransferBegin(DATASIZE_8BIT); - - // CASET: Column Address Set - io.WriteReg(ILI9341_CASET); - io.WriteData((Xmin >> 8) & 0xFF); - io.WriteData(Xmin & 0xFF); - io.WriteData((Xmax >> 8) & 0xFF); - io.WriteData(Xmax & 0xFF); - - // RASET: Row Address Set - io.WriteReg(ILI9341_PASET); - io.WriteData((Ymin >> 8) & 0xFF); - io.WriteData(Ymin & 0xFF); - io.WriteData((Ymax >> 8) & 0xFF); - io.WriteData(Ymax & 0xFF); - - // RAMWR: Memory Write - io.WriteReg(ILI9341_RAMWR); - break; - case R61505: // R61505U 320x240 - case ILI9328: // ILI9328 320x240 - io.DataTransferBegin(DATASIZE_16BIT); - - // Mind the mess: with landscape screen orientation 'Horizontal' is Y and 'Vertical' is X - io.WriteReg(ILI9328_HASTART); - io.WriteData(Ymin); - io.WriteReg(ILI9328_HAEND); - io.WriteData(Ymax); - io.WriteReg(ILI9328_VASTART); - io.WriteData(Xmin); - io.WriteReg(ILI9328_VAEND); - io.WriteData(Xmax); - - io.WriteReg(ILI9328_HASET); - io.WriteData(Ymin); - io.WriteReg(ILI9328_VASET); - io.WriteData(Xmin); - - io.WriteReg(ILI9328_RAMWR); - break; - default: - break; - } - - io.DataTransferEnd(); -} - -void TFT::write_esc_sequence(const uint16_t *Sequence) { - uint16_t dataWidth, data; - - dataWidth = *Sequence++; - io.DataTransferBegin(dataWidth); - - for (;;) { - data = *Sequence++; - if (data != 0xFFFF) { - io.WriteData(data); - continue; - } - data = *Sequence++; - if (data == 0x7FFF) return; - if (data == 0xFFFF) - io.WriteData(0xFFFF); - else if (data & 0x8000) - delay(data & 0x7FFF); - else if ((data & 0xFF00) == 0) - io.WriteReg(data); - } - - io.DataTransferEnd(); + io.InitTFT(); } TFT tft; diff --git a/Marlin/src/lcd/tft/tft.h b/Marlin/src/lcd/tft/tft.h index 6d429109c892..ed3d5e35c157 100644 --- a/Marlin/src/lcd/tft/tft.h +++ b/Marlin/src/lcd/tft/tft.h @@ -26,7 +26,7 @@ #include "tft_color.h" #include "tft_string.h" #include "tft_image.h" -#include "tft_io.h" +#include "../tft_io/tft_io.h" #include "../../inc/MarlinConfig.h" @@ -40,20 +40,6 @@ #error "Unsupported display resolution!" #endif -#define ST7735 0x89F0 -#define ST7789 0x8552 -#define ST7796 0x7796 -#define R61505 0x1505 -#define ILI9328 0x9328 -#define ILI9341 0x9341 -#define ILI9488 0x9488 -#define LERDGE_ST7796 0xFFFE -#define AUTO 0xFFFF - -#ifndef TFT_DRIVER - #define TFT_DRIVER AUTO -#endif - #ifndef TFT_BUFFER_SIZE #ifdef STM32F103xB #define TFT_BUFFER_SIZE 1024 @@ -71,14 +57,8 @@ #error "TFT_BUFFER_SIZE can not exceed 65535" #endif -#define ESC_REG(x) 0xFFFF, 0x00FF & (uint16_t)x -#define ESC_DELAY(x) 0xFFFF, 0x8000 | (x & 0x7FFF) -#define ESC_END 0xFFFF, 0x7FFF -#define ESC_FFFF 0xFFFF, 0xFFFF - class TFT { private: - static uint32_t lcd_id; static TFT_String string; static TFT_IO io; @@ -91,13 +71,11 @@ class TFT { static inline void set_font(const uint8_t *Font) { string.set_font(Font); } static inline void add_glyphs(const uint8_t *Font) { string.add_glyphs(Font); } - static void set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax); - static void write_esc_sequence(const uint16_t *Sequence); - static inline bool is_busy() { return io.isBusy(); } static inline void abort() { io.Abort(); } static inline void write_multiple(uint16_t Data, uint16_t Count) { io.WriteMultiple(Data, Count); } static inline void write_sequence(uint16_t *Data, uint16_t Count) { io.WriteSequence(Data, Count); } + static inline void set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { io.set_window(Xmin, Ymin, Xmax, Ymax); } static inline void fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.fill(x, y, width, height, color); } static inline void canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height) { queue.canvas(x, y, width, height); } diff --git a/Marlin/src/lcd/tft/tft_io.h b/Marlin/src/lcd/tft/tft_io.h deleted file mode 100644 index bffe92b0ff30..000000000000 --- a/Marlin/src/lcd/tft/tft_io.h +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ -#pragma once - -#include "../../inc/MarlinConfig.h" - -#if HAS_SPI_TFT - #include HAL_PATH(../../HAL, tft/tft_spi.h) -#elif HAS_FSMC_TFT - #include HAL_PATH(../../HAL, tft/tft_fsmc.h) -#endif diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index d19cc4bf1d95..5889ac0a9908 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -283,6 +283,10 @@ bool Touch::get_point(int16_t *x, int16_t *y) { if (is_touched && calibration.orientation != TOUCH_ORIENTATION_NONE) { *x = int16_t((int32_t(*x) * calibration.x) >> 16) + calibration.offset_x; *y = int16_t((int32_t(*y) * calibration.y) >> 16) + calibration.offset_y; + #if (TFT_ROTATION & TFT_ROTATE_180) + *x = TFT_WIDTH - *x; + *y = TFT_HEIGHT - *y; + #endif } return is_touched; } diff --git a/Marlin/src/lcd/tft/ili9328.h b/Marlin/src/lcd/tft_io/ili9328.h similarity index 87% rename from Marlin/src/lcd/tft/ili9328.h rename to Marlin/src/lcd/tft_io/ili9328.h index 85edfa7bee0a..818dd05b348f 100644 --- a/Marlin/src/lcd/tft/ili9328.h +++ b/Marlin/src/lcd/tft_io/ili9328.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -40,8 +40,29 @@ #define ILI9328_ETMOD_AM 0x0008 // 0 - Horizontal / 1 - Vertical // MKS Robin TFT v1.1 - 320x240 ; Cable on the left side -#define ILI9328_DRVCTL_DATA ILI9328_DRVCTL_SS -#define ILI9328_ETMOD_DATA ILI9328_ETMOD_BGR | ILI9328_ETMOD_ID1 | ILI9328_ETMOD_ID0 | ILI9328_ETMOD_AM + +#if TFT_ROTATION == TFT_ROTATE_180 + #define ILI9328_DRVCTL_DATA 0x0000 + #define ILI9328_GATE_SCANCTL1_DATA 0xA700 +#else + #define ILI9328_DRVCTL_DATA ILI9328_DRVCTL_SS + #define ILI9328_GATE_SCANCTL1_DATA 0x2700 +#endif + +// #define ILI9328_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ILI9328_ETMOD_AM) | \ +// IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ILI9328_ETMOD_ID1) | \ +// IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ILI9328_ETMOD_ID0) + +#define ILI9328_ETMOD_ORIENTATION (ILI9328_ETMOD_AM | ILI9328_ETMOD_ID1 | ILI9328_ETMOD_ID0) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define ILI9328_ETMOD_COLOR ILI9328_ETMOD_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define ILI9328_ETMOD_COLOR ILI9328_ETMOD_RGB +#endif + +#define ILI9328_ETMOD_DATA (ILI9328_ETMOD_ORIENTATION) | (ILI9328_ETMOD_COLOR) + #define ILI9328_RDDID 0x00 // ID code - 0x9328 #define ILI9328_DRVCTL 0x01 // Driver Output Control @@ -134,7 +155,7 @@ static const uint16_t ili9328_init[] = { ESC_REG(ILI9328_PWCTRL7), 0x0004, ESC_REG(ILI9328_FRMCTR), 0x000D, ESC_DELAY(50), - ESC_REG(ILI9328_GATE_SCANCTL1), 0x2700, + ESC_REG(ILI9328_GATE_SCANCTL1), ILI9328_GATE_SCANCTL1_DATA, ESC_REG(ILI9328_GATE_SCANCTL2), 0x0001, ESC_REG(ILI9328_GATE_SCANCTL3), 0x0000, ESC_REG(ILI9328_PLTPOS1), 0x0000, diff --git a/Marlin/src/lcd/tft/ili9341.h b/Marlin/src/lcd/tft_io/ili9341.h similarity index 94% rename from Marlin/src/lcd/tft/ili9341.h rename to Marlin/src/lcd/tft_io/ili9341.h index d4a493412fb2..dda326df6d5b 100644 --- a/Marlin/src/lcd/tft/ili9341.h +++ b/Marlin/src/lcd/tft_io/ili9341.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -38,13 +38,17 @@ #define ILI9341_ORIENTATION_LEFT ILI9341_MADCTL_MY | ILI9341_MADCTL_MX | ILI9341_MADCTL_MV // 320x240 ; Cable on the left side #define ILI9341_ORIENTATION_DOWN ILI9341_MADCTL_MX // 240x320 ; Cable on the upper side -#ifndef ILI9341_COLOR_RGB - #define ILI9341_COLOR_BGR -#endif -#ifndef ILI9341_ORIENTATION - #define ILI9341_ORIENTATION ILI9341_ORIENTATION_LEFT +#define ILI9341_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ILI9341_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ILI9341_MADCTL_MX) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ILI9341_MADCTL_MY) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define ILI9341_COLOR ILI9341_MADCTL_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define ILI9341_COLOR ILI9341_MADCTL_RGB #endif -#define ILI9341_MADCTL_DATA (ILI9341_ORIENTATION | TERN(ILI9341_COLOR_BGR, ILI9341_MADCTL_BGR, ILI9341_MADCTL_RGB)) + +#define ILI9341_MADCTL_DATA (ILI9341_ORIENTATION) | (ILI9341_COLOR) #define ILI9341_NOP 0x00 // No Operation #define ILI9341_SWRESET 0x01 // Software Reset diff --git a/Marlin/src/lcd/tft/ili9488.h b/Marlin/src/lcd/tft_io/ili9488.h similarity index 93% rename from Marlin/src/lcd/tft/ili9488.h rename to Marlin/src/lcd/tft_io/ili9488.h index 19fdc78e0a5e..e71c0d16d775 100644 --- a/Marlin/src/lcd/tft/ili9488.h +++ b/Marlin/src/lcd/tft_io/ili9488.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -38,13 +38,17 @@ #define ILI9488_ORIENTATION_LEFT ILI9488_MADCTL_MY | ILI9488_MADCTL_MX | ILI9488_MADCTL_MV // 480x320 ; Cable on the left side #define ILI9488_ORIENTATION_DOWN ILI9488_MADCTL_MX // 320x480 ; Cable on the upper side -#ifndef ILI9488_COLOR_RGB - #define ILI9488_COLOR_BGR -#endif -#ifndef ILI9488_ORIENTATION - #define ILI9488_ORIENTATION ILI9488_ORIENTATION_LEFT +#define ILI9488_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ILI9488_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ILI9488_MADCTL_MX) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ILI9488_MADCTL_MY) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define ILI9488_COLOR ILI9488_MADCTL_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define ILI9488_COLOR ILI9488_MADCTL_RGB #endif -#define ILI9488_MADCTL_DATA (ILI9488_ORIENTATION | TERN(ILI9488_COLOR_BGR, ILI9488_MADCTL_BGR, ILI9488_MADCTL_RGB)) + +#define ILI9488_MADCTL_DATA (ILI9488_ORIENTATION) | (ILI9488_COLOR) #define ILI9488_NOP 0x00 // No Operation #define ILI9488_SWRESET 0x01 // Software Reset diff --git a/Marlin/src/lcd/tft/r65105.h b/Marlin/src/lcd/tft_io/r65105.h similarity index 87% rename from Marlin/src/lcd/tft/r65105.h rename to Marlin/src/lcd/tft_io/r65105.h index 8d073f5d0d1c..a813c3260b1a 100644 --- a/Marlin/src/lcd/tft/r65105.h +++ b/Marlin/src/lcd/tft_io/r65105.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -42,9 +42,28 @@ #define R61505_DRVCTRL_GS 0x8000 // Gate Scan direction // MKS Robin TFT v1.1 - 320x240 ; Cable on the left side -#define R61505_DRVCTL_DATA R61505_DRVCTL_SS -#define R61505_ETMOD_DATA R61505_ETMOD_BGR | R61505_ETMOD_ID1 | R61505_ETMOD_ID0 | R61505_ETMOD_AM -#define R61505_DRVCTRL_GSDIR R61505_DRVCTRL_GS + +#if TFT_ROTATION == TFT_ROTATE_180 + #define R61505_DRVCTL_DATA 0x0000 + #define R61505_DRVCTRL_DATA (0x2700 | R61505_DRVCTRL_GS) +#else + #define R61505_DRVCTL_DATA R61505_DRVCTL_SS + #define R61505_DRVCTRL_DATA 0x2700 +#endif + +// #define R61505_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, R61505_ETMOD_AM) | \ +// IF_0((TFT_ORIENTATION) & TFT_INVERT_X, R61505_ETMOD_ID0) | \ +// IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, R61505_ETMOD_ID1) + +#define R61505_ETMOD_ORIENTATION (R61505_ETMOD_AM | R61505_ETMOD_ID0 | R61505_ETMOD_ID1) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define R61505_ETMOD_COLOR R61505_ETMOD_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define R61505_ETMOD_COLOR R61505_ETMOD_RGB +#endif + +#define R61505_ETMOD_DATA (R61505_ETMOD_ORIENTATION) | (R61505_ETMOD_COLOR) #define R61505_RDDID 0x00 // ID code - 0x1505 @@ -141,7 +160,7 @@ static const uint16_t r61505_init[] = { ESC_REG(R61505_GAMCTRL9), 0x0700, ESC_REG(R61505_GAMCTRLA), 0x0A1F, - ESC_REG(R61505_DRVCTRL), R61505_DRVCTRL_GSDIR | 0x2700, + ESC_REG(R61505_DRVCTRL), R61505_DRVCTRL_DATA, ESC_REG(R61505_BASE_IMAGE_CTRL), 0x0001, ESC_REG(R61505_VSCROLL_CTRL), 0x0000, diff --git a/Marlin/src/lcd/tft_io/ssd1963.h b/Marlin/src/lcd/tft_io/ssd1963.h new file mode 100644 index 000000000000..4953a96233e8 --- /dev/null +++ b/Marlin/src/lcd/tft_io/ssd1963.h @@ -0,0 +1,131 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft_io.h" + +#include "../../inc/MarlinConfig.h" + +#define SSD1963_MADCTL_MY 0x80 // Row Address Order +#define SSD1963_MADCTL_MX 0x40 // Column Address Order +#define SSD1963_MADCTL_MV 0x20 // Row/Column Exchange +#define SSD1963_MADCTL_MH 0x10 // Horizontal Refresh Order +#define SSD1963_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define SSD1963_MADCTL_RGB 0x00 +#define SSD1963_MADCTL_ML 0x04 // Vertical Refresh Order +#define SSD1963_MADCTL_FH 0x02 // Flip Horizontal +#define SSD1963_MADCTL_FV 0x01 // Flip Vertical + +#define SSD1963_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, SSD1963_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, SSD1963_MADCTL_FH) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, SSD1963_MADCTL_FV) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define SSD1963_COLOR SSD1963_MADCTL_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define SSD1963_COLOR SSD1963_MADCTL_RGB +#endif + +#define SSD1963_MADCTL_DATA (SSD1963_ORIENTATION) | (SSD1963_COLOR) + +#define SSD1963_NOP 0x00 // No Operation +#define SSD1963_SWRESET 0x01 // Software reset +#define SSD1963_RDDPM 0x0A // Read Display Power Mode +#define SSD1963_RDDMADCTL 0x0B // Read Display MADCTL +#define SSD1963_RDDCOLMOD 0x0C // Read Display Pixel Format +#define SSD1963_RDDIM 0x0D // Read Display Image Mode +#define SSD1963_RDDSM 0x0E // Read Display Signal Mode +#define SSD1963_SLPIN 0x10 // Sleep In +#define SSD1963_SLPOUT 0x11 // Sleep Out +#define SSD1963_PTLON 0x12 // Partial Display Mode On +#define SSD1963_NORON 0x13 // Normal Display Mode On +#define SSD1963_INVOFF 0x20 // Display Inversion Off +#define SSD1963_INVON 0x21 // Display Inversion On +#define SSD1963_GAMSET 0x26 // Gamma Set +#define SSD1963_DISPOFF 0x28 // Display Off +#define SSD1963_DISPON 0x29 // Display On +#define SSD1963_CASET 0x2A // Column Address Set +#define SSD1963_RASET 0x2B // Row Address Set +#define SSD1963_RAMWR 0x2C // Memory Write +#define SSD1963_RAMRD 0x2E // Memory Read +#define SSD1963_PTLAR 0x30 // Partial Area +#define SSD1963_VSCRDEF 0x33 // Vertical Scrolling Definition +#define SSD1963_TEOFF 0x34 // Tearing Effect Line OFF +#define SSD1963_TEON 0x35 // Tearing Effect Line ON +#define SSD1963_MADCTL 0x36 // Memory Data Access Control +#define SSD1963_VSCSAD 0x37 // Vertical Scroll Start Address of RAM +#define SSD1963_IDMOFF 0x38 // Idle Mode Off +#define SSD1963_IDMON 0x39 // Idle Mode On +#define SSD1963_WRMEMC 0x3C // Write Memory Continue +#define SSD1963_RDMEMC 0x3E // Read Memory Continue +#define SSD1963_STE 0x44 // Set Tear Scanline +#define SSD1963_GSCAN 0x45 // Get Scanline +#define SSD1963_WRDISBV 0x51 // Write Display Brightness +#define SSD1963_RDDISBV 0x52 // Read Display Brightness +#define SSD1963_WRCTRLD 0x53 // Write CTRL Display +#define SSD1963_RDCTRLD 0x54 // Read CTRL Value Display +#define SSD1963_WRCACE 0x55 // Write Content Adaptive Brightness Control and Color Enhancement +#define SSD1963_RDCABC 0x56 // Read Content Adaptive Brightness Control +#define SSD1963_WRCABCMB 0x5E // Write CABC Minimum Brightness +#define SSD1963_RDCABCMB 0x5F // Read CABC Minimum Brightness +#define SSD1963_RDABCSDR 0x68 // Read Automatic Brightness Control Self-Diagnostic Result +#define SSD1963_RDDDB 0xA1 // Read Device Descriptor Block +#define SSD1963_SLCDMODE 0xB0 // Set the LCD panel mode and resolution +#define SSD1963_SHSYNC 0xB4 // Set HSYNC +#define SSD1963_GHSYNC 0xB5 // Get HSYNC +#define SSD1963_SVSYNC 0xB6 // Set VSYNC +#define SSD1963_GVSYNC 0xB7 // Get VSYNC +#define SSD1963_SGPIOCFG 0xB8 // Set GPIO Conf +#define SSD1963_SGPIOV 0xBA // Set GPIO Value +#define SSD1963_SPWMCFG 0xBE // Set PWM Conf +#define SSD1963_GPWMCFG 0xBF // Get PWM Conf +#define SSD1963_SDBCCFG 0xD0 // Set Dynamic Back Light Config +#define SSD1963_GDBCCFG 0xD1 // Get Dynamic Back Light Config +#define SSD1963_PLLON 0xE0 // PLL Enable +#define SSD1963_PLLMN 0xE2 // Set PLL Multiplier +#define SSD1963_SLSHIFT 0xE6 // Set the LSHIFT (pixel clock) frequency +#define SSD1963_COLMOD 0xF0 // Interface Pixel Format + +static const uint16_t ssd1963_init[] = { + DATASIZE_8BIT, + ESC_REG(SSD1963_PLLMN), 0x0023, 0x0002, 0x0054, + ESC_REG(SSD1963_PLLON), 0x0001, ESC_DELAY(10), + ESC_REG(SSD1963_PLLON), 0x0003, ESC_DELAY(10), + ESC_REG(SSD1963_SWRESET), ESC_DELAY(100), + + ESC_REG(SSD1963_SLSHIFT), 0x0001, 0x001F, 0x00FF, + ESC_REG(SSD1963_SLCDMODE), 0x0020, 0x0000, 0x0001, 0x00DF, 0x0001, 0x000F, 0x0000, + ESC_REG(SSD1963_SHSYNC), 0x0002, 0x0013, 0x0000, 0x0008, 0x002B, 0x0000, 0x0002, 0x0000, + ESC_REG(SSD1963_SVSYNC), 0x0001, 0x0020, 0x0000, 0x0004, 0x000C, 0x0000, 0x0002, + ESC_REG(SSD1963_SGPIOV), 0x000F, + ESC_REG(SSD1963_SGPIOCFG), 0x0007, 0x0001, + + ESC_REG(SSD1963_MADCTL), SSD1963_MADCTL_DATA, + ESC_REG(SSD1963_COLMOD), 0x0003, ESC_DELAY(1),//RBG 565 + + ESC_REG(SSD1963_NORON), + ESC_REG(SSD1963_DISPON), + + ESC_REG(SSD1963_SPWMCFG), 0x0006, 0x00f0, 0x0001, 0x00f0, 0x0000, 0x0000, + ESC_REG(SSD1963_SDBCCFG), 0x000D, + ESC_END +}; diff --git a/Marlin/src/lcd/tft/st7735.h b/Marlin/src/lcd/tft_io/st7735.h similarity index 92% rename from Marlin/src/lcd/tft/st7735.h rename to Marlin/src/lcd/tft_io/st7735.h index 62f93d5044c0..1b0d23b6c4b9 100644 --- a/Marlin/src/lcd/tft/st7735.h +++ b/Marlin/src/lcd/tft_io/st7735.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -38,9 +38,17 @@ #define ST7735_ORIENTATION_LEFT ST7735_MADCTL_MV | ST7735_MADCTL_MX // 160x128 ; Cable on the left side #define ST7735_ORIENTATION_DOWN ST7735_MADCTL_MX | ST7735_MADCTL_MY // 128x160 ; Cable on the lower side -//#define ST7735_COLOR_BGR -#define ST7735_ORIENTATION ST7735_ORIENTATION_DOWN -#define ST7735_MADCTL_DATA (ST7735_ORIENTATION | TERN(ST7735_COLOR_BGR, ST7735_MADCTL_BGR, ST7735_MADCTL_RGB)) +#define ST7735_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ST7735_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ST7735_MADCTL_MX) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ST7735_MADCTL_MY) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_RGB + #define ST7735_COLOR ST7735_MADCTL_RGB +#elif TFT_COLOR == TFT_COLOR_BGR + #define ST7735_COLOR ST7735_MADCTL_BGR +#endif + +#define ST7735_MADCTL_DATA (ST7735_ORIENTATION) | (ST7735_COLOR) #define ST7735_NOP 0x00 // No Operation #define ST7735_SWRESET 0x01 // Software reset diff --git a/Marlin/src/lcd/tft/st7789v.h b/Marlin/src/lcd/tft_io/st7789v.h similarity index 93% rename from Marlin/src/lcd/tft/st7789v.h rename to Marlin/src/lcd/tft_io/st7789v.h index 67da67966d2c..d0cf969c66ce 100644 --- a/Marlin/src/lcd/tft/st7789v.h +++ b/Marlin/src/lcd/tft_io/st7789v.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -38,11 +38,17 @@ #define ST7789V_ORIENTATION_LEFT ST7789V_MADCTL_MY | ST7789V_MADCTL_MV // 320x240 ; Cable on the left side #define ST7789V_ORIENTATION_DOWN 0 // 240x320 ; Cable on the lower side -//#define ST7789V_COLOR_BGR -#ifndef ST7789V_ORIENTATION - #define ST7789V_ORIENTATION ST7789V_ORIENTATION_LEFT +#define ST7789V_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ST7789V_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ST7789V_MADCTL_MX) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ST7789V_MADCTL_MY) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_RGB + #define ST7789V_COLOR ST7789V_MADCTL_RGB +#elif TFT_COLOR == TFT_COLOR_BGR + #define ST7789V_COLOR ST7789V_MADCTL_BGR #endif -#define ST7789V_MADCTL_DATA (ST7789V_ORIENTATION | TERN(ST7789V_COLOR_BGR, ST7789V_MADCTL_BGR, ST7789V_MADCTL_RGB)) + +#define ST7789V_MADCTL_DATA (ST7789V_ORIENTATION) | (ST7789V_COLOR) #define ST7789V_NOP 0x00 // No Operation #define ST7789V_SWRESET 0x01 // Software reset diff --git a/Marlin/src/lcd/tft/st7796s.h b/Marlin/src/lcd/tft_io/st7796s.h similarity index 93% rename from Marlin/src/lcd/tft/st7796s.h rename to Marlin/src/lcd/tft_io/st7796s.h index 10452293de0b..8653a49ca2ef 100644 --- a/Marlin/src/lcd/tft/st7796s.h +++ b/Marlin/src/lcd/tft_io/st7796s.h @@ -21,7 +21,7 @@ */ #pragma once -#include "tft.h" +#include "tft_io.h" #include "../../inc/MarlinConfig.h" @@ -33,9 +33,17 @@ #define ST7796S_MADCTL_RGB 0x00 #define ST7796S_MADCTL_MH 0x04 // Horizontal Refresh Order -#define ST7796S_COLOR_BGR -#define ST7796S_ORIENTATION ST7796S_MADCTL_MV -#define ST7796S_MADCTL_DATA (ST7796S_ORIENTATION | TERN(ST7796S_COLOR_BGR, ST7796S_MADCTL_BGR, ST7796S_MADCTL_RGB)) +#define ST7796S_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ST7796S_MADCTL_MV) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ST7796S_MADCTL_MX) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ST7796S_MADCTL_MY) + +#if !defined(TFT_COLOR) || TFT_COLOR == TFT_COLOR_BGR + #define ST7796S_COLOR ST7796S_MADCTL_BGR +#elif TFT_COLOR == TFT_COLOR_RGB + #define ST7796S_COLOR ST7796S_MADCTL_RGB +#endif + +#define ST7796S_MADCTL_DATA (ST7796S_ORIENTATION) | (ST7796S_COLOR) #define ST7796S_NOP 0x00 // No Operation #define ST7796S_SWRESET 0x01 // Software reset diff --git a/Marlin/src/lcd/tft_io/tft_io.cpp b/Marlin/src/lcd/tft_io/tft_io.cpp new file mode 100644 index 000000000000..cd535458a181 --- /dev/null +++ b/Marlin/src/lcd/tft_io/tft_io.cpp @@ -0,0 +1,226 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "tft_io.h" + +#if HAS_SPI_TFT || HAS_FSMC_TFT + +#include "st7735.h" +#include "st7789v.h" +#include "st7796s.h" +#include "r65105.h" +#include "ili9328.h" +#include "ili9341.h" +#include "ili9488.h" +#include "ssd1963.h" + +#define DEBUG_OUT ENABLED(DEBUG_GRAPHICAL_TFT) +#include "../../core/debug_out.h" + +TFT_IO_DRIVER TFT_IO::io; +uint32_t TFT_IO::lcd_id = 0xFFFFFFFF; + +void TFT_IO::InitTFT() { +if (lcd_id != 0xFFFFFFFF) return; + + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, LOW); + #endif + + #if PIN_EXISTS(TFT_RESET) + OUT_WRITE(TFT_RESET_PIN, HIGH); + delay(10); + OUT_WRITE(TFT_RESET_PIN, LOW); + delay(10); + OUT_WRITE(TFT_RESET_PIN, HIGH); + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); + #endif + + // io.Init(); + delay(100); + + #if TFT_DRIVER != AUTO + lcd_id = TFT_DRIVER; + #endif + + #if TFT_DRIVER == ST7735 + write_esc_sequence(st7735_init); + #elif TFT_DRIVER == SSD1963 + write_esc_sequence(ssd1963_init); + #elif TFT_DRIVER == ST7789 + write_esc_sequence(st7789v_init); + #elif TFT_DRIVER == ST7796 + write_esc_sequence(st7796s_init); + #elif TFT_DRIVER == R61505 + write_esc_sequence(r61505_init); + #elif TFT_DRIVER == ILI9328 + write_esc_sequence(ili9328_init); + #elif TFT_DRIVER == ILI9341 + write_esc_sequence(ili9341_init); + #elif TFT_DRIVER == ILI9488 + write_esc_sequence(ili9488_init); + #elif TFT_DRIVER == LERDGE_ST7796 + lcd_id = ST7796; + write_esc_sequence(lerdge_st7796s_init); + + #elif TFT_DRIVER == AUTO // autodetect + + lcd_id = io.GetID() & 0xFFFF; + + switch (lcd_id) { + case ST7796: // ST7796S 480x320 + DEBUG_ECHO_MSG(" ST7796S"); + write_esc_sequence(st7796s_init); + break; + case ST7789: // ST7789V 320x240 + DEBUG_ECHO_MSG(" ST7789V"); + write_esc_sequence(st7789v_init); + break; + case SSD1963: // SSD1963 + DEBUG_ECHO_MSG(" SSD1963"); + write_esc_sequence(ssd1963_init); + break; + case ST7735: // ST7735 160x128 + DEBUG_ECHO_MSG(" ST7735"); + write_esc_sequence(st7735_init); + break; + case R61505: // R61505U 320x240 + DEBUG_ECHO_MSG(" R61505U"); + write_esc_sequence(r61505_init); + break; + case ILI9328: // ILI9328 320x240 + DEBUG_ECHO_MSG(" ILI9328"); + write_esc_sequence(ili9328_init); + break; + case ILI9341: // ILI9341 320x240 + DEBUG_ECHO_MSG(" ILI9341"); + write_esc_sequence(ili9341_init); + break; + case ILI9488: // ILI9488 480x320 + case ILI9488_ID1: // 0x8066 ILI9488 480x320 + DEBUG_ECHO_MSG(" ILI9488"); + write_esc_sequence(ili9488_init); + break; + default: + lcd_id = 0; + } + #else + #error Unsupported TFT driver + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) && ENABLED(DELAYED_BACKLIGHT_INIT) + OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + #endif +} + +void TFT_IO::set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { + #ifdef OFFSET_X + Xmin += OFFSET_X; Xmax += OFFSET_X; + #endif + #ifdef OFFSET_Y + Ymin += OFFSET_Y; Ymax += OFFSET_Y; + #endif + + switch (lcd_id) { + case ST7735: // ST7735 160x128 + case ST7789: // ST7789V 320x240 + case ST7796: // ST7796 480x320 + case ILI9341: // ILI9341 320x240 + case ILI9488: // ILI9488 480x320 + case SSD1963: // SSD1963 + case ILI9488_ID1: // 0x8066 ILI9488 480x320 + io.DataTransferBegin(DATASIZE_8BIT); + + // CASET: Column Address Set + io.WriteReg(ILI9341_CASET); + io.WriteData((Xmin >> 8) & 0xFF); + io.WriteData(Xmin & 0xFF); + io.WriteData((Xmax >> 8) & 0xFF); + io.WriteData(Xmax & 0xFF); + + // RASET: Row Address Set + io.WriteReg(ILI9341_PASET); + io.WriteData((Ymin >> 8) & 0xFF); + io.WriteData(Ymin & 0xFF); + io.WriteData((Ymax >> 8) & 0xFF); + io.WriteData(Ymax & 0xFF); + + // RAMWR: Memory Write + io.WriteReg(ILI9341_RAMWR); + break; + case R61505: // R61505U 320x240 + case ILI9328: // ILI9328 320x240 + io.DataTransferBegin(DATASIZE_16BIT); + + // Mind the mess: with landscape screen orientation 'Horizontal' is Y and 'Vertical' is X + io.WriteReg(ILI9328_HASTART); + io.WriteData(Ymin); + io.WriteReg(ILI9328_HAEND); + io.WriteData(Ymax); + io.WriteReg(ILI9328_VASTART); + io.WriteData(Xmin); + io.WriteReg(ILI9328_VAEND); + io.WriteData(Xmax); + + io.WriteReg(ILI9328_HASET); + io.WriteData(Ymin); + io.WriteReg(ILI9328_VASET); + io.WriteData(Xmin); + + io.WriteReg(ILI9328_RAMWR); + break; + default: + break; + } + + io.DataTransferEnd(); +} + +void TFT_IO::write_esc_sequence(const uint16_t *Sequence) { + uint16_t dataWidth, data; + + dataWidth = *Sequence++; + io.DataTransferBegin(dataWidth); + + for (;;) { + data = *Sequence++; + if (data != 0xFFFF) { + io.WriteData(data); + continue; + } + data = *Sequence++; + if (data == 0x7FFF) return; + if (data == 0xFFFF) + io.WriteData(0xFFFF); + else if (data & 0x8000) + delay(data & 0x7FFF); + else if ((data & 0xFF00) == 0) + io.WriteReg(data); + } + + io.DataTransferEnd(); +} + +#endif // HAS_SPI_TFT || HAS_FSMC_TFT diff --git a/Marlin/src/lcd/tft_io/tft_io.h b/Marlin/src/lcd/tft_io/tft_io.h new file mode 100644 index 000000000000..63d6936ac0b8 --- /dev/null +++ b/Marlin/src/lcd/tft_io/tft_io.h @@ -0,0 +1,124 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfig.h" + +#if HAS_SPI_TFT || HAS_FSMC_TFT + +#if HAS_SPI_TFT + #include HAL_PATH(../../HAL, tft/tft_spi.h) +#elif HAS_FSMC_TFT + #include HAL_PATH(../../HAL, tft/tft_fsmc.h) +#else + #error "TFT IO only supports SPI or FSMC interface" +#endif + +#define TFT_EXCHANGE_XY (1UL << 1) +#define TFT_INVERT_X (1UL << 2) +#define TFT_INVERT_Y (1UL << 3) + +#define TFT_NO_ROTATION (0x00) +#define TFT_ROTATE_90 (TFT_EXCHANGE_XY | TFT_INVERT_X) +#define TFT_ROTATE_180 (TFT_INVERT_X | TFT_INVERT_Y) +#define TFT_ROTATE_270 (TFT_EXCHANGE_XY | TFT_INVERT_Y) + +#define TFT_MIRROR_X (TFT_INVERT_Y) +#define TFT_MIRROR_Y (TFT_INVERT_X) + +#define TFT_ROTATE_90_MIRROR_X (TFT_ROTATE_90 ^ TFT_INVERT_Y) +#define TFT_ROTATE_90_MIRROR_Y (TFT_ROTATE_90 ^ TFT_INVERT_X) + +#define TFT_ROTATE_180_MIRROR_X (TFT_ROTATE_180 ^ TFT_INVERT_Y) +#define TFT_ROTATE_180_MIRROR_Y (TFT_ROTATE_180 ^ TFT_INVERT_X) + +#define TFT_ROTATE_270_MIRROR_X (TFT_ROTATE_270 ^ TFT_INVERT_Y) +#define TFT_ROTATE_270_MIRROR_Y (TFT_ROTATE_270 ^ TFT_INVERT_X) + +// TFT_ROTATION is user configurable +#ifndef TFT_ROTATION + #define TFT_ROTATION TFT_NO_ROTATION +#endif + + +// TFT_ORIENTATION is the "sum" of TFT_DEFAULT_ORIENTATION plus user TFT_ROTATION +#define TFT_ORIENTATION ((TFT_DEFAULT_ORIENTATION) ^ (TFT_ROTATION)) + +#define TFT_COLOR_RGB (1UL << 3) +#define TFT_COLOR_BGR (1UL << 4) + +// Each TFT Driver is responsible for its default color mode. +// #ifndef TFT_COLOR +// #define TFT_COLOR TFT_COLOR_RGB +// #endif + +#define SSD1963 0x5761 +#define ST7735 0x89F0 +#define ST7789 0x8552 +#define ST7796 0x7796 +#define R61505 0x1505 +#define ILI9328 0x9328 +#define ILI9341 0x9341 +#define ILI9488 0x9488 +#define ILI9488_ID1 0x8066 //Some ILI9488 have 0x8066 in the 0x04 +#define LERDGE_ST7796 0xFFFE +#define AUTO 0xFFFF + +#ifndef TFT_DRIVER + #define TFT_DRIVER AUTO +#endif + +#define ESC_REG(x) 0xFFFF, 0x00FF & (uint16_t)x +#define ESC_DELAY(x) 0xFFFF, 0x8000 | (x & 0x7FFF) +#define ESC_END 0xFFFF, 0x7FFF +#define ESC_FFFF 0xFFFF, 0xFFFF + +class TFT_IO { +public: + static TFT_IO_DRIVER io; + + static void InitTFT(); + static void set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax); + static void write_esc_sequence(const uint16_t *Sequence); + + // Deletaged methods + inline static void Init() { io.Init(); }; + inline static bool isBusy() { return io.isBusy(); }; + inline static void Abort() { io.Abort(); }; + inline static uint32_t GetID() { return io.GetID(); }; + + inline static void DataTransferBegin(uint16_t DataWidth = DATASIZE_16BIT) { io.DataTransferBegin(DataWidth); } + inline static void DataTransferEnd() { io.DataTransferEnd(); }; + // inline static void DataTransferAbort() { io.DataTransferAbort(); }; + + inline static void WriteData(uint16_t Data) { io.WriteData(Data); }; + inline static void WriteReg(uint16_t Reg) { io.WriteReg(Reg); }; + + inline static void WriteSequence(uint16_t *Data, uint16_t Count) { io.WriteSequence(Data, Count); }; + // static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_MINC_DISABLE, &Data, Count); } + inline static void WriteMultiple(uint16_t Color, uint32_t Count) { io.WriteMultiple(Color, Count); }; + +protected: + static uint32_t lcd_id; +}; + +#endif // HAS_SPI_TFT || HAS_FSMC_TFT diff --git a/Marlin/src/lcd/touch/touch_buttons.cpp b/Marlin/src/lcd/touch/touch_buttons.cpp index c97018c379c0..7d25c0df7eb9 100644 --- a/Marlin/src/lcd/touch/touch_buttons.cpp +++ b/Marlin/src/lcd/touch/touch_buttons.cpp @@ -82,7 +82,7 @@ uint8_t TouchButtons::read_buttons() { x = uint16_t((uint32_t(x) * XPT2046_X_CALIBRATION) >> 16) + XPT2046_X_OFFSET; y = uint16_t((uint32_t(y) * XPT2046_Y_CALIBRATION) >> 16) + XPT2046_Y_OFFSET; - #if ENABLED(GRAPHICAL_TFT_ROTATE_180) + #if (TFT_ROTATION & TFT_ROTATE_180) x = TOUCH_SENSOR_WIDTH - x; y = TOUCH_SENSOR_HEIGHT - y; #endif diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index 5bb32a420aee..4686e984b088 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -296,25 +296,44 @@ #ifndef GRAPHICAL_TFT_UPSCALE #define GRAPHICAL_TFT_UPSCALE 3 #endif + // SPI 1 + #define SCK_PIN P0_15 + #define MISO_PIN P0_17 + #define MOSI_PIN P0_18 // Disable any LCD related PINs config #define LCD_PINS_ENABLE -1 #define LCD_PINS_RS -1 - // Emulated DOGM have xpt calibration values independent of display resolution - #if ENABLED(SPI_GRAPHICAL_TFT) + // XPT2046 Touch Screen calibration + #if ENABLED(TFT_CLASSIC_UI) #ifndef XPT2046_X_CALIBRATION - #define XPT2046_X_CALIBRATION -11245 + #define XPT2046_X_CALIBRATION -11245 #endif #ifndef XPT2046_Y_CALIBRATION - #define XPT2046_Y_CALIBRATION 8629 + #define XPT2046_Y_CALIBRATION 8629 #endif #ifndef XPT2046_X_OFFSET - #define XPT2046_X_OFFSET 685 + #define XPT2046_X_OFFSET 685 #endif #ifndef XPT2046_Y_OFFSET - #define XPT2046_Y_OFFSET -285 + #define XPT2046_Y_OFFSET -285 #endif + #elif ENABLED(TFT_480x320_SPI) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -17232 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 11196 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 1047 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -358 + #endif + + #define TFT_BUFFER_SIZE 2400 #endif #elif IS_TFTGLCD_PANEL diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index 196503c822c5..6c6a9ea306ec 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -220,7 +220,7 @@ #if IS_TFTGLCD_PANEL #if ENABLED(TFTGLCD_PANEL_SPI) - #define TFTGLCD_CS P3_25 // EXP2.3 + #define TFTGLCD_CS P3_25 // EXP2.3 #endif #if SD_CONNECTION_IS(LCD) diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index c602af1c3028..294e7527a875 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -371,7 +371,7 @@ #endif #if ANY(VIKI2, miniVIKI) - // #define LCD_SCREEN_ROT_180 + //#define LCD_SCREEN_ROT_180 #define DOGLCD_CS P0_16 // (16) #define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2 diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h index 76c54c3bba21..6d6d7557f57d 100644 --- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h +++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h @@ -161,7 +161,7 @@ // #define TEMP_0_PIN P0_24 #define TEMP_1_PIN P0_23 -//#define TEMP_2_PIN P1_30 // Onboard thermistor +//#define TEMP_2_PIN P1_30 // Onboard thermistor #define TEMP_BED_PIN P0_25 // diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h index cbbe8a9416d4..62660935f5bd 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h @@ -39,7 +39,7 @@ //#define SDCARD_EEPROM_EMULATION //#define I2C_EEPROM // AT24C32 #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -190,7 +190,7 @@ #define E1_SERIAL_RX_PIN P1_17 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // HAS_TMC_UART // diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index 5d81d1eca9ab..b02d414089ff 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -129,8 +129,6 @@ #define TOUCH_MISO_PIN PA6 // SPI1_MISO #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI - #define LCD_RESET_PIN PF11 - #define LCD_BACKLIGHT_PIN PD13 #define TFT_RESET_PIN PF11 #define TFT_BACKLIGHT_PIN PD13 @@ -140,14 +138,9 @@ #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 - #define TFT_WIDTH 480 - #define TFT_HEIGHT 320 - #define TFT_PIXEL_OFFSET_X 48 - #define TFT_PIXEL_OFFSET_Y 32 - #endif -#if HAS_TFT_LVGL_UI +#if ENABLED(TFT_LVGL_UI) // LVGL #define HAS_SPI_FLASH_FONT 1 #define HAS_GCODE_PREVIEW 1 @@ -155,16 +148,17 @@ #define HAS_LANG_SELECT_SCREEN 1 #define HAS_BAK_VIEW_IN_FLASH 0 #define HAS_LOGO_IN_FLASH 0 -#elif ENABLED(TFT_480x320) +#elif ENABLED(TFT_COLOR_UI) // Color UI #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) // Emulated DOGM #define GRAPHICAL_TFT_UPSCALE 3 #endif -#if EITHER(HAS_TFT_LVGL_UI, TFT_480x320) +// XPT2046 Touch Screen calibration +#if EITHER(TFT_LVGL_UI, TFT_COLOR_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17181 #endif @@ -177,7 +171,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -9 #endif -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -12316 #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h index e6c9b33a5a29..cafd50dcf22c 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h @@ -135,15 +135,15 @@ // TronXY TFT Support // -// Shared FSMC Configs #if HAS_FSMC_TFT + + // Shared FSMC + #define TOUCH_CS_PIN PB7 // SPI1_NSS #define TOUCH_SCK_PIN PA5 // SPI1_SCK #define TOUCH_MISO_PIN PA6 // SPI1_MISO #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI - #define LCD_RESET_PIN PF11 - #define LCD_BACKLIGHT_PIN PD13 #define TFT_RESET_PIN PF11 #define TFT_BACKLIGHT_PIN PD13 @@ -153,14 +153,9 @@ #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 - #define TFT_WIDTH 480 - #define TFT_HEIGHT 320 - #define TFT_PIXEL_OFFSET_X 48 - #define TFT_PIXEL_OFFSET_Y 32 - #endif -#if HAS_TFT_LVGL_UI +#if ENABLED(TFT_LVGL_UI) // LVGL #define HAS_SPI_FLASH_FONT 1 #define HAS_GCODE_PREVIEW 1 @@ -168,16 +163,17 @@ #define HAS_LANG_SELECT_SCREEN 1 #define HAS_BAK_VIEW_IN_FLASH 0 #define HAS_LOGO_IN_FLASH 0 -#elif ENABLED(TFT_480x320) +#elif ENABLED(TFT_COLOR_UI) // Color UI #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) // Emulated DOGM #define GRAPHICAL_TFT_UPSCALE 3 #endif -#if EITHER(HAS_TFT_LVGL_UI, TFT_480x320) +// XPT2046 Touch Screen calibration +#if EITHER(TFT_LVGL_UI, TFT_COLOR_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17181 #endif @@ -190,7 +186,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -9 #endif -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -12316 #endif diff --git a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h index 64948039baf9..3c277233d73e 100644 --- a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h +++ b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h @@ -39,7 +39,7 @@ #define STM32_XL_DENSITY #endif -// #define MCU_STM32F103ZE // not yet required +//#define MCU_STM32F103ZE // not yet required // Enable EEPROM Emulation for this board, so that we don't overwrite factory data //#define I2C_EEPROM // AT24C64 diff --git a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h index 47d7118b53d1..af81bbebe2d4 100644 --- a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h +++ b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h @@ -118,7 +118,6 @@ * because Marlin uses the reset as a failsafe to revive a glitchy LCD. */ -#define LCD_RESET_PIN PC4 // pin 33 #define TFT_RESET_PIN PC4 // pin 33 #define TFT_BACKLIGHT_PIN PD12 // pin 59 #define FSMC_CS_PIN PD7 // pin 88 = FSMC_NE1 @@ -131,13 +130,11 @@ #define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h #define DOGLCD_SCK -1 -#define GRAPHICAL_TFT_UPSCALE 2 -#define TFT_WIDTH 320 -#define TFT_HEIGHT 240 -#define TFT_PIXEL_OFFSET_X 32 -#define TFT_PIXEL_OFFSET_Y 32 +// Longer/Alfawise TFT +#define LONGER_LK_TFT28 -//#define TFT_DRIVER ILI9341 +// Buffer for Color UI +#define TFT_BUFFER_SIZE 3200 /** * Note: Alfawise U20/U30 boards DON'T use SPI2, as the hardware designer diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index 26a0c9260e03..8831d6804b05 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -143,8 +143,8 @@ #define LCD_BACKLIGHT_PIN PG11 #define FSMC_CS_PIN PG12 // NE4 #define FSMC_RS_PIN PF0 // A0 - #define TFT_CS_PIN FSMC_CS_PIN - #define TFT_RS_PIN FSMC_RS_PIN + #define TFT_CS_PIN FSMC_CS_PIN + #define TFT_RS_PIN FSMC_RS_PIN #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT #define FSMC_DMA_DEV DMA2 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h index d9ba4e3c408b..94a28953ccf3 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h @@ -290,6 +290,7 @@ #define TFT_BUFFER_SIZE 14400 #endif +// XPT2046 Touch Screen calibration #if EITHER(HAS_TFT_LVGL_UI, TFT_480x320_SPI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17253 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 35909ed43080..16d6d2ffc442 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -171,6 +171,9 @@ // Shared FSMC Configs #if HAS_FSMC_TFT + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + #define DOGLCD_SCK -1 + #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 @@ -179,9 +182,6 @@ #define TOUCH_MISO_PIN PB14 // SPI2_MISO #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #define LCD_RESET_PIN PC6 // FSMC_RST - #define LCD_BACKLIGHT_PIN PD13 - #define TFT_RESET_PIN PC6 // FSMC_RST #define TFT_BACKLIGHT_PIN PD13 @@ -193,60 +193,11 @@ #define TOUCH_BUTTONS_HW_SPI #define TOUCH_BUTTONS_HW_SPI_DEVICE 2 -#endif - -#if ENABLED(FSMC_GRAPHICAL_TFT) - // Emulated DOGM - #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - #define DOGLCD_SCK -1 - - #ifndef GRAPHICAL_TFT_UPSCALE - #define GRAPHICAL_TFT_UPSCALE 3 - #endif - #ifndef TFT_WIDTH - #define TFT_WIDTH 480 - #endif - #ifndef TFT_PIXEL_OFFSET_X - #define TFT_PIXEL_OFFSET_X 48 - #endif - #ifndef TFT_HEIGHT - #define TFT_HEIGHT 320 - #endif - #ifndef TFT_PIXEL_OFFSET_Y - #define TFT_PIXEL_OFFSET_Y 32 - #endif - -#elif ENABLED(TFT_320x240) // TFT32/28 - #define TFT_RESET_PIN PC6 - #define TFT_BACKLIGHT_PIN PD13 - - #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 - #define FSMC_DMA_DEV DMA2 - #define FSMC_DMA_CHANNEL DMA_CH5 - - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - - #define TFT_DRIVER ILI9341 - #define TFT_BUFFER_SIZE 14400 - - // YV for normal screen mounting - //#define ILI9341_ORIENTATION ILI9341_MADCTL_MY | ILI9341_MADCTL_MV - // XV for 180° rotated screen mounting - #define ILI9341_ORIENTATION ILI9341_MADCTL_MX | ILI9341_MADCTL_MV - - #define ILI9341_COLOR_RGB -#elif ENABLED(TFT_480x320) - #define TFT_DRIVER ILI9488 #define TFT_BUFFER_SIZE 14400 - #define ILI9488_ORIENTATION ILI9488_MADCTL_MX | ILI9488_MADCTL_MV #endif +// XPT2046 Touch Screen calibration #if EITHER(TFT_LVGL_UI_FSMC, TFT_480x320) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION 17880 @@ -260,7 +211,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET 349 #endif -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION 12149 #endif @@ -273,7 +224,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET 256 #endif -#elif ENABLED(TFT_320x240) // TFT32/28 +#elif ENABLED(TFT_320x240) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -12246 #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index b40c66496af6..846fe80a08fa 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -269,19 +269,11 @@ #define TOUCH_BUTTONS_HW_SPI #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 - #ifndef TFT_WIDTH - #define TFT_WIDTH 480 - #endif - #ifndef TFT_HEIGHT - #define TFT_HEIGHT 320 - #endif - - #define LCD_READ_ID 0xD3 #define LCD_USE_DMA_SPI #endif -#if ENABLED(SPI_GRAPHICAL_TFT) +#if ENABLED(TFT_CLASSIC_UI) // Emulated DOGM SPI #ifndef GRAPHICAL_TFT_UPSCALE #define GRAPHICAL_TFT_UPSCALE 3 @@ -297,12 +289,12 @@ #define LCD_PINS_ENABLE PD13 #define LCD_PINS_RS PC6 -#elif ENABLED(TFT_480x320_SPI) - #define TFT_DRIVER ST7796 +#elif ENABLED(TFT_COLOR_UI) #define TFT_BUFFER_SIZE 14400 #endif -#if EITHER(TFT_LVGL_UI_SPI, TFT_480x320_SPI) +// XPT2046 Touch Screen calibration +#if EITHER(TFT_LVGL_UI, TFT_COLOR_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -17253 #endif @@ -315,7 +307,7 @@ #ifndef XPT2046_Y_OFFSET #define XPT2046_Y_OFFSET -24 #endif -#elif ENABLED(SPI_GRAPHICAL_TFT) +#elif ENABLED(TFT_CLASSIC_UI) #ifndef XPT2046_X_CALIBRATION #define XPT2046_X_CALIBRATION -11386 #endif diff --git a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h index 4745641ea934..bfd1f2abdcbd 100644 --- a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h @@ -120,14 +120,50 @@ * Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu * because Marlin uses the reset as a failsafe to revive a glitchy LCD. */ -#define LCD_RESET_PIN PF11 -#define LCD_BACKLIGHT_PIN PD13 -#define FSMC_CS_PIN PD7 // NE4 -#define FSMC_RS_PIN PD11 // A0 - -#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT -#define FSMC_DMA_DEV DMA2 -#define FSMC_DMA_CHANNEL DMA_CH5 +#if HAS_FSMC_TFT + #define TFT_RESET_PIN PF11 + #define TFT_BACKLIGHT_PIN PD13 + #define FSMC_CS_PIN PD7 // NE4 + #define FSMC_RS_PIN PD11 // A0 + + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 + + #define ANYCUBIC_TFT35 +#else + #define LCD_RESET_PIN PF11 + #define LCD_BACKLIGHT_PIN PD13 +#endif + +// XPT2046 Touch Screen calibration +#if ENABLED(TFT_COLOR_UI) || ENABLED(TFT_LVGL_UI) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -17181 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 11434 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 501 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -9 + #endif +#elif ENABLED(TFT_CLASSIC_UI) + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -12316 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8981 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 340 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -20 + #endif +#endif #if NEED_TOUCH_PINS #define TOUCH_CS_PIN PB7 // SPI2_NSS diff --git a/Marlin/src/pins/teensy4/pins_T41U5XBB.h b/Marlin/src/pins/teensy4/pins_T41U5XBB.h index 830637bebd93..5f62bb05a64b 100644 --- a/Marlin/src/pins/teensy4/pins_T41U5XBB.h +++ b/Marlin/src/pins/teensy4/pins_T41U5XBB.h @@ -85,17 +85,17 @@ #define X_STEP_PIN 2 #define X_DIR_PIN 3 #define X_ENABLE_PIN 10 -//#define X_CS_PIN 30 +//#define X_CS_PIN 30 #define Y_STEP_PIN 4 #define Y_DIR_PIN 5 #define Y_ENABLE_PIN 40 -//#define Y_CS_PIN 31 +//#define Y_CS_PIN 31 #define Z_STEP_PIN 6 #define Z_DIR_PIN 7 #define Z_ENABLE_PIN 39 -//#define Z_CS_PIN 32 +//#define Z_CS_PIN 32 #define E0_STEP_PIN 8 #define E0_DIR_PIN 9 diff --git a/Marlin/src/pins/teensy4/pins_TEENSY41.h b/Marlin/src/pins/teensy4/pins_TEENSY41.h index 31c6fda5c900..21a1ff675f24 100644 --- a/Marlin/src/pins/teensy4/pins_TEENSY41.h +++ b/Marlin/src/pins/teensy4/pins_TEENSY41.h @@ -81,17 +81,17 @@ #define X_STEP_PIN 0 #define X_DIR_PIN 1 #define X_ENABLE_PIN 6 -//#define X_CS_PIN 30 +//#define X_CS_PIN 30 #define Y_STEP_PIN 2 #define Y_DIR_PIN 3 #define Y_ENABLE_PIN 7 -//#define Y_CS_PIN 31 +//#define Y_CS_PIN 31 #define Z_STEP_PIN 4 #define Z_DIR_PIN 5 #define Z_ENABLE_PIN 8 -//#define Z_CS_PIN 32 +//#define Z_CS_PIN 32 #define E0_STEP_PIN 9 #define E0_DIR_PIN 10 @@ -123,8 +123,8 @@ // #define LED_PIN 13 #define SOL0_PIN 28 -//#define PS_ON_PIN 1 -//#define FILWIDTH_PIN 6 // A6 +//#define PS_ON_PIN 1 +//#define FILWIDTH_PIN 6 // A6 #ifndef SDCARD_CONNECTION #define SDCARD_CONNECTION ONBOARD diff --git a/platformio.ini b/platformio.ini index d4beca6519be..7ede4c321fd0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -26,7 +26,7 @@ include_dir = Marlin # [common] default_src_filter = + - - + - - - - - - + - - - - - - - - - - - - @@ -226,7 +226,7 @@ HAS_WIRED_LCD = src_filter=+ HAS_MARLINUI_HD44780 = src_filter=+ HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 src_filter=+ -HAS_(FSMC|SPI)_TFT = src_filter=+ + +HAS_(FSMC|SPI)_TFT = src_filter=+ + + HAS_FSMC_TFT = src_filter=+ + HAS_SPI_TFT = src_filter=+ + HAS_GRAPHICAL_TFT = src_filter=+ @@ -906,8 +906,6 @@ build_flags = ${common_stm32f1.build_flags} # # MKS Robin Nano (STM32F103VET6) -# v1.2 - Emulated Graphical 128x64 (DOGM) UI and LVGL UI -# v2.0 - LVGL UI # [env:mks_robin_nano35] platform = ${common_stm32f1.platform} From 8b060a3902f6c05c9079c1919eea80558c7fe4f1 Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Sun, 11 Oct 2020 22:34:27 -0400 Subject: [PATCH 236/277] G34 Mechanical Gantry Calibration (like Prusa M915) (#18972) Co-authored-by: Scott Lahteine --- Marlin/Configuration_adv.h | 19 +++ Marlin/src/gcode/calibrate/G34.cpp | 153 ++++++++++++++++++++++++ Marlin/src/gcode/calibrate/G34_M422.cpp | 98 ++++++++++----- Marlin/src/gcode/gcode.cpp | 2 +- Marlin/src/gcode/gcode.h | 5 +- Marlin/src/inc/SanityCheck.h | 17 ++- Marlin/src/lcd/language/language_en.h | 3 + Marlin/src/lcd/menu/menu_motion.cpp | 2 +- buildroot/tests/LPC1769-tests | 2 +- platformio.ini | 2 + 10 files changed, 269 insertions(+), 34 deletions(-) create mode 100644 Marlin/src/gcode/calibrate/G34.cpp diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 9c439c90a71f..48e6a8db3962 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3377,6 +3377,25 @@ //#define JOYSTICK_DEBUG #endif +/** + * Mechanical Gantry Calibration + * Modern replacement for the Prusa TMC_Z_CALIBRATION. + * Adds capability to work with any adjustable current drivers. + * Implemented as G34 because M915 is deprecated. + */ +//#define MECHANICAL_GANTRY_CALIBRATION +#if ENABLED(MECHANICAL_GANTRY_CALIBRATION) + #define GANTRY_CALIBRATION_CURRENT 600 // Default calibration current in ma + #define GANTRY_CALIBRATION_EXTRA_HEIGHT 15 // Extra distance in mm past Z_###_POS to move + #define GANTRY_CALIBRATION_FEEDRATE 500 // Feedrate for correction move + //#define GANTRY_CALIBRATION_TO_MIN // Enable to calibrate Z in the MIN direction + + //#define GANTRY_CALIBRATION_SAFE_POSITION { X_CENTER, Y_CENTER } // Safe position for nozzle + //#define GANTRY_CALIBRATION_XY_PARK_FEEDRATE 3000 // XY Park Feedrate - MMM + //#define GANTRY_CALIBRATION_COMMANDS_PRE "" + #define GANTRY_CALIBRATION_COMMANDS_POST "G28" // G28 highly recommended to ensure an accurate position +#endif + /** * MAX7219 Debug Matrix * diff --git a/Marlin/src/gcode/calibrate/G34.cpp b/Marlin/src/gcode/calibrate/G34.cpp new file mode 100644 index 000000000000..eb1d32f90927 --- /dev/null +++ b/Marlin/src/gcode/calibrate/G34.cpp @@ -0,0 +1,153 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(MECHANICAL_GANTRY_CALIBRATION) + +#include "../gcode.h" +#include "../../module/motion.h" +#include "../../module/stepper.h" +#include "../../module/endstops.h" + +#if HAS_LEVELING + #include "../../feature/bedlevel/bedlevel.h" +#endif + +#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) +#include "../../core/debug_out.h" + +void GcodeSuite::G34() { + + if (homing_needed()) return; + + TEMPORARY_SOFT_ENDSTOP_STATE(false); + TEMPORARY_BED_LEVELING_STATE(false); + TemporaryGlobalEndstopsState unlock_z(false); + + #ifdef GANTRY_CALIBRATION_COMMANDS_PRE + gcode.process_subcommands_now_P(PSTR(GANTRY_CALIBRATION_COMMANDS_PRE)); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Sub Commands Processed"); + #endif + + #ifdef GANTRY_CALIBRATION_SAFE_POSITION + // Move XY to safe position + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Parking XY"); + const xy_pos_t safe_pos = GANTRY_CALIBRATION_SAFE_POSITION; + do_blocking_move_to(safe_pos, MMM_TO_MMS(GANTRY_CALIBRATION_XY_PARK_FEEDRATE)); + #endif + + const float move_distance = parser.intval('Z', GANTRY_CALIBRATION_EXTRA_HEIGHT), + zbase = ENABLED(GANTRY_CALIBRATION_TO_MIN) ? Z_MIN_POS : Z_MAX_POS, + zpounce = zbase - move_distance, zgrind = zbase + move_distance; + + // Move Z to pounce position + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Setting Z Pounce"); + do_blocking_move_to_z(zpounce, MMM_TO_MMS(HOMING_FEEDRATE_Z)); + + // Store current motor settings, then apply reduced value + + #define _REDUCE_CURRENT ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_PWM, HAS_MOTOR_CURRENT_DAC, HAS_MOTOR_CURRENT_I2C, HAS_TRINAMIC_CONFIG) + #if _REDUCE_CURRENT + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Reducing Current"); + #endif + + #if HAS_MOTOR_CURRENT_SPI + const uint16_t target_current = parser.intval('S', GANTRY_CALIBRATION_CURRENT); + const uint32_t previous_current = stepper.motor_current_setting[Z_AXIS]; + stepper.set_digipot_current(Z_AXIS, target_current); + #elif HAS_MOTOR_CURRENT_PWM + const uint16_t target_current = parser.intval('S', GANTRY_CALIBRATION_CURRENT); + const uint32_t previous_current = stepper.motor_current_setting[Z_AXIS]; + stepper.set_digipot_current(1, target_current); + #elif HAS_MOTOR_CURRENT_DAC + const float target_current = parser.floatval('S', GANTRY_CALIBRATION_CURRENT); + const float previous_current = dac_amps(Z_AXIS, target_current); + stepper_dac.set_current_value(Z_AXIS, target_current); + #elif ENABLED(HAS_MOTOR_CURRENT_I2C) + const uint16_t target_current = parser.intval('S', GANTRY_CALIBRATION_CURRENT); + previous_current = dac_amps(Z_AXIS); + digipot_i2c.set_current(Z_AXIS, target_current) + #elif HAS_TRINAMIC_CONFIG + const uint16_t target_current = parser.intval('S', GANTRY_CALIBRATION_CURRENT); + static uint16_t previous_current_arr[NUM_Z_STEPPER_DRIVERS]; + #if AXIS_IS_TMC(Z) + previous_current_arr[0] = stepperZ.getMilliamps(); + stepperZ.rms_current(target_current); + #endif + #if AXIS_IS_TMC(Z2) + previous_current_arr[1] = stepperZ2.getMilliamps(); + stepperZ2.rms_current(target_current); + #endif + #if AXIS_IS_TMC(Z3) + previous_current_arr[2] = stepperZ3.getMilliamps(); + stepperZ3.rms_current(target_current); + #endif + #if AXIS_IS_TMC(Z4) + previous_current_arr[3] = stepperZ4.getMilliamps(); + stepperZ4.rms_current(target_current); + #endif + #endif + + // Do Final Z move to adjust + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Final Z Move"); + do_blocking_move_to_z(zgrind, MMM_TO_MMS(GANTRY_CALIBRATION_FEEDRATE)); + + // Back off end plate, back to normal motion range + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Z Backoff"); + do_blocking_move_to_z(zpounce, MMM_TO_MMS(GANTRY_CALIBRATION_FEEDRATE)); + + #if _REDUCE_CURRENT + // Reset current to original values + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Restore Current"); + #endif + + #if HAS_MOTOR_CURRENT_SPI + stepper.set_digipot_current(Z_AXIS, previous_current); + #elif HAS_MOTOR_CURRENT_PWM + stepper.set_digipot_current(1, previous_current); + #elif HAS_MOTOR_CURRENT_DAC + stepper_dac.set_current_value(Z_AXIS, previous_current); + #elif ENABLED(HAS_MOTOR_CURRENT_I2C) + digipot_i2c.set_current(Z_AXIS, previous_current) + #elif HAS_TRINAMIC_CONFIG + #if AXIS_IS_TMC(Z) + stepperZ.rms_current(previous_current_arr[0]); + #endif + #if AXIS_IS_TMC(Z2) + stepperZ2.rms_current(previous_current_arr[1]); + #endif + #if AXIS_IS_TMC(Z3) + stepperZ3.rms_current(previous_current_arr[2]); + #endif + #if AXIS_IS_TMC(Z4) + stepperZ4.rms_current(previous_current_arr[3]); + #endif + #endif + + #ifdef GANTRY_CALIBRATION_COMMANDS_POST + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Running Post Commands"); + gcode.process_subcommands_now_P(PSTR(GANTRY_CALIBRATION_COMMANDS_POST)); + #endif +} + +#endif // MECHANICAL_GANTRY_CALIBRATION diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp index 1fd0754ec780..24292477f9c1 100644 --- a/Marlin/src/gcode/calibrate/G34_M422.cpp +++ b/Marlin/src/gcode/calibrate/G34_M422.cpp @@ -20,28 +20,29 @@ * */ -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(Z_STEPPER_AUTO_ALIGN) #include "../../feature/z_stepper_align.h" #include "../gcode.h" -#include "../../module/planner.h" -#include "../../module/stepper.h" #include "../../module/motion.h" +#include "../../module/stepper.h" +#include "../../module/planner.h" #include "../../module/probe.h" - -#if HAS_MULTI_HOTEND - #include "../../module/tool_change.h" -#endif +#include "../../lcd/ultralcd.h" // for LCD_MESSAGEPGM #if HAS_LEVELING #include "../../feature/bedlevel/bedlevel.h" #endif +#if HAS_MULTI_HOTEND + #include "../../module/tool_change.h" +#endif + #if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) - #include "../../libs/least_squares_fit.h" + #include "../../libs/least_squares_fit.h" #endif #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) @@ -117,7 +118,7 @@ void GcodeSuite::G34() { // In BLTOUCH HS mode, the probe travels in a deployed state. // Users of G34 might have a badly misaligned bed, so raise Z by the // length of the deployed pin (BLTOUCH stroke < 7mm) - #define Z_BASIC_CLEARANCE Z_CLEARANCE_BETWEEN_PROBES + 7.0f * BOTH(BLTOUCH, BLTOUCH_HS_MODE) + #define Z_BASIC_CLEARANCE (Z_CLEARANCE_BETWEEN_PROBES + 7.0f * BOTH(BLTOUCH, BLTOUCH_HS_MODE)) // Compute a worst-case clearance height to probe from. After the first // iteration this will be re-calculated based on the actual bed position @@ -154,21 +155,29 @@ void GcodeSuite::G34() { z_maxdiff = 0.0f, amplification = z_auto_align_amplification; - // These are needed after the for-loop - uint8_t iteration; - bool err_break = false; - float z_measured_min; - #if DISABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) bool adjustment_reverse = false; #endif - // 'iteration' is declared above and is also used after the for-loop. - // *not* the same as LOOP_L_N(iteration, z_auto_align_iterations) - for (iteration = 0; iteration < z_auto_align_iterations; ++iteration) { + #if HAS_DISPLAY + PGM_P const msg_iteration = GET_TEXT(MSG_ITERATION); + const uint8_t iter_str_len = strlen_P(msg_iteration); + #endif + + // Final z and iteration values will be used after breaking the loop + float z_measured_min; + uint8_t iteration = 0; + bool err_break = false; // To break out of nested loops + while (iteration < z_auto_align_iterations) { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> probing all positions."); - SERIAL_ECHOLNPAIR("\nITERATION: ", int(iteration + 1)); + const int iter = iteration + 1; + SERIAL_ECHOLNPAIR("\nG34 Iteration: ", iter); + #if HAS_DISPLAY + char str[iter_str_len + 2 + 1]; + sprintf_P(str, msg_iteration, iter); + ui.set_status(str); + #endif // Initialize minimum value z_measured_min = 100000.0f; @@ -190,7 +199,8 @@ void GcodeSuite::G34() { // current_position.z has been manually altered in the "dirty trick" above. const float z_probed_height = probe.probe_at_point(z_stepper_align.xy[iprobe], raise_after, 0, true, false); if (isnan(z_probed_height)) { - SERIAL_ECHOLNPGM("Probing failed."); + SERIAL_ECHOLNPGM("Probing failed"); + LCD_MESSAGEPGM(MSG_LCD_PROBING_FAILED); err_break = true; break; } @@ -249,8 +259,39 @@ void GcodeSuite::G34() { , " Z3-Z1=", ABS(z_measured[2] - z_measured[0]) #endif ); + #if HAS_DISPLAY + char fstr1[10]; + #if NUM_Z_STEPPER_DRIVERS == 2 + char msg[6 + (6 + 5) * 1 + 1]; + #else + char msg[6 + (6 + 5) * 3 + 1], fstr2[10], fstr3[10]; + #endif + sprintf_P(msg, + PSTR("Diffs Z1-Z2=%s" + #if NUM_Z_STEPPER_DRIVERS == 3 + " Z2-Z3=%s" + " Z3-Z1=%s" + #endif + ), dtostrf(ABS(z_measured[0] - z_measured[1]), 1, 3, fstr1) + #if NUM_Z_STEPPER_DRIVERS == 3 + , dtostrf(ABS(z_measured[1] - z_measured[2]), 1, 3, fstr2) + , dtostrf(ABS(z_measured[2] - z_measured[0]), 1, 3, fstr3) + #endif + ); + ui.set_status(msg); + #endif + + auto decreasing_accuracy = [](const float &v1, const float &v2){ + if (v1 < v2 * 0.7f) { + SERIAL_ECHOLNPGM("Decreasing Accuracy Detected."); + LCD_MESSAGEPGM(MSG_DECREASING_ACCURACY); + return true; + } + return false; + }; #if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) + // Check if the applied corrections go in the correct direction. // Calculate the sum of the absolute deviations from the mean of the probe measurements. // Compare to the last iteration to ensure it's getting better. @@ -266,11 +307,8 @@ void GcodeSuite::G34() { z_align_level_indicator += ABS(z_measured[zstepper] - z_measured_mean); // If it's getting worse, stop and throw an error - if (last_z_align_level_indicator < z_align_level_indicator * 0.7f) { - SERIAL_ECHOLNPGM("Decreasing accuracy detected."); - err_break = true; - break; - } + err_break = decreasing_accuracy(last_z_align_level_indicator, z_align_level_indicator); + if (err_break) break; last_z_align_level_indicator = z_align_level_indicator; #endif @@ -290,8 +328,7 @@ void GcodeSuite::G34() { if (z_align_abs) amplification = (iteration == 1) ? _MIN(last_z_align_move[zstepper] / z_align_abs, 2.0f) : z_auto_align_amplification; // Check for less accuracy compared to last move - if (last_z_align_move[zstepper] < z_align_abs * 0.7f) { - SERIAL_ECHOLNPGM("Decreasing accuracy detected."); + if (decreasing_accuracy(last_z_align_move[zstepper], z_align_abs)) { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("> Z", int(zstepper + 1), " last_z_align_move = ", last_z_align_move[zstepper]); if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("> Z", int(zstepper + 1), " z_align_abs = ", z_align_abs); adjustment_reverse = !adjustment_reverse; @@ -329,9 +366,14 @@ void GcodeSuite::G34() { if (err_break) break; - if (success_break) { SERIAL_ECHOLNPGM("Target accuracy achieved."); break; } + if (success_break) { + SERIAL_ECHOLNPGM("Target accuracy achieved."); + LCD_MESSAGEPGM(MSG_ACCURACY_ACHIEVED); + break; + } - } // for (iteration) + iteration++; + } // while (iteration < z_auto_align_iterations) if (err_break) SERIAL_ECHOLNPGM("G34 aborted."); diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index cbf62e0fcf97..3f51272c662a 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -327,7 +327,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 33: G33(); break; // G33: Delta Auto-Calibration #endif - #if ENABLED(Z_STEPPER_AUTO_ALIGN) + #if EITHER(Z_STEPPER_AUTO_ALIGN, MECHANICAL_GANTRY_CALIBRATION) case 34: G34(); break; // G34: Z Stepper automatic alignment using probe #endif diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 73a372781370..3ba2451919be 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -465,11 +465,12 @@ class GcodeSuite { TERN_(DELTA_AUTO_CALIBRATION, static void G33()); - #if ENABLED(Z_STEPPER_AUTO_ALIGN) + #if EITHER(Z_STEPPER_AUTO_ALIGN, MECHANICAL_GANTRY_CALIBRATION) static void G34(); - static void M422(); #endif + TERN_(Z_STEPPER_AUTO_ALIGN, static void M422()); + TERN_(ASSISTED_TRAMMING, static void G35()); TERN_(G38_PROBE_TARGET, static void G38(const int8_t subcode)); diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 7e3b6724d035..ec5400755183 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -422,7 +422,7 @@ #elif defined(CHAMBER_HEATER_PIN) #error "CHAMBER_HEATER_PIN is now HEATER_CHAMBER_PIN. Please update your configuration and/or pins." #elif defined(TMC_Z_CALIBRATION) - #error "TMC_Z_CALIBRATION has been deprecated in favor of Z_STEPPER_AUTO_ALIGN. Please update your configuration." + #error "TMC_Z_CALIBRATION has been deprecated in favor of MECHANICAL_GANTRY_CALIBRATION. Please update your configuration." #elif defined(Z_MIN_PROBE_ENDSTOP) #error "Z_MIN_PROBE_ENDSTOP is no longer required. Please remove it from Configuration.h." #elif defined(DUAL_NOZZLE_DUPLICATION_MODE) @@ -2788,6 +2788,21 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif #endif +#if ENABLED(MECHANICAL_GANTRY_CALIBRATION) + #if NONE(HAS_MOTOR_CURRENT_DAC, HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC, HAS_TRINAMIC_CONFIG, HAS_MOTOR_CURRENT_PWM) + #error "It is highly recommended to have adjustable current drivers to prevent damage. Disable this line to continue anyway." + #elif !defined(GANTRY_CALIBRATION_CURRENT) + #error "MECHANICAL_GANTRY_CALIBRATION Requires GANTRY_CALIBRATION_CURRENT to be set." + #elif !defined(GANTRY_CALIBRATION_EXTRA_HEIGHT) + #error "MECHANICAL_GANTRY_CALIBRATION Requires GANTRY_CALIBRATION_EXTRA_HEIGHT to be set." + #elif !defined(GANTRY_CALIBRATION_FEEDRATE) + #error "MECHANICAL_GANTRY_CALIBRATION Requires GANTRY_CALIBRATION_FEEDRATE to be set." + #endif + #if defined(GANTRY_CALIBRATION_SAFE_POSITION) && !defined(GANTRY_CALIBRATION_XY_PARK_FEEDRATE) + #error "GANTRY_CALIBRATION_SAFE_POSITION Requires GANTRY_CALIBRATION_XY_PARK_FEEDRATE to be set." + #endif +#endif + #if ENABLED(PRINTCOUNTER) && DISABLED(EEPROM_SETTINGS) #error "PRINTCOUNTER requires EEPROM_SETTINGS. Please update your Configuration." #endif diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index b41515a73428..e8b4769cc216 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -67,6 +67,9 @@ namespace Language_en { PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home Z"); PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Z-Align"); PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Assisted Tramming"); + PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Iteration: %i"); + PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Accuracy Decreasing!"); + PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Accuracy Achieved"); PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Homing XYZ"); PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Click to Begin"); PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Next Point"); diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index dff9895c6b64..676ba46ea730 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -358,7 +358,7 @@ void menu_motion() { // // Auto Z-Align // - #if ENABLED(Z_STEPPER_AUTO_ALIGN) + #if EITHER(Z_STEPPER_AUTO_ALIGN, MECHANICAL_GANTRY_CALIBRATION) GCODES_ITEM(MSG_AUTO_Z_ALIGN, PSTR("G34")); #endif diff --git a/buildroot/tests/LPC1769-tests b/buildroot/tests/LPC1769-tests index a7a6456d026d..4314b0d5ff8d 100755 --- a/buildroot/tests/LPC1769-tests +++ b/buildroot/tests/LPC1769-tests @@ -61,7 +61,7 @@ opt_set MOTHERBOARD BOARD_COHESION3D_REMIX opt_set X_DRIVER_TYPE TMC2130 opt_set Y_DRIVER_TYPE TMC2130 opt_set Z_DRIVER_TYPE TMC2130 -opt_enable AUTO_BED_LEVELING_BILINEAR EEPROM_SETTINGS EEPROM_CHITCHAT \ +opt_enable AUTO_BED_LEVELING_BILINEAR EEPROM_SETTINGS EEPROM_CHITCHAT MECHANICAL_GANTRY_CALIBRATION \ TMC_USE_SW_SPI MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z HYBRID_THRESHOLD \ SENSORLESS_PROBING Z_SAFE_HOMING X_STALL_SENSITIVITY Y_STALL_SENSITIVITY Z_STALL_SENSITIVITY TMC_DEBUG \ EXPERIMENTAL_I2CBUS diff --git a/platformio.ini b/platformio.ini index 7ede4c321fd0..10b9f899d581 100644 --- a/platformio.ini +++ b/platformio.ini @@ -110,6 +110,7 @@ default_src_filter = + - - + - - - + - - - - @@ -309,6 +310,7 @@ MK2_MULTIPLEXER = src_filter=+ EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ + HAS_CUTTER = src_filter=+ + EXPERIMENTAL_I2CBUS = src_filter=+ + +MECHANICAL_GANTRY_CAL.+ = src_filter=+ Z_STEPPER_AUTO_ALIGN = src_filter=+ + G26_MESH_VALIDATION = src_filter=+ ASSISTED_TRAMMING = src_filter=+ From d3d423a322eb781822cb25a93287f05d563e21fa Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Mon, 12 Oct 2020 14:52:56 -0700 Subject: [PATCH 237/277] Sanity-check mutually-exclusive G34 features (#19706) --- Marlin/src/inc/SanityCheck.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index ec5400755183..820d8a04b561 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -2803,6 +2803,10 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif #endif +#if BOTH(Z_STEPPER_AUTO_ALIGN, MECHANICAL_GANTRY_CALIBRATION) + #error "You cannot use Z_STEPPER_AUTO_ALIGN and MECHANICAL_GANTRY_CALIBRATION at the same time." +#endif + #if ENABLED(PRINTCOUNTER) && DISABLED(EEPROM_SETTINGS) #error "PRINTCOUNTER requires EEPROM_SETTINGS. Please update your Configuration." #endif From ce830f8a710b92ed999c2f2d55fb860f0571e88f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 12 Oct 2020 00:59:30 -0500 Subject: [PATCH 238/277] Fix screen click reading too often (#19696) Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com> --- Marlin/src/lcd/ultralcd.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 58e6d9473b35..7003d13fdd7a 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -1553,12 +1553,15 @@ void MarlinUI::update() { // - On edit screens, touch Up Half for -, Bottom Half to + // void MarlinUI::screen_click(const uint8_t row, const uint8_t col, const uint8_t, const uint8_t) { + const millis_t now = millis(); + if (PENDING(now, next_button_update_ms)) return; + next_button_update_ms = now + repeat_delay; // Assume the repeat delay const int8_t xdir = col < (LCD_WIDTH ) / 2 ? -1 : 1, ydir = row < (LCD_HEIGHT) / 2 ? -1 : 1; if (on_edit_screen) encoderDiff = epps * ydir; else if (screen_items > 0) { - // Last 3 cols act as a scroll :-) + // Last 5 cols act as a scroll :-) if (col > (LCD_WIDTH) - 5) // 2 * LCD_HEIGHT to scroll to bottom of next page. (LCD_HEIGHT would only go 1 item down.) encoderDiff = epps * (encoderLine - encoderTopLine + 2 * (LCD_HEIGHT)) * ydir; From aae644c5072c70c4774102a5545a156a8f228ae3 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sun, 11 Oct 2020 21:31:21 -0300 Subject: [PATCH 239/277] Option to prevent (extra) Watchdog init on STM32 (#19693) --- Marlin/src/HAL/STM32/watchdog.cpp | 6 +++++- Marlin/src/HAL/STM32F1/watchdog.cpp | 4 +++- Marlin/src/pins/stm32f1/pins_MALYAN_M200.h | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Marlin/src/HAL/STM32/watchdog.cpp b/Marlin/src/HAL/STM32/watchdog.cpp index 37e5638b05c0..cc1855314968 100644 --- a/Marlin/src/HAL/STM32/watchdog.cpp +++ b/Marlin/src/HAL/STM32/watchdog.cpp @@ -30,7 +30,11 @@ #include "watchdog.h" #include - void watchdog_init() { IWatchdog.begin(4000000); } // 4 sec timeout + void watchdog_init() { + #if DISABLED(DISABLE_WATCHDOG_INIT) + IWatchdog.begin(4000000); // 4 sec timeout + #endif + } void HAL_watchdog_refresh() { IWatchdog.reload(); diff --git a/Marlin/src/HAL/STM32F1/watchdog.cpp b/Marlin/src/HAL/STM32F1/watchdog.cpp index 4123bc3ef0ff..ca91a6fe4350 100644 --- a/Marlin/src/HAL/STM32F1/watchdog.cpp +++ b/Marlin/src/HAL/STM32F1/watchdog.cpp @@ -52,7 +52,9 @@ void watchdogSetup() { * @details The watchdog clock is 40Khz. We need a 4 seconds interval, so use a /256 preescaler and 625 reload value (counts down to 0) */ void watchdog_init() { - //iwdg_init(IWDG_PRE_256, STM32F1_WD_RELOAD); + #if DISABLED(DISABLE_WATCHDOG_INIT) + iwdg_init(IWDG_PRE_256, STM32F1_WD_RELOAD); + #endif } #endif // USE_WATCHDOG diff --git a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h index d3c26c497d8f..95e7e92174fa 100644 --- a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h +++ b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h @@ -33,6 +33,9 @@ #define BOARD_INFO_NAME "Malyan M200" #endif +// Prevents hanging from an extra watchdog init +#define DISABLE_WATCHDOG_INIT + // Assume Flash EEPROM #if NO_EEPROM_SELECTED #define FLASH_EEPROM_EMULATION From 35c40bc376f0a684ec47baf69b7f787b16a6cca9 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sun, 11 Oct 2020 21:26:16 -0300 Subject: [PATCH 240/277] Implement wait_for_user for Color UI (#19694) --- Marlin/src/gcode/config/M43.cpp | 9 ++++++++- Marlin/src/lcd/tft/touch.cpp | 12 ++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp index 1e7374542c3d..1e780ca05afd 100644 --- a/Marlin/src/gcode/config/M43.cpp +++ b/Marlin/src/gcode/config/M43.cpp @@ -46,6 +46,10 @@ #include "../../lcd/extui/ui_api.h" #endif +#if HAS_RESUME_CONTINUE + #include "../../lcd/ultralcd.h" +#endif + #ifndef GET_PIN_MAP_PIN_M43 #define GET_PIN_MAP_PIN_M43(Q) GET_PIN_MAP_PIN(Q) #endif @@ -362,7 +366,10 @@ void GcodeSuite::M43() { } } - if (TERN0(HAS_RESUME_CONTINUE, !wait_for_user)) break; + #if HAS_RESUME_CONTINUE + ui.update(); + if (!wait_for_user) break; + #endif safe_delay(200); } diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index 5889ac0a9908..2124a42e28ca 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -50,6 +50,9 @@ touch_calibration_t Touch::calibration; calibrationState Touch::calibration_state = CALIBRATION_NONE; touch_calibration_point_t Touch::calibration_points[4]; #endif +#if HAS_RESUME_CONTINUE + extern bool wait_for_user; +#endif void Touch::init() { calibration_reset(); @@ -80,6 +83,15 @@ void Touch::idle() { now = millis(); if (get_point(&_x, &_y)) { + #if HAS_RESUME_CONTINUE + // UI is waiting for a click anywhere? + if (wait_for_user) { + touch_control_type = CLICK; + ui.lcd_clicked = true; + return; + } + #endif + #if LCD_TIMEOUT_TO_STATUS ui.return_to_status_ms = now + LCD_TIMEOUT_TO_STATUS; #endif From 50410aaeaa351ca0d18dd8a6bf1960f340db8c88 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Mon, 12 Oct 2020 20:01:03 -0300 Subject: [PATCH 241/277] Fix UTF8 handling for Color UI (#19708) --- Marlin/src/lcd/tft/tft_string.cpp | 11 +++++++++++ Marlin/src/lcd/tft/tft_string.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Marlin/src/lcd/tft/tft_string.cpp b/Marlin/src/lcd/tft/tft_string.cpp index 7e66c3d29cf8..663ed97c36c8 100644 --- a/Marlin/src/lcd/tft/tft_string.cpp +++ b/Marlin/src/lcd/tft/tft_string.cpp @@ -116,6 +116,17 @@ void TFT_String::add(uint8_t *string, int8_t index, uint8_t *itemString) { eol(); } +void TFT_String::add(uint8_t *string) { + wchar_t wchar; + while (*string) { + string = get_utf8_value_cb(string, read_byte, &wchar); + if (wchar > 255) wchar |= 0x0080; + uint8_t ch = uint8_t(wchar & 0x00FF); + add_character(ch); + } + eol(); +} + void TFT_String::add_character(uint8_t character) { if (length < MAX_STRING_LENGTH) { data[length] = character; diff --git a/Marlin/src/lcd/tft/tft_string.h b/Marlin/src/lcd/tft/tft_string.h index d83d3af7027e..924d6de43027 100644 --- a/Marlin/src/lcd/tft/tft_string.h +++ b/Marlin/src/lcd/tft/tft_string.h @@ -85,7 +85,7 @@ class TFT_String { static void set(); static void add(uint8_t character) { add_character(character); eol(); } - static void add(uint8_t *string) { while (*string) { add_character(*string++); } eol(); } + static void add(uint8_t *string); static void add(uint8_t *string, int8_t index, uint8_t *itemString = NULL); static void set(uint8_t *string) { set(); add(string); }; static void set(uint8_t *string, int8_t index, const char *itemString = NULL) { set(); add(string, index, (uint8_t *)itemString); }; From ce92abfe4789c42123c171eaab410fd7c2f13e70 Mon Sep 17 00:00:00 2001 From: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Date: Sat, 10 Oct 2020 13:01:46 +0300 Subject: [PATCH 242/277] Fixes for TFTGLCD Panel, FastIO (#19614) --- Marlin/src/HAL/STM32/fastio.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index f000d68cf0c3..7d02062b5374 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ + else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(digitalPinToPinName(IO) & 0x1F))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(digitalPinToPinName(IO) & 0x1F)) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) From e680196c59dadfa1187a18db43da42db55844ffb Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sat, 10 Oct 2020 13:47:28 -0300 Subject: [PATCH 243/277] Restore correct STM32 port-bits code (#19678) --- Marlin/src/HAL/STM32/fastio.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index 7d02062b5374..f000d68cf0c3 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(digitalPinToPinName(IO) & 0x1F))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(digitalPinToPinName(IO) & 0x1F)) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) From 4ee717f7c43a22bab05797c6bbe60aa1ef1d7b94 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 10 Oct 2020 12:07:00 -0500 Subject: [PATCH 244/277] Save PLR on resume from pause (#19676) Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com> --- Marlin/src/feature/pause.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index a36ff5075683..0ab659402181 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -61,6 +61,10 @@ #include "../libs/buzzer.h" #endif +#if ENABLED(POWER_LOSS_RECOVERY) + #include "powerloss.h" +#endif + #include "../libs/nozzle.h" #include "pause.h" @@ -640,6 +644,9 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le // Set extruder to saved position planner.set_e_position_mm((destination.e = current_position.e = resume_position.e)); + // Write PLR now to update the z axis value + TERN_(POWER_LOSS_RECOVERY, if (recovery.enabled) recovery.save(true)); + TERN_(HAS_LCD_MENU, lcd_pause_show_message(PAUSE_MESSAGE_STATUS)); #ifdef ACTION_ON_RESUMED From beb17d88552b4d25b6f51f01bbfa90da8ca3d51b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 11 Oct 2020 14:58:35 -0500 Subject: [PATCH 245/277] Digipots refactor / cleanup (#19690) --- Marlin/src/HAL/DUE/fastio/G2_PWM.cpp | 2 +- Marlin/src/HAL/LPC1768/inc/SanityCheck.h | 2 +- Marlin/src/MarlinCore.cpp | 12 ++-- Marlin/src/feature/dac/dac_mcp4728.cpp | 50 ++++++++-------- Marlin/src/feature/dac/dac_mcp4728.h | 25 ++++---- Marlin/src/feature/dac/stepper_dac.cpp | 55 ++++++++--------- Marlin/src/feature/dac/stepper_dac.h | 19 +++--- Marlin/src/feature/digipot/digipot.h | 12 +++- .../src/feature/digipot/digipot_mcp4018.cpp | 12 ++-- .../src/feature/digipot/digipot_mcp4451.cpp | 8 ++- .../src/gcode/feature/digipot/M907-M910.cpp | 52 ++++++++-------- Marlin/src/gcode/gcode.cpp | 6 +- Marlin/src/gcode/gcode.h | 12 ++-- Marlin/src/inc/Conditionals_adv.h | 2 +- Marlin/src/inc/Conditionals_post.h | 2 +- Marlin/src/inc/SanityCheck.h | 2 +- Marlin/src/lcd/menu/menu_advanced.cpp | 8 +-- Marlin/src/module/settings.cpp | 59 ++++++++++++++----- Marlin/src/module/stepper.cpp | 55 ++++++++--------- Marlin/src/module/stepper.h | 22 ++++--- Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h | 2 +- .../src/pins/teensy2/pins_PRINTRBOARD_REVF.h | 2 +- platformio.ini | 4 +- 23 files changed, 239 insertions(+), 186 deletions(-) diff --git a/Marlin/src/HAL/DUE/fastio/G2_PWM.cpp b/Marlin/src/HAL/DUE/fastio/G2_PWM.cpp index 1682faea666d..d9fbabce2148 100644 --- a/Marlin/src/HAL/DUE/fastio/G2_PWM.cpp +++ b/Marlin/src/HAL/DUE/fastio/G2_PWM.cpp @@ -154,7 +154,7 @@ void Stepper::digipot_init() { NVIC_SetPriority(PWM_IRQn, NVIC_EncodePriority(0, 10, 0)); // normal priority for PWM module (can stand some jitter on the Vref signals) } -void Stepper::digipot_current(const uint8_t driver, const int16_t current) { +void Stepper::set_digipot_current(const uint8_t driver, const int16_t current) { if (!(PWM->PWM_CH_NUM[0].PWM_CPRD == PWM_PERIOD_US)) digipot_init(); // Init PWM system if needed diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index fd82e2884ae9..f5051d32a168 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -191,7 +191,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o // // Flag any i2c pin conflicts // -#if ANY(HAS_I2C_DIGIPOT, DAC_STEPPER_CURRENT, EXPERIMENTAL_I2CBUS, I2C_POSITION_ENCODERS, PCA9632, I2C_EEPROM) +#if ANY(HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC, EXPERIMENTAL_I2CBUS, I2C_POSITION_ENCODERS, PCA9632, I2C_EEPROM) #define USEDI2CDEV_M 1 // /Wire.cpp #if USEDI2CDEV_M == 0 // P0_27 [D57] (AUX-1) .......... P0_28 [D58] (AUX-1) diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 672858d05a35..3a20cf3ee330 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -97,7 +97,7 @@ #include "feature/closedloop.h" #endif -#if HAS_I2C_DIGIPOT +#if HAS_MOTOR_CURRENT_I2C #include "feature/digipot/digipot.h" #endif @@ -125,7 +125,7 @@ #include "module/servo.h" #endif -#if ENABLED(DAC_STEPPER_CURRENT) +#if ENABLED(HAS_MOTOR_CURRENT_DAC) #include "feature/dac/stepper_dac.h" #endif @@ -1137,12 +1137,12 @@ void setup() { SETUP_RUN(enableStepperDrivers()); #endif - #if HAS_I2C_DIGIPOT - SETUP_RUN(digipot_i2c_init()); + #if HAS_MOTOR_CURRENT_I2C + SETUP_RUN(digipot_i2c.init()); #endif - #if ENABLED(DAC_STEPPER_CURRENT) - SETUP_RUN(dac_init()); + #if ENABLED(HAS_MOTOR_CURRENT_DAC) + SETUP_RUN(stepper_dac.init()); #endif #if EITHER(Z_PROBE_SLED, SOLENOID_PROBE) && HAS_SOLENOID_1 diff --git a/Marlin/src/feature/dac/dac_mcp4728.cpp b/Marlin/src/feature/dac/dac_mcp4728.cpp index 55f10a49ef70..81c465cf29e4 100644 --- a/Marlin/src/feature/dac/dac_mcp4728.cpp +++ b/Marlin/src/feature/dac/dac_mcp4728.cpp @@ -32,16 +32,18 @@ #include "../../inc/MarlinConfig.h" -#if ENABLED(DAC_STEPPER_CURRENT) +#if ENABLED(HAS_MOTOR_CURRENT_DAC) #include "dac_mcp4728.h" -xyze_uint_t mcp4728_values; +MCP4728 mcp4728; + +xyze_uint_t dac_values; /** * Begin I2C, get current values (input register and eeprom) of mcp4728 */ -void mcp4728_init() { +void MCP4728::init() { Wire.begin(); Wire.requestFrom(I2C_ADDRESS(DAC_DEV_ADDRESS), uint8_t(24)); while (Wire.available()) { @@ -50,7 +52,7 @@ void mcp4728_init() { loByte = Wire.read(); if (!(deviceID & 0x08)) - mcp4728_values[(deviceID & 0x30) >> 4] = word((hiByte & 0x0F), loByte); + dac_values[(deviceID & 0x30) >> 4] = word((hiByte & 0x0F), loByte); } } @@ -58,9 +60,9 @@ void mcp4728_init() { * Write input resister value to specified channel using fastwrite method. * Channel : 0-3, Values : 0-4095 */ -uint8_t mcp4728_analogWrite(const uint8_t channel, const uint16_t value) { - mcp4728_values[channel] = value; - return mcp4728_fastWrite(); +uint8_t MCP4728::analogWrite(const uint8_t channel, const uint16_t value) { + dac_values[channel] = value; + return fastWrite(); } /** @@ -68,12 +70,12 @@ uint8_t mcp4728_analogWrite(const uint8_t channel, const uint16_t value) { * This will update both input register and EEPROM value * This will also write current Vref, PowerDown, Gain settings to EEPROM */ -uint8_t mcp4728_eepromWrite() { +uint8_t MCP4728::eepromWrite() { Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS)); Wire.write(SEQWRITE); LOOP_XYZE(i) { - Wire.write(DAC_STEPPER_VREF << 7 | DAC_STEPPER_GAIN << 4 | highByte(mcp4728_values[i])); - Wire.write(lowByte(mcp4728_values[i])); + Wire.write(DAC_STEPPER_VREF << 7 | DAC_STEPPER_GAIN << 4 | highByte(dac_values[i])); + Wire.write(lowByte(dac_values[i])); } return Wire.endTransmission(); } @@ -81,7 +83,7 @@ uint8_t mcp4728_eepromWrite() { /** * Write Voltage reference setting to all input regiters */ -uint8_t mcp4728_setVref_all(const uint8_t value) { +uint8_t MCP4728::setVref_all(const uint8_t value) { Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS)); Wire.write(VREFWRITE | (value ? 0x0F : 0x00)); return Wire.endTransmission(); @@ -89,7 +91,7 @@ uint8_t mcp4728_setVref_all(const uint8_t value) { /** * Write Gain setting to all input regiters */ -uint8_t mcp4728_setGain_all(const uint8_t value) { +uint8_t MCP4728::setGain_all(const uint8_t value) { Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS)); Wire.write(GAINWRITE | (value ? 0x0F : 0x00)); return Wire.endTransmission(); @@ -98,16 +100,16 @@ uint8_t mcp4728_setGain_all(const uint8_t value) { /** * Return Input Register value */ -uint16_t mcp4728_getValue(const uint8_t channel) { return mcp4728_values[channel]; } +uint16_t MCP4728::getValue(const uint8_t channel) { return dac_values[channel]; } #if 0 /** * Steph: Might be useful in the future * Return Vout */ -uint16_t mcp4728_getVout(const uint8_t channel) { +uint16_t MCP4728::getVout(const uint8_t channel) { const uint32_t vref = 2048, - vOut = (vref * mcp4728_values[channel] * (_DAC_STEPPER_GAIN + 1)) / 4096; + vOut = (vref * dac_values[channel] * (_DAC_STEPPER_GAIN + 1)) / 4096; return _MIN(vOut, defaultVDD); } #endif @@ -115,15 +117,15 @@ uint16_t mcp4728_getVout(const uint8_t channel) { /** * Returns DAC values as a 0-100 percentage of drive strength */ -uint8_t mcp4728_getDrvPct(const uint8_t channel) { return uint8_t(100.0 * mcp4728_values[channel] / (DAC_STEPPER_MAX) + 0.5); } +uint8_t MCP4728::getDrvPct(const uint8_t channel) { return uint8_t(100.0 * dac_values[channel] / (DAC_STEPPER_MAX) + 0.5); } /** * Receives all Drive strengths as 0-100 percent values, updates * DAC Values array and calls fastwrite to update the DAC. */ -void mcp4728_setDrvPct(xyze_uint8_t &pct) { - mcp4728_values *= 0.01 * pct * (DAC_STEPPER_MAX); - mcp4728_fastWrite(); +void MCP4728::setDrvPct(xyze_uint8_t &pct) { + dac_values *= 0.01 * pct * (DAC_STEPPER_MAX); + fastWrite(); } /** @@ -131,11 +133,11 @@ void mcp4728_setDrvPct(xyze_uint8_t &pct) { * DAC Input and PowerDown bits update. * No EEPROM update */ -uint8_t mcp4728_fastWrite() { +uint8_t MCP4728::fastWrite() { Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS)); LOOP_XYZE(i) { - Wire.write(highByte(mcp4728_values[i])); - Wire.write(lowByte(mcp4728_values[i])); + Wire.write(highByte(dac_values[i])); + Wire.write(lowByte(dac_values[i])); } return Wire.endTransmission(); } @@ -143,10 +145,10 @@ uint8_t mcp4728_fastWrite() { /** * Common function for simple general commands */ -uint8_t mcp4728_simpleCommand(const byte simpleCommand) { +uint8_t MCP4728::simpleCommand(const byte simpleCommand) { Wire.beginTransmission(I2C_ADDRESS(GENERALCALL)); Wire.write(simpleCommand); return Wire.endTransmission(); } -#endif // DAC_STEPPER_CURRENT +#endif // HAS_MOTOR_CURRENT_DAC diff --git a/Marlin/src/feature/dac/dac_mcp4728.h b/Marlin/src/feature/dac/dac_mcp4728.h index fc69bd8ff4eb..571716d4834e 100644 --- a/Marlin/src/feature/dac/dac_mcp4728.h +++ b/Marlin/src/feature/dac/dac_mcp4728.h @@ -65,13 +65,18 @@ // DAC_OR_ADDRESS defined in pins_BOARD.h file #define DAC_DEV_ADDRESS (BASE_ADDR | DAC_OR_ADDRESS) -void mcp4728_init(); -uint8_t mcp4728_analogWrite(const uint8_t channel, const uint16_t value); -uint8_t mcp4728_eepromWrite(); -uint8_t mcp4728_setVref_all(const uint8_t value); -uint8_t mcp4728_setGain_all(const uint8_t value); -uint16_t mcp4728_getValue(const uint8_t channel); -uint8_t mcp4728_fastWrite(); -uint8_t mcp4728_simpleCommand(const byte simpleCommand); -uint8_t mcp4728_getDrvPct(const uint8_t channel); -void mcp4728_setDrvPct(xyze_uint8_t &pct); +class MCP4728 { +public: + static void init(); + static uint8_t analogWrite(const uint8_t channel, const uint16_t value); + static uint8_t eepromWrite(); + static uint8_t setVref_all(const uint8_t value); + static uint8_t setGain_all(const uint8_t value); + static uint16_t getValue(const uint8_t channel); + static uint8_t fastWrite(); + static uint8_t simpleCommand(const byte simpleCommand); + static uint8_t getDrvPct(const uint8_t channel); + static void setDrvPct(xyze_uint8_t &pct); +}; + +extern MCP4728 mcp4728; diff --git a/Marlin/src/feature/dac/stepper_dac.cpp b/Marlin/src/feature/dac/stepper_dac.cpp index 6b140a002510..5f10b4ccfbdc 100644 --- a/Marlin/src/feature/dac/stepper_dac.cpp +++ b/Marlin/src/feature/dac/stepper_dac.cpp @@ -26,7 +26,7 @@ #include "../../inc/MarlinConfig.h" -#if ENABLED(DAC_STEPPER_CURRENT) +#if ENABLED(HAS_MOTOR_CURRENT_DAC) #include "stepper_dac.h" #include "../../MarlinCore.h" // for SP_X_LBL... @@ -35,56 +35,53 @@ bool dac_present = false; constexpr xyze_uint8_t dac_order = DAC_STEPPER_ORDER; xyze_uint8_t dac_channel_pct = DAC_MOTOR_CURRENT_DEFAULT; -int dac_init() { +StepperDAC stepper_dac; + +int StepperDAC::init() { #if PIN_EXISTS(DAC_DISABLE) OUT_WRITE(DAC_DISABLE_PIN, LOW); // set pin low to enable DAC #endif - mcp4728_init(); + mcp4728.init(); - if (mcp4728_simpleCommand(RESET)) return -1; + if (mcp4728.simpleCommand(RESET)) return -1; dac_present = true; - mcp4728_setVref_all(DAC_STEPPER_VREF); - mcp4728_setGain_all(DAC_STEPPER_GAIN); + mcp4728.setVref_all(DAC_STEPPER_VREF); + mcp4728.setGain_all(DAC_STEPPER_GAIN); - if (mcp4728_getDrvPct(0) < 1 || mcp4728_getDrvPct(1) < 1 || mcp4728_getDrvPct(2) < 1 || mcp4728_getDrvPct(3) < 1 ) { - mcp4728_setDrvPct(dac_channel_pct); - mcp4728_eepromWrite(); + if (mcp4728.getDrvPct(0) < 1 || mcp4728.getDrvPct(1) < 1 || mcp4728.getDrvPct(2) < 1 || mcp4728.getDrvPct(3) < 1 ) { + mcp4728.setDrvPct(dac_channel_pct); + mcp4728.eepromWrite(); } return 0; } -void dac_current_percent(uint8_t channel, float val) { +void StepperDAC::set_current_value(const uint8_t channel, uint16_t val) { if (!dac_present) return; - NOMORE(val, 100); + NOMORE(val, uint16_t(DAC_STEPPER_MAX)); - mcp4728_analogWrite(dac_order[channel], val * 0.01 * (DAC_STEPPER_MAX)); - mcp4728_simpleCommand(UPDATE); + mcp4728.analogWrite(dac_order[channel], val); + mcp4728.simpleCommand(UPDATE); } -void dac_current_raw(uint8_t channel, uint16_t val) { - if (!dac_present) return; - - NOMORE(val, uint16_t(DAC_STEPPER_MAX)); - - mcp4728_analogWrite(dac_order[channel], val); - mcp4728_simpleCommand(UPDATE); +void StepperDAC::set_current_percent(const uint8_t channel, float val) { + set_current_value(channel, _MIN(val, 100.0f) * (DAC_STEPPER_MAX) / 100.0f); } -static float dac_perc(int8_t n) { return 100.0 * mcp4728_getValue(dac_order[n]) * RECIPROCAL(DAC_STEPPER_MAX); } -static float dac_amps(int8_t n) { return mcp4728_getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * RECIPROCAL(DAC_STEPPER_SENSE); } +static float dac_perc(int8_t n) { return 100.0 * mcp4728.getValue(dac_order[n]) * RECIPROCAL(DAC_STEPPER_MAX); } +static float dac_amps(int8_t n) { return mcp4728.getDrvPct(dac_order[n]) * (DAC_STEPPER_MAX) * 0.125 * RECIPROCAL(DAC_STEPPER_SENSE); } -uint8_t dac_current_get_percent(const AxisEnum axis) { return mcp4728_getDrvPct(dac_order[axis]); } -void dac_current_set_percents(xyze_uint8_t &pct) { +uint8_t StepperDAC::get_current_percent(const AxisEnum axis) { return mcp4728.getDrvPct(dac_order[axis]); } +void StepperDAC::set_current_percents(xyze_uint8_t &pct) { LOOP_XYZE(i) dac_channel_pct[i] = pct[dac_order[i]]; - mcp4728_setDrvPct(dac_channel_pct); + mcp4728.setDrvPct(dac_channel_pct); } -void dac_print_values() { +void StepperDAC::print_values() { if (!dac_present) return; SERIAL_ECHO_MSG("Stepper current values in % (Amps):"); SERIAL_ECHO_START(); @@ -94,9 +91,9 @@ void dac_print_values() { SERIAL_ECHOLNPAIR_P(SP_E_LBL, dac_perc(E_AXIS), PSTR(" ("), dac_amps(E_AXIS), PSTR(")")); } -void dac_commit_eeprom() { +void StepperDAC::commit_eeprom() { if (!dac_present) return; - mcp4728_eepromWrite(); + mcp4728.eepromWrite(); } -#endif // DAC_STEPPER_CURRENT +#endif // HAS_MOTOR_CURRENT_DAC diff --git a/Marlin/src/feature/dac/stepper_dac.h b/Marlin/src/feature/dac/stepper_dac.h index 0543b6275e2c..6836335e9806 100644 --- a/Marlin/src/feature/dac/stepper_dac.h +++ b/Marlin/src/feature/dac/stepper_dac.h @@ -27,10 +27,15 @@ #include "dac_mcp4728.h" -int dac_init(); -void dac_current_percent(uint8_t channel, float val); -void dac_current_raw(uint8_t channel, uint16_t val); -void dac_print_values(); -void dac_commit_eeprom(); -uint8_t dac_current_get_percent(AxisEnum axis); -void dac_current_set_percents(xyze_uint8_t &pct); +class StepperDAC { +public: + static int init(); + static void set_current_percent(const uint8_t channel, float val); + static void set_current_value(const uint8_t channel, uint16_t val); + static void print_values(); + static void commit_eeprom(); + static uint8_t get_current_percent(AxisEnum axis); + static void set_current_percents(xyze_uint8_t &pct); +}; + +extern StepperDAC stepper_dac; diff --git a/Marlin/src/feature/digipot/digipot.h b/Marlin/src/feature/digipot/digipot.h index d59f8b930af5..c53f8093dd52 100644 --- a/Marlin/src/feature/digipot/digipot.h +++ b/Marlin/src/feature/digipot/digipot.h @@ -21,5 +21,13 @@ */ #pragma once -void digipot_i2c_set_current(const uint8_t channel, const float current); -void digipot_i2c_init(); +// +// Header for MCP4018 and MCP4451 current control i2c devices +// +class DigipotI2C { +public: + static void init(); + static void set_current(const uint8_t channel, const float current); +}; + +DigipotI2C digipot_i2c; diff --git a/Marlin/src/feature/digipot/digipot_mcp4018.cpp b/Marlin/src/feature/digipot/digipot_mcp4018.cpp index 35c513a32c39..6260185fc32d 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4018.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4018.cpp @@ -24,6 +24,8 @@ #if ENABLED(DIGIPOT_MCP4018) +#include "digipot.h" + #include #include // https://github.com/stawel/SlowSoftI2CMaster @@ -68,7 +70,7 @@ static SlowSoftI2CMaster pots[DIGIPOT_I2C_NUM_CHANNELS] = { #endif }; -static void i2c_send(const uint8_t channel, const byte v) { +static void digipot_i2c_send(const uint8_t channel, const byte v) { if (WITHIN(channel, 0, DIGIPOT_I2C_NUM_CHANNELS - 1)) { pots[channel].i2c_start(((DIGIPOT_I2C_ADDRESS_A) << 1) | I2C_WRITE); pots[channel].i2c_write(v); @@ -77,12 +79,12 @@ static void i2c_send(const uint8_t channel, const byte v) { } // This is for the MCP4018 I2C based digipot -void digipot_i2c_set_current(const uint8_t channel, const float current) { +void DigipotI2C::set_current(const uint8_t channel, const float current) { const float ival = _MIN(_MAX(current, 0), float(DIGIPOT_MCP4018_MAX_VALUE)); - i2c_send(channel, current_to_wiper(ival)); + digipot_i2c_send(channel, current_to_wiper(ival)); } -void digipot_i2c_init() { +void DigipotI2C::init() { LOOP_L_N(i, DIGIPOT_I2C_NUM_CHANNELS) pots[i].i2c_init(); // Init currents according to Configuration_adv.h @@ -94,7 +96,7 @@ void digipot_i2c_init() { #endif ; LOOP_L_N(i, COUNT(digipot_motor_current)) - digipot_i2c_set_current(i, pgm_read_float(&digipot_motor_current[i])); + set_current(i, pgm_read_float(&digipot_motor_current[i])); } #endif // DIGIPOT_MCP4018 diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp index 0c8ff04a0bbf..7e6ace49a06a 100644 --- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp +++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp @@ -24,6 +24,8 @@ #if ENABLED(DIGIPOT_MCP4451) +#include "digipot.h" + #include #include @@ -61,7 +63,7 @@ static void digipot_i2c_send(const byte addr, const byte a, const byte b) { } // This is for the MCP4451 I2C based digipot -void digipot_i2c_set_current(const uint8_t channel, const float current) { +void DigipotI2C::set_current(const uint8_t channel, const float current) { // These addresses are specific to Azteeg X3 Pro, can be set to others. // In this case first digipot is at address A0=0, A1=0, second one is at A0=0, A1=1 const byte addr = channel < 4 ? DIGIPOT_I2C_ADDRESS_A : DIGIPOT_I2C_ADDRESS_B; // channel 0-3 vs 4-7 @@ -75,7 +77,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) { digipot_i2c_send(addr, addresses[channel & 0x3], current_to_wiper(_MIN(float(_MAX(current, 0)), DIGIPOT_I2C_MAX_CURRENT))); } -void digipot_i2c_init() { +void DigipotI2C::init() { #if MB(MKS_SBASE) configure_i2c(16); // Set clock_option to 16 ensure I2C is initialized at 400kHz #else @@ -90,7 +92,7 @@ void digipot_i2c_init() { #endif ; LOOP_L_N(i, COUNT(digipot_motor_current)) - digipot_i2c_set_current(i, pgm_read_float(&digipot_motor_current[i])); + set_current(i, pgm_read_float(&digipot_motor_current[i])); } #endif // DIGIPOT_MCP4451 diff --git a/Marlin/src/gcode/feature/digipot/M907-M910.cpp b/Marlin/src/gcode/feature/digipot/M907-M910.cpp index 54599a045134..e46366620798 100644 --- a/Marlin/src/gcode/feature/digipot/M907-M910.cpp +++ b/Marlin/src/gcode/feature/digipot/M907-M910.cpp @@ -22,19 +22,19 @@ #include "../../../inc/MarlinConfig.h" -#if ANY(HAS_DIGIPOTSS, HAS_MOTOR_CURRENT_PWM, HAS_I2C_DIGIPOT, DAC_STEPPER_CURRENT) +#if ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_PWM, HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC) #include "../../gcode.h" -#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM +#if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM #include "../../../module/stepper.h" #endif -#if HAS_I2C_DIGIPOT +#if HAS_MOTOR_CURRENT_I2C #include "../../../feature/digipot/digipot.h" #endif -#if ENABLED(DAC_STEPPER_CURRENT) +#if ENABLED(HAS_MOTOR_CURRENT_DAC) #include "../../../feature/dac/stepper_dac.h" #endif @@ -42,61 +42,61 @@ * M907: Set digital trimpot motor current using axis codes X, Y, Z, E, B, S */ void GcodeSuite::M907() { - #if HAS_DIGIPOTSS + #if HAS_MOTOR_CURRENT_SPI - LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) stepper.digipot_current(i, parser.value_int()); - if (parser.seenval('B')) stepper.digipot_current(4, parser.value_int()); - if (parser.seenval('S')) LOOP_LE_N(i, 4) stepper.digipot_current(i, parser.value_int()); + LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) stepper.set_digipot_current(i, parser.value_int()); + if (parser.seenval('B')) stepper.set_digipot_current(4, parser.value_int()); + if (parser.seenval('S')) LOOP_LE_N(i, 4) stepper.set_digipot_current(i, parser.value_int()); #elif HAS_MOTOR_CURRENT_PWM #if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY) - if (parser.seenval('X') || parser.seenval('Y')) stepper.digipot_current(0, parser.value_int()); + if (parser.seenval('X') || parser.seenval('Y')) stepper.set_digipot_current(0, parser.value_int()); #endif #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z) - if (parser.seenval('Z')) stepper.digipot_current(1, parser.value_int()); + if (parser.seenval('Z')) stepper.set_digipot_current(1, parser.value_int()); #endif #if PIN_EXISTS(MOTOR_CURRENT_PWM_E) - if (parser.seenval('E')) stepper.digipot_current(2, parser.value_int()); + if (parser.seenval('E')) stepper.set_digipot_current(2, parser.value_int()); #endif #endif - #if HAS_I2C_DIGIPOT + #if HAS_MOTOR_CURRENT_I2C // this one uses actual amps in floating point - LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) digipot_i2c_set_current(i, parser.value_float()); + LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) digipot_i2c.set_current(i, parser.value_float()); // Additional extruders use B,C,D for channels 4,5,6. // TODO: Change these parameters because 'E' is used. B? for (uint8_t i = E_AXIS + 1; i < DIGIPOT_I2C_NUM_CHANNELS; i++) - if (parser.seenval('B' + i - (E_AXIS + 1))) digipot_i2c_set_current(i, parser.value_float()); + if (parser.seenval('B' + i - (E_AXIS + 1))) digipot_i2c.set_current(i, parser.value_float()); #endif - #if ENABLED(DAC_STEPPER_CURRENT) + #if ENABLED(HAS_MOTOR_CURRENT_DAC) if (parser.seenval('S')) { const float dac_percent = parser.value_float(); - LOOP_LE_N(i, 4) dac_current_percent(i, dac_percent); + LOOP_LE_N(i, 4) stepper_dac.set_current_percent(i, dac_percent); } - LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) dac_current_percent(i, parser.value_float()); + LOOP_XYZE(i) if (parser.seenval(axis_codes[i])) stepper_dac.set_current_percent(i, parser.value_float()); #endif } -#if EITHER(HAS_DIGIPOTSS, DAC_STEPPER_CURRENT) +#if EITHER(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC) /** * M908: Control digital trimpot directly (M908 P S) */ void GcodeSuite::M908() { - TERN_(HAS_DIGIPOTSS, stepper.digitalPotWrite(parser.intval('P'), parser.intval('S'))); - TERN_(DAC_STEPPER_CURRENT, dac_current_raw(parser.byteval('P', -1), parser.ushortval('S', 0))); + TERN_(HAS_MOTOR_CURRENT_SPI, stepper.set_digipot_value_spi(parser.intval('P'), parser.intval('S'))); + TERN_(HAS_MOTOR_CURRENT_DAC, stepper_dac.set_current_value(parser.byteval('P', -1), parser.ushortval('S', 0))); } -#endif // HAS_DIGIPOTSS || DAC_STEPPER_CURRENT + #if ENABLED(HAS_MOTOR_CURRENT_DAC) -#if ENABLED(DAC_STEPPER_CURRENT) + void GcodeSuite::M909() { stepper_dac.print_values(); } + void GcodeSuite::M910() { stepper_dac.commit_eeprom(); } - void GcodeSuite::M909() { dac_print_values(); } - void GcodeSuite::M910() { dac_commit_eeprom(); } + #endif // HAS_MOTOR_CURRENT_DAC -#endif // DAC_STEPPER_CURRENT +#endif // HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_DAC -#endif // HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || HAS_I2C_DIGIPOT || DAC_STEPPER_CURRENT +#endif // HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM || HAS_MOTOR_CURRENT_I2C || HAS_MOTOR_CURRENT_DAC diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 3f51272c662a..f2bd81e670dc 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -823,11 +823,11 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 900: M900(); break; // M900: Set advance K factor. #endif - #if ANY(HAS_DIGIPOTSS, HAS_MOTOR_CURRENT_PWM, HAS_I2C_DIGIPOT, DAC_STEPPER_CURRENT) + #if ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_PWM, HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC) case 907: M907(); break; // M907: Set digital trimpot motor current using axis codes. - #if EITHER(HAS_DIGIPOTSS, DAC_STEPPER_CURRENT) + #if EITHER(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC) case 908: M908(); break; // M908: Control digital trimpot directly. - #if ENABLED(DAC_STEPPER_CURRENT) + #if ENABLED(HAS_MOTOR_CURRENT_DAC) case 909: M909(); break; // M909: Print digipot/DAC current value case 910: M910(); break; // M910: Commit digipot/DAC value to external EEPROM #endif diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 3ba2451919be..3d745eff8939 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -258,9 +258,9 @@ * M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE) * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660 or L6470) * M907 - Set digital trimpot motor current using axis codes. (Requires a board with digital trimpots) - * M908 - Control digital trimpot directly. (Requires DAC_STEPPER_CURRENT or DIGIPOTSS_PIN) - * M909 - Print digipot/DAC current value. (Requires DAC_STEPPER_CURRENT) - * M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires DAC_STEPPER_CURRENT) + * M908 - Control digital trimpot directly. (Requires HAS_MOTOR_CURRENT_DAC or DIGIPOTSS_PIN) + * M909 - Print digipot/DAC current value. (Requires HAS_MOTOR_CURRENT_DAC) + * M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires HAS_MOTOR_CURRENT_DAC) * M911 - Report stepper driver overtemperature pre-warn condition. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660) * M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660) * M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD) @@ -848,11 +848,11 @@ class GcodeSuite { static void M918(); #endif - #if ANY(HAS_DIGIPOTSS, HAS_MOTOR_CURRENT_PWM, HAS_I2C_DIGIPOT, DAC_STEPPER_CURRENT) + #if ANY(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_PWM, HAS_MOTOR_CURRENT_I2C, HAS_MOTOR_CURRENT_DAC) static void M907(); - #if EITHER(HAS_DIGIPOTSS, DAC_STEPPER_CURRENT) + #if EITHER(HAS_MOTOR_CURRENT_SPI, HAS_MOTOR_CURRENT_DAC) static void M908(); - #if ENABLED(DAC_STEPPER_CURRENT) + #if ENABLED(HAS_MOTOR_CURRENT_DAC) static void M909(); static void M910(); #endif diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 0952148d1989..255470bca6e7 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -175,7 +175,7 @@ #endif #if EITHER(DIGIPOT_MCP4018, DIGIPOT_MCP4451) - #define HAS_I2C_DIGIPOT 1 + #define HAS_MOTOR_CURRENT_I2C 1 #endif // Multiple Z steppers diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index f832137f5b40..798bf009c639 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -1976,7 +1976,7 @@ #define HAS_STEPPER_RESET 1 #endif #if PIN_EXISTS(DIGIPOTSS) - #define HAS_DIGIPOTSS 1 + #define HAS_MOTOR_CURRENT_SPI 1 #endif #if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY, MOTOR_CURRENT_PWM_Z, MOTOR_CURRENT_PWM_E) #define HAS_MOTOR_CURRENT_PWM 1 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 820d8a04b561..016afbd3bcd3 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -2667,7 +2667,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal /** * Digipot requirement */ -#if HAS_I2C_DIGIPOT +#if HAS_MOTOR_CURRENT_I2C #if BOTH(DIGIPOT_MCP4018, DIGIPOT_MCP4451) #error "Enable only one of DIGIPOT_MCP4018 or DIGIPOT_MCP4451." #elif !MB(MKS_SBASE) \ diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 68a10245e951..642d9d84d94f 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -58,16 +58,16 @@ void menu_tmc(); void menu_backlash(); -#if ENABLED(DAC_STEPPER_CURRENT) +#if ENABLED(HAS_MOTOR_CURRENT_DAC) #include "../../feature/dac/stepper_dac.h" void menu_dac() { static xyze_uint8_t driverPercent; - LOOP_XYZE(i) driverPercent[i] = dac_current_get_percent((AxisEnum)i); + LOOP_XYZE(i) driverPercent[i] = stepper_dac.get_current_percent((AxisEnum)i); START_MENU(); BACK_ITEM(MSG_ADVANCED_SETTINGS); - #define EDIT_DAC_PERCENT(A) EDIT_ITEM(uint8, MSG_DAC_PERCENT_##A, &driverPercent[_AXIS(A)], 0, 100, []{ dac_current_set_percents(driverPercent); }) + #define EDIT_DAC_PERCENT(A) EDIT_ITEM(uint8, MSG_DAC_PERCENT_##A, &driverPercent[_AXIS(A)], 0, 100, []{ stepper_dac.set_current_percents(driverPercent); }) EDIT_DAC_PERCENT(X); EDIT_DAC_PERCENT(Y); EDIT_DAC_PERCENT(Z); @@ -568,7 +568,7 @@ void menu_advanced_settings() { SUBMENU(MSG_BACKLASH, menu_backlash); #endif - #if ENABLED(DAC_STEPPER_CURRENT) + #if ENABLED(HAS_MOTOR_CURRENT_DAC) SUBMENU(MSG_DRIVE_STRENGTH, menu_dac); #endif #if HAS_MOTOR_CURRENT_PWM diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 3ccd8ffd9185..33e5c351abc1 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -36,7 +36,7 @@ */ // Change EEPROM version if the structure changes -#define EEPROM_VERSION "V81" +#define EEPROM_VERSION "V82" #define EEPROM_OFFSET 100 // Check the integrity of data offsets. @@ -365,7 +365,10 @@ typedef struct SettingsDataStruct { // // HAS_MOTOR_CURRENT_PWM // - uint32_t motor_current_setting[3]; // M907 X Z E + #ifndef MOTOR_CURRENT_COUNT + #define MOTOR_CURRENT_COUNT 3 + #endif + uint32_t motor_current_setting[MOTOR_CURRENT_COUNT]; // M907 X Z E // // CNC_COORDINATE_SYSTEMS @@ -1277,10 +1280,10 @@ void MarlinSettings::postprocess() { { _FIELD_TEST(motor_current_setting); - #if HAS_MOTOR_CURRENT_PWM + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM EEPROM_WRITE(stepper.motor_current_setting); #else - const uint32_t no_current[3] = { 0 }; + const uint32_t no_current[MOTOR_CURRENT_COUNT] = { 0 }; EEPROM_WRITE(no_current); #endif } @@ -2110,10 +2113,16 @@ void MarlinSettings::postprocess() { // Motor Current PWM // { - uint32_t motor_current_setting[3]; _FIELD_TEST(motor_current_setting); + uint32_t motor_current_setting[MOTOR_CURRENT_COUNT] + #if HAS_MOTOR_CURRENT_SPI + = DIGIPOT_MOTOR_CURRENT + #endif + ; + DEBUG_ECHOLNPGM("DIGIPOTS Loading"); EEPROM_READ(motor_current_setting); - #if HAS_MOTOR_CURRENT_PWM + DEBUG_ECHOLNPGM("DIGIPOTS Loaded"); + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM if (!validating) COPY(stepper.motor_current_setting, motor_current_setting); #endif @@ -2791,9 +2800,20 @@ void MarlinSettings::reset() { // #if HAS_MOTOR_CURRENT_PWM - constexpr uint32_t tmp_motor_current_setting[3] = PWM_MOTOR_CURRENT; - LOOP_L_N(q, 3) - stepper.digipot_current(q, (stepper.motor_current_setting[q] = tmp_motor_current_setting[q])); + constexpr uint32_t tmp_motor_current_setting[MOTOR_CURRENT_COUNT] = PWM_MOTOR_CURRENT; + LOOP_L_N(q, MOTOR_CURRENT_COUNT) + stepper.set_digipot_current(q, (stepper.motor_current_setting[q] = tmp_motor_current_setting[q])); + #endif + + // + // DIGIPOTS + // + #if HAS_MOTOR_CURRENT_SPI + static constexpr uint32_t tmp_motor_current_setting[] = DIGIPOT_MOTOR_CURRENT; + DEBUG_ECHOLNPGM("Writing Digipot"); + LOOP_L_N(q, COUNT(tmp_motor_current_setting)) + stepper.set_digipot_current(q, tmp_motor_current_setting[q]); + DEBUG_ECHOLNPGM("Digipot Written"); #endif // @@ -3695,14 +3715,23 @@ void MarlinSettings::reset() { #endif #endif - #if HAS_MOTOR_CURRENT_PWM + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM CONFIG_ECHO_HEADING("Stepper motor currents:"); CONFIG_ECHO_START(); - SERIAL_ECHOLNPAIR_P( - PSTR(" M907 X"), stepper.motor_current_setting[0] - , SP_Z_STR, stepper.motor_current_setting[1] - , SP_E_STR, stepper.motor_current_setting[2] - ); + #if HAS_MOTOR_CURRENT_PWM + SERIAL_ECHOLNPAIR_P( + PSTR(" M907 X"), stepper.motor_current_setting[0] + , SP_Z_STR, stepper.motor_current_setting[1] + , SP_E_STR, stepper.motor_current_setting[2] + ); + #elif HAS_MOTOR_CURRENT_SPI + SERIAL_ECHOPGM(" M907"); + LOOP_L_N(q, MOTOR_CURRENT_COUNT) { + SERIAL_CHAR(' '); + SERIAL_CHAR(axis_codes[q]); + SERIAL_ECHO(stepper.motor_current_setting[q]); + } + #endif #endif /** diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 56a75d1b4812..8a5de4b6087b 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -83,10 +83,6 @@ Stepper stepper; // Singleton #define BABYSTEPPING_EXTRA_DIR_WAIT -#if HAS_MOTOR_CURRENT_PWM - bool Stepper::initialized; // = false -#endif - #ifdef __AVR__ #include "speed_lookuptable.h" #endif @@ -110,7 +106,7 @@ Stepper stepper; // Singleton #include "../feature/dac/dac_dac084s085.h" #endif -#if HAS_DIGIPOTSS +#if HAS_MOTOR_CURRENT_SPI #include #endif @@ -142,8 +138,12 @@ Stepper stepper; // Singleton bool Stepper::separate_multi_axis = false; #endif -#if HAS_MOTOR_CURRENT_PWM - uint32_t Stepper::motor_current_setting[3]; // Initialized by settings.load() +#if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM + bool Stepper::initialized; // = false + uint32_t Stepper::motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load() + #if HAS_MOTOR_CURRENT_SPI + constexpr uint32_t Stepper::digipot_count[]; + #endif #endif // private: @@ -2590,8 +2590,8 @@ void Stepper::init() { set_directions(); - #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM - TERN_(HAS_MOTOR_CURRENT_PWM, initialized = true); + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM + initialized = true; digipot_init(); #endif } @@ -2930,10 +2930,10 @@ void Stepper::report_positions() { * Software-controlled Stepper Motor Current */ -#if HAS_DIGIPOTSS +#if HAS_MOTOR_CURRENT_SPI // From Arduino DigitalPotControl example - void Stepper::digitalPotWrite(const int16_t address, const int16_t value) { + void Stepper::set_digipot_value_spi(const int16_t address, const int16_t value) { WRITE(DIGIPOTSS_PIN, LOW); // Take the SS pin low to select the chip SPI.transfer(address); // Send the address and value via SPI SPI.transfer(value); @@ -2941,7 +2941,7 @@ void Stepper::report_positions() { //delay(10); } -#endif // HAS_DIGIPOTSS +#endif // HAS_MOTOR_CURRENT_SPI #if HAS_MOTOR_CURRENT_PWM @@ -2958,7 +2958,7 @@ void Stepper::report_positions() { #if ANY_PIN(MOTOR_CURRENT_PWM_E, MOTOR_CURRENT_PWM_E0, MOTOR_CURRENT_PWM_E1) case 2: #endif - digipot_current(i, motor_current_setting[i]); + set_digipot_current(i, motor_current_setting[i]); default: break; } } @@ -2968,21 +2968,22 @@ void Stepper::report_positions() { #if !MB(PRINTRBOARD_G2) - #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM - void Stepper::digipot_current(const uint8_t driver, const int16_t current) { + void Stepper::set_digipot_current(const uint8_t driver, const int16_t current) { + if (WITHIN(driver, 0, COUNT(motor_current_setting) - 1)) + motor_current_setting[driver] = current; // update motor_current_setting - #if HAS_DIGIPOTSS + if (!initialized) return; - const uint8_t digipot_ch[] = DIGIPOT_CHANNELS; - digitalPotWrite(digipot_ch[driver], current); + #if HAS_MOTOR_CURRENT_SPI - #elif HAS_MOTOR_CURRENT_PWM + //SERIAL_ECHOLNPAIR("Digipotss current ", current); - if (!initialized) return; + const uint8_t digipot_ch[] = DIGIPOT_CHANNELS; + set_digipot_value_spi(digipot_ch[driver], current); - if (WITHIN(driver, 0, COUNT(motor_current_setting) - 1)) - motor_current_setting[driver] = current; // update motor_current_setting + #elif HAS_MOTOR_CURRENT_PWM #define _WRITE_CURRENT_PWM(P) analogWrite(pin_t(MOTOR_CURRENT_PWM_## P ##_PIN), 255L * current / (MOTOR_CURRENT_PWM_RANGE)) switch (driver) { @@ -3019,17 +3020,13 @@ void Stepper::report_positions() { void Stepper::digipot_init() { - #if HAS_DIGIPOTSS - - static const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT; + #if HAS_MOTOR_CURRENT_SPI SPI.begin(); SET_OUTPUT(DIGIPOTSS_PIN); - LOOP_L_N(i, COUNT(digipot_motor_current)) { - //digitalPotWrite(digipot_ch[i], digipot_motor_current[i]); - digipot_current(i, digipot_motor_current[i]); - } + LOOP_L_N(i, COUNT(motor_current_setting)) + set_digipot_current(i, motor_current_setting[i]); #elif HAS_MOTOR_CURRENT_PWM diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index da38192d8ea3..572c3f3f9b2d 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -245,12 +245,18 @@ class Stepper { static bool separate_multi_axis; #endif - #if HAS_MOTOR_CURRENT_PWM - #ifndef PWM_MOTOR_CURRENT - #define PWM_MOTOR_CURRENT DEFAULT_PWM_MOTOR_CURRENT + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM + #if HAS_MOTOR_CURRENT_PWM + #ifndef PWM_MOTOR_CURRENT + #define PWM_MOTOR_CURRENT DEFAULT_PWM_MOTOR_CURRENT + #endif + #define MOTOR_CURRENT_COUNT 3 + #elif HAS_MOTOR_CURRENT_SPI + static constexpr uint32_t digipot_count[] = DIGIPOT_MOTOR_CURRENT; + #define MOTOR_CURRENT_COUNT COUNT(Stepper::digipot_count) #endif - static uint32_t motor_current_setting[3]; static bool initialized; + static uint32_t motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load() #endif // Last-moved extruder, as set when the last movement was fetched from planner @@ -457,9 +463,9 @@ class Stepper { // Triggered position of an axis in steps static int32_t triggered_position(const AxisEnum axis); - #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM - static void digitalPotWrite(const int16_t address, const int16_t value); - static void digipot_current(const uint8_t driver, const int16_t current); + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM + static void set_digipot_value_spi(const int16_t address, const int16_t value); + static void set_digipot_current(const uint8_t driver, const int16_t current); #endif #if HAS_MICROSTEPS @@ -582,7 +588,7 @@ class Stepper { static int32_t _eval_bezier_curve(const uint32_t curr_step); #endif - #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM + #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM static void digipot_init(); #endif diff --git a/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h b/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h index 406cbec8167f..1428de31a22b 100644 --- a/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h +++ b/Marlin/src/pins/ramps/pins_RIGIDBOARD_V2.h @@ -34,7 +34,7 @@ // // I2C based DAC like on the Printrboard REVF -#define DAC_STEPPER_CURRENT +#define HAS_MOTOR_CURRENT_DAC // Channels available for DAC, For Rigidboard there are 4 #define DAC_STEPPER_ORDER { 0, 1, 2, 3 } diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h index 6ffd35dff273..4809cc8d86b8 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h @@ -143,7 +143,7 @@ #endif // NO_EXTRUDRBOARD // Enable control of stepper motor currents with the I2C based MCP4728 DAC used on Printrboard REVF -#define DAC_STEPPER_CURRENT +#define HAS_MOTOR_CURRENT_DAC // Set default drive strength percents if not already defined - X, Y, Z, E axis #ifndef DAC_MOTOR_CURRENT_DEFAULT diff --git a/platformio.ini b/platformio.ini index 10b9f899d581..035d1b2aad6b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -212,7 +212,7 @@ HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 src_filter=+ + + + + HAS_STEALTHCHOP = src_filter=+ SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip -HAS_I2C_DIGIPOT = SlowSoftI2CMaster +HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster src_filter=+ HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter=+ @@ -278,7 +278,7 @@ CANCEL_OBJECTS = src_filter=+ + + EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+ + USE_CONTROLLER_FAN = src_filter=+ -DAC_STEPPER_CURRENT = src_filter=+ +HAS_MOTOR_CURRENT_DAC = src_filter=+ DIRECT_STEPPING = src_filter=+ + EMERGENCY_PARSER = src_filter=+ - I2C_POSITION_ENCODERS = src_filter=+ From 8a5c3782b8c74900c4943648f6eec3bb57ef161f Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 16:13:01 -0700 Subject: [PATCH 246/277] Fix at90usb1286 build (#19687) * Skip check for USBCON during dependency detection * Ignore incompatible Teensy_ADC library, which requires Teensy >= 3 * Add IS_AT90USB Co-authored-by: Scott Lahteine --- Marlin/src/HAL/AVR/HAL.h | 4 ++-- Marlin/src/HAL/AVR/MarlinSerial.cpp | 6 +++--- Marlin/src/HAL/AVR/MarlinSerial.h | 2 +- Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp | 3 +-- Marlin/src/gcode/control/M111.cpp | 4 ++-- Marlin/src/gcode/queue.cpp | 2 +- Marlin/src/inc/Conditionals_adv.h | 8 ++++---- Marlin/src/inc/SanityCheck.h | 6 +++--- Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h | 2 +- platformio.ini | 1 + 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index ce15ed29fb3a..6e0afa8f10ed 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -25,7 +25,7 @@ #include "watchdog.h" #include "math.h" -#ifdef USBCON +#ifdef IS_AT90USB #include #else #define HardwareSerial_h // Hack to prevent HardwareSerial.h header inclusion @@ -81,7 +81,7 @@ typedef int8_t pin_t; //extern uint8_t MCUSR; // Serial ports -#ifdef USBCON +#ifdef IS_AT90USB #define MYSERIAL0 TERN(BLUETOOTH, bluetoothSerial, Serial) #else #if !WITHIN(SERIAL_PORT, -1, 3) diff --git a/Marlin/src/HAL/AVR/MarlinSerial.cpp b/Marlin/src/HAL/AVR/MarlinSerial.cpp index 63599efd4132..8feac32aa74c 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/AVR/MarlinSerial.cpp @@ -38,7 +38,7 @@ #include "../../inc/MarlinConfig.h" -#if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) +#if !IS_AT90USB && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) #include "MarlinSerial.h" #include "../../MarlinCore.h" @@ -792,10 +792,10 @@ MarlinSerial> customizedSerial1; #endif -#endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) +#endif // !IS_AT90USB && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) // For AT90USB targets use the UART for BT interfacing -#if defined(USBCON) && ENABLED(BLUETOOTH) +#if BOTH(IS_AT90USB, BLUETOOTH) HardwareSerial bluetoothSerial; #endif diff --git a/Marlin/src/HAL/AVR/MarlinSerial.h b/Marlin/src/HAL/AVR/MarlinSerial.h index 8a0423d143d8..3850e2a47e2a 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.h +++ b/Marlin/src/HAL/AVR/MarlinSerial.h @@ -327,6 +327,6 @@ #endif // Use the UART for Bluetooth in AT90USB configurations -#if defined(USBCON) && ENABLED(BLUETOOTH) +#if BOTH(IS_AT90USB, BLUETOOTH) extern HardwareSerial bluetoothSerial; #endif diff --git a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp b/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp index f88fa8850788..60596054e820 100644 --- a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp +++ b/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_swspi.cpp @@ -22,7 +22,6 @@ #if BOTH(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI) -#include "../HAL.h" #include #undef SPI_SPEED @@ -161,5 +160,5 @@ uint8_t u8g_com_HAL_STM32F1_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, return 1; } -#endif // HAS_MARLINUI_U8GLIB +#endif // HAS_MARLINUI_U8GLIB && FORCE_SOFT_SPI #endif // STM32F1 diff --git a/Marlin/src/gcode/control/M111.cpp b/Marlin/src/gcode/control/M111.cpp index e31c3e2fb7b2..cc871bf38b52 100644 --- a/Marlin/src/gcode/control/M111.cpp +++ b/Marlin/src/gcode/control/M111.cpp @@ -55,7 +55,7 @@ void GcodeSuite::M111() { } else { SERIAL_ECHOPGM(STR_DEBUG_OFF); - #if !defined(__AVR__) || !defined(USBCON) + #if !IS_AT90USB #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS) SERIAL_ECHOPAIR("\nBuffer Overruns: ", MYSERIAL0.buffer_overruns()); #endif @@ -71,7 +71,7 @@ void GcodeSuite::M111() { #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) SERIAL_ECHOPAIR("\nMax RX Queue Size: ", MYSERIAL0.rxMaxEnqueued()); #endif - #endif // !defined(__AVR__) || !defined(USBCON) + #endif // !IS_AT90USB } SERIAL_EOL(); } diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index b9169d90e1c7..a02d2c016042 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -624,7 +624,7 @@ void GCodeQueue::advance() { card.closefile(); SERIAL_ECHOLNPGM(STR_FILE_SAVED); - #if !defined(__AVR__) || !defined(USBCON) + #if !IS_AT90USB #if ENABLED(SERIAL_STATS_DROPPED_RX) SERIAL_ECHOLNPAIR("Dropped bytes: ", MYSERIAL0.dropped()); #endif diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 255470bca6e7..bab05e5ff60d 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -208,7 +208,10 @@ #define NEEDS_HARDWARE_PWM 1 #endif -#if !defined(__AVR__) || !defined(USBCON) +#if defined(__AVR__) && defined(USBCON) + #define IS_AT90USB 1 + #undef SERIAL_XON_XOFF // Not supported on USB-native devices +#else // Define constants and variables for buffering serial data. // Use only 0 or powers of 2 greater than 1 // : [0, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, ...] @@ -220,9 +223,6 @@ #ifndef TX_BUFFER_SIZE #define TX_BUFFER_SIZE 32 #endif -#else - // SERIAL_XON_XOFF not supported on USB-native devices - #undef SERIAL_XON_XOFF #endif #if ENABLED(HOST_ACTION_COMMANDS) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 016afbd3bcd3..b7007e3be555 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -582,7 +582,7 @@ /** * Serial */ -#if !(defined(__AVR__) && defined(USBCON)) +#if !IS_AT90USB #if ENABLED(SERIAL_XON_XOFF) && RX_BUFFER_SIZE < 1024 #error "SERIAL_XON_XOFF requires RX_BUFFER_SIZE >= 1024 for reliable transfers without drops." #elif RX_BUFFER_SIZE && (RX_BUFFER_SIZE < 2 || !IS_POWER_OF_2(RX_BUFFER_SIZE)) @@ -2104,9 +2104,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #endif /** - * emergency-command parser + * Emergency Command Parser */ -#if ENABLED(EMERGENCY_PARSER) && defined(__AVR__) && defined(USBCON) +#if BOTH(IS_AT90USB, EMERGENCY_PARSER) #error "EMERGENCY_PARSER does not work on boards with AT90USB processors (USBCON)." #endif diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h index 4809cc8d86b8..d4f9fc76415d 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h @@ -67,7 +67,7 @@ #error "Oops! Select 'Teensy++ 2.0' or 'Printrboard' in 'Tools > Board.'" #endif -#ifndef USBCON +#if !defined(__MARLIN_DEPS__) && !defined(USBCON) #error "USBCON should be defined by the platform for this board." #endif diff --git a/platformio.ini b/platformio.ini index 035d1b2aad6b..9c9460d1a32a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -559,6 +559,7 @@ build_unflags = -g -ggdb platform = teensy extends = common_avr8 board = at90usb1286 +lib_ignore = ${env:common_avr8.lib_ignore} Teensy_ADC # # AT90USB1286 boards using DFU bootloader From c6cf3da2761d5402608184fdc1fb88518c1f9492 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 17:06:57 -0700 Subject: [PATCH 247/277] Fix various errors, warnings in example config builds (#19686) Co-authored-by: Scott Lahteine --- Marlin/src/gcode/bedlevel/G26.cpp | 8 +- Marlin/src/gcode/motion/M290.cpp | 2 +- Marlin/src/lcd/dogm/dogm_Statusscreen.h | 2 +- .../lcd/extui/lib/mks_ui/draw_printing.cpp | 18 +- .../lib/mks_ui/tft_lvgl_configuration.cpp | 40 ++-- .../src/lcd/extui/lib/mks_ui/wifi_upload.cpp | 182 ++++++++---------- Marlin/src/lcd/menu/menu_delta_calibrate.cpp | 2 +- Marlin/src/lcd/menu/menu_ubl.cpp | 3 +- Marlin/src/module/thermistor/thermistor_666.h | 3 +- Marlin/src/pins/sensitive_pins.h | 29 ++- Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h | 1 + 11 files changed, 133 insertions(+), 157 deletions(-) diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index c66d4a7d4974..661128b04ebe 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -511,11 +511,9 @@ void GcodeSuite::G26() { g26_keep_heaters_on = parser.boolval('K'); // Accept 'I' if temperature presets are defined - const uint8_t preset_index = (0 - #if PREHEAT_COUNT - + (parser.seenval('I') ? _MIN(parser.value_byte(), PREHEAT_COUNT - 1) + 1 : 0) - #endif - ); + #if PREHEAT_COUNT + const uint8_t preset_index = parser.seenval('I') ? _MIN(parser.value_byte(), PREHEAT_COUNT - 1) + 1 : 0; + #endif #if HAS_HEATED_BED diff --git a/Marlin/src/gcode/motion/M290.cpp b/Marlin/src/gcode/motion/M290.cpp index 7158525ed9d9..18cc161fce29 100644 --- a/Marlin/src/gcode/motion/M290.cpp +++ b/Marlin/src/gcode/motion/M290.cpp @@ -127,7 +127,7 @@ void GcodeSuite::M290() { #else PSTR("Babystep Z") #endif - , babystep.axis_total[BS_AXIS_IND(Z_AXIS)] + , babystep.axis_total[BS_TOTAL_IND(Z_AXIS)] ); } #endif diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h index 70802f905e1d..c6ad566cffaf 100644 --- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h +++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h @@ -1341,7 +1341,7 @@ #undef STATUS_LOGO_WIDTH #endif - #if (HAS_MULTI_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN) + #if !defined(STATUS_HEATERS_X) && ((HAS_MULTI_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN)) #define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2) #if STATUS_HOTEND1_WIDTH #if HOTENDS > 2 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp index a81b5b851bb3..c6369db41383 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp @@ -46,7 +46,8 @@ extern lv_group_t * g; static lv_obj_t * scr; -static lv_obj_t *labelExt1, * labelExt2, * labelFan, * labelZpos, * labelTime; +static lv_obj_t *labelExt1, * labelFan, * labelZpos, * labelTime; +TERN_(HAS_MULTI_EXTRUDER, static lv_obj_t *labelExt2;) static lv_obj_t *labelPause, * labelStop, * labelOperat; static lv_obj_t * bar1, *bar1ValueText; static lv_obj_t * buttonPause, *buttonOperat, *buttonStop; @@ -137,9 +138,6 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) { } void lv_draw_printing(void) { - lv_obj_t *buttonExt1, *buttonExt2, *buttonFanstate, *buttonZpos, *buttonTime; - TERN_(HAS_HEATED_BED, lv_obj_t * buttonBedstate); - disp_state_stack._disp_index = 0; ZERO(disp_state_stack._disp_state); disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINTING_UI; @@ -162,16 +160,16 @@ void lv_draw_printing(void) { lv_refr_now(lv_refr_get_disp_refreshing()); // Create image buttons - buttonExt1 = lv_img_create(scr, NULL); + lv_obj_t *buttonExt1 = lv_img_create(scr, NULL); #if HAS_MULTI_EXTRUDER - buttonExt2 = lv_img_create(scr, NULL); + lv_obj_t *buttonExt2 = lv_img_create(scr, NULL); #endif #if HAS_HEATED_BED - buttonBedstate = lv_img_create(scr, NULL); + lv_obj_t *buttonBedstate = lv_img_create(scr, NULL); #endif - buttonFanstate = lv_img_create(scr, NULL); - buttonTime = lv_img_create(scr, NULL); - buttonZpos = lv_img_create(scr, NULL); + lv_obj_t *buttonFanstate = lv_img_create(scr, NULL); + lv_obj_t *buttonTime = lv_img_create(scr, NULL); + lv_obj_t *buttonZpos = lv_img_create(scr, NULL); buttonPause = lv_imgbtn_create(scr, NULL); buttonStop = lv_imgbtn_create(scr, NULL); buttonOperat = lv_imgbtn_create(scr, NULL); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index 922848d84f0b..ecd4eb482a6a 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -442,39 +442,39 @@ void lv_encoder_pin_init() { //static const int8_t encoderDirection = 1; //static int16_t enc_Direction; void lv_update_encoder() { - static uint8_t buttons; static uint32_t encoder_time1; uint32_t tmpTime, diffTime = 0; tmpTime = millis(); diffTime = getTickDiff(tmpTime, encoder_time1); if (diffTime > 50) { - #if ANY_BUTTON(EN1, EN2, ENC, BACK) + #if HAS_ENCODER_WHEEL - uint8_t newbutton = 0; + #if ANY_BUTTON(EN1, EN2, ENC, BACK) - #if BUTTON_EXISTS(EN1) - if (BUTTON_PRESSED(EN1)) newbutton |= EN_A; - #endif - #if BUTTON_EXISTS(EN2) - if (BUTTON_PRESSED(EN2)) newbutton |= EN_B; - #endif - #if BUTTON_EXISTS(ENC) - if (BUTTON_PRESSED(ENC)) newbutton |= EN_C; - #endif - #if BUTTON_EXISTS(BACK) - if (BUTTON_PRESSED(BACK)) newbutton |= EN_D; - #endif + uint8_t newbutton = 0; + + #if BUTTON_EXISTS(EN1) + if (BUTTON_PRESSED(EN1)) newbutton |= EN_A; + #endif + #if BUTTON_EXISTS(EN2) + if (BUTTON_PRESSED(EN2)) newbutton |= EN_B; + #endif + #if BUTTON_EXISTS(ENC) + if (BUTTON_PRESSED(ENC)) newbutton |= EN_C; + #endif + #if BUTTON_EXISTS(BACK) + if (BUTTON_PRESSED(BACK)) newbutton |= EN_D; + #endif - #else + #else - constexpr uint8_t newbutton = 0; + constexpr uint8_t newbutton = 0; - #endif + #endif - buttons = newbutton; - #if HAS_ENCODER_WHEEL + static uint8_t buttons = newbutton; static uint8_t lastEncoderBits; #define encrot0 0 diff --git a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp index 77bcb767b72d..087a3b21105c 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/wifi_upload.cpp @@ -110,24 +110,17 @@ const char *resultMessages[] = { // 230400b always manages to connect. static const uint32_t uploadBaudRates[] = { 460800, 230400, 115200, 74880 }; - - signed char IsReady() { return esp_upload.state == upload_idle; } - - - - void uploadPort_write(const uint8_t *buf, size_t len) { #if 0 int i; - for(i = 0; i < len; i++) { - while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); - - USART_SendData(USART1, *(buf + i)); + for (i = 0; i < len; i++) { + while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) { /* nada */ } + USART_SendData(USART1, *(buf + i)); } #endif } @@ -138,28 +131,22 @@ char uploadPort_read() { return retChar; else return 0; - } int uploadPort_available() { return usartFifoAvailable(&WifiRxFifo); } - void uploadPort_begin() { esp_port_begin(1); } void uploadPort_close() { - //WIFI_COM.end(); //WIFI_COM.begin(115200, true); - esp_port_begin(0); - } - void flushInput() { while (uploadPort_available() != 0) { (void)uploadPort_read(); @@ -304,7 +291,6 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t *bodyLen = 0; - while (state != done) { uint8_t c; EspUploadResult stat; @@ -322,73 +308,73 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t } // sufficient bytes have been received for the current state, process them - switch(state) { - case begin: // expecting frame start - c = uploadPort_read(); - if (c != (uint8_t)0xC0) { - break; - } - state = header; - needBytes = 2; + switch (state) { + case begin: // expecting frame start + c = uploadPort_read(); + if (c != (uint8_t)0xC0) { + break; + } + state = header; + needBytes = 2; - break; - case end: // expecting frame end - c = uploadPort_read(); - if (c != (uint8_t)0xC0) { - return slipFrame; - } - state = done; + break; + case end: // expecting frame end + c = uploadPort_read(); + if (c != (uint8_t)0xC0) { + return slipFrame; + } + state = done; - break; + break; - case header: // reading an 8-byte header - case body: // reading the response body - { - int rslt; - // retrieve a byte with SLIP decoding - rslt = ReadByte(&c, 1); - if (rslt != 1 && rslt != 2) { - // some error occurred - stat = (rslt == 0 || rslt == -2) ? slipData : slipFrame; - return stat; - } - else if (state == header) { - //store the header byte - hdr[hdrIdx++] = c; - if (hdrIdx >= headerLength) { - // get the body length, prepare a buffer for it - *bodyLen = (uint16_t)getData(2, hdr, 2); - - // extract the value, if requested - if (valp != 0) { - *valp = getData(4, hdr, 4); + case header: // reading an 8-byte header + case body: // reading the response body + { + int rslt; + // retrieve a byte with SLIP decoding + rslt = ReadByte(&c, 1); + if (rslt != 1 && rslt != 2) { + // some error occurred + stat = (rslt == 0 || rslt == -2) ? slipData : slipFrame; + return stat; + } + else if (state == header) { + //store the header byte + hdr[hdrIdx++] = c; + if (hdrIdx >= headerLength) { + // get the body length, prepare a buffer for it + *bodyLen = (uint16_t)getData(2, hdr, 2); + + // extract the value, if requested + if (valp != 0) { + *valp = getData(4, hdr, 4); + } + + if (*bodyLen != 0) { + state = body; + } + else { + needBytes = 1; + state = end; + } } - - if (*bodyLen != 0) { - state = body; + } + else { + // Store the response body byte, check for completion + if (bodyIdx < ARRAY_SIZE(respBuf)) { + respBuf[bodyIdx] = c; } - else { + ++bodyIdx; + if (bodyIdx >= *bodyLen) { needBytes = 1; state = end; } } } - else { - // Store the response body byte, check for completion - if (bodyIdx < ARRAY_SIZE(respBuf)) { - respBuf[bodyIdx] = c; - } - ++bodyIdx; - if (bodyIdx >= *bodyLen) { - needBytes = 1; - state = end; - } - } - } - break; + break; - default: // this shouldn't happen - return slipState; + default: // this shouldn't happen + return slipState; } } @@ -397,7 +383,7 @@ EspUploadResult readPacket(uint8_t op, uint32_t *valp, size_t *bodyLen, uint32_t opRet = (uint8_t)getData(1, hdr, 1); // Sync packets often provoke a response with a zero opcode instead of ESP_SYNC if (resp != 0x01 || opRet != op) { -//debug//printf("resp %02x %02x\n", resp, opRet); + //printf("resp %02x %02x\n", resp, opRet); //debug return respHeader; } @@ -432,20 +418,19 @@ void _writePacket(const uint8_t *data, size_t len) { // 0xC0 and 0xDB replaced by the two-byte sequences {0xDB, 0xDC} and {0xDB, 0xDD} respectively. void writePacket(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { - - WriteByteRaw(0xC0); // send the packet start character + WriteByteRaw(0xC0); // send the packet start character _writePacket(hdr, hdrLen); // send the header - _writePacket(data, dataLen); // send the data block - WriteByteRaw(0xC0); // send the packet end character + _writePacket(data, dataLen); // send the data block + WriteByteRaw(0xC0); // send the packet end character } // Send a packet to the serial port while performing SLIP framing. The packet data comprises a header and an optional data block. // This is like writePacket except that it does a fast block write for both the header and the main data with no SLIP encoding. Used to send sync commands. void writePacketRaw(const uint8_t *hdr, size_t hdrLen, const uint8_t *data, size_t dataLen) { - WriteByteRaw(0xC0); // send the packet start character - _writePacketRaw(hdr, hdrLen); // send the header + WriteByteRaw(0xC0); // send the packet start character + _writePacketRaw(hdr, hdrLen); // send the header _writePacketRaw(data, dataLen); // send the data block in raw mode - WriteByteRaw(0xC0); // send the packet end character + WriteByteRaw(0xC0); // send the packet end character } // Send a command to the attached device together with the supplied data, if any. @@ -460,12 +445,10 @@ void sendCommand(uint8_t op, uint32_t checkVal, const uint8_t *data, size_t data // send the packet //flushInput(); - if (op == ESP_SYNC) { + if (op == ESP_SYNC) writePacketRaw(hdr, sizeof(hdr), data, dataLen); - } - else { + else writePacket(hdr, sizeof(hdr), data, dataLen); - } } // Send a command to the attached device together with the supplied data, if any, and get the response @@ -476,9 +459,8 @@ EspUploadResult doCommand(uint8_t op, const uint8_t *data, size_t dataLen, uint3 sendCommand(op, checkVal, data, dataLen); stat = readPacket(op, valp, &bodyLen, msTimeout); - if (stat == success && bodyLen != 2) { + if (stat == success && bodyLen != 2) stat = badReply; - } return stat; } @@ -611,6 +593,8 @@ EspUploadResult flashWriteBlock(uint16_t flashParmVal, uint16_t flashParmMask) { //printf("Upload %d\%\n", ftell(&esp_upload.uploadFile) * 100 / esp_upload.fileSize); return stat; + #else + return success; #endif } @@ -625,15 +609,14 @@ void upload_spin() { esp_upload.uploadResult = connected; esp_upload.state = done; } - else{ + else { // Reset the serial port at the new baud rate. Also reset the ESP8266. - // const uint32_t baud = uploadBaudRates[esp_upload.connectAttemptNumber/esp_upload.retriesPerBaudRate]; + // const uint32_t baud = uploadBaudRates[esp_upload.connectAttemptNumber/esp_upload.retriesPerBaudRate]; if (esp_upload.connectAttemptNumber % esp_upload.retriesPerBaudRate == 0) { } - // uploadPort.begin(baud); - // uploadPort_close(); - + //uploadPort.begin(baud); + //uploadPort_close(); uploadPort_begin(); @@ -654,7 +637,7 @@ void upload_spin() { esp_upload.lastAttemptTime = getWifiTick(); if (res == success) { // Successful connection -// //MessageF(" success on attempt %d\n", (connectAttemptNumber % retriesPerBaudRate) + 1); + //MessageF(" success on attempt %d\n", (connectAttemptNumber % retriesPerBaudRate) + 1); //printf("connect success\n"); esp_upload.state = erasing; } @@ -675,14 +658,13 @@ void upload_spin() { const uint32_t sectorSize = 4096; const uint32_t numSectors = (esp_upload.fileSize + sectorSize - 1)/sectorSize; const uint32_t startSector = esp_upload.uploadAddress/sectorSize; + uint32_t headSectors = sectorsPerBlock - (startSector % sectorsPerBlock); + NOMORE(headSectors, numSectors); - if (numSectors < headSectors) { - headSectors = numSectors; - } - eraseSize = (numSectors < 2 * headSectors) - ? (numSectors + 1) / 2 * sectorSize - : (numSectors - headSectors) * sectorSize; + eraseSize = (numSectors < 2 * headSectors) + ? (numSectors + 1) / 2 * sectorSize + : (numSectors - headSectors) * sectorSize; //MessageF("Erasing %u bytes...\n", fileSize); esp_upload.uploadResult = flashBegin(esp_upload.uploadAddress, eraseSize); @@ -755,7 +737,7 @@ void SendUpdateFile(const char *file, uint32_t address) { if (res != FR_OK) return; - esp_upload.fileSize = f_size(&esp_upload.uploadFile); + esp_upload.fileSize = f_size(&esp_upload.uploadFile); if (esp_upload.fileSize == 0) { f_close(&esp_upload.uploadFile); return; diff --git a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp index 705ec4161120..4efcb7c8eded 100644 --- a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp +++ b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp @@ -118,7 +118,7 @@ void lcd_delta_settings() { } void menu_delta_calibrate() { - const bool all_homed = all_axes_homed(); + TERN_(DELTA_CALIBRATION_MENU, const bool all_homed = all_axes_homed()); // Acquire ahead of loop START_MENU(); BACK_ITEM(MSG_MAIN); diff --git a/Marlin/src/lcd/menu/menu_ubl.cpp b/Marlin/src/lcd/menu/menu_ubl.cpp index 2cd300958f8b..f0f5c21beca2 100644 --- a/Marlin/src/lcd/menu/menu_ubl.cpp +++ b/Marlin/src/lcd/menu/menu_ubl.cpp @@ -188,11 +188,10 @@ void _lcd_ubl_edit_mesh() { */ void _lcd_ubl_validate_custom_mesh() { char ubl_lcd_gcode[24]; - const int16_t temp = TERN(HAS_HEATED_BED, custom_bed_temp, 0); sprintf_P(ubl_lcd_gcode, PSTR("G28\nG26 C P H%" PRIi16 TERN_(HAS_HEATED_BED, " B%" PRIi16)) , custom_hotend_temp #if HAS_HEATED_BED - , temp + , custom_bed_temp #endif ); queue.inject(ubl_lcd_gcode); diff --git a/Marlin/src/module/thermistor/thermistor_666.h b/Marlin/src/module/thermistor/thermistor_666.h index 86493988e053..490dbd5f3ee9 100644 --- a/Marlin/src/module/thermistor/thermistor_666.h +++ b/Marlin/src/module/thermistor/thermistor_666.h @@ -33,8 +33,7 @@ * B: 0.00031362 * C: -2.03978e-07 */ -#define NUMTEMPS 61 -const short temptable_666[NUMTEMPS][2] PROGMEM = { +const temp_entry_t temptable_666[] PROGMEM = { { OV( 1), 794 }, { OV( 18), 288 }, { OV( 35), 234 }, diff --git a/Marlin/src/pins/sensitive_pins.h b/Marlin/src/pins/sensitive_pins.h index 169f74b43787..d7eb1872458f 100644 --- a/Marlin/src/pins/sensitive_pins.h +++ b/Marlin/src/pins/sensitive_pins.h @@ -608,12 +608,6 @@ #define _Z_PROBE #endif -#if TEMP_SENSOR_BED && PIN_EXISTS(HEATER_BED) - #define _HEATER_BED HEATER_BED_PIN, -#else - #define _HEATER_BED -#endif - #if PIN_EXISTS(FAN) #define _FAN0 FAN_PIN, #else @@ -660,21 +654,26 @@ #define _FANC #endif -#if PIN_EXISTS(HEATER_BED) && PIN_EXISTS(TEMP_BED) +#if TEMP_SENSOR_BED && PINS_EXIST(TEMP_BED, HEATER_BED) #define _BED_PINS HEATER_BED_PIN, analogInputToDigitalPin(TEMP_BED_PIN), #else #define _BED_PINS #endif -#if PIN_EXISTS(TEMP_CHAMBER) - #define __CHAMBER_PINS CHAMBER_AUTO_FAN_PIN, analogInputToDigitalPin(TEMP_CHAMBER_PIN), +#if TEMP_SENSOR_CHAMBER && PIN_EXISTS(TEMP_CHAMBER) + #define _CHAMBER_TEMP analogInputToDigitalPin(TEMP_CHAMBER_PIN), +#else + #define _CHAMBER_TEMP +#endif +#if TEMP_SENSOR_CHAMBER && PINS_EXIST(TEMP_CHAMBER, HEATER_CHAMBER) + #define _CHAMBER_HEATER HEATER_CHAMBER_PIN, #else - #define __CHAMBER_PINS + #define _CHAMBER_HEATER #endif -#if PIN_EXISTS(HEATER_CHAMBER) - #define _CHAMBER_PINS __CHAMBER_PINS HEATER_CHAMBER_PIN, +#if TEMP_SENSOR_CHAMBER && PINS_EXIST(TEMP_CHAMBER, CHAMBER_AUTO_FAN) + #define _CHAMBER_FAN CHAMBER_AUTO_FAN_PIN, #else - #define _CHAMBER_PINS + #define _CHAMBER_FAN #endif #ifndef HAL_SENSITIVE_PINS @@ -685,6 +684,6 @@ _X_PINS _Y_PINS _Z_PINS _X2_PINS _Y2_PINS _Z2_PINS _Z3_PINS _Z4_PINS _Z_PROBE \ _E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS _E6_PINS _E7_PINS \ _H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS _H5_PINS _H6_PINS _H7_PINS \ - _PS_ON _HEATER_BED _FAN0 _FAN1 _FAN2 _FAN3 _FAN4 _FAN5 _FAN6 _FAN7 _FANC \ - _BED_PINS _CHAMBER_PINS HAL_SENSITIVE_PINS \ + _PS_ON _FAN0 _FAN1 _FAN2 _FAN3 _FAN4 _FAN5 _FAN6 _FAN7 _FANC \ + _BED_PINS _CHAMBER_TEMP _CHAMBER_HEATER _CHAMBER_FAN HAL_SENSITIVE_PINS \ } diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 12c40b31b374..32203f52ea8d 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -200,6 +200,7 @@ #elif SD_CONNECTION_IS(ONBOARD) #define SDIO_SUPPORT #define SD_DETECT_PIN PD12 + #define ONBOARD_SD_CS_PIN PC11 #elif SD_CONNECTION_IS(CUSTOM_CABLE) #error "No custom SD drive cable defined for this board." #endif From 04882e2f34cc494457be9ad39bcdadb398d0111a Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 17:23:23 -0700 Subject: [PATCH 248/277] Fix I2C_ADDRESS sign warning (#19685) --- Marlin/src/HAL/HAL.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/HAL/HAL.h b/Marlin/src/HAL/HAL.h index 8b6a978d2103..5eca2f7eacfe 100644 --- a/Marlin/src/HAL/HAL.h +++ b/Marlin/src/HAL/HAL.h @@ -34,7 +34,7 @@ #define HAL_ADC_RANGE _BV(HAL_ADC_RESOLUTION) #ifndef I2C_ADDRESS - #define I2C_ADDRESS(A) (A) + #define I2C_ADDRESS(A) uint8_t(A) #endif // Needed for AVR sprintf_P PROGMEM extension From 600870f22b24b0ca7c880d445a5be6f72def512a Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 17:42:50 -0700 Subject: [PATCH 249/277] Fix motion compile w/out probe-oriented settings (#19684) --- Marlin/src/module/motion.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index b904309018d6..da1cb173e56c 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -510,7 +510,7 @@ void do_z_clearance(const float &zclear, const bool z_known/*=true*/, const bool const bool rel = raise_on_unknown && !z_known; float zdest = zclear + (rel ? current_position.z : 0.0f); if (!lower_allowed) NOLESS(zdest, current_position.z); - do_blocking_move_to_z(_MIN(zdest, Z_MAX_POS), MMM_TO_MMS(Z_PROBE_SPEED_FAST)); + do_blocking_move_to_z(_MIN(zdest, Z_MAX_POS), MMM_TO_MMS(TERN(HAS_BED_PROBE, Z_PROBE_SPEED_FAST, HOMING_FEEDRATE_Z))); } // @@ -1126,8 +1126,9 @@ bool homing_needed_error(uint8_t axis_bits/*=0x07*/) { * Homing bump feedrate (mm/s) */ feedRate_t get_homing_bump_feedrate(const AxisEnum axis) { - if (TERN0(HOMING_Z_WITH_PROBE, axis == Z_AXIS)) - return MMM_TO_MMS(Z_PROBE_SPEED_SLOW); + #if HOMING_Z_WITH_PROBE + if (axis == Z_AXIS) return MMM_TO_MMS(Z_PROBE_SPEED_SLOW); + #endif static const uint8_t homing_bump_divisor[] PROGMEM = HOMING_BUMP_DIVISOR; uint8_t hbd = pgm_read_byte(&homing_bump_divisor[axis]); if (hbd < 1) { @@ -1588,7 +1589,7 @@ void homeaxis(const AxisEnum axis) { // When homing Z with probe respect probe clearance const bool use_probe_bump = TERN0(HOMING_Z_WITH_PROBE, axis == Z_AXIS && home_bump_mm(Z_AXIS)); const float bump = axis_home_dir * ( - use_probe_bump ? _MAX(Z_CLEARANCE_BETWEEN_PROBES, home_bump_mm(Z_AXIS)) : home_bump_mm(axis) + use_probe_bump ? _MAX(TERN0(HOMING_Z_WITH_PROBE, Z_CLEARANCE_BETWEEN_PROBES), home_bump_mm(Z_AXIS)) : home_bump_mm(axis) ); // If a second homing move is configured... From cc915a25ed9af89684d398e72153d6abb24253b2 Mon Sep 17 00:00:00 2001 From: qwewer0 <57561110+qwewer0@users.noreply.github.com> Date: Mon, 12 Oct 2020 04:30:18 +0200 Subject: [PATCH 250/277] Add REPORT_TRAMMING_MM option (#19682) Co-authored-by: Scott Lahteine --- Marlin/Configuration_adv.h | 8 +++----- Marlin/src/gcode/bedlevel/G35.cpp | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 48e6a8db3962..bcacddd20d42 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -806,11 +806,9 @@ #define TRAMMING_POINT_NAME_3 "Back-Right" #define TRAMMING_POINT_NAME_4 "Back-Left" - // Enable to restore leveling setup after operation - #define RESTORE_LEVELING_AFTER_G35 - - // Add a menu item for Assisted Tramming - //#define ASSISTED_TRAMMING_MENU_ITEM + #define RESTORE_LEVELING_AFTER_G35 // Enable to restore leveling setup after operation + //#define REPORT_TRAMMING_MM // Report Z deviation (mm) for each point relative to the first + //#define ASSISTED_TRAMMING_MENU_ITEM // Add a menu item for Assisted Tramming /** * Screw thread: diff --git a/Marlin/src/gcode/bedlevel/G35.cpp b/Marlin/src/gcode/bedlevel/G35.cpp index bd7f4f0411e1..0ede4e79c680 100755 --- a/Marlin/src/gcode/bedlevel/G35.cpp +++ b/Marlin/src/gcode/bedlevel/G35.cpp @@ -160,6 +160,7 @@ void GcodeSuite::G35() { " ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW", " by ", abs(full_turns), " turns"); if (minutes) SERIAL_ECHOPAIR(" and ", abs(minutes), " minutes"); + if (ENABLED(REPORT_TRAMMING_MM)) SERIAL_ECHOPAIR(" (", -diff, "mm)"); SERIAL_EOL(); } } From f4ff6a673f4036c9bffb18fb0788057d70f7ccc6 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 22:40:39 -0700 Subject: [PATCH 251/277] Allow MAX31865 resistance values configuration (#19695) --- Marlin/Configuration.h | 6 ++++++ Marlin/src/inc/SanityCheck.h | 4 ++++ Marlin/src/module/temperature.cpp | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index d32dbbbfb32f..db266b524b35 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -431,6 +431,12 @@ #define DUMMY_THERMISTOR_998_VALUE 25 #define DUMMY_THERMISTOR_999_VALUE 100 +// Resistor values when using a MAX31865 (sensor -5) +// Sensor value is typically 100 (PT100) or 1000 (PT1000) +// Calibration value is typically 430 ohm for AdaFruit PT100 modules and 4300 ohm for AdaFruit PT1000 modules. +//#define MAX31865_SENSOR_OHMS 100 +//#define MAX31865_CALIBRATION_OHMS 430 + // Use temp sensor 1 as a redundant sensor with sensor 0. If the readings // from the two sensors differ too much the print will be aborted. //#define TEMP_SENSOR_1_AS_REDUNDANT diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index b7007e3be555..2cffde0907f7 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -1845,6 +1845,10 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #error "TEMP_SENSOR_1 is required with TEMP_SENSOR_1_AS_REDUNDANT." #endif +#if ENABLED(MAX6675_IS_MAX31865) && (!defined(MAX31865_SENSOR_OHMS) || !defined(MAX31865_CALIBRATION_OHMS)) + #error "MAX31865_SENSOR_OHMS and MAX31865_CALIBRATION_OHMS must be set in Configuration.h when using a MAX31865 temperature sensor." +#endif + /** * Test Heater, Temp Sensor, and Extruder Pins */ diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index f8ff972f8034..9ecbb7c766fd 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1461,7 +1461,7 @@ void Temperature::manage_heater() { #elif ENABLED(HEATER_0_USES_MAX6675) return ( #if ENABLED(MAX6675_IS_MAX31865) - max31865.temperature(100, 400) // 100 ohms = PT100 resistance. 400 ohms = calibration resistor + max31865.temperature(MAX31865_SENSOR_OHMS, MAX31865_CALIBRATION_OHMS) #else raw * 0.25 #endif @@ -2236,7 +2236,7 @@ void Temperature::disable_all_heaters() { next_max6675_ms[hindex] = ms + MAX6675_HEAT_INTERVAL; #if ENABLED(MAX6675_IS_MAX31865) - max6675_temp = int(max31865.temperature(100, 400)); // 100 ohms = PT100 resistance. 400 ohms = calibration resistor + max6675_temp = int(max31865.temperature(MAX31865_SENSOR_OHMS, MAX31865_CALIBRATION_OHMS)); #endif // From 2b326ebc843c7951e7953b6036a6102e5013ab27 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Mon, 12 Oct 2020 14:39:31 -0700 Subject: [PATCH 252/277] Add D100 Watchdog Test (#19697) --- Marlin/src/gcode/gcode_d.cpp | 82 ++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 32 deletions(-) diff --git a/Marlin/src/gcode/gcode_d.cpp b/Marlin/src/gcode/gcode_d.cpp index 4bc3b6c6c377..1f38a85b9135 100644 --- a/Marlin/src/gcode/gcode_d.cpp +++ b/Marlin/src/gcode/gcode_d.cpp @@ -25,8 +25,10 @@ #include "gcode.h" #include "../module/settings.h" + #include "../module/temperature.h" #include "../libs/hex_print.h" #include "../HAL/shared/eeprom_if.h" + #include "../HAL/shared/Delay.h" /** * Dn: G-code for development and testing @@ -84,40 +86,23 @@ } } break; - case 3: { // D3 Read / Write EEPROM - uint8_t *pointer = parser.hex_adr_val('A'); - uint16_t len = parser.ushortval('C', 1); - uintptr_t addr = (uintptr_t)pointer; - #ifndef MARLIN_EEPROM_SIZE - #define MARLIN_EEPROM_SIZE size_t(E2END + 1) - #endif - NOMORE(addr, (size_t)(MARLIN_EEPROM_SIZE - 1)); - NOMORE(len, MARLIN_EEPROM_SIZE - addr); - if (parser.seenval('X')) { - uint16_t val = parser.hex_val('X'); - #if ENABLED(EEPROM_SETTINGS) - persistentStore.access_start(); - while(len--) { - int pos = 0; - persistentStore.write_data(pos, (uint8_t *)&val, sizeof(val)); - } - SERIAL_EOL(); - persistentStore.access_finish(); - #else - SERIAL_ECHOLN("NO EEPROM"); + #if ENABLED(EEPROM_SETTINGS) + case 3: { // D3 Read / Write EEPROM + uint8_t *pointer = parser.hex_adr_val('A'); + uint16_t len = parser.ushortval('C', 1); + uintptr_t addr = (uintptr_t)pointer; + #ifndef MARLIN_EEPROM_SIZE + #define MARLIN_EEPROM_SIZE size_t(E2END + 1) #endif - } - else { - while (len--) { - // Read bytes from EEPROM + NOMORE(addr, (size_t)(MARLIN_EEPROM_SIZE - 1)); + NOMORE(len, MARLIN_EEPROM_SIZE - addr); + if (parser.seenval('X')) { + uint16_t val = parser.hex_val('X'); #if ENABLED(EEPROM_SETTINGS) persistentStore.access_start(); - uint8_t val; while(len--) { int pos = 0; - if (!persistentStore.read_data(pos, (uint8_t *)&val, sizeof(val))) { - print_hex_byte(val); - } + persistentStore.write_data(pos, (uint8_t *)&val, sizeof(val)); } SERIAL_EOL(); persistentStore.access_finish(); @@ -125,9 +110,28 @@ SERIAL_ECHOLN("NO EEPROM"); #endif } - SERIAL_EOL(); - } - } break; + else { + while (len--) { + // Read bytes from EEPROM + #if ENABLED(EEPROM_SETTINGS) + persistentStore.access_start(); + uint8_t val; + while(len--) { + int pos = 0; + if (!persistentStore.read_data(pos, (uint8_t *)&val, sizeof(val))) { + print_hex_byte(val); + } + } + SERIAL_EOL(); + persistentStore.access_finish(); + #else + SERIAL_ECHOLN("NO EEPROM"); + #endif + } + SERIAL_EOL(); + } + } break; + #endif case 4: { // D4 Read / Write PIN // const uint8_t pin = parser.byteval('P'); @@ -167,6 +171,20 @@ SERIAL_EOL(); } } break; + + case 100: { // D100 Disable heaters and attempt a hard hang (Watchdog Test) + SERIAL_ECHOLN("Disabling heaters and attempting to trigger Watchdog"); + SERIAL_ECHOLN("(USE_WATCHDOG " TERN(USE_WATCHDOG, "ENABLED", "DISABLED") ")"); + thermalManager.disable_all_heaters(); + delay(1000); // Allow time to print + DISABLE_ISRS(); + // Use a low-level delay that does not rely on interrupts to function + // Do not spin forever, to avoid thermal risks if heaters are enabled and + // watchdog does not work. + DELAY_US(10000000); + ENABLE_ISRS(); + SERIAL_ECHOLN("FAILURE: Watchdog did not trigger board reset."); + } } } From dffe7b90727e9d5f589a594b9a33807254fd8ca2 Mon Sep 17 00:00:00 2001 From: "Earle F. Philhower, III" Date: Mon, 12 Oct 2020 14:48:04 -0700 Subject: [PATCH 253/277] Add loose soft endstop state, apply to UBL fine-tune (#19681) Co-authored-by: Scott Lahteine --- Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp | 4 ++ Marlin/src/gcode/bedlevel/abl/G29.cpp | 16 +++--- Marlin/src/gcode/bedlevel/mbl/G29.cpp | 16 ++---- Marlin/src/gcode/calibrate/G28.cpp | 5 +- Marlin/src/gcode/calibrate/G34.cpp | 4 +- Marlin/src/gcode/calibrate/G425.cpp | 9 ++-- Marlin/src/gcode/control/M211.cpp | 4 +- Marlin/src/gcode/feature/clean/G12.cpp | 4 +- Marlin/src/lcd/extui/ui_api.cpp | 28 ++-------- Marlin/src/lcd/menu/menu_motion.cpp | 27 ++-------- Marlin/src/lcd/menu/menu_probe_offset.cpp | 8 +-- Marlin/src/lcd/tft/ui_480x320.cpp | 24 ++------- Marlin/src/libs/nozzle.cpp | 2 +- Marlin/src/module/motion.cpp | 21 ++++---- Marlin/src/module/motion.h | 59 ++++++++++++++++----- Marlin/src/module/tool_change.cpp | 8 +-- 16 files changed, 106 insertions(+), 133 deletions(-) diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index dc91b7d6b185..e41af9f3cd23 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -1009,6 +1009,8 @@ lcd_mesh_edit_setup(new_z); + SET_SOFT_ENDSTOP_LOOSE(true); + do { idle(); new_z = lcd_mesh_edit(); @@ -1016,6 +1018,8 @@ SERIAL_FLUSH(); // Prevent host M105 buffer overrun. } while (!ui.button_pressed()); + SET_SOFT_ENDSTOP_LOOSE(false); + if (!lcd_map_control) ui.return_to_status(); // Just editing a single point? Return to status if (click_and_hold(abort_fine_tune)) break; // Button held down? Abort editing diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index e9b6e0e3a6db..f7de6c8cee57 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -201,10 +201,6 @@ G29_TYPE GcodeSuite::G29() { ABL_VAR int abl_probe_index; #endif - #if BOTH(HAS_SOFTWARE_ENDSTOPS, PROBE_MANUALLY) - ABL_VAR bool saved_soft_endstops_state = true; - #endif - #if ABL_GRID #if ENABLED(PROBE_MANUALLY) @@ -461,7 +457,7 @@ G29_TYPE GcodeSuite::G29() { // Abort current G29 procedure, go back to idle state if (seenA && g29_in_progress) { SERIAL_ECHOLNPGM("Manual G29 aborted"); - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = saved_soft_endstops_state); + SET_SOFT_ENDSTOP_LOOSE(false); set_bed_leveling_enabled(abl_should_enable); g29_in_progress = false; TERN_(LCD_BED_LEVELING, ui.wait_for_move = false); @@ -482,7 +478,7 @@ G29_TYPE GcodeSuite::G29() { if (abl_probe_index == 0) { // For the initial G29 S2 save software endstop state - TERN_(HAS_SOFTWARE_ENDSTOPS, saved_soft_endstops_state = soft_endstops_enabled); + SET_SOFT_ENDSTOP_LOOSE(true); // Move close to the bed before the first point do_blocking_move_to_z(0); } @@ -552,14 +548,14 @@ G29_TYPE GcodeSuite::G29() { _manual_goto_xy(probePos); // Can be used here too! // Disable software endstops to allow manual adjustment // If G29 is not completed, they will not be re-enabled - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = false); + SET_SOFT_ENDSTOP_LOOSE(true); G29_RETURN(false); } else { // Leveling done! Fall through to G29 finishing code below SERIAL_ECHOLNPGM("Grid probing done."); // Re-enable software endstops, if needed - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = saved_soft_endstops_state); + SET_SOFT_ENDSTOP_LOOSE(false); } #elif ENABLED(AUTO_BED_LEVELING_3POINT) @@ -570,7 +566,7 @@ G29_TYPE GcodeSuite::G29() { _manual_goto_xy(probePos); // Disable software endstops to allow manual adjustment // If G29 is not completed, they will not be re-enabled - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = false); + SET_SOFT_ENDSTOP_LOOSE(true); G29_RETURN(false); } else { @@ -578,7 +574,7 @@ G29_TYPE GcodeSuite::G29() { SERIAL_ECHOLNPGM("3-point probing done."); // Re-enable software endstops, if needed - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = saved_soft_endstops_state); + SET_SOFT_ENDSTOP_LOOSE(false); if (!dryrun) { vector_3 planeNormal = vector_3::cross(points[0] - points[1], points[2] - points[1]).get_normal(); diff --git a/Marlin/src/gcode/bedlevel/mbl/G29.cpp b/Marlin/src/gcode/bedlevel/mbl/G29.cpp index 5da99386adc5..d94c16052bcf 100644 --- a/Marlin/src/gcode/bedlevel/mbl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/mbl/G29.cpp @@ -61,7 +61,6 @@ inline void echo_not_entered(const char c) { SERIAL_CHAR(c); SERIAL_ECHOLNPGM(" void GcodeSuite::G29() { static int mbl_probe_index = -1; - TERN_(HAS_SOFTWARE_ENDSTOPS, static bool saved_soft_endstops_state); MeshLevelingState state = (MeshLevelingState)parser.byteval('S', (int8_t)MeshReport); if (!WITHIN(state, 0, 5)) { @@ -98,26 +97,19 @@ void GcodeSuite::G29() { } // For each G29 S2... if (mbl_probe_index == 0) { - #if HAS_SOFTWARE_ENDSTOPS - // For the initial G29 S2 save software endstop state - saved_soft_endstops_state = soft_endstops_enabled; - #endif // Move close to the bed before the first point do_blocking_move_to_z(0); } else { // Save Z for the previous mesh position mbl.set_zigzag_z(mbl_probe_index - 1, current_position.z); - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = saved_soft_endstops_state); + SET_SOFT_ENDSTOP_LOOSE(false); } // If there's another point to sample, move there with optional lift. if (mbl_probe_index < GRID_MAX_POINTS) { - #if HAS_SOFTWARE_ENDSTOPS - // Disable software endstops to allow manual adjustment - // If G29 is not completed, they will not be re-enabled - soft_endstops_enabled = false; - #endif - + // Disable software endstops to allow manual adjustment + // If G29 is left hanging without completion they won't be re-enabled! + SET_SOFT_ENDSTOP_LOOSE(true); mbl.zigzag(mbl_probe_index++, ix, iy); _manual_goto_xy({ mbl.index_to_xpos[ix], mbl.index_to_ypos[iy] }); } diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 7bc40b2127c4..34209568035d 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -222,8 +222,9 @@ void GcodeSuite::G28() { return; } - // Wait for planner moves to finish! - planner.synchronize(); + planner.synchronize(); // Wait for planner moves to finish! + + SET_SOFT_ENDSTOP_LOOSE(false); // Reset a leftover 'loose' motion state // Disable the leveling matrix before homing #if HAS_LEVELING diff --git a/Marlin/src/gcode/calibrate/G34.cpp b/Marlin/src/gcode/calibrate/G34.cpp index eb1d32f90927..fd876d3fe9ea 100644 --- a/Marlin/src/gcode/calibrate/G34.cpp +++ b/Marlin/src/gcode/calibrate/G34.cpp @@ -40,7 +40,7 @@ void GcodeSuite::G34() { if (homing_needed()) return; - TEMPORARY_SOFT_ENDSTOP_STATE(false); + SET_SOFT_ENDSTOP_LOOSE(true); TEMPORARY_BED_LEVELING_STATE(false); TemporaryGlobalEndstopsState unlock_z(false); @@ -148,6 +148,8 @@ void GcodeSuite::G34() { if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Running Post Commands"); gcode.process_subcommands_now_P(PSTR(GANTRY_CALIBRATION_COMMANDS_POST)); #endif + + SET_SOFT_ENDSTOP_LOOSE(false); } #endif // MECHANICAL_GANTRY_CALIBRATION diff --git a/Marlin/src/gcode/calibrate/G425.cpp b/Marlin/src/gcode/calibrate/G425.cpp index 746cb108766b..8968f789995f 100644 --- a/Marlin/src/gcode/calibrate/G425.cpp +++ b/Marlin/src/gcode/calibrate/G425.cpp @@ -581,13 +581,12 @@ void GcodeSuite::G425() { GcodeSuite::process_subcommands_now_P(PSTR(CALIBRATION_SCRIPT_PRE)); #endif - TEMPORARY_SOFT_ENDSTOP_STATE(false); - TEMPORARY_BED_LEVELING_STATE(false); - if (homing_needed_error()) return; - measurements_t m; + TEMPORARY_BED_LEVELING_STATE(false); + SET_SOFT_ENDSTOP_LOOSE(true); + measurements_t m; float uncertainty = parser.seenval('U') ? parser.value_float() : CALIBRATION_MEASUREMENT_UNCERTAIN; if (parser.seen('B')) @@ -612,6 +611,8 @@ void GcodeSuite::G425() { else calibrate_all(); + SET_SOFT_ENDSTOP_LOOSE(false); + #ifdef CALIBRATION_SCRIPT_POST GcodeSuite::process_subcommands_now_P(PSTR(CALIBRATION_SCRIPT_POST)); #endif diff --git a/Marlin/src/gcode/control/M211.cpp b/Marlin/src/gcode/control/M211.cpp index ffad722f3f7a..2049f1eb6955 100644 --- a/Marlin/src/gcode/control/M211.cpp +++ b/Marlin/src/gcode/control/M211.cpp @@ -37,8 +37,8 @@ void GcodeSuite::M211() { l_soft_max = soft_endstop.max.asLogical(); SERIAL_ECHO_START(); SERIAL_ECHOPGM(STR_SOFT_ENDSTOPS); - if (parser.seen('S')) soft_endstops_enabled = parser.value_bool(); - serialprint_onoff(soft_endstops_enabled); + if (parser.seen('S')) soft_endstop._enabled = parser.value_bool(); + serialprint_onoff(soft_endstop._enabled); print_xyz(l_soft_min, PSTR(STR_SOFT_MIN), PSTR(" ")); print_xyz(l_soft_max, PSTR(STR_SOFT_MAX)); } diff --git a/Marlin/src/gcode/feature/clean/G12.cpp b/Marlin/src/gcode/feature/clean/G12.cpp index f91db39703f0..216db5bae374 100644 --- a/Marlin/src/gcode/feature/clean/G12.cpp +++ b/Marlin/src/gcode/feature/clean/G12.cpp @@ -70,9 +70,11 @@ void GcodeSuite::G12() { TEMPORARY_BED_LEVELING_STATE(!TEST(cleans, Z_AXIS) && planner.leveling_active); #endif - TEMPORARY_SOFT_ENDSTOP_STATE(parser.boolval('E')); + SET_SOFT_ENDSTOP_LOOSE(!parser.boolval('E')); nozzle.clean(pattern, strokes, radius, objects, cleans); + + SET_SOFT_ENDSTOP_LOOSE(false); } #endif // NOZZLE_CLEAN_FEATURE diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index 0acfc9c025c1..30cf696f3ed7 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -305,27 +305,9 @@ namespace ExtUI { } void setAxisPosition_mm(const float position, const axis_t axis, const feedRate_t feedrate/*=0*/) { - // Start with no limits to movement - float min = current_position[axis] - 1000, - max = current_position[axis] + 1000; - - // Limit to software endstops, if enabled - #if HAS_SOFTWARE_ENDSTOPS - if (soft_endstops_enabled) switch (axis) { - case X_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_X, min = soft_endstop.min.x); - TERN_(MAX_SOFTWARE_ENDSTOP_X, max = soft_endstop.max.x); - break; - case Y_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Y, min = soft_endstop.min.y); - TERN_(MAX_SOFTWARE_ENDSTOP_Y, max = soft_endstop.max.y); - break; - case Z_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Z, min = soft_endstop.min.z); - TERN_(MAX_SOFTWARE_ENDSTOP_Z, max = soft_endstop.max.z); - default: break; - } - #endif // HAS_SOFTWARE_ENDSTOPS + // Get motion limit from software endstops, if any + float min, max; + soft_endstop.get_manual_axis_limits((AxisEnum)axis, min, max); // Delta limits XY based on the current offset from center // This assumes the center is 0,0 @@ -389,8 +371,8 @@ namespace ExtUI { } #if HAS_SOFTWARE_ENDSTOPS - bool getSoftEndstopState() { return soft_endstops_enabled; } - void setSoftEndstopState(const bool value) { soft_endstops_enabled = value; } + bool getSoftEndstopState() { return soft_endstop._enabled; } + void setSoftEndstopState(const bool value) { soft_endstop._enabled = value; } #endif #if HAS_TRINAMIC_CONFIG diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 676ba46ea730..2972920f34a7 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -57,28 +57,9 @@ static void _lcd_move_xyz(PGM_P const name, const AxisEnum axis) { if (ui.use_click()) return ui.goto_previous_screen_no_defer(); if (ui.encoderPosition && !ui.manual_move.processing) { - - // Start with no limits to movement - float min = current_position[axis] - 1000, - max = current_position[axis] + 1000; - - // Limit to software endstops, if enabled - #if HAS_SOFTWARE_ENDSTOPS - if (soft_endstops_enabled) switch (axis) { - case X_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_X, min = soft_endstop.min.x); - TERN_(MAX_SOFTWARE_ENDSTOP_X, max = soft_endstop.max.x); - break; - case Y_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Y, min = soft_endstop.min.y); - TERN_(MAX_SOFTWARE_ENDSTOP_Y, max = soft_endstop.max.y); - break; - case Z_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Z, min = soft_endstop.min.z); - TERN_(MAX_SOFTWARE_ENDSTOP_Z, max = soft_endstop.max.z); - default: break; - } - #endif // HAS_SOFTWARE_ENDSTOPS + // Get motion limit from software endstops, if any + float min, max; + soft_endstop.get_manual_axis_limits(axis, min, max); // Delta limits XY based on the current offset from center // This assumes the center is 0,0 @@ -238,7 +219,7 @@ void menu_move() { BACK_ITEM(MSG_MOTION); #if BOTH(HAS_SOFTWARE_ENDSTOPS, SOFT_ENDSTOPS_MENU_ITEM) - EDIT_ITEM(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled); + EDIT_ITEM(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstop._enabled); #endif if (NONE(IS_KINEMATIC, NO_MOTION_BEFORE_HOMING) || all_axes_homed()) { diff --git a/Marlin/src/lcd/menu/menu_probe_offset.cpp b/Marlin/src/lcd/menu/menu_probe_offset.cpp index 87957e6207ef..6b7830b853d8 100644 --- a/Marlin/src/lcd/menu/menu_probe_offset.cpp +++ b/Marlin/src/lcd/menu/menu_probe_offset.cpp @@ -48,16 +48,12 @@ float z_offset_backup, calculated_z_offset; TERN_(HAS_LEVELING, bool leveling_was_active); -TERN_(HAS_SOFTWARE_ENDSTOPS, bool store_soft_endstops_enabled); void prepare_for_calibration() { z_offset_backup = probe.offset.z; // Disable soft endstops for free Z movement - #if HAS_SOFTWARE_ENDSTOPS - store_soft_endstops_enabled = soft_endstops_enabled; - soft_endstops_enabled = false; - #endif + SET_SOFT_ENDSTOP_LOOSE(true); // Disable leveling for raw planner motion #if HAS_LEVELING @@ -68,7 +64,7 @@ void prepare_for_calibration() { void set_offset_and_go_back(const float &z) { probe.offset.z = z; - TERN_(HAS_SOFTWARE_ENDSTOPS, soft_endstops_enabled = store_soft_endstops_enabled); + SET_SOFT_ENDSTOP_LOOSE(false); TERN_(HAS_LEVELING, set_bed_leveling_enabled(leveling_was_active)); ui.goto_previous_screen_no_defer(); } diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index 549cbc4d9ba5..3dab9418f5fa 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -813,27 +813,9 @@ static void moveAxis(AxisEnum axis, const int8_t direction) { } if (!ui.manual_move.processing) { - // Start with no limits to movement - float min = current_position[axis] - 1000, - max = current_position[axis] + 1000; - - // Limit to software endstops, if enabled - #if HAS_SOFTWARE_ENDSTOPS - if (soft_endstops_enabled) switch (axis) { - case X_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_X, min = soft_endstop.min.x); - TERN_(MAX_SOFTWARE_ENDSTOP_X, max = soft_endstop.max.x); - break; - case Y_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Y, min = soft_endstop.min.y); - TERN_(MAX_SOFTWARE_ENDSTOP_Y, max = soft_endstop.max.y); - break; - case Z_AXIS: - TERN_(MIN_SOFTWARE_ENDSTOP_Z, min = soft_endstop.min.z); - TERN_(MAX_SOFTWARE_ENDSTOP_Z, max = soft_endstop.max.z); - default: break; - } - #endif // HAS_SOFTWARE_ENDSTOPS + // Get motion limit from software endstops, if any + float min, max; + soft_endstop.get_manual_axis_limits(axis, min, max); // Delta limits XY based on the current offset from center // This assumes the center is 0,0 diff --git a/Marlin/src/libs/nozzle.cpp b/Marlin/src/libs/nozzle.cpp index f93e5524813a..10021005e5b3 100644 --- a/Marlin/src/libs/nozzle.cpp +++ b/Marlin/src/libs/nozzle.cpp @@ -161,7 +161,7 @@ Nozzle nozzle; LIMIT( end[arrPos].A, soft_endstop.min.A, soft_endstop.max.A); \ }while(0) - if (soft_endstops_enabled) { + if (soft_endstop.enabled()) { LIMIT_AXIS(x); LIMIT_AXIS(y); diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index da1cb173e56c..92712b0c221c 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -534,12 +534,11 @@ void restore_feedrate_and_scaling() { #if HAS_SOFTWARE_ENDSTOPS - bool soft_endstops_enabled = true; - // Software Endstops are based on the configured limits. - axis_limits_t soft_endstop = { + soft_endstops_t soft_endstop = { { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }, - { X_MAX_POS, Y_MAX_POS, Z_MAX_POS } + { X_MAX_POS, Y_MAX_POS, Z_MAX_POS }, + { true, false } }; /** @@ -624,9 +623,9 @@ void restore_feedrate_and_scaling() { #endif - if (DEBUGGING(LEVELING)) - SERIAL_ECHOLNPAIR("Axis ", XYZ_CHAR(axis), " min:", soft_endstop.min[axis], " max:", soft_endstop.max[axis]); -} + if (DEBUGGING(LEVELING)) + SERIAL_ECHOLNPAIR("Axis ", XYZ_CHAR(axis), " min:", soft_endstop.min[axis], " max:", soft_endstop.max[axis]); + } /** * Constrain the given coordinates to the software endstops. @@ -636,7 +635,7 @@ void restore_feedrate_and_scaling() { */ void apply_motion_limits(xyz_pos_t &target) { - if (!soft_endstops_enabled) return; + if (!soft_endstop._enabled) return; #if IS_KINEMATIC @@ -688,7 +687,11 @@ void restore_feedrate_and_scaling() { } } -#endif // HAS_SOFTWARE_ENDSTOPS +#else // !HAS_SOFTWARE_ENDSTOPS + + soft_endstops_t soft_endstop; + +#endif // !HAS_SOFTWARE_ENDSTOPS #if !UBL_SEGMENTED diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 2b108b053177..338eb387cf9d 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -148,26 +148,61 @@ inline float home_bump_mm(const AxisEnum axis) { constexpr xyz_pos_t hotend_offset[1] = { { 0 } }; #endif -typedef struct { xyz_pos_t min, max; } axis_limits_t; #if HAS_SOFTWARE_ENDSTOPS - extern bool soft_endstops_enabled; - extern axis_limits_t soft_endstop; + + typedef struct { + xyz_pos_t min, max; + struct { + bool _enabled:1; + bool _loose:1; + }; + bool enabled() { return _enabled && !_loose; } + void get_manual_axis_limits(const AxisEnum axis, float &amin, float &amax) { + amin = -100000; amax = 100000; // "No limits" + #if HAS_SOFTWARE_ENDSTOPS + if (enabled()) switch (axis) { + case X_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_X, amin = min.x); + TERN_(MAX_SOFTWARE_ENDSTOP_X, amax = max.x); + break; + case Y_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_Y, amin = min.y); + TERN_(MAX_SOFTWARE_ENDSTOP_Y, amax = max.y); + break; + case Z_AXIS: + TERN_(MIN_SOFTWARE_ENDSTOP_Z, amin = min.z); + TERN_(MAX_SOFTWARE_ENDSTOP_Z, amax = max.z); + default: break; + } + #endif + } + } soft_endstops_t; + + extern soft_endstops_t soft_endstop; void apply_motion_limits(xyz_pos_t &target); void update_software_endstops(const AxisEnum axis #if HAS_HOTEND_OFFSET , const uint8_t old_tool_index=0, const uint8_t new_tool_index=0 #endif ); - #define TEMPORARY_SOFT_ENDSTOP_STATE(enable) REMEMBER(tes, soft_endstops_enabled, enable); -#else - constexpr bool soft_endstops_enabled = false; - //constexpr axis_limits_t soft_endstop = { - // { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }, - // { X_MAX_POS, Y_MAX_POS, Z_MAX_POS } }; - #define apply_motion_limits(V) NOOP + #define SET_SOFT_ENDSTOP_LOOSE(loose) (soft_endstop._loose = loose) + +#else // !HAS_SOFTWARE_ENDSTOPS + + typedef struct { + bool enabled() { return false; } + void get_manual_axis_limits(const AxisEnum axis, float &amin, float &amax) { + // No limits + amin = current_position[axis] - 1000; + amax = current_position[axis] + 1000; + } + } soft_endstops_t; + extern soft_endstops_t soft_endstop; + #define apply_motion_limits(V) NOOP #define update_software_endstops(...) NOOP - #define TEMPORARY_SOFT_ENDSTOP_STATE(...) NOOP -#endif + #define SET_SOFT_ENDSTOP_LOOSE() NOOP + +#endif // !HAS_SOFTWARE_ENDSTOPS void report_real_position(); void report_current_position(); diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 0f823cfbd000..4ab818f41d2e 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -1017,14 +1017,10 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { // Raise by a configured distance to avoid workpiece, except with // SWITCHING_NOZZLE_TWO_SERVOS, as both nozzles will lift instead. if (!no_move) { - #if HAS_SOFTWARE_ENDSTOPS - const float maxz = _MIN(soft_endstop.max.z, Z_MAX_POS); - #else - constexpr float maxz = Z_MAX_POS; - #endif + const float newz = current_position.z + _MAX(-diff.z, 0.0); // Check if Z has space to compensate at least z_offset, and if not, just abort now - const float newz = current_position.z + _MAX(-diff.z, 0.0); + const float maxz = _MIN(TERN(HAS_SOFTWARE_ENDSTOPS, soft_endstop.max.z, Z_MAX_POS), Z_MAX_POS); if (newz > maxz) return; current_position.z = _MIN(newz + toolchange_settings.z_raise, maxz); From bd196e7efcf9b8c037f9b81d37166891f0618021 Mon Sep 17 00:00:00 2001 From: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Date: Sat, 10 Oct 2020 13:01:46 +0300 Subject: [PATCH 254/277] Fixes for TFTGLCD Panel, FastIO (#19614) --- Marlin/src/HAL/STM32/fastio.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index f000d68cf0c3..7d02062b5374 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ + else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(digitalPinToPinName(IO) & 0x1F))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(digitalPinToPinName(IO) & 0x1F)) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) From e2e1776a147547199d14cf59eb595f125582eb7c Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Sat, 10 Oct 2020 13:47:28 -0300 Subject: [PATCH 255/277] Restore correct STM32 port-bits code (#19678) --- Marlin/src/HAL/STM32/fastio.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index 7d02062b5374..f000d68cf0c3 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(digitalPinToPinName(IO) & 0x1F) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(digitalPinToPinName(IO) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(digitalPinToPinName(IO) & 0x1F))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(digitalPinToPinName(IO) & 0x1F)) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) From 6d31bbe2bfe313b7fd4fe97a9e5c850f9af1e184 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 11 Oct 2020 00:15:24 +0000 Subject: [PATCH 256/277] [cron] Bump distribution date (2020-10-11) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 274659c48b17..3425486e0507 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-10" + #define STRING_DISTRIBUTION_DATE "2020-10-11" #endif /** From 37f97bc013326b78e18956a6ad680a6ff017d933 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 11 Oct 2020 17:06:57 -0700 Subject: [PATCH 257/277] Fix various errors, warnings in example config builds (#19686) Co-authored-by: Scott Lahteine --- Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index ecd4eb482a6a..08a211b3ddca 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -473,7 +473,6 @@ void lv_encoder_pin_init() { #endif - static uint8_t buttons = newbutton; static uint8_t lastEncoderBits; From 5d07d83e78ded40f9e23449cbd702beeac2b0e8f Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 12 Oct 2020 00:15:08 +0000 Subject: [PATCH 258/277] [cron] Bump distribution date (2020-10-12) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 3425486e0507..e45eb8a60709 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-11" + #define STRING_DISTRIBUTION_DATE "2020-10-12" #endif /** From 3bba5d55bfa1ab062cbdc92980918fd6706c8970 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 13 Oct 2020 00:15:19 +0000 Subject: [PATCH 259/277] [cron] Bump distribution date (2020-10-13) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index e45eb8a60709..2b07e4216981 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-12" + #define STRING_DISTRIBUTION_DATE "2020-10-13" #endif /** From 2a2666326bc460e3aca04bfddbcbf4f099ea096d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 13 Oct 2020 14:54:56 -0500 Subject: [PATCH 260/277] Simple bool in soft_endstops_t --- Marlin/src/module/motion.cpp | 4 ++-- Marlin/src/module/motion.h | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 92712b0c221c..5b3fab10b1e9 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -536,9 +536,9 @@ void restore_feedrate_and_scaling() { // Software Endstops are based on the configured limits. soft_endstops_t soft_endstop = { + true, false, { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }, - { X_MAX_POS, Y_MAX_POS, Z_MAX_POS }, - { true, false } + { X_MAX_POS, Y_MAX_POS, Z_MAX_POS } }; /** diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 338eb387cf9d..550168e8a86d 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -151,12 +151,10 @@ inline float home_bump_mm(const AxisEnum axis) { #if HAS_SOFTWARE_ENDSTOPS typedef struct { - xyz_pos_t min, max; - struct { - bool _enabled:1; - bool _loose:1; - }; + bool _enabled, _loose; bool enabled() { return _enabled && !_loose; } + + xyz_pos_t min, max; void get_manual_axis_limits(const AxisEnum axis, float &amin, float &amax) { amin = -100000; amax = 100000; // "No limits" #if HAS_SOFTWARE_ENDSTOPS From 54bdcb46912a8feb92d186aa3efcbd9c5e9cef0b Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Wed, 14 Oct 2020 11:50:03 -0700 Subject: [PATCH 261/277] Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) --- Marlin/src/module/motion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 550168e8a86d..85b70c057aa9 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -198,7 +198,7 @@ inline float home_bump_mm(const AxisEnum axis) { extern soft_endstops_t soft_endstop; #define apply_motion_limits(V) NOOP #define update_software_endstops(...) NOOP - #define SET_SOFT_ENDSTOP_LOOSE() NOOP + #define SET_SOFT_ENDSTOP_LOOSE(V) NOOP #endif // !HAS_SOFTWARE_ENDSTOPS From ba045d68522ba4b71c8c067ae8ab29f9a62dad71 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 14 Oct 2020 00:15:03 +0000 Subject: [PATCH 262/277] [cron] Bump distribution date (2020-10-14) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 2b07e4216981..db76af504b90 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-13" + #define STRING_DISTRIBUTION_DATE "2020-10-14" #endif /** From 52fc0b896d182b14545c5f4557105cc9768b2294 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 15 Oct 2020 00:15:10 +0000 Subject: [PATCH 263/277] [cron] Bump distribution date (2020-10-15) --- Marlin/src/inc/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index db76af504b90..efe04d64dd54 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-10-14" + #define STRING_DISTRIBUTION_DATE "2020-10-15" #endif /** From fd8d83b7c84bf6e0121eba10e697b058ac7b858d Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Wed, 14 Oct 2020 11:43:36 -0700 Subject: [PATCH 264/277] Fix mega2560ext environment (#19730) --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 9c9460d1a32a..22a5ba880878 100644 --- a/platformio.ini +++ b/platformio.ini @@ -445,7 +445,7 @@ board = megaatmega2560 # [env:mega2560ext] platform = atmelavr -extends = mega2560 +extends = env:mega2560 board = megaatmega2560 board_build.variant = megaextendedpins extra_scripts = ${common.extra_scripts} From f7f1224941ef0220603106f4a1b6b4ceabdfd196 Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Tue, 13 Oct 2020 20:12:34 -0300 Subject: [PATCH 265/277] Watchdog Refresh for LVGL Asset Load (#19724) --- Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp | 17 +++++++++++++++-- .../extui/lib/mks_ui/tft_lvgl_configuration.cpp | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp index d6f5fbf8b5fd..07ac56380262 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp @@ -266,19 +266,24 @@ void spiFlashErase_PIC() { W25QXX.init(SPI_QUARTER_SPEED); //erase 0x001000 -64K for (pic_sectorcnt = 0; pic_sectorcnt < (64 - 4) / 4; pic_sectorcnt++) { + watchdog_refresh(); W25QXX.SPI_FLASH_SectorErase(PICINFOADDR + pic_sectorcnt * 4 * 1024); } //erase 64K -- 6M - for (pic_sectorcnt = 0; pic_sectorcnt < (PIC_SIZE_xM * 1024 / 64 - 1); pic_sectorcnt++) + for (pic_sectorcnt = 0; pic_sectorcnt < (PIC_SIZE_xM * 1024 / 64 - 1); pic_sectorcnt++) { + watchdog_refresh(); W25QXX.SPI_FLASH_BlockErase((pic_sectorcnt + 1) * 64 * 1024); + } } #if HAS_SPI_FLASH_FONT void spiFlashErase_FONT() { volatile uint32_t Font_sectorcnt = 0; W25QXX.init(SPI_QUARTER_SPEED); - for (Font_sectorcnt = 0; Font_sectorcnt < 32-1; Font_sectorcnt++) + for (Font_sectorcnt = 0; Font_sectorcnt < 32-1; Font_sectorcnt++) { + watchdog_refresh(); W25QXX.SPI_FLASH_BlockErase(FONTINFOADDR + Font_sectorcnt * 64 * 1024); + } } #endif @@ -410,6 +415,7 @@ uint8_t public_buf[512]; return; } + watchdog_refresh(); disp_assets_update_progress(fn); W25QXX.init(SPI_QUARTER_SPEED); @@ -422,18 +428,21 @@ uint8_t public_buf[512]; totalSizeLoaded += pfileSize; if (assetType == ASSET_TYPE_LOGO) { do { + watchdog_refresh(); pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); Pic_Logo_Write((uint8_t *)fn, public_buf, pbr); } while (pbr >= BMP_WRITE_BUF_LEN); } else if (assetType == ASSET_TYPE_TITLE_LOGO) { do { + watchdog_refresh(); pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); Pic_TitleLogo_Write((uint8_t *)fn, public_buf, pbr); } while (pbr >= BMP_WRITE_BUF_LEN); } else if (assetType == ASSET_TYPE_G_PREVIEW) { do { + watchdog_refresh(); pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); default_view_Write(public_buf, pbr); } while (pbr >= BMP_WRITE_BUF_LEN); @@ -443,6 +452,7 @@ uint8_t public_buf[512]; SPIFlash.beginWrite(Pic_Write_Addr); #if HAS_SPI_FLASH_COMPRESSION do { + watchdog_refresh(); pbr = file.read(public_buf, SPI_FLASH_PageSize); TERN_(MARLIN_DEV_MODE, totalSizes += pbr); SPIFlash.writeData(public_buf, SPI_FLASH_PageSize); @@ -463,6 +473,7 @@ uint8_t public_buf[512]; else if (assetType == ASSET_TYPE_FONT) { Pic_Write_Addr = UNIGBK_FLASH_ADDR; do { + watchdog_refresh(); pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); W25QXX.SPI_FLASH_BufferWrite(public_buf, Pic_Write_Addr, pbr); Pic_Write_Addr += pbr; @@ -482,9 +493,11 @@ uint8_t public_buf[512]; disp_assets_update(); disp_assets_update_progress("Erasing pics..."); + watchdog_refresh(); spiFlashErase_PIC(); #if HAS_SPI_FLASH_FONT disp_assets_update_progress("Erasing fonts..."); + watchdog_refresh(); spiFlashErase_FONT(); #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index 08a211b3ddca..6395edca4ed9 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -123,8 +123,11 @@ void tft_lvgl_init() { //spi_flash_read_test(); #if ENABLED(SDSUPPORT) + watchdog_refresh(); UpdateAssets(); #endif + + watchdog_refresh(); mks_test_get(); touch.Init(); From b7d9b059520a32fe1ddb7ae3f0ce224841e9b21d Mon Sep 17 00:00:00 2001 From: Victor Oliveira Date: Tue, 13 Oct 2020 13:58:50 -0300 Subject: [PATCH 266/277] TFT followup fixes (#19710) --- .../src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp | 3 ++- Marlin/src/lcd/tft/touch.cpp | 4 ---- Marlin/src/lcd/tft_io/ili9328.h | 8 +++++--- Marlin/src/lcd/tft_io/r65105.h | 8 +++++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index 6395edca4ed9..5a8c4986089e 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -476,7 +476,8 @@ void lv_encoder_pin_init() { #endif - static uint8_t buttons = newbutton; + static uint8_t buttons = 0; + buttons = newbutton; static uint8_t lastEncoderBits; #define encrot0 0 diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index 2124a42e28ca..80c65f074ae6 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -295,10 +295,6 @@ bool Touch::get_point(int16_t *x, int16_t *y) { if (is_touched && calibration.orientation != TOUCH_ORIENTATION_NONE) { *x = int16_t((int32_t(*x) * calibration.x) >> 16) + calibration.offset_x; *y = int16_t((int32_t(*y) * calibration.y) >> 16) + calibration.offset_y; - #if (TFT_ROTATION & TFT_ROTATE_180) - *x = TFT_WIDTH - *x; - *y = TFT_HEIGHT - *y; - #endif } return is_touched; } diff --git a/Marlin/src/lcd/tft_io/ili9328.h b/Marlin/src/lcd/tft_io/ili9328.h index 818dd05b348f..b50517adfea5 100644 --- a/Marlin/src/lcd/tft_io/ili9328.h +++ b/Marlin/src/lcd/tft_io/ili9328.h @@ -49,9 +49,11 @@ #define ILI9328_GATE_SCANCTL1_DATA 0x2700 #endif -// #define ILI9328_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ILI9328_ETMOD_AM) | \ -// IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ILI9328_ETMOD_ID1) | \ -// IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ILI9328_ETMOD_ID0) +/* +#define ILI9328_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, ILI9328_ETMOD_AM) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, ILI9328_ETMOD_ID1) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, ILI9328_ETMOD_ID0) +*/ #define ILI9328_ETMOD_ORIENTATION (ILI9328_ETMOD_AM | ILI9328_ETMOD_ID1 | ILI9328_ETMOD_ID0) diff --git a/Marlin/src/lcd/tft_io/r65105.h b/Marlin/src/lcd/tft_io/r65105.h index a813c3260b1a..8be2afe4423c 100644 --- a/Marlin/src/lcd/tft_io/r65105.h +++ b/Marlin/src/lcd/tft_io/r65105.h @@ -51,9 +51,11 @@ #define R61505_DRVCTRL_DATA 0x2700 #endif -// #define R61505_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, R61505_ETMOD_AM) | \ -// IF_0((TFT_ORIENTATION) & TFT_INVERT_X, R61505_ETMOD_ID0) | \ -// IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, R61505_ETMOD_ID1) +/* +#define R61505_ETMOD_ORIENTATION IF_0((TFT_ORIENTATION) & TFT_EXCHANGE_XY, R61505_ETMOD_AM) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_X, R61505_ETMOD_ID0) | \ + IF_0((TFT_ORIENTATION) & TFT_INVERT_Y, R61505_ETMOD_ID1) +*/ #define R61505_ETMOD_ORIENTATION (R61505_ETMOD_AM | R61505_ETMOD_ID0 | R61505_ETMOD_ID1) From 00709017e205cd5698b9f50f74d9cb188ae2f129 Mon Sep 17 00:00:00 2001 From: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Tue, 13 Oct 2020 16:13:25 -0700 Subject: [PATCH 267/277] If needed, home before G34 (#19713) --- Marlin/src/gcode/calibrate/G34.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Marlin/src/gcode/calibrate/G34.cpp b/Marlin/src/gcode/calibrate/G34.cpp index fd876d3fe9ea..0ca4490eb6c1 100644 --- a/Marlin/src/gcode/calibrate/G34.cpp +++ b/Marlin/src/gcode/calibrate/G34.cpp @@ -38,7 +38,8 @@ void GcodeSuite::G34() { - if (homing_needed()) return; + // Home before the alignment procedure + if (!all_axes_known()) home_all_axes(); SET_SOFT_ENDSTOP_LOOSE(true); TEMPORARY_BED_LEVELING_STATE(false); From d896dedf9b6d557229ee14e477b6f5c36c4e4965 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Tue, 13 Oct 2020 16:03:09 -0700 Subject: [PATCH 268/277] Add NUCLEO-F767ZI dev board (#19373) Co-authored-by: Lorenzo Delana --- .../src/HAL/shared/backtrace/unwmemaccess.cpp | 2 +- Marlin/src/core/boards.h | 1 + Marlin/src/pins/pins.h | 2 + Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h | 201 ++++++++++++++++++ platformio.ini | 11 + 5 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h diff --git a/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp b/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp index 4b085f90cef5..c93494d485c3 100644 --- a/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwmemaccess.cpp @@ -85,7 +85,7 @@ #define START_FLASH_ADDR 0x08000000 #define END_FLASH_ADDR 0x08100000 -#elif MB(REMRAM_V1) +#elif MB(REMRAM_V1, NUCLEO_F767ZI) // For STM32F765VI in RemRam v1 // SRAM (0x20000000 - 0x20080000) (512kb) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 8658c8578554..da7d15ec33d5 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -363,6 +363,7 @@ #define BOARD_REMRAM_V1 5001 // RemRam v1 #define BOARD_TEENSY41 5002 // Teensy 4.1 #define BOARD_T41U5XBB 5003 // T41U5XBB Teensy 4.1 breakout board +#define BOARD_NUCLEO_F767ZI 5004 // ST NUCLEO-F767ZI Dev Board // // Espressif ESP32 WiFi diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index a7888e54d4a6..c5dbd2087627 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -634,6 +634,8 @@ #include "stm32f7/pins_THE_BORG.h" // STM32F7 env:STM32F7 #elif MB(REMRAM_V1) #include "stm32f7/pins_REMRAM_V1.h" // STM32F7 env:STM32F7 +#elif MB(NUCLEO_F767ZI) + #include "stm32f7/pins_NUCLEO_F767ZI.h" // STM32F7 env:NUCLEO_F767ZI #elif MB(TEENSY41) #include "teensy4/pins_TEENSY41.h" // Teensy-4.x env:teensy41 #elif MB(T41U5XBB) diff --git a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h new file mode 100644 index 000000000000..5e3d5f4ab538 --- /dev/null +++ b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h @@ -0,0 +1,201 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifndef STM32F767xx + #error "Oops! Select an STM32F767 environment" +#endif + +#define BOARD_INFO_NAME "NUCLEO-F767ZI" +#define DEFAULT_MACHINE_NAME "Prototype Board" + +#if NO_EEPROM_SELECTED + #define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation +#endif + +#if ENABLED(FLASH_EEPROM_EMULATION) + // Decrease delays and flash wear by spreading writes across the + // 128 kB sector allocated for EEPROM emulation. + // Not yet supported on F7 hardware + // #define FLASH_EEPROM_LEVELING +#endif + +/** + * Timer assignments + * + * TIM1 - + * TIM2 - Hardware PWM (Fan/Heater Pins) + * TIM3 - Hardware PWM (Servo Pins) + * TIM4 - STEP_TIMER (Marlin) + * TIM5 - + * TIM6 - TIMER_TONE (variant.h) + * TIM7 - TIMER_SERVO (variant.h) + * TIM9 - TIMER_SERIAL (platformio.ini) + * TIM10 - For some reason trips Watchdog when used for SW Serial + * TIM11 - + * TIM12 - + * TIM13 - + * TIM14 - TEMP_TIMER (Marlin) + * + */ +#define STEP_TIMER 4 +#define TEMP_TIMER 14 + + +/** + * These pin assignments are arbitrary and intending for testing purposes. + * Assignments may not be ideal, and not every assignment has been tested. + * Proceed at your own risk. + * _CN7_ + * (X_STEP) PC6 | · · | PB8 (X_EN) + * (X_DIR) PB15 | · · | PB9 (X_CS) + * (LCD_D4) PB13 | · · | AVDD + * _CN8_ PB12 | · · | GND + * NC | · · | PC8 (HEATER_0) PA15 | · · | PA5 (SCLK) + * IOREF | · · | PC9 (BEEPER) PC7 | · · | PA6 (MISO) + * RESET | · · | PC10 (SERVO1_PIN) PB5 | · · | PA7 (MOSI) + * +3.3V | · · | PC11 (HEATER_BED) PB3 | · · | PD14 (SD_DETECT) + * +5V | · · | PC12 (SDSS) PA4 | · · | PD15 (LCD_ENABLE) + * GND | · · | PD2 (SERVO0_PIN) PB4 | · · | PF12 (LCD_RS) + * GND | · · | PG2  ̄ ̄ ̄ + * VIN | · · | PG3 +_*  ̄ ̄ ̄ _CN10 + * AVDD | · · | PF13 (BTN_EN1) + * _CN9_ AGND | · · | PE9 (BTN_EN2) + * (TEMP_0) PA3 | · · | PD7 GND | · · | PE11 (BTN_ENC) + * (TEMP_BED) PC0 | · · | PD6 PB1 | · · | PF14 + * PC3 | · · | PD5 PC2 | · · | PE13 + * PF3 | · · | PD4 PF4 | · · | PF15 + * PF5 | · · | PD3 (E_STEP) PB6 | · · | PG14 (E_EN) + * PF10 | · · | GND (E_DIR) PB2 | · · | PG9 (E_CS) + * NC | · · | PE2 GND | · · | PE8 + * PA7 | · · | PE4 PD13 | · · | PE7 + * PF2 | · · | PE5 PD12 | · · | GND + * (Y_STEP) PF1 | · · | PE6 (Y_EN) (Z_STEP) PD11 | · · | PE10 (Z_EN) + * (Y_DIR) PF0 | · · | PE3 (Y_CS) (Z_DIR) PE2 | · · | PE12 (Z_CS) + * GND | · · | PF8 GND | · · | PE14 + * (Z_MAX) PD0 | · · | PF7 (X_MIN) PA0 | · · | PE15 + * (Z_MIN) PD1 | · · | PF9 (X_MAX) PB0 | · · | PB10 (FAN) + * (Y_MAX) PG0 | · · | PG1 (Y_MIN) PE0 | · · | PB11 (FAN1) + *  ̄ ̄ ̄  ̄ ̄ ̄ ̄ + */ + +#define X_MIN_PIN PF7 +#define X_MAX_PIN PF9 +#define Y_MIN_PIN PG1 +#define Y_MAX_PIN PG0 +#define Z_MIN_PIN PD1 +#define Z_MAX_PIN PD0 + +// +// Steppers +// +#define X_STEP_PIN PC6 +#define X_DIR_PIN PB15 +#define X_ENABLE_PIN PB8 +#define X_CS_PIN PB9 + +#define Y_STEP_PIN PF1 +#define Y_DIR_PIN PF0 +#define Y_ENABLE_PIN PE6 +#define Y_CS_PIN PE3 + +#define Z_STEP_PIN PD11 +#define Z_DIR_PIN PE2 +#define Z_ENABLE_PIN PE10 +#define Z_CS_PIN PE12 + +#define E0_STEP_PIN PB6 +#define E0_DIR_PIN PB2 +#define E0_ENABLE_PIN PG14 +#define E0_CS_PIN PG9 + +#if HAS_TMC_UART + #define X_SERIAL_TX_PIN PB9 + #define X_SERIAL_RX_PIN PB9 + + #define Y_SERIAL_TX_PIN PE3 + #define Y_SERIAL_RX_PIN PE3 + + #define Z_SERIAL_TX_PIN PE12 + #define Z_SERIAL_RX_PIN PE12 + + #define E_SERIAL_TX_PIN PG9 + #define E_SERIAL_RX_PIN PG9 +#endif + +// +// Temperature Sensors +// +#define TEMP_0_PIN PA3 +#define TEMP_BED_PIN PC0 + +// +// Heaters / Fans +// +#define HEATER_0_PIN PA15 // PWM Capable, TIM2_CH1 +#define HEATER_BED_PIN PB3 // PWM Capable, TIM2_CH2 + +#ifndef FAN_PIN + #define FAN_PIN PB10 // PWM Capable, TIM2_CH3 +#endif +#define FAN1_PIN PB11 // PWM Capable, TIM2_CH4 + +#ifndef E0_AUTO_FAN_PIN + #define E0_AUTO_FAN_PIN FAN1_PIN +#endif + +// +// Servos +// +#define SERVO0_PIN PB4 // PWM Capable, TIM3_CH1 +#define SERVO1_PIN PB5 // PWM Capable, TIM3_CH2 + +// SPI for external SD Card (Not entirely sure this will work) +#define SCK_PIN PA5 +#define MISO_PIN PA6 +#define MOSI_PIN PA7 +#define SS_PIN PA4 +#define SDSS PA4 + +#define LED_PIN LED_BLUE + +// +// LCD / Controller +// +#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define BEEPER_PIN PC7 // LCD_BEEPER + #define BTN_ENC PE11 // BTN_ENC + #define SD_DETECT_PIN PD14 + #define LCD_PINS_RS PF12 // LCD_RS + #define LCD_PINS_ENABLE PD15 // LCD_EN + #define LCD_PINS_D4 PB13 // LCD_D4 + // #define LCD_PINS_D5 + // #define LCD_PINS_D6 + // #define LCD_PINS_D7 + #define BTN_EN1 PF13 // BTN_EN1 + #define BTN_EN2 PE9 // BTN_EN2 + + #define BOARD_ST7920_DELAY_1 DELAY_NS(125) + #define BOARD_ST7920_DELAY_2 DELAY_NS(63) + #define BOARD_ST7920_DELAY_3 DELAY_NS(780) +#endif diff --git a/platformio.ini b/platformio.ini index 22a5ba880878..0abb4ac38810 100644 --- a/platformio.ini +++ b/platformio.ini @@ -856,6 +856,17 @@ board = remram_v1 build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F7 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED src_filter = ${common.default_src_filter} + - +# +# ST NUCLEO-F767ZI Development Board +# This environment is for testing purposes prior to control boards +# being readily available based on STM32F7 MCUs +# +[env:NUCLEO_F767ZI] +platform = ${common_stm32.platform} +extends = common_stm32 +board = nucleo_f767zi +build_flags = ${common_stm32.build_flags} -DTIMER_SERIAL=TIM9 + # # ARMED (STM32) # From 28a9708ddb33233a87d4882c4c9d126474aa3fbc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 21 Oct 2020 18:08:57 -0500 Subject: [PATCH 269/277] Don't define IS_ULTIPANEL empty --- Marlin/src/inc/Conditionals_LCD.h | 42 +++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 56ce2ca5ed82..45921f7be3b0 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -63,12 +63,12 @@ #elif ENABLED(CARTESIO_UI) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE) #define IS_DWIN_MARLINUI 1 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(ZONESTAR_LCD) @@ -76,7 +76,7 @@ #define IS_RRW_KEYPAD #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 #define ADC_KEY_NUM 8 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 // This helps to implement ADC_KEYPAD menus #define REVERSE_MENU_DIRECTION @@ -98,7 +98,7 @@ #define IS_U8GLIB_SSD1306 #elif ENABLED(RADDS_DISPLAY) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define ENCODER_PULSES_PER_STEP 2 #elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER) @@ -108,7 +108,7 @@ #elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #if ENABLED(miniVIKI) #define U8GLIB_ST7565_64128N @@ -123,19 +123,19 @@ #elif ENABLED(OLED_PANEL_TINYBOY2) #define IS_U8GLIB_SSD1306 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(RA_CONTROL_PANEL) #define LCD_I2C_TYPE_PCA8574 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD) #define DOGLCD #define U8GLIB_ST7920 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(CR10_STOCKDISPLAY) @@ -179,7 +179,7 @@ #define FYSETC_MINI_12864 #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define LED_COLORS_REDUCE_GREEN #if ENABLED(PSU_CONTROL) && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1) #define LED_BACKLIGHT_TIMEOUT 10000 @@ -205,7 +205,7 @@ #elif ENABLED(ULTI_CONTROLLER) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define U8GLIB_SSD1309 #define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin #define ENCODER_PULSES_PER_STEP 2 @@ -220,7 +220,7 @@ #elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) #define IS_TFTGLCD_PANEL 1 - #define IS_ULTIPANEL // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD + #define IS_ULTIPANEL 1 // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD #if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR) #define LCD_PROGRESS_BAR @@ -246,7 +246,7 @@ #endif #if EITHER(MAKRPANEL, MINIPANEL) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define DOGLCD #if ENABLED(MAKRPANEL) #define U8GLIB_ST7565_64128N @@ -258,7 +258,7 @@ #endif #if ENABLED(OVERLORD_OLED) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define U8GLIB_SH1106 /** * PCA9632 for buzzer and LEDs via i2c @@ -302,13 +302,13 @@ // Basic Ultipanel-like displays #if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif // Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h #if ENABLED(U8GLIB_SH1106_EINSTART) #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif // Compatibility @@ -350,7 +350,7 @@ #if TFT_SCALED_DOGLCD #define DOGLCD - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define DELAYED_BACKLIGHT_INIT #elif ENABLED(TFT_LVGL_UI) #define DELAYED_BACKLIGHT_INIT @@ -359,7 +359,7 @@ // Color UI #if ENABLED(TFT_COLOR_UI) #define HAS_GRAPHICAL_TFT 1 - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif /** @@ -383,7 +383,7 @@ #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (optional) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(LCD_I2C_VIKI) @@ -398,7 +398,7 @@ #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #define ENCODER_FEEDRATE_DEADZONE 4 @@ -443,10 +443,10 @@ // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection #if ENABLED(FF_INTERFACEBOARD) #define SR_LCD_3W_NL // Non latching 3 wire shift register - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #elif ENABLED(SAV_3DLCD) #define SR_LCD_2W_NL // Non latching 2 wire shift register - #define IS_ULTIPANEL + #define IS_ULTIPANEL 1 #endif #if ENABLED(IS_ULTIPANEL) From cc7fbabc96f06bda089a5b2f467f028fbe8a72e7 Mon Sep 17 00:00:00 2001 From: Serhiy-K <52166448+Serhiy-K@users.noreply.github.com> Date: Sat, 17 Oct 2020 00:21:21 +0300 Subject: [PATCH 270/277] Fix HAL/STM32 FastIO for analog pins (#19735) --- Marlin/src/HAL/STM32/fastio.h | 10 +++++----- Marlin/src/HAL/STM32/pinsDebug_STM32duino.h | 10 ++++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Marlin/src/HAL/STM32/fastio.h b/Marlin/src/HAL/STM32/fastio.h index f000d68cf0c3..ea28b8f3bfaa 100644 --- a/Marlin/src/HAL/STM32/fastio.h +++ b/Marlin/src/HAL/STM32/fastio.h @@ -51,15 +51,15 @@ void FastIO_init(); // Must be called before using fast io macros #if defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32F3xx) || defined(STM32L0xx) || defined(STM32L4xx) #define _WRITE(IO, V) do { \ - if (V) FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO])) ; \ - else FastIOPortMap[STM_PORT(digitalPin[IO])]->BRR = _BV32(STM_PIN(digitalPin[IO])) ; \ + if (V) FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO))) ; \ + else FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BRR = _BV32(STM_PIN(digitalPinToPinName(IO))) ; \ }while(0) #else - #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPin[IO])]->BSRR = _BV32(STM_PIN(digitalPin[IO]) + ((V) ? 0 : 16))) + #define _WRITE(IO, V) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->BSRR = _BV32(STM_PIN(digitalPinToPinName(IO)) + ((V) ? 0 : 16))) #endif -#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPin[IO])]->IDR, _BV32(STM_PIN(digitalPin[IO])))) -#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPin[IO])]->ODR ^= _BV32(STM_PIN(digitalPin[IO]))) +#define _READ(IO) bool(READ_BIT(FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->IDR, _BV32(STM_PIN(digitalPinToPinName(IO))))) +#define _TOGGLE(IO) (FastIOPortMap[STM_PORT(digitalPinToPinName(IO))]->ODR ^= _BV32(STM_PIN(digitalPinToPinName(IO)))) #define _GET_MODE(IO) #define _SET_MODE(IO,M) pinMode(IO, M) diff --git a/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h b/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h index 09f2bb54e66a..71480153a717 100644 --- a/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h +++ b/Marlin/src/HAL/STM32/pinsDebug_STM32duino.h @@ -51,8 +51,8 @@ * It contains: * - name of the signal * - the Ard_num assigned by the pins_YOUR_BOARD.h file using the platform defines. - * EXAMPLE: "#define KILL_PIN PB1" results in Ard_num of 57. 57 is then used as an - * index into digitalPin[] to get the Port_pin number + * EXAMPLE: "#define KILL_PIN PB1" results in Ard_num of 57. 57 is then used as the + * argument to digitalPinToPinName(IO) to get the Port_pin number * - if it is a digital or analog signal. PWMs are considered digital here. * * pin_xref is a structure generated by this header file. It is generated by the @@ -68,8 +68,6 @@ * signal. The Arduino pin number is listed by the M43 I command. */ -extern const PinName digitalPin[]; // provided by the platform - //////////////////////////////////////////////////////// // // make a list of the Arduino pin numbers in the Port/Pin order @@ -137,7 +135,7 @@ const XrefInfo pin_xref[] PROGMEM = { uint8_t get_pin_mode(const pin_t Ard_num) { uint32_t mode_all = 0; - const PinName dp = digitalPin[Ard_num]; + const PinName dp = digitalPinToPinName(Ard_num); switch (PORT_ALPHA(dp)) { case 'A' : mode_all = GPIOA->MODER; break; case 'B' : mode_all = GPIOB->MODER; break; @@ -218,7 +216,7 @@ bool pwm_status(const pin_t Ard_num) { void pwm_details(const pin_t Ard_num) { if (pwm_status(Ard_num)) { uint32_t alt_all = 0; - const PinName dp = digitalPin[Ard_num]; + const PinName dp = digitalPinToPinName(Ard_num); pin_t pin_number = uint8_t(PIN_NUM(dp)); const bool over_7 = pin_number >= 8; const uint8_t ind = over_7 ? 1 : 0; From 3ccb3801f2117f94f3d0f99db10d29679efa03ac Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Fri, 16 Oct 2020 14:04:51 -0700 Subject: [PATCH 271/277] Fix SAMD Serial name macro (#19765) --- Marlin/src/HAL/SAMD51/HAL.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Marlin/src/HAL/SAMD51/HAL.h b/Marlin/src/HAL/SAMD51/HAL.h index abc6c04a693b..7cb3635bd7c9 100644 --- a/Marlin/src/HAL/SAMD51/HAL.h +++ b/Marlin/src/HAL/SAMD51/HAL.h @@ -35,7 +35,8 @@ // MYSERIAL0 required before MarlinSerial includes! - #define _MSERIAL(X) Serial##X + #define __MSERIAL(X) Serial##X + #define _MSERIAL(X) __MSERIAL(X) #define MSERIAL(X) _MSERIAL(INCREMENT(X)) #if SERIAL_PORT == -1 From 88a2ac92d5792de3de005b3b97d7bb561946c148 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 14 Oct 2020 23:55:20 -0500 Subject: [PATCH 272/277] Marlin 2.0.7.2 --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- config/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index f642fec7567a..60e068ba3521 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.7.1" +//#define SHORT_BUILD_VERSION "2.0.7.2" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index efe04d64dd54..00ca940662e9 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.7.1" + #define SHORT_BUILD_VERSION "2.0.7.2" #endif /** diff --git a/config/README.md b/config/README.md index 3d73a9bbbc71..68cbe1a78607 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.1.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.2.zip From ee7476a0bfcfd9c894fe99398f456a4fe2426209 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Tue, 27 Oct 2020 15:48:06 -0700 Subject: [PATCH 273/277] Update "Bug Report" template (#19906) --- .github/ISSUE_TEMPLATE/bug_report.md | 36 ++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 48beca2c2d18..6e735974a921 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,35 +9,51 @@ assignees: '' ### Bug Description - + + +### Configuration Files -### My Configurations +**Required:** Include a ZIP file containing `Configuration.h` and `Configuration_adv.h`. -**Required:** Please include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files. +If you've made any other modifications describe them in detail here. ### Steps to Reproduce - + 1. [First Step] 2. [Second Step] 3. [and so on...] -**Expected behavior:** [What you expect to happen] +**Expected behavior:** + + + +**Actual behavior:** -**Actual behavior:** [What actually happens] + #### Additional Information * Provide pictures or links to videos that clearly demonstrate the issue. -* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines. +* See [Contributing to Marlin](https://github.com/MarlinFirmware/Marlin/blob/2.0.x/.github/contributing.md) for additional guidelines. From ba2939b1dc55c04f879ce96e9af990287b4468d2 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 30 Oct 2020 00:10:04 +0000 Subject: [PATCH 274/277] Fix bilinear_line_to_destination definition See #19431 --- Marlin/src/feature/bedlevel/abl/abl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/feature/bedlevel/abl/abl.cpp b/Marlin/src/feature/bedlevel/abl/abl.cpp index a585c1e1553d..39d8815fad98 100644 --- a/Marlin/src/feature/bedlevel/abl/abl.cpp +++ b/Marlin/src/feature/bedlevel/abl/abl.cpp @@ -348,7 +348,7 @@ float bilinear_z_offset(const xy_pos_t &raw) { * Prepare a bilinear-leveled linear move on Cartesian, * splitting the move where it crosses grid borders. */ - void bilinear_line_to_destination(const feedRate_t scaled_fr_mm_s, uint16_t x_splits, uint16_t y_splits) { + void bilinear_line_to_destination(const feedRate_t &scaled_fr_mm_s, uint16_t x_splits, uint16_t y_splits) { // Get current and destination cells for this line xy_int_t c1 { CELL_INDEX(x, current_position.x), CELL_INDEX(y, current_position.y) }, c2 { CELL_INDEX(x, destination.x), CELL_INDEX(y, destination.y) }; From 072b15784f79c51cf4aed9b6272dfdba8160b452 Mon Sep 17 00:00:00 2001 From: phcay <58492957+phcay@users.noreply.github.com> Date: Sat, 14 Nov 2020 02:24:08 +0100 Subject: [PATCH 275/277] Fix extraneous Linear Advance DIR change (#20131) --- Marlin/src/module/stepper.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 8a5de4b6087b..6d451f8f0240 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -2261,7 +2261,6 @@ uint32_t Stepper::block_phase_isr() { interval = LA_isr_rate; } else if (step_events_completed < decelerate_after && LA_current_adv_steps < LA_max_adv_steps) { - //step_events_completed <= (uint32_t)accelerate_until) { LA_steps++; LA_current_adv_steps++; interval = LA_isr_rate; @@ -2272,6 +2271,8 @@ uint32_t Stepper::block_phase_isr() { else interval = LA_ADV_NEVER; + if (!LA_steps) return interval; // Leave pins alone if there are no steps! + DIR_WAIT_BEFORE(); #if ENABLED(MIXING_EXTRUDER) From 1d631b72801174b29e2d5cb2115022a194ed303b Mon Sep 17 00:00:00 2001 From: Simone Primarosa Date: Sat, 21 Nov 2020 02:53:04 +0100 Subject: [PATCH 276/277] Fix bad SET_FAST_PWM_FREQ calls (#20227) --- Marlin/src/module/temperature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 9ecbb7c766fd..3b341369a9bc 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1668,12 +1668,12 @@ void Temperature::updateTemperaturesFromRawValues() { #endif #define INIT_FAN_PIN(P) do{ _INIT_FAN_PIN(P); SET_FAST_PWM_FREQ(P); }while(0) #if EXTRUDER_AUTO_FAN_SPEED != 255 - #define INIT_E_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0) + #define INIT_E_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(P); } else SET_OUTPUT(P); }while(0) #else #define INIT_E_AUTO_FAN_PIN(P) SET_OUTPUT(P) #endif #if CHAMBER_AUTO_FAN_SPEED != 255 - #define INIT_CHAMBER_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0) + #define INIT_CHAMBER_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(P); } else SET_OUTPUT(P); }while(0) #else #define INIT_CHAMBER_AUTO_FAN_PIN(P) SET_OUTPUT(P) #endif From 65983b42886e08e29f6281e243a0f33923487a93 Mon Sep 17 00:00:00 2001 From: ellensp Date: Wed, 25 Nov 2020 11:14:22 +1300 Subject: [PATCH 277/277] Set "lcd_move_e" index to fix the label (#20263) --- Marlin/src/lcd/menu/menu_motion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 2972920f34a7..939a0480b94c 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -192,7 +192,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int #if E_MANUAL inline void _goto_menu_move_distance_e() { - ui.goto_screen([]{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); }); + ui.goto_screen([]{ _menu_move_distance(E_AXIS, []{ lcd_move_e(TERN_(MULTI_MANUAL, active_extruder)); }, -1); }); } inline void _menu_move_distance_e_maybe() {